diff options
| author | Scott Gasch <[email protected]> | 2026-08-29 00:30:53 -0700 |
|---|---|---|
| committer | Scott Gasch <[email protected]> | 2026-08-29 00:30:53 -0700 |
| commit | 917bf1260ae217bdcbdbc11c2c37cdb5d3a8eae9 (patch) | |
| tree | 8013781f51e53eaf1fe3d4f45367e920d4c39786 /tests/ecm_hard.ep_ | |
| parent | 366eebaf6b72fc6b56ea06a71f0276069a501dc7 (diff) | |
Switch to Crafty-style killer ordering; fix mvNullmoveRefutations type-mixing bug and add a quiet-refutation killer backfill.
Killer tiers now try both of this ply's own killers before either
ply-2-back one, matching Crafty's ordering. Two earlier attempts at
this same swap were reverted for regressing; this pass lands on top of
NumLeftoverMovesToSelect (more SelectBestWithHistory budget to reach
these lower-tier slots) and a real bug fix below, and beats interleaved
order head-to-head on solves, node count, and first-move beta cutoff
across the three curated suites.
The bug: mvNullmoveRefutations's empty-killer-slot backfill could only
ever contain a capturing move (TryNullmovePruning only wrote it inside
the capture-refutation branch), but IS_SAME_MOVE's mask includes the
pCaptured bits, so that backfilled value could never match a real
quiet candidate -- the backfill was silently dead code. Fixed by
recording genuinely quiet null-move refutations into a new, separate
mvNullmoveQuietRefutations array (kept separate so it can't clobber the
capture history mvNullmoveRefutations still needs for the
Botvinnik-Markoff same-piece-two-squares extension check) and
backfilling the regular killer table from that instead. The
check-evasion killer table intentionally does *not* get this backfill:
a null-move refutation can never legitimately be an escaping-check
move (null moves can't deliver check), so backfilling there risks
IS_SAME_MOVE cross-context false positives instead of the old
guaranteed-inert no-op.
Measured at sd10 across ecm_ringers/ecm_confident_quick/ecm_hard_quick
against head_reference (commit d11e973): 115/191 solves (vs. 116
baseline), 924.36M total nodes (vs. 933.23M), first-move beta cutoff
within 0.1-0.9 points of baseline on all three suites -- and clearly
better than the same fix under interleaved order (113/191 solves,
963.10M nodes), which loses to head_reference on every metric.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01EortUUkDVpsfrbqshBJYJg
Diffstat (limited to 'tests/ecm_hard.ep_')
| -rw-r--r-- | tests/ecm_hard.ep_ | 928 |
1 files changed, 928 insertions, 0 deletions
diff --git a/tests/ecm_hard.ep_ b/tests/ecm_hard.ep_ new file mode 100644 index 0000000..268a39e --- /dev/null +++ b/tests/ecm_hard.ep_ @@ -0,0 +1,928 @@ +setboard 2k4r/1pp2ppp/p1p1bn2/4N3/1q1rP3/2N1Q3/PPP2PPP/R4RK1 w - - +solution Nd5 +id "ECM.014" +go +setboard r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - +solution Nxd6 +id "ECM.018" +go +setboard b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - +solution Rxf6+ +id "ECM.019" +go +setboard r1b2rk1/2q2ppp/2pbp3/p7/4Nn2/3B4/PPPBQ1PP/R4R1K w - - +solution Rxf4 +id "ECM.028" +go +setboard 3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - +solution Rgxg6 +id "ECM.029" +go +setboard r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - +solution Nxc6 +id "ECM.040" +go +setboard 2rr4/5pk1/p1q3p1/3bpP1p/1p4nR/1N4Q1/PPP3PP/3NR2K b - - +solution Bxg2+ +id "ECM.043" +go +setboard 1k1r1b1r/p1p1q3/2p1p3/4Ppp1/4nP2/P2BQ3/1PP3PB/2KR3R b - - +solution Rxh2 +id "ECM.051" +go +setboard r1b1r1k1/pp4bp/5np1/2qPB3/8/6NP/PPP1Q1B1/R4R1K w - - +solution Rxf6 +id "ECM.056" +go +setboard r4rk1/pp1b2pp/3bpq2/3p1p2/2PPn3/PP1B4/1BQN1PPP/R4RK1 b - - +solution Bxh2+ +id "ECM.060" +go +setboard r1b2rk1/1p2bppp/p3pn2/4B3/1qBR4/2N5/P3QPPP/R5K1 w - - +solution Bd3 +id "ECM.068" +go +setboard b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - +solution Qh6 +id "ECM.071" +go +setboard r1b2kr1/1p1p1pNp/p1n1p1p1/5P2/3QP3/2N5/PqP1B1PP/R4RK1 w - - +solution fxg6 +id "ECM.076" +go +setboard Q7/p1r1ppk1/1qP4p/2Rb2p1/8/3N2P1/4PP1P/6K1 b - - +solution Qb1+ +id "ECM.081" +go +setboard 4r1k1/1b4pp/p7/1prP3q/2P1B3/5P2/P3Q2P/3RR2K w - - +solution Bg6 +id "ECM.084" +go +setboard rn1q1r2/4bpk1/p3p3/1pN1N1np/2pP4/4PpBb/PPQ4P/1B1RK1R1 w - - +solution Nc6 +id "ECM.091" +go +setboard 6k1/1pqb1p2/5bpB/r2n4/4N1P1/1P3P2/1P1Q4/1K5R w - - +solution Qxd5 +id "ECM.099" +go +setboard r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - +solution Nxh7 +id "ECM.115" +go +setboard 4qbk1/1R5n/p2pr1p1/2pQpNPp/P1P1P3/2P2P2/3B4/5K2 w - - +solution Ne7+ +id "ECM.117" +go +setboard 2b2r2/1p2q1k1/r3pppp/4n2P/p3N3/1B4Q1/PPP3P1/3R1R1K w - - +solution Rxf6 +id "ECM.119" +go +setboard rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - +solution Nxh5 +id "ECM.128" +go +setboard r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - +solution Rxe7 +id "ECM.130" +go +setboard 2rq1rk1/pp2bppp/1npp1n2/3PpN1b/2P5/2N3PP/PP2PPB1/R1BQ1RK1 w - - +solution c5 +id "ECM.131" +go +setboard 8/1Qp3pk/7p/5p2/5Pqn/1P1r4/P5PP/2B2RK1 b - - +solution c6 +id "ECM.137" +go +setboard b3r3/q2B2k1/3Q2p1/1p5p/3pP3/5P2/1p4PP/5RK1 b - - +solution d3+ +id "ECM.142" +go +setboard 6k1/4ppbp/p5p1/1B1Q4/2P2Pn1/8/qr4PP/2B2RK1 b - - +solution Bd4+ +id "ECM.145" +go +setboard 8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - +solution Ba3 +id "ECM.146" +go +setboard 4r3/Q2bppkp/3p2p1/3Nn3/4P3/6PP/1qr2PB1/R3R1K1 b - - +solution Ra8 +id "ECM.155" +go +setboard 3R4/1p2kp2/p1b1nN2/6p1/8/6BP/2r1qPPK/Q7 w - - +solution Rd7+ +id "ECM.162" +go +setboard r1b3k1/ppp2r2/6p1/3n3p/6qP/3BQ3/PBP5/2KR3R w - - +solution Bd4 +id "ECM.180" +go +setboard 4r1k1/1pbb3p/2pp2q1/p1n5/2P2R2/1PN1n1P1/PB2Q1B1/5RK1 w - - +solution Qxe3 +id "ECM.182" +go +setboard 1R3b2/3r3k/2p1bp1p/r1q1pNpQ/2PpP2P/6B1/P4PP1/1R4K1 w - - +solution Nxh6 +id "ECM.186" +go +setboard r1b4r/pp2ppk1/2np1np1/3N3p/2B1P3/q3BP2/P1PQ2PP/1R3RK1 w - - +solution Nxe7 +id "ECM.187" +go +setboard 5rk1/5pbp/b5p1/p1nNN3/1p2n3/1P4PP/P4PB1/2BR2K1 w - - +solution Nd7 +id "ECM.190" +go +setboard 2k1r1r1/ppb2p2/6b1/2qP4/2P2P2/4pP1p/P3Q2P/2RBRN1K b - - +solution Bd3 +id "ECM.191" +go +setboard r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - +solution Nb6 +id "ECM.193" +go +setboard r1k3r1/pppnb1p1/4N3/3QP2p/3P3q/4B3/PPP2P2/R3KB2 w Q - +solution Ba6 +id "ECM.198" +go +setboard r1bq1rk1/pppn2bp/3p2p1/3N1p2/8/BP1BRQ1P/P1PP1PP1/4R1K1 w - - +solution Nxc7 +id "ECM.206" +go +setboard r4rk1/ppp3b1/3p1qp1/3Pp3/2P1Bn2/4BP2/PP1Q4/2K3RR w - - +solution Rxg6 +id "ECM.211" +go +setboard r4n1r/ppq1nk2/1bpRpN2/4PpQ1/8/2B4P/PPP2PP1/2KR4 w - - +solution Rd7 +id "ECM.215" +go +setboard rnb1kr2/p4pQ1/8/1ppPpP2/2p1P3/N6P/Pq4B1/3R1RK1 w q - +solution Nxb5 +id "ECM.226" +go +setboard 8/pR3Bk1/3p2p1/5b1p/2P4P/6P1/P4bQK/4q3 b - - +solution Bg1+ +id "ECM.228" +go +setboard rq3r1k/p2n1p2/1pbb1np1/2p2BB1/8/2N2N2/PP3QPP/3R1RK1 w - - +solution Rxd6 +id "ECM.231" +go +setboard 3rr1k1/1b5p/p6p/1p3N2/6Pb/P1Q1p3/1PP4P/R5K1 b - - +solution Bf2+ +id "ECM.237" +go +setboard r2qr1k1/1pnb1pp1/p1n1p2p/8/P2P3P/B2B1NP1/6P1/R2Q1RK1 w - - +solution Bh7+ +id "ECM.247" +go +setboard 1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - +solution Bb7 +id "ECM.251" +go +setboard 4n1q1/1k1b4/2p4R/2Pp4/1p1N1rpQ/3B4/PPP2P2/2K5 w - - +solution Nxc6 +id "ECM.271" +go +setboard r3r1k1/pp3pp1/2bb1q2/3p4/4n1Pp/2P1BB1P/PP2NPK1/R1Q4R b - - +solution Qxf3+ +id "ECM.274" +go +setboard rn4k1/pp2p1b1/4b3/q2p2Q1/2B2P2/8/P1P1K1P1/R6R w - - +solution Rh8+ +id "ECM.277" +go +setboard 4k3/p4ppp/nb1P4/4p3/1P6/P4BP1/3q1r1P/2R2QKR w - - +solution Qb5+ +id "ECM.287" +go +setboard 2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - +solution Nxg7 +id "ECM.289" +go +setboard 1r3rk1/6p1/p1pb1qPp/3p4/4nPR1/2N4Q/PPP4P/2K1BR2 b - - +solution Rxb2 +id "ECM.291" +go +setboard 2r1qrk1/pp1b1ppp/4pn2/n1b5/8/2NQ1NP1/PP1BPPBP/R2R2K1 w - - +solution b4 +id "ECM.297" +go +setboard 2b1qr1k/7p/p1pR2p1/1pP1p1Q1/4P3/1B6/PP4PP/6K1 w - - +solution Re6 +id "ECM.298" +go +setboard 8/2b2k1p/2N2pp1/P2p4/3KnP2/6BP/P5P1/8 w - - +solution Kxd5 +id "ECM.300" +go +setboard r3r1k1/p1q2pp1/2p4p/7n/BPPP2N1/3Q1N2/P3n1P1/R1B4K b - - +solution Nhg3+ +id "ECM.312" +go +setboard r1b2rk1/p3bppp/2q5/8/2p1NR2/PnB1P3/1PB1Q1PP/3R2K1 w - - +solution Rd6 +id "ECM.315" +go +setboard 1rb2rk1/p1p2ppp/2q5/3R4/2P1N3/bP4B1/P1Q2P1P/1K5R w - - +solution Bd6 +id "ECM.318" +go +setboard rnb2rk1/pp2bppp/2p5/q7/4NN2/4B1QP/PPP3P1/2KR3R w - - +solution Rd5 +id "ECM.321" +go +setboard 3r1rk1/pbqn1pp1/1pp2n1p/2b1p1B1/P1B1P2N/2N4P/1PP1QPP1/3R1RK1 w - - +solution Rxd7 +id "ECM.327" +go +setboard 2r2r1k/1pq1b1p1/p1b1Qn1p/8/3B4/2NB4/PPP3PP/3R1R1K w - - +solution Rxf6 +id "ECM.330" +go +setboard r1bqr1k1/pp3pp1/2p4p/3PN1n1/3P1b2/2NB4/PPQ2PPP/3R1RK1 b - - +solution Rxe5 +id "ECM.336" +go +setboard 2r2rbk/6bp/5qp1/1N1p1n2/4p3/1p5P/1P3PP1/RBBQ1RK1 b - - +solution Ng3 +id "ECM.338" +go +setboard rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - +solution Nxe6 +id "ECM.343" +go +setboard 2r1k2r/1pq1bppp/p3bn2/4N3/2pPN3/2P5/P3QPPP/R1B1R1K1 w k - +solution Nxf6+ +id "ECM.345" +go +setboard r3r1k1/pp3ppp/1qp5/2bbNQ2/5B2/2P5/PP3PPP/3RR1K1 w - - +solution Rxd5 +id "ECM.349" +go +setboard 1r6/3b1pk1/pr1p1q1p/2pPb1p1/2B1P1P1/2N2PP1/1PQ3K1/RR6 b - - +solution Rxb2 +id "ECM.358" +go +setboard 2r3k1/p1r1ppb1/2bp1np1/q5N1/1p1BP2Q/3P4/PP2N1PP/2R2R1K w - - +solution Bxf6 +id "ECM.360" +go +setboard 2rbr2k/1pq2ppp/p3bn2/4p1B1/P3P3/2N3Q1/1PP1B1PP/3R1R1K w - - +solution Rxd8 +id "ECM.366" +go +setboard r4rk1/5p2/p1b1pQpq/8/1B2P3/2NR4/PPP3PP/1K6 w - - +solution Rd5 +id "ECM.367" +go +setboard 1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - +solution Bd8 +id "ECM.370" +go +setboard 1k2rb1r/pbp1q1pp/2pp4/2PnpP2/Q7/1P3NP1/PB5P/2KR1B1R w - - +solution Rxd5 +id "ECM.371" +go +setboard 5qk1/p4p2/1p3Pp1/2p4Q/3rr3/7R/PP6/6RK b - - +solution Rh4 +id "ECM.373" +go +setboard r3k2N/pppbq1pp/5n2/3Ppn2/2BP4/2P3bP/PP2Q1P1/RNB2K1R b q - +solution Bh2 +id "ECM.376" +go +setboard r2q1r2/p1pbppbk/1p3npp/n2P2B1/7Q/2NB1N2/PPP3PP/4RRK1 w - - +solution d6 +id "ECM.377" +go +setboard r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - +solution Bxe5+ +id "ECM.379" +go +setboard 2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - +solution Rxa6 +id "ECM.394" +go +setboard r5kr/p3PR1p/1p1p2pq/4n3/8/3B4/P4QPP/4R1K1 w - - +solution Rxe5 +id "ECM.395" +go +setboard 2kr3r/pp3p1p/2b1p3/q3Q3/5P2/2P1B3/P1P3PP/1R3RK1 b - - +solution Rhg8 +id "ECM.397" +go +setboard 2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - +solution Rxd3 +id "ECM.398" +go +setboard r3nrk1/p1pb1qpp/3p1p2/2pP1N2/2P1PR2/P1PB4/4Q1PP/5RK1 w - - +solution e5 +id "ECM.402" +go +setboard r4rk1/1b4bp/p1npq1P1/R3p3/8/1N2BP2/1PPQ2P1/4KB1R w K - +solution Qxd6 +id "ECM.411" +go +setboard 6k1/2p3p1/2b4p/p4P2/2pR2PK/2P1r2P/1B6/8 b - - +solution Bg2 +id "ECM.413" +go +setboard 3rr1k1/1p1qb2p/pP4p1/2p2p2/4RQ2/3P4/1PPB2PP/4R1K1 w - - +solution Bc3 +id "ECM.420" +go +setboard 6k1/rnqb3p/5ppQ/2pPp3/p1N1P3/2PB3P/5PP1/1R4K1 w - - +solution f4 +id "ECM.422" +go +setboard 6k1/p4p1p/3pqp2/2p1r3/2Pnr1N1/P6P/1P1Q1PP1/3R1RK1 b - - +solution Ne2+ +id "ECM.427" +go +setboard r2b4/pb2q1k1/np1p2r1/1N1Pp2Q/PPN1Pp2/8/2R2BPp/2R4K w - - +solution Ncxd6 +id "ECM.434" +go +setboard 3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - +solution Bh4 +id "ECM.438" +go +setboard r1r3kb/1pqbpp2/p2p1npB/n7/3NP3/1BN2P2/PPPQ2P1/2KR3R w - - +solution Bf8 +id "ECM.439" +go +setboard 4rr1k/pbp3bp/3p4/1p5q/3n4/1B1Q2B1/PP1N1N1P/4RRK1 b - - +solution Rf3 +id "ECM.440" +go +setboard 4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - +solution Ng6+ +id "ECM.442" +go +setboard 2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - +solution Qb2 +id "ECM.443" +go +setboard 2k5/1p1b4/2n1p1r1/7q/4RP2/3BQN2/2P2K1P/8 w - - +solution f5 +id "ECM.447" +go +setboard 2kr3r/p5b1/Pp2R1p1/2q2p1p/2p2Pn1/2P2BP1/1PQB2P1/5R1K b - - +solution h4 +id "ECM.456" +go +setboard 2rq2k1/pp1bpp1p/3p1np1/8/3NPPnQ/1BP5/P1P3P1/1K1R3R w - - +solution e5 +id "ECM.464" +go +setboard r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - +solution Rxd5 +id "ECM.465" +go +setboard 2r1kr2/p1qbbp1Q/3pp3/5p2/1p1N1PB1/6P1/PPP4P/K2RR3 w - - +solution Bxf5 +id "ECM.466" +go +setboard r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - +solution Rf6 +id "ECM.467" +go +setboard 2rr2k1/5pn1/1b2q1pp/pP1pP3/2pP1PP1/2R1B2P/2Q3B1/3R3K w - - +solution f5 +id "ECM.468" +go +setboard r4rk1/5ppp/p7/4PR2/P1qnp2Q/4B3/1P4PP/5RK1 w - - +solution Rh5 +id "ECM.475" +go +setboard 4r3/pb3pk1/6p1/8/6P1/1PNrB2K/P4P1P/2R5 b - - +solution Rexe3+ +id "ECM.476" +go +setboard 2kr2r1/2pqbp1p/p1n1b3/1P1pP3/4n3/1BP1BN2/1P4PP/RN1Q1RK1 b - - +solution Bh3 +id "ECM.488" +go +setboard 2b3k1/5qp1/p2r1n1p/3p4/3B4/1RP3QP/P2Nr1P1/3R2K1 b - - +solution Ne4 +id "ECM.489" +go +setboard 1r2r1k1/p4ppb/q1pbnn1p/4p3/N1P1P3/pPB2NP1/2Q1RPBP/R5K1 b - - +solution Nxe4 +id "ECM.491" +go +setboard r4r2/1pnqb2k/3p1p1p/p1pPpPpP/2P1N1P1/4BP2/PP1Q4/R2R2K1 w - - +solution Bxc5 +id "ECM.492" +go +setboard rq1r2k1/3nbp1p/p2p2p1/1p1Pp1P1/3B1P2/3B3Q/PPP4P/2KR2R1 w - - +solution f5 +id "ECM.497" +go +setboard r4rk1/1bq1bppp/8/p2pPR2/3B4/1NnP3Q/1P4PP/4R1K1 w - - +solution Rh5 +id "ECM.498" +go +setboard r1b2rk1/pp4bp/2p3p1/4q2n/NQPN1p1P/1P5n/P3PPB1/2BRRK2 b - - +solution f3 +id "ECM.500" +go +setboard r3rk2/pb2bpp1/1n5p/q1pP1B2/1p3B2/5N2/PPQ2PPP/R2R2K1 w - - +solution Bc8 +id "ECM.503" +go +setboard r1bqr2k/ppp2p1p/5b2/3Pn1p1/1PP1Bp2/8/PB2N1PP/R2Q1RK1 w - - +solution Nxf4 +id "ECM.504" +go +setboard 1q4k1/p3rppp/3b1n2/8/5P2/4P3/PP1B3P/RNQ3K1 b - - +solution Bxf4 +id "ECM.505" +go +setboard 3r1qk1/5p1p/4b1pP/1pRp4/1P1Q4/r5P1/5P2/4RBK1 w - - +solution Rxe6 +id "ECM.510" +go +setboard 4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - +solution Bxf6 +id "ECM.516" +go +setboard r5n1/pppb1B2/2k1pb2/3p2B1/5P2/2N5/PPP3P1/2KR4 w - - +solution Nxd5 +id "ECM.517" +go +setboard 2bk3r/3r2pp/p2nQ3/q2R2P1/1p6/8/PPP2P1P/1K3B1R b - - +solution Qxd5 +id "ECM.525" +go +setboard 8/4Ppk1/6p1/1p6/1Pb1Q3/6pq/8/6K1 w - - +solution Qe5+ +id "ECM.544" +go +setboard r1b2rk1/ppp2ppp/2n3q1/b2N2N1/2BP4/4p2P/PPP3P1/R2Q1RK1 w - - +solution Nxf7 +id "ECM.553" +go +setboard r1b2rk1/4bnpp/2p5/pp2q3/4N3/PQ2B1P1/1PP3BP/4RRK1 w - - +solution Ng5 +id "ECM.559" +go +setboard 2rr2k1/1p3p2/p2n2p1/P2PnNq1/3QP1p1/1RN5/6PP/5RK1 b - - +solution Nf3+ +id "ECM.560" +go +setboard r3k1r1/pb1qpp1p/1pnp1n1B/2p2R2/3PP3/2P3PN/P1P3BP/R2Q3K b q - +solution Nxe4 +id "ECM.561" +go +setboard 2r1r1k1/pp1b1ppp/1q6/3P4/7N/Pn1Q4/1P3PPP/1RB2RK1 b - - +solution Nxc1 +id "ECM.569" +go +setboard r3r1k1/p2n4/3p1pp1/qnp3B1/1p2P1P1/1P3P2/PP2N2Q/1K1R1B2 w - - +solution Nf4 +id "ECM.580" +go +setboard 4r1k1/r1q2p1p/p5pB/1pbBpN1n/1n2P3/5Q2/PP3PPP/R1R3K1 w - - +solution Rxc5 +id "ECM.592" +go +setboard 1rb1r1k1/p1p1qppp/2pb4/8/2P3n1/4P1P1/PB2BP1P/R1QN1RK1 b - - +solution Nxh2 +id "ECM.595" +go +setboard rnb2rk1/pp4pp/2pb1n2/3N1p1q/2P5/3N2P1/P1Q1PPBP/R1B2RK1 w - - +solution Bf4 +id "ECM.597" +go +setboard 8/8/1p1k4/5ppp/PPK1p3/6P1/5PP1/8 b - - +solution f4 +id "ECM.598" +go +setboard 8/p5k1/2p2p2/4p1p1/1p2P3/1P4PP/1PP5/5K2 b - - +solution g4 +id "ECM.601" +go +setboard 8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b - - +solution g5 +id "ECM.605" +go +setboard r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - +solution Bxg6 +id "ECM.607" +go +setboard 6r1/1p3k2/pPp4R/K1P1p1p1/1P2Pp1p/5P1P/6P1/8 w - - +solution Rxc6 +id "ECM.608" +go +setboard 1k2b3/4bpp1/p2pp1P1/1p3P2/2q1P3/4B3/PPPQN2r/1K1R4 w - - +solution f6 +id "ECM.609" +go +setboard 6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - +solution e5 +id "ECM.613" +go +setboard 5r2/pp1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - +solution Qxf7+ +id "ECM.614" +go +setboard 6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - +solution b5 +id "ECM.615" +go +setboard r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - +solution Rxa6 +id "ECM.616" +go +setboard 3r2k1/p6p/b2r2p1/2qPQp2/2P2P2/8/6BP/R4R1K w - - +solution Rxa6 +id "ECM.617" +go +setboard 6B1/2p2pp1/2p5/p3K3/1k6/nP4P1/5P1P/8 b - - +solution Nc4+ +id "ECM.621" +go +setboard 4r2k/3n1Qpp/1pRP1p2/p4P2/1p1P2P1/6rP/P3q1B1/6RK w - - +solution Qe6 +id "ECM.624" +go +setboard 3rr1k1/pppRn1pp/4Pp2/1P5q/1QB5/4P3/P4P1P/4K1R1 w - - +solution Qxe7 +id "ECM.627" +go +setboard 8/6Bp/6p1/2k1p3/4PPP1/1pb4P/8/2K5 b - - +solution b2+ +id "ECM.629" +go +setboard 2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - +solution Nxa7 +id "ECM.635" +go +setboard r4rk1/ppq3pp/2p1Pn2/4p1Q1/8/2N5/PP4PP/2KR1R2 w - - +solution Rxf6 +id "ECM.636" +go +setboard r3qr1k/1b4pp/p2RQ3/Bp2p3/4p3/6P1/PPP2P1P/3R2K1 b - - +solution Qh5 +id "ECM.637" +go +setboard 8/pR4pk/1b6/2p5/N1p5/8/PP1r2PP/6K1 b - - +solution Rxb2 +id "ECM.640" +go +setboard 8/2k5/2p5/2pb2K1/pp4P1/1P1R4/P7/8 b - - +solution Bxb3 +id "ECM.646" +go +setboard 2r5/1r5k/1P3p2/PR2pP1p/4P2p/2p1BP2/1p2n3/4R2K b - - +solution Nd4 +id "ECM.647" +go +setboard 4r2k/p2qr1pp/1pp2p2/2p1nP1N/4R3/1P1P2RP/1PP2QP1/7K w - - +solution Rxg7 +id "ECM.648" +go +setboard 8/1R2P3/6k1/3B4/2P2P2/1p2r3/1Kb4p/8 w - - +solution Be6 +id "ECM.650" +go +setboard 3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - +solution Bb5 +id "ECM.653" +go +setboard r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - +solution Bxh7+ +id "ECM.654" +go +setboard r1b2rk1/2q1bppp/p1n1p3/1p1np1P1/5P2/1NNBBQ2/PPP4P/R4RK1 w - - +solution Bxh7+ +id "ECM.665" +go +setboard 2rqr1k1/1p1bbppp/p3p3/n7/3P2Q1/2PB1N2/P4PPP/R1B1R1K1 w - - +solution Bxh7+ +id "ECM.673" +go +setboard r1b2r1k/ppppq1pp/2n1n3/6N1/2B2P2/4B3/PPP3PP/R2Q1RK1 w - - +solution Nxh7 +id "ECM.674" +go +setboard rn1q1rk1/pb1p1ppp/4p3/2pnP3/1bp5/2N2N2/PP3PPP/RBBQK2R w KQ - +solution Bxh7+ +id "ECM.675" +go +setboard r1b2rk1/1pq2ppp/p1p1p3/2n1P3/2N2P2/3B4/PPP3PP/R2Q1RK1 w - - +solution Bxh7+ +id "ECM.677" +go +setboard rn3rk1/pp1bppbp/1qp3p1/4P1N1/PP1PB3/2P1B3/4Q1PP/R4RK1 w - - +solution Nxh7 +id "ECM.679" +go +setboard 3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - +solution Bxh7+ +id "ECM.680" +go +setboard 1r2nrkb/2n2p1p/p2p1Pp1/P1pPp1P1/1pP1P1q1/1P1BB1N1/3Q4/2KR3R w - - +solution Rxh7 +id "ECM.681" +go +setboard r2q3r/2pkb1p1/p2p1n2/4p1p1/Pp2P1P1/1QP5/1P1P2PP/RNB2RK1 b - - +solution Rxh2 +id "ECM.683" +go +setboard 2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - +solution Nxh7 +id "ECM.684" +go +setboard 2rq1bk1/1br2p1p/p2p2p1/1p1P4/4Q3/PP3N2/1BP5/1K1R3R w - - +solution Rxh7 +id "ECM.685" +go +setboard r2qn1k1/pb4Pp/1pn5/2p5/2P2p2/P1PB4/5PPP/R2Q1RK1 w - - +solution Bxh7+ +id "ECM.686" +go +setboard r4rk1/pp1n1ppp/3qp3/3nN1P1/b2P4/P2B1Q2/3B1P1P/1R2R1K1 w - - +solution Bxh7+ +id "ECM.687" +go +setboard r2r2k1/ppqbbppp/4pn2/6N1/n1P4P/3B1N2/PP2QPP1/1KBR3R w - - +solution Nxh7 +id "ECM.688" +go +setboard 4nrk1/r4p1p/p2p2pQ/2pPpNPP/qpn1P3/5P1R/PPP1N3/2K3R1 w - - +solution Qxh7+ +id "ECM.691" +go +setboard r3k2r/1b1n1p2/pq1p1bp1/1p4p1/P3P3/1NN5/1PP3PP/R2QRB1K b kq - +solution Rxh2+ +id "ECM.692" +go +setboard r2qrnk1/4bppp/b1p5/1p1p2P1/p2P1N1P/2NBP3/PPQ2P2/2K3RR w - - +solution Bxh7+ +id "ECM.693" +go +setboard 3r1rk1/4qp1p/p1bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - +solution Bxh2+ +id "ECM.696" +go +setboard r2q1rk1/3n1ppp/8/1pbP2P1/p1N4P/PnBBPQ2/5P2/R3K2R w KQ - +solution Bxh7+ +id "ECM.697" +go +setboard 2k3r1/ppq2p1p/n1Pb1p2/8/6r1/4BN1b/PPQ2PPP/R3RBK1 b - - +solution Bxh2+ +id "ECM.698" +go +setboard 3qr1k1/1br2ppp/p2b4/8/PpNp4/3P4/1PP2PPP/R1BQ1RK1 b - - +solution Bxh2+ +id "ECM.699" +go +setboard r1b4r/3p1kp1/pp3q1p/4RP2/8/B7/P5PP/4QRK1 w - - +solution Qe4 +id "ECM.701" +go +setboard 2r2r1k/3b1pb1/p3pp1p/q2p1P1B/8/2N2RR1/P1PQ2PP/7K w - - +solution Rxg7 +id "ECM.706" +go +setboard r2qr1k1/1p3ppp/2pb4/2Np4/1P1P2bn/3BP3/2QN1PPP/1RR3K1 b - - +solution Nxg2 +id "ECM.712" +go +setboard r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - +solution Bxg7 +id "ECM.713" +go +setboard r5k1/pn1q1rpp/2pp4/5R1N/bP6/4BQ2/P4PPP/2R3K1 w - - +solution Nxg7 +id "ECM.714" +go +setboard r4rk1/5ppp/p2pbb2/3B3Q/qp2p3/4B3/PPP2P1P/2KR2R1 w - - +solution Rxg7+ +id "ECM.718" +go +setboard 4q1k1/1b3r1p/p4pp1/1p6/2P2n2/1P3N2/1B3PPP/R2Q3K b - - +solution Nxg2 +id "ECM.719" +go +setboard r3r1k1/p3bppp/q1b2n2/5Q2/1p1B4/1BNR4/PPP3PP/2K2R2 w - - +solution Rg3 +id "ECM.722" +go +setboard 4kbr1/pp1bpp1p/3p1p2/3N4/1PBQP3/q7/P1r2PPP/R4RK1 b - - +solution Rxg2+ +id "ECM.725" +go +setboard 3q1r2/1p1b1pk1/pn5p/3pN1pQ/3P3P/2r3B1/P4PP1/3RR1K1 w - - +solution Nxf7 +id "ECM.730" +go +setboard r3r1k1/1bqn1ppp/1pp2p2/8/3P4/1B4N1/PP3PPP/R2QR1K1 w - - +solution Bxf7+ +id "ECM.734" +go +setboard r3r1k1/pp3ppp/8/1Nbp3q/3NnBn1/2P5/PPQ2PPP/3R1RK1 b - - +solution Ngxf2 +id "ECM.735" +go +setboard rqb1k2r/1p1nbp1p/p4pp1/8/1PBN1P2/P1N1P3/7P/2RQ1RK1 w kq - +solution Bxf7+ +id "ECM.754" +go +setboard r2r2k1/4ppbp/5np1/p1q5/QnB1P3/5N2/1P3PPP/R1B2RK1 w - - +solution Bxf7+ +id "ECM.755" +go +setboard 2rqr1k1/pp2nppp/3p2b1/6B1/2BNn1Q1/P7/1PP2PPP/2KRR3 w - - +solution Bxf7+ +id "ECM.761" +go +setboard r1b2rk1/p6p/2p3Pb/3pp1q1/8/2PB4/PP3PP1/RN1Q1K1R b - - +solution Rxf2+ +id "ECM.763" +go +setboard r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - +solution Nxf7 +id "ECM.764" +go +setboard r1b1r1k1/pp2qpbp/2p3p1/2P5/3NnB2/7P/PPQ1PPB1/2RR2K1 b - - +solution Nxf2 +id "ECM.766" +go +setboard rn2r1k1/pp3p1p/3P2p1/2p1bbB1/2B5/2N5/Pq4PP/R2Q1RK1 w - - +solution Bxf7+ +id "ECM.767" +go +setboard 1bq2k2/1b1n1pp1/pp5p/2pBpN2/P3P2B/3Q1P2/1PP3PP/4K3 w - - +solution Bxf7 +id "ECM.769" +go +setboard rnb2rk1/pp3pbp/2p3pB/2q5/4P3/1BN5/PPP3PP/R2Q1R1K w - - +solution Rxf7 +id "ECM.770" +go +setboard 3qr1k1/1br1bp1p/p3p1pB/1p1nN3/3PB3/7Q/PP3PPP/3RR1K1 w - - +solution Nxf7 +id "ECM.771" +go +setboard rr1q2k1/1p2bpp1/2p1p2p/P1Pn4/2NP4/3Q1RP1/5PKP/2B1R3 w - - +solution Bxh6 +id "ECM.773" +go +setboard r2r2k1/pb1nbpp1/1qp1pn1p/1p2N3/3P1B2/P1N1P3/BPQ2PPP/2R2RK1 w - - +solution Bxh6 +id "ECM.774" +go +setboard r1b1r3/pp2Npbk/3pp2p/q5p1/2QNPP2/6P1/PPP3P1/2KR3R w - - +solution Ndf5 +id "ECM.776" +go +setboard 1rbqnr2/5p1k/p1np3p/1p1Np3/4P2P/1Q2B3/PPP1BP2/2KR3R w - - +solution Bxh6 +id "ECM.779" +go +setboard r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - +solution Bxh6 +id "ECM.780" +go +setboard r4rk1/2q1b1p1/p4p1p/n3pP2/1p2Q1N1/4B3/PPP3PP/4RR1K w - - +solution Nxh6+ +id "ECM.782" +go +setboard 2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - +solution Bxh6 +id "ECM.789" +go +setboard r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - +solution Bxh6 +id "ECM.792" +go +setboard 2b1rk2/r6p/1pP1p1p1/p2pNnR1/5Q2/P1B4q/1PP2P1P/1K4R1 w - - +solution Nxg6+ +id "ECM.799" +go +setboard 2b2r1k/2p3pp/2Nb4/pP5q/2PP4/P4pP1/5P1P/R1BQ2K1 b - - +solution Bxg3 +id "ECM.803" +go +setboard r1bq2k1/pp3r1p/2n1p1p1/3pP3/6Q1/2PB2P1/P4PK1/R1B4R w - - +solution Bxg6 +id "ECM.804" +go +setboard 3q1rk1/2r4p/n1p1n1pQ/p2pP3/Np1P2R1/5PN1/PP3KP1/2R5 w - - +solution Rxg6+ +id "ECM.805" +go +setboard 2rqr1k1/pb2bp1p/1pn1pnpB/4N3/3P4/P1N3R1/1P3PPP/RB1Q2K1 w - - +solution Rxg6+ +id "ECM.810" +go +setboard 3rr1k1/pb2bp1p/3qp1pB/1p2N3/3P2Q1/2P1R3/P4PPP/4R1K1 w - - +solution Nxg6 +id "ECM.816" +go +setboard 1Q4R1/r2qbp2/3p1kp1/3Bp2p/8/3PP1P1/5PKP/8 w - - +solution Rxg6+ +id "ECM.818" +go +setboard 1rb2rk1/p1p1qppp/2p2n2/3P4/1b3P2/2NB4/PPPBQ1PP/2KR3R b - - +solution Ba3 +id "ECM.822" +go +setboard 1q1r3k/3P1pp1/ppBR1n1p/4Q2P/P4P2/8/5PK1/8 w - - +solution Rxf6 +id "ECM.825" +go +setboard r1bq1rk1/1p2bppp/p3p3/n3P3/4N3/1P1P1N2/PB4PP/R3QR1K w - - +solution Nf6+ +id "ECM.829" +go +setboard r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - +solution Nf3+ +id "ECM.831" +go +setboard 3r1b2/p4bkp/1p1P1p2/r3p1p1/2q1N3/2N2P2/1P1R2PP/2QR3K w - - +solution Nxf6 +id "ECM.832" +go +setboard rqbn1rk1/1p3ppp/p3p3/8/4NP2/8/PPP1BQPP/1K1R3R w - - +solution Nf6+ +id "ECM.833" +go +setboard r1b1kb1r/1p4pp/p2ppn2/8/2qNP3/2N1B3/PPP3PP/R2Q1RK1 w kq - +solution Rxf6 +id "ECM.834" +go +setboard 2nr2k1/1pq1bppp/p1p5/2p1P1PQ/2P1NP2/1PNR4/P6P/6K1 w - - +solution Nf6+ +id "ECM.836" +go +setboard 6nk/pn2qr1r/1pbp1p1p/2p1pPpN/P1P1P1PP/2PP3R/7Q/2BBK2R w K - +solution Nxf6 +id "ECM.837" +go +setboard r1b1kb1r/1p1n1ppp/p2ppn2/6BB/2qNP3/2N5/PPP2PPP/R2Q1RK1 w kq - +solution Nxe6 +id "ECM.841" +go +setboard 2r2rk1/1b3ppp/pq2p3/1pbn2N1/3B3P/1B4P1/P1P1QP2/2KRR3 w - - +solution Qh5 +id "ECM.843" +go +setboard 3qr1k1/rp3pbp/2p3p1/3p1b2/N1nP4/P2NP3/1PQ2PPP/1BRR2K1 b - - +solution Rxe3 +id "ECM.846" +go +setboard rr4k1/5p1p/n2p1npQ/q1pP4/6P1/2N2P1N/PP1R3P/2K4R b - - +solution Rxb2 +id "ECM.853" +go +setboard 1k2bb1r/1p3p1p/p2qpP1p/3pN3/3P1Q2/2RB2P1/PP3P1P/6K1 w - - +solution Qc1 +id "ECM.854" +go +setboard 5rk1/5rp1/p2qb3/R2Np2Q/3bP2B/7P/P5PK/1R6 b - - +solution Rf1 +id "ECM.856" +go +setboard 3r1rk1/p3q1pp/2Rb4/3P4/8/1P2Qp2/PB3PPP/3R2K1 b - - +solution Bxh2+ +id "ECM.858" +go +setboard 1r4k1/1q3pb1/r1b3p1/pp1Qp3/P3P3/1B2BP2/1PP3P1/1K1R3R w - - +solution Qd8+ +id "ECM.860" +go +setboard 8/2q1np1k/6p1/1PPn3p/8/P2Q3P/6P1/2R4K b - - +solution Nf5 +id "ECM.864" +go +setboard 7R/1p1r4/2b2p2/2Pp1qk1/3P1bp1/3N4/2Q2PB1/6K1 w - - +solution Rg8+ +id "ECM.866" +go +setboard r6r/1pn1b1k1/2p1pq2/2Pp3p/p2P1Pp1/P2BP1P1/1P2QB2/3R2KR w - - +solution Rxh5 +id "ECM.867" +go +setboard 2kr1br1/ppp2p1p/2n1p1q1/2Nn4/3P4/1Q2PB2/PP1B1P1P/2R1K2R b K - +solution Qg1+ +id "ECM.875" +go +setboard 2kr3r/1Rp1bpp1/p6q/Q3P3/2P5/3p1NP1/P3P2P/1R4K1 b - - +solution Qe3+ +id "ECM.877" +go +setboard 6k1/1R4pp/2p5/8/P1rNp3/6Pb/4PK2/8 w - - +solution a5 +id "ECM.878" +go +setboard r2r2k1/pp3ppp/2q5/2p5/2P1P1n1/P4P1b/1BQ1BP1P/R3R2K b - - +solution Rd2 +id "ECM.879" +go |
