summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-09-16 00:08:27 -0700
committerScott Gasch <[email protected]>2026-09-16 00:08:27 -0700
commitb91c8453f3fe21c8ccd3568923d8e39141c9c945 (patch)
treeb908fea282ecd4075744590d3dfc88ffa903d943 /tests
parentc0ac3d7845f60c7f6f2c3bfc306ceb0e4ac045ba (diff)
Add search self-tests (hash consistency, QSearch sanity) and a native EPD parser (`epd` command + ParseEpdRecord), fixing a silent-corruption bug in convert_epd.pl that broke every Black-to-move EPD conversion.
testsearch.c: TestSearchHashConsistency exercises the hash table through real search (repeat-with-warm-table and shallow-then-deep agreement) rather than synthetic store/probe calls. TestQSearchSanity checks termination and a node-count ceiling; its own header documents that the TEST=1 self-test build doesn't define PERF_COUNTERS, so it checks whole-search node count rather than the qsearch-only counter. A planned null-move zugzwang test was dropped in favor of tests/zugzwang.epd (best-move outcome, not an internal counter) after the three classic literature positions turned out not to structurally reach this engine's verification-search code path on this build. fen.c/script.c/command.c: new `epd <file>` command reads raw EPD directly via ParseEpdRecord, reusing ScriptCommand's existing suite-reporting machinery (factored into _ProcessSuiteLine/_PrintSuiteReport). Replaces the need for tests/convert_epd.pl, which had a real bug: its bm/am regex's [^b]+ filler breaks on any Black-to-move record (side-to-move field is literally "b"), and unscoped $fen/$id/$solution globals meant a failed match silently duplicated the previous record instead of erroring. tests/ep_to_epd.pl converts the existing setboard/solution/avoid/id/go suites back to real EPD; cross-checked ecm_ringers.ep_ via `script` against ecm_ringers.epd via `epd` -- byte-identical node counts and solve stats. Added .epd siblings for every genuine tactical suite in tests/. Added src/TESTING_PLAN.md: full audit of test*.c coverage gaps (dead SEE oracle, unwired eval/recognizer tests, zero hash-table correctness coverage, thin search self-tests) with a prioritized plan for closing them. Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/LCT2.epd35
-rw-r--r--tests/arasan.epd140
-rwxr-xr-xtests/convert_epd.pl11
-rw-r--r--tests/ecm-gcp.epd181
-rw-r--r--tests/ecm-hard.epd378
-rw-r--r--tests/ecm.epd879
-rw-r--r--tests/ecm016_only.epd1
-rw-r--r--tests/ecm_confident.epd535
-rw-r--r--tests/ecm_confident_quick.epd90
-rw-r--r--tests/ecm_confident_sample2.epd40
-rw-r--r--tests/ecm_hard.epd232
-rw-r--r--tests/ecm_hard_quick.epd90
-rw-r--r--tests/ecm_late.epd25
-rw-r--r--tests/ecm_quick.epd30
-rw-r--r--tests/ecm_ringers.epd11
-rw-r--r--tests/ep_to_epd.pl56
-rw-r--r--tests/mes400.epd400
-rw-r--r--tests/newiq.epd360
-rw-r--r--tests/quick.epd24
-rw-r--r--tests/swiss.epd60
-rw-r--r--tests/wac.epd300
-rw-r--r--tests/zugzwang.epd5
22 files changed, 3883 insertions, 0 deletions
diff --git a/tests/LCT2.epd b/tests/LCT2.epd
new file mode 100644
index 0000000..ccdfc9c
--- /dev/null
+++ b/tests/LCT2.epd
@@ -0,0 +1,35 @@
+r3kb1r/3n1pp1/p6p/2pPp2q/Pp2N3/3B2PP/1PQ2P2/R3K2R w KQkq - bm d6; id "POS-01";
+r3kb1r/3n1pp1/p6p/2pPp2q/Pp2N3/3B2PP/1PQ2P2/R3K2R w KQkq - bm d6; id "POS-02";
+r6k/pp4p1/2p1b3/3pP3/7q/P2B3r/1PP2Q1P/2K1R1R1 w - - bm Qc5; id "POS-03";
+r6k/pp4p1/2p1b3/3pP3/7q/P2B3r/1PP2Q1P/2K1R1R1 w - - bm Qc5; id "POS-04";
+r6k/pp4p1/2p1b3/3pP3/7q/P2B3r/1PP2Q1P/2K1R1R1 w - - bm Qc5; id "POS-05";
+r6k/pp4p1/2p1b3/3pP3/7q/P2B3r/1PP2Q1P/2K1R1R1 w - - bm Qc5; id "POS-06";
+r1b2r1k/pp2q1pp/2p2p2/2p1n2N/4P3/1PNP2QP/1PP2RP1/5RK1 w - - bm Nd1; id "POS-07";
+r2qrnk1/pp3ppb/3b1n1p/1Pp1p3/2P1P2N/P5P1/1B1NQPBP/R4RK1 w - - bm Bh3; id "POS-08";
+5nk1/Q4bpp/5p2/8/P1n1PN2/q4P2/6PP/1R4K1 w - - bm Qd4; id "POS-09";
+5nk1/Q4bpp/5p2/8/P1n1PN2/q4P2/6PP/1R4K1 w - - bm Qd4; id "POS-10";
+bn6/1q4n1/1p1p1kp1/2pPp1pp/1PP1P1P1/3N1P1P/4B1K1/2Q2N2 w - - bm h4; id "POS-11";
+bn6/1q4n1/1p1p1kp1/2pPp1pp/1PP1P1P1/3N1P1P/4B1K1/2Q2N2 w - - bm h4; id "POS-12";
+bn6/1q4n1/1p1p1kp1/2pPp1pp/1PP1P1P1/3N1P1P/4B1K1/2Q2N2 w - - bm h4; id "POS-13";
+r2qkb1r/1b3ppp/p3pn2/1p6/1n1P4/1BN2N2/PP2QPPP/R1BR2K1 w kq - bm d5; id "POS-14";
+8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - bm f6; id "FIN-01";
+8/pp2r1k1/2p1p3/3pP2p/1P1P1P1P/P5KR/8/8 w - - bm f5; id "FIN-02";
+8/pp2r1k1/2p1p3/3pP2p/1P1P1P1P/P5KR/8/8 w - - bm f5; id "FIN-03";
+8/pp2r1k1/2p1p3/3pP2p/1P1P1P1P/P5KR/8/8 w - - bm f5; id "FIN-04";
+6k1/6p1/7p/P1N5/1r3p2/7P/1b3PP1/3bR1K1 w - - bm a6; id "FIN-05";
+6k1/6p1/7p/P1N5/1r3p2/7P/1b3PP1/3bR1K1 w - - bm a6; id "FIN-06";
+6k1/4pp1p/3p2p1/P1pPb3/R7/1r2P1PP/3B1P2/6K1 w - - bm Bb4; id "FIN-07";
+2k5/p7/Pp1p1b2/1P1P1p2/2P2P1p/3K3P/5B2/8 w - - bm c5; id "FIN-08";
+8/5Bp1/4P3/6pP/1b1k1P2/5K2/8/8 w - - bm Kg4; id "FIN-09";
+1r4k1/1q2bp2/3p2p1/2pP4/p1N4R/2P2QP1/1P3PK1/8 w - - bm Nd6; id "CMB-01";
+rn3rk1/pbppq1pp/1p2pb2/4N2Q/3PN3/3B4/PPP2PPP/R3K2R w KQ - bm Qh7; id "CMB-02";
+rn3rk1/pbppq1pp/1p2pb2/4N2Q/3PN3/3B4/PPP2PPP/R3K2R w KQ - bm Qh7; id "CMB-03";
+2k2b1r/1pq3p1/2p1pp2/p1n1PnNp/2P2B2/2N4P/PP2QPP1/3R2K1 w - - bm ef6; id "CMB-04";
+2r2r2/3qbpkp/p3n1p1/2ppP3/6Q1/1P1B3R/PBP3PP/5R1K w - - bm Rh7; id "CMB-05";
+2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 w k - bm ef6; id "CMB-06";
+2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 w k - bm ef6; id "CMB-07";
+2b1r1k1/r4ppp/p7/2pNP3/4Q3/q6P/2P2PP1/3RR1K1 w - - bm Nf6; id "CMB-08";
+2b1r1k1/r4ppp/p7/2pNP3/4Q3/q6P/2P2PP1/3RR1K1 w - - bm Nf6; id "CMB-09";
+rq2rbk1/6p1/p2p2Pp/1p1Rn3/4PB2/6Q1/PPP1B3/2K3R1 w - - bm Bh6; id "CMB-10";
+rnbq2k1/p1r2p1p/1p1p1Pp1/1BpPn1N1/P7/2P5/6PP/R1B1QRK1 w - - bm Nh7; id "CMB-11";
+r2qrb1k/1p1b2p1/p2ppn1p/8/3NP3/1BN5/PPP3QP/1K3RR1 w - - bm e5; id "CMB-12";
diff --git a/tests/arasan.epd b/tests/arasan.epd
new file mode 100644
index 0000000..cf565fe
--- /dev/null
+++ b/tests/arasan.epd
@@ -0,0 +1,140 @@
+8/1p2r1kp/1p1R2p1/4qp2/1P6/P1p1P1P1/5P1P/3Q2K1 w - - am Rxb6; id "arasan4.2";
+8/1p2r1kp/1p1R2p1/4qp2/1P6/P1p1P1P1/5P1P/3Q2K1 w - - am Rxb6; id "arasan4.3";
+8/1p2r1kp/1p1R2p1/4qp2/1P6/P1p1P1P1/5P1P/3Q2K1 w - - am Rxb6; id "arasan4.4";
+2r3k1/1b1nqppp/p3p3/8/1pQPn3/4PNP1/PP3PBP/RN4K1 w - - bm Qf1; id "arasan4.5";
+r3r1k1/6p1/1pqp2Np/2p1nP1P/N1PbPQ2/1P3PR1/P2K4/7R w - - bm f6; id "arasan4.6";
+r3r1k1/6p1/1pqp2Np/2p1nP1P/N1PbPQ2/1P3PR1/P2K4/7R w - - bm f6; id "arasan4.7";
+r3r1k1/6p1/1pqp2Np/2p1nP1P/N1PbPQ2/1P3PR1/P2K4/7R w - - bm f6; id "arasan4.8";
+4k3/5ppQ/1n3b2/3bp3/1B6/1P1R2NP/5PPK/1qr5 w - - bm Ba5; id "arasan4.9";
+r3r1k1/pb1n1p2/1p1p1n1p/q1pPpN2/2P4p/2PBPP2/P1Q3PP/1R3RK1 w - - bm Qf2; id "arasan4.10";
+r3r1k1/pb1n1p2/1p1p1n1p/q1pPpN2/2P4p/2PBPP2/P1Q3PP/1R3RK1 w - - bm Qf2; id "arasan4.11";
+q2r2k1/1bpn1ppp/1p1bp3/8/r2PP3/P4NP1/1BQ2PBP/3RR1K1 w - - bm e5; id "arasan4.12";
+q2r2k1/1bpn1ppp/1p1bp3/8/r2PP3/P4NP1/1BQ2PBP/3RR1K1 w - - bm e5; id "arasan4.13";
+rnbq1rk1/p3nppp/1p2p3/2ppP3/3P4/P1PB1N2/2P2PPP/R1BQK2R w KQ - bm Bxh7+; id "arasan4.14";
+4nr1k/r4p1p/2bq4/pp1pNP2/3P3Q/2P5/4PPB1/RR4K1 w - - bm c4; id "arasan4.15";
+4nr1k/r4p1p/2bq4/pp1pNP2/3P3Q/2P5/4PPB1/RR4K1 w - - bm c4; id "arasan4.16";
+1r1n3k/3qbppp/pr1p4/2pPpP2/2P1N1Q1/R6P/1P3PP1/2B1R1K1 w - - bm Bh6; id "arasan4.17";
+1r1n3k/3qbppp/pr1p4/2pPpP2/2P1N1Q1/R6P/1P3PP1/2B1R1K1 w - - bm Bh6; id "arasan4.18";
+1r1n3k/3qbppp/pr1p4/2pPpP2/2P1N1Q1/R6P/1P3PP1/2B1R1K1 w - - bm Bh6; id "arasan4.19";
+1r1n3k/3qbppp/pr1p4/2pPpP2/2P1N1Q1/R6P/1P3PP1/2B1R1K1 w - - bm Bh6; id "arasan4.20";
+1r1n3k/3qbppp/pr1p4/2pPpP2/2P1N1Q1/R6P/1P3PP1/2B1R1K1 w - - bm Bh6; id "arasan4.21";
+2q2k1r/1pbb1ppp/2n2n2/1B2p3/Q3P3/4BP1P/PP4P1/1KRR4 w - - bm Rxd7; id "arasan4.22";
+2q2k1r/1pbb1ppp/2n2n2/1B2p3/Q3P3/4BP1P/PP4P1/1KRR4 w - - bm Rxd7; id "arasan4.23";
+2q2k1r/1pbb1ppp/2n2n2/1B2p3/Q3P3/4BP1P/PP4P1/1KRR4 w - - bm Rxd7; id "arasan4.24";
+5q2/3Q1N1p/r4kp1/4p3/3nb3/1B5P/5PP1/1R4K1 w - - bm f4; id "arasan4.25";
+5rk1/1p1P1ppp/pBn1p1r1/3p4/6P1/RPP4K/7P/4R3 w - - bm Ra5; id "arasan4.26";
+5rk1/1p1P1ppp/pBn1p1r1/3p4/6P1/RPP4K/7P/4R3 w - - bm Ra5; id "arasan4.27";
+3r2k1/2qn1ppp/8/1pbrp3/pP1N4/P2P2P1/RB2RP1P/4QK2 w - - bm Nxb5; id "arasan4.28";
+3r2k1/2qn1ppp/8/1pbrp3/pP1N4/P2P2P1/RB2RP1P/4QK2 w - - bm Nxb5; id "arasan4.29";
+2Q5/8/8/8/3kbP1N/2pq3P/6PK/8 w - - bm f5; id "arasan4.30";
+2Q5/8/8/8/3kbP1N/2pq3P/6PK/8 w - - bm f5; id "arasan4.31";
+r1b2rk1/pp3pp1/4p2p/2ppP1b1/3Pq3/2P1PNP1/PP2Q2P/R3KB1R w KQ - bm Nxg5; id "arasan4.32";
+Qn3rk1/p5p1/1pnqp3/6p1/6P1/2P5/P4P1P/R1B2RK1 w - - bm Qb7; id "arasan4.33";
+Qn3rk1/p5p1/1pnqp3/6p1/6P1/2P5/P4P1P/R1B2RK1 w - - bm Qb7; id "arasan4.34";
+r1b2r2/pp3p1p/1q1p3k/2p1n2N/3N4/4P1P1/P1PP2BP/R4QK1 w - - bm Qf6+; id "arasan4.35";
+r1bq2k1/1p1n1r1p/3Qppp1/pP5N/2P1B3/8/P4P1P/2KR2R1 w - - bm Bxg6; id "arasan4.36";
+r1bq2k1/1p1n1r1p/3Qppp1/pP5N/2P1B3/8/P4P1P/2KR2R1 w - - bm Bxg6; id "arasan4.37";
+r4rk1/2qbbpp1/7p/2pPp3/ppN1P3/4Q1P1/PPPN4/2K3RR w - - bm Rxh6; id "arasan4.38";
+r2q1r1k/1p2bppp/pnb1p3/4P3/6R1/2N5/PPB1QPPP/R1B3K1 w - - bm Rxg7; id "arasan4.39";
+1r3k2/4q3/2Pp3b/3Bp3/2Q2p2/1p1P2P1/1P2KP2/3N4 w - - bm Be6; id "arasan4.40";
+r4rk1/pp1nqppp/2b1p3/6N1/4N3/6Q1/PPP2PPP/1K1RR3 w - - bm Rxd7; id "arasan4.41";
+r3k1nr/pp1b1ppp/4p3/3p4/q4B2/3B1Q2/PP3PPP/2R1R1K1 w kq - bm Qg3; id "arasan4.42";
+r3k1nr/pp1b1ppp/4p3/3p4/q4B2/3B1Q2/PP3PPP/2R1R1K1 w kq - bm Qg3; id "arasan4.43";
+r3k1nr/pp1b1ppp/4p3/3p4/q4B2/3B1Q2/PP3PPP/2R1R1K1 w kq - bm Qg3; id "arasan4.44";
+r1bk2nr/ppp2ppp/2np1b2/1N6/N4P1q/P3B3/1PP1B1PP/R2QR1K1 w - - bm Nxd6; id "arasan4.45";
+r5nr/ppp2kpp/3pbp2/1B6/PP5q/8/1BPQ1PPP/1R2R1K1 w - - bm Rxe6; id "arasan4.46";
+r5nr/ppp2kpp/3pbp2/1B6/PP5q/8/1BPQ1PPP/1R2R1K1 w - - bm Rxe6; id "arasan4.47";
+r5nr/ppp2kpp/3pbp2/1B6/PP5q/8/1BPQ1PPP/1R2R1K1 w - - bm Rxe6; id "arasan4.48";
+2r1k1nr/p1Pq4/1p3p2/4pn1p/1B1p4/1N3Q2/PP2P1RP/2R4K w - - bm Nd2; id "arasan4.49";
+r2qr1k1/pp1b2pp/2nBpp1n/6NQ/2B1N3/P3b3/1PP3PP/R4R1K w - - bm Nxf6+; id "arasan4.50";
+1n3rn1/3b4/rq1P1pkp/1p4p1/p1p1N1N1/2Q2B1P/1P3PP1/R3R1K1 w - - bm Nexf6 Ngxf6; id "arasan4.51";
+r1bq1rk1/ppp1bpp1/2np3p/3N3n/2P1PB2/3BQN2/PP3PPP/R3K2R w KQ - bm Bxh6; id "arasan4.52";
+2r3k1/5pp1/1p5p/p1n1P3/2B2P2/P3Q3/1PP4q/1K4R1 w - - bm Qd4; id "arasan4.53";
+2r3k1/5pp1/1p5p/p1n1P3/2B2P2/P3Q3/1PP4q/1K4R1 w - - bm Qd4; id "arasan4.54";
+2r3k1/5pp1/1p5p/p1n1P3/2B2P2/P3Q3/1PP4q/1K4R1 w - - bm Qd4; id "arasan4.55";
+2r3k1/5pp1/1p5p/p1n1P3/2B2P2/P3Q3/1PP4q/1K4R1 w - - bm Qd4; id "arasan4.56";
+r2r2k1/pbpq1ppp/1pn1pn2/8/P2PP3/B1R2NP1/P1Q2PBP/3R2K1 w - - bm d5; id "arasan4.57";
+r2r2k1/pbpq1ppp/1pn1pn2/8/P2PP3/B1R2NP1/P1Q2PBP/3R2K1 w - - bm d5; id "arasan4.58";
+1b6/4kPp1/Pp6/2p2K1B/2P5/3p4/8/8 w - - bm Ke4; id "arasan4.59";
+4r1k1/pppb3p/1n4p1/3P4/1bP2p2/qN3PPP/P1Q3B1/2R3KR w - - bm g4; id "arasan4.60";
+2r3k1/2r1b1p1/p1q3Pp/3pP3/1p6/1P2B2Q/2PR4/1K4R1 w - - bm Bxh6; id "arasan4.61";
+4R3/1k4p1/8/pp4P1/8/3K4/1b5P/8 w - - bm Re2; id "arasan4.62";
+r3k2r/pb3ppp/1p2pn2/1Nb1q3/4P3/P2B4/1PQ2PPP/R1B2RK1 w kq - bm b4; id "arasan4.63";
+2r1r1k1/1pn3qp/2pbn1p1/p2pN3/3P1P2/3BP1BP/PPQ3K1/2R2R2 w - - bm f5; id "arasan4.64";
+5Nk1/1p2n3/p2q1rp1/3p1pQP/5P2/2P2B2/b1PK2P1/4R3 w - - bm Nd7; id "arasan4.65";
+5Nk1/1p2n3/p2q1rp1/3p1pQP/5P2/2P2B2/b1PK2P1/4R3 w - - bm Nd7; id "arasan4.66";
+8/1B1r1b1k/3N2pp/p3Qp2/3P1P2/7P/1P1b1K2/2r5 w - - bm Nxf5; id "arasan4.67";
+8/1B1r1b1k/3N2pp/p3Qp2/3P1P2/7P/1P1b1K2/2r5 w - - bm Nxf5; id "arasan4.68";
+2kb4/r7/4p1r1/1RNn2p1/8/6P1/pB3PK1/7R w - - bm Be5; id "arasan4.69";
+2kb4/r7/4p1r1/1RNn2p1/8/6P1/pB3PK1/7R w - - bm Be5; id "arasan4.70";
+4rrk1/1bpn1qp1/1p1b3p/pP1Ppn2/4N3/P2Q1N1P/1BB2PP1/2R1R1K1 w - - bm g4; id "arasan4.71";
+4rrk1/1bpn1qp1/1p1b3p/pP1Ppn2/4N3/P2Q1N1P/1BB2PP1/2R1R1K1 w - - bm g4; id "arasan4.72";
+1r5k/pp5p/3Nn1p1/3R4/3b4/BP3rPP/P4P2/1R4K1 w - - bm Rxd4; id "arasan4.73";
+rn1r2k1/p4p2/1pp1pqp1/6Rp/3PB2P/8/PPPQ1P2/2KR4 w - - bm Bxg6; id "arasan4.74";
+r4rk1/1pp3q1/2np3p/p2Npb1B/2PbN1p1/3P2P1/PP4PP/R2Q1R1K w - - bm Ndf6+ Nef6+; id "arasan4.75";
+r5k1/p6r/1n2p2p/2BbPpp1/8/P2B4/5PPP/2RR2K1 w - - bm Bxf5; id "arasan4.76";
+5rk1/q4ppp/pp1bp1n1/6N1/4QP2/P3P3/1P1B2PP/2R3K1 w - - bm Nxe6; id "arasan4.77";
+r3kb1r/2R2bpp/p2p1p2/1p2pPP1/3qP3/5Q2/1PPB3P/2K2B1R w kq - bm Bc4; id "arasan4.78";
+r3kb1r/2R2bpp/p2p1p2/1p2pPP1/3qP3/5Q2/1PPB3P/2K2B1R w kq - bm Bc4; id "arasan4.79";
+6k1/3p2p1/1p1Npq2/3n3r/1P6/5PQ1/P4KP1/RNBR3r w - - bm Ne4; id "arasan4.80";
+6k1/3p2p1/1p1Npq2/3n3r/1P6/5PQ1/P4KP1/RNBR3r w - - bm Ne4; id "arasan4.81";
+2k4r/1q1bBQ2/2p1p3/1p2P2p/6r1/8/5PP1/R1R3K1 w - - bm Bf8; id "arasan4.82";
+2r2k1r/p1q3pp/1p3p2/3Bp3/2Pb2b1/P1Q5/1B1R1PPP/4R1K1 w - - bm Rxd4; id "arasan4.83";
+2r2k1r/p1q3pp/1p3p2/3Bp3/2Pb2b1/P1Q5/1B1R1PPP/4R1K1 w - - bm Rxd4; id "arasan4.84";
+3q1k2/8/1p1b1r1p/p2R2p1/P1BQ2P1/1P3P2/8/3K4 w - - bm f4; id "arasan4.85";
+2r2rk1/5qp1/1pN2p1p/pPnRp3/P1P5/5PP1/2Q1R1KP/8 w - - bm Rxc5; id "arasan4.86";
+3r1r2/pb3pkp/1pn1qNp1/2p1P3/5P2/P2BQ3/1P4PP/3R1R1K w - - bm f5; id "arasan4.87";
+r3rb1k/1b3pp1/3p2qp/p2P1N2/Pp1Qn3/4RN1P/1P3PP1/R1B3K1 w - - bm N3h4; id "arasan4.88";
+r3rb1k/1b3pp1/3p2qp/p2P1N2/Pp1Qn3/4RN1P/1P3PP1/R1B3K1 w - - bm N3h4; id "arasan4.89";
+r3rb1k/1b3pp1/3p2qp/p2P1N2/Pp1Qn3/4RN1P/1P3PP1/R1B3K1 w - - bm N3h4; id "4.90";
+r3rk2/ppq2pbQ/2p1b1p1/4p1B1/2P3P1/3P1B2/P3PPK1/1R5R w - - bm Qxg7+ Qh8+; id "4.91";
+r1b2rk1/1pqp1p1p/p3nBpQ/4p3/4P3/1N4P1/PbP2PBP/R4RK1 w - - bm Nd2; id "4.92";
+4r1k1/2P3pp/1n2q3/2pn1p2/8/6B1/1P1QBP1P/4R1K1 w - - bm Rd1; id "arasan4.93";
+r2q1rk1/p4p2/1p2pn1p/n2b2p1/3P3B/2R2N2/PP3PPP/1B1QR1K1 w - - bm Nxg5; id "arasan4.94";
+r2q1rk1/p4p2/1p2pn1p/n2b2p1/3P3B/2R2N2/PP3PPP/1B1QR1K1 w - - bm Nxg5; id "arasan4.95";
+r2q1rk1/p4p2/1p2pn1p/n2b2p1/3P3B/2R2N2/PP3PPP/1B1QR1K1 w - - bm Nxg5; id "arasan4.96";
+5rk1/3R1p2/ppp3r1/b1p1P2p/2P2B1q/2P2Q2/P5PP/3R3K w - - bm h3; id "arasan4.97";
+2r1r1k1/5p1p/p3qBp1/1ppbP3/2n5/2PB3P/P3QPP1/3RR1K1 w - - bm Bxc4; id "arasan4.98";
+r1br3k/pp2qn1p/4p2P/4Ppp1/2B5/P4NQ1/1P3PP1/3R1RK1 w - - bm Nxg5; id "arasan4.99";
+2r2rk1/3bq1p1/4p1Pp/3pP3/1p1N1PQ1/pP5R/P1P4R/4K3 w - - bm Rxh6; id "arasan4.100";
+2b2rk1/r3bp2/p3pp2/q2p4/5PPp/1RNB4/P1PQ3P/1R5K w - - bm Qf2; id "arasan4.101";
+2b2rk1/r3bp2/p3pp2/q2p4/5PPp/1RNB4/P1PQ3P/1R5K w - - bm Qf2; id "arasan4.102";
+2b2rk1/r3bp2/p3pp2/q2p4/5PPp/1RNB4/P1PQ3P/1R5K w - - bm Qf2; id "arasan4.103";
+2b2rk1/r3bp2/p3pp2/q2p4/5PPp/1RNB4/P1PQ3P/1R5K w - - bm Qf2; id "arasan4.104";
+2b2rk1/r3bp2/p3pp2/q2p4/5PPp/1RNB4/P1PQ3P/1R5K w - - bm Qf2; id "arasan4.105";
+4r1k1/p5qp/Pp1Rbb2/4pp1r/2P1p1p1/1PB1P3/1Q2BPPP/3R2K1 w - - bm c5; id "arasan4.106";
+8/4k1p1/8/5P1p/b1N4P/5PP1/1p1K4/1B1n4 w - - bm g4; id "arasan4.107";
+3q1r1k/1P1n2p1/4R2p/2QBp2P/3pPb2/R1p2P2/5P2/5K2 w - - bm Qxf8+; id "arasan4.108";
+3q1r1k/1P1n2p1/4R2p/2QBp2P/3pPb2/R1p2P2/5P2/5K2 w - - bm Qxf8+; id "arasan4.109";
+2rbk1r1/7R/p1n3p1/1p3q2/2n2N2/4pQ2/PP2B1PP/3R2K1 w - - bm g4; id "arasan4.110";
+8/8/3k4/1p1npP1p/pP2B2P/P7/5K2/8 w - - bm Bxd5; id "arasan4.111";
+5nk1/p2r1pp1/1p4bp/3B4/4PPP1/P6P/1B6/2R3K1 w - - bm f5; id "arasan4.112";
+5nk1/p2r1pp1/1p4bp/3B4/4PPP1/P6P/1B6/2R3K1 w - - bm f5; id "arasan4.113";
+5nk1/p2r1pp1/1p4bp/3B4/4PPP1/P6P/1B6/2R3K1 w - - bm f5; id "arasan4.114";
+2kr3r/Rbpnq3/1p1pp3/2P3p1/3P4/2P1P1p1/Q2N1PP1/4KB2 w - - bm Rxb7; id "arasan4.115";
+2R2b1r/3nkp2/B2pp1p1/1N4Pn/P3P3/4BP2/1r5q/3QK1R1 w - - bm Nd4 Na7; id "arasan4.116";
+r3r1k1/1p1b2pp/p2qpp2/3n4/Pn1P4/1BN2Q2/1P1B1PPP/R2R2K1 w - - bm Ne4; id "arasan5.1";
+r3r1k1/1p1b2pp/p2qpp2/3n4/Pn1P4/1BN2Q2/1P1B1PPP/R2R2K1 w - - bm Ne4; id "arasan5.2";
+8/6p1/1b4k1/1p1KP3/1p3PP1/pB6/8/8 w - - bm e6; id "arasan5.3";
+r4rk1/1bq2p2/p3p1p1/n3P2p/3NpP2/2P1B2R/2P3PP/R3Q1K1 w - - bm g4; id "arasan5.4";
+2rq1rk1/pb1n1p2/1p2pn1p/6p1/2BP3B/1QR2N2/PP3PPP/4R1K1 w - - bm Nxg5; id "arasan5.5";
+2r1qrk1/1b1nbppp/4p3/pB1nP1B1/Pp2N3/5N1P/1P1Q1PP1/R2R2K1 w - - bm Nf6+; id "arasan5.6";
+1q4k1/r4p1p/6p1/1p1Q3n/p3N3/P7/1P3PPP/4R1K1 w - - bm g4; id "arasan5.7";
+3rr1k1/1pq2p1p/p1n3p1/3Bb3/P7/2P1BQ2/1P3PKP/3RR3 w - - bm Bb6; id "arasan5.8";
+3rr1k1/1pq2p1p/p1n3p1/3Bb3/P7/2P1BQ2/1P3PKP/3RR3 w - - bm Bb6; id "arasan5.9";
+r2qr1k1/pb4b1/1pnP2pp/5p2/5PB1/B4NQ1/P5PP/2R1R1K1 w - - bm Bxf5; id "arasan5.10";
+r1b2rk1/p1q4p/1p4p1/2NP1p2/1PPB4/6P1/P6P/Q3R1K1 w - - bm Qc1; id "arasan5.11";
+8/3k4/1p4b1/3p1p1p/K2P1PpP/3B2P1/1P6/8 w - - bm Kb5; id "arasan5.12";
+r1bn1rk1/2q2ppN/7p/p2p4/R7/2PB4/3B1PPb/3QRK2 w - - bm Nf6+; id "arasan5.13";
+4qrk1/1p1nb1p1/2p1pn1p/r2p4/3P1BPP/P1NBP3/5P2/R2QK1R1 w - - bm g5; id "arasan5.14";
+4qrk1/1p1nb1p1/2p1pn1p/r2p4/3P1BPP/P1NBP3/5P2/R2QK1R1 w - - bm g5; id "arasan5.15";
+4qrk1/1p1nb1p1/2p1pn1p/r2p4/3P1BPP/P1NBP3/5P2/R2QK1R1 w - - bm g5; id "arasan5.16";
+r1bq1rk1/4ppbp/p2p1n1B/2p5/1p2p2Q/3P1N2/PPP1N1PP/R4RK1 w - - bm Ng5; id "arasan5.17";
+4rrk1/p2n2pp/npbp4/2p1p3/2P2P1q/PNB1P3/1P2B1PP/1R1Q1RK1 w - - am Qxd6; id "arasan5.18";
+4rrk1/p2n2pp/npbp4/2p1p3/2P2P1q/PNB1P3/1P2B1PP/1R1Q1RK1 w - - am Qxd6; id "arasan5.19";
+8/B3r1p1/8/P4k1p/1P6/5P2/5K2/8 w - - bm Bc5; id "arasan5.21";
+b2rn1k1/3r1ppp/3N2n1/1pB1P3/p5P1/P3KP2/B6P/1RR5 w - - bm e6; id "arasan5.24";
+8/4rq2/2Q1N1pk/p3R2p/3p1P2/2n4P/6P1/7K w - - bm g4; id "arasan5.25";
+4kb1r/3n1p1p/p1q1p1p1/1p1nP3/1prPN3/4BB2/P2Q1PPP/3R1RK1 w - - bm Bh6; id "arasan5.26";
+3q2k1/rbp2r1p/1p1p1pp1/p1nN4/2P1PP2/1P2QBPP/1P5K/3RR3 w - - bm e5; id "arasan5.27";
+3q2k1/rbp2r1p/1p1p1pp1/p1nN4/2P1PP2/1P2QBPP/1P5K/3RR3 w - - bm e5; id "arasan5.28";
diff --git a/tests/convert_epd.pl b/tests/convert_epd.pl
index cdd774c..65355ad 100755
--- a/tests/convert_epd.pl
+++ b/tests/convert_epd.pl
@@ -2,6 +2,17 @@
# Yes, I never wrote real code to parse EPD files. This script converts
# "normal" style EPDs into what typhoon wants to eat.
+#
+# SUPERSEDED: the engine now parses raw EPD directly -- `epd <file>`
+# (see ParseEpdRecord in fen.c, EpdCommand in script.c) -- so this
+# preprocessing step shouldn't be needed anymore. Left here rather than
+# deleted since some workflow may still shell out to it, but it has a
+# known bug: the bm/am regex's `[^b]+` filler between the board and
+# "bm" breaks on every Black-to-move record (the side-to-move field is
+# literally the character "b"), and $fen/$id/$solution are unscoped
+# globals, so a failed match on one line silently carries the
+# *previous* line's fen/solution forward instead of erroring. Prefer
+# `epd` for any new suite.
while(<>) {
@lines = split(/;/);
diff --git a/tests/ecm-gcp.epd b/tests/ecm-gcp.epd
new file mode 100644
index 0000000..69855f1
--- /dev/null
+++ b/tests/ecm-gcp.epd
@@ -0,0 +1,181 @@
+2k4r/1pp2ppp/p1p1bn2/4N3/1q1rP3/2N1Q3/PPP2PPP/R4RK1 w - - bm Nd5; id "ECM.952";
+rn3rk1/4bppp/1q2p3/p2pP3/8/1PN2B1P/P4PP1/2RQ1RK1 w - - bm Bxd5; id "ECM.961";
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.973";
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.977";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.978";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.986";
+5rk1/1r1qbnnp/R2p2p1/1p1Pp3/1Pp1P1N1/2P1B1NP/5QP1/5R1K w - - bm Qxf7+; id "ECM.987";
+5rk1/1r1qbnnp/R2p2p1/1p1Pp3/1Pp1P1N1/2P1B1NP/5QP1/5R1K w - - bm Qxf7+; id "ECM.993";
+r4rk1/1b3ppp/p2q1n2/1p2N3/3P4/1B6/P1Q2PPP/2R1R1K1 w - - bm Nxf7; id "ECM.999";
+r4rk1/1b3ppp/p2q1n2/1p2N3/3P4/1B6/P1Q2PPP/2R1R1K1 w - - bm Nxf7; id "ECM.1004";
+3r4/p2nrpkp/2B1p3/2P2pP1/3R3Q/q7/6PP/6RK w - - bm g6; id "ECM.1007";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Kg2; id "ECM.1009";
+r1bqnrk1/pp2ppb1/1np3pp/4P1N1/5P2/2NBB3/PPP3PP/R2Q1RK1 w - - bm Nh7; id "ECM.1011";
+4rrk1/1bp2ppp/p1q2b1B/1pn2B2/4N1Q1/2P4P/PP3PP1/3RR1K1 w - - bm Nxc5; id "ECM.1016";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "ECM.1018";
+1r3rk1/5pp1/1n2qn1p/1p1pPNb1/2pP2QP/2P5/1PB3P1/R1B1R1K1 w - - bm exf6; id "ECM.1020";
+2r1rbk1/1b3ppp/pp6/2q1pNP1/Pn1RP3/2N5/1PP2QBP/5R1K w - - bm Nh6+; id "ECM.1025";
+r4k2/q4npp/P2P4/2p1R3/2N5/6PP/Q5K1/8 w - - bm Re7; id "ECM.1028";
+r4k2/q4npp/P2P4/2p1R3/2N5/6PP/Q5K1/8 w - - bm Re7; id "ECM.1038";
+r4k2/q4npp/P2P4/2p1R3/2N5/6PP/Q5K1/8 w - - bm Re7; id "ECM.1041";
+r1k4r/ppp1b3/5Npp/4pb1Q/8/1B2B3/PqP2PPP/2RR2K1 w - - bm Qxf5+; id "ECM.1045";
+r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - bm Nxh7; id "ECM.1053";
+2b2r2/1p2q1k1/r3pppp/4n2P/p3N3/1B4Q1/PPP3P1/3R1R1K w - - bm Rxf6; id "ECM.1057";
+rbbq1rk1/p3nppp/1p2p3/8/1B1pN3/P2B4/1P3PPP/2RQ1RK1 w - - bm Nf6+; id "ECM.1065";
+rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - bm Nxh5; id "ECM.1066";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.1068";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.1076";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.1080";
+2r3k1/pp2n3/6pQ/4q3/8/2P1p1P1/P5BP/3R2K1 w - - bm Bd5+; id "ECM.1082";
+8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - bm Ba3; id "ECM.1084";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.1085";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.1093";
+8/p5Q1/2ppq2p/3n1ppk/3B4/2P2P1P/P5P1/6K1 w - - bm g4+; id "ECM.1096";
+1r2k2r/3q2pp/p3pp2/P7/2P1Q3/8/1nB3PP/1R3R1K w k - bm Ba4; id "ECM.1098";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.1114";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.1122";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.1127";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.1131";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.1132";
+1rbr2k1/4qp2/p1n2bpp/1pp1p1N1/4P3/2P1BQ1P/PPB2PP1/3RR1K1 w - - bm Bxc5; id "ECM.1133";
+2r2rk1/1p1q1ppp/1p3n2/3p1N2/4n3/1N3Q2/PPP2PPP/R2R2K1 w - - bm Rxd5; id "ECM.1134";
+2r1r1k1/pp3pp1/3p3B/P2P1P2/2nb4/7R/1q3PQP/1B3R1K w - - bm Rb3; id "ECM.1147";
+1k1r2r1/pp3p1p/B2q1n2/8/3Pb1p1/2Q5/PR3PPP/2B1R1K1 w - - bm Bf4; id "ECM.1150";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.1151";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.1152";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.1160";
+5Bk1/pr2pp1p/2b3pQ/2p1q3/8/2P4P/PP4P1/1B1Rb1K1 w - - bm Bg7; id "ECM.1161";
+6k1/p4pq1/2n1p1p1/1p1pP1N1/3P1QPP/8/P3K3/8 w - - bm Qc1; id "ECM.1176";
+3r1rk1/1pq1nppp/p7/2pB3Q/P4P2/1P2P3/6PP/2RR2K1 w - - bm Rxc5; id "ECM.1177";
+8/p1r2q1k/1p1p3p/1Pp1nP2/P1P5/3R2PP/1Q4BK/8 w - - bm Rxd6; id "ECM.1178";
+8/p1r2q1k/1p1p3p/1Pp1nP2/P1P5/3R2PP/1Q4BK/8 w - - bm Rxd6; id "ECM.1179";
+r2qr1k1/1pnb1pp1/p1n1p2p/8/P2P3P/B2B1NP1/6P1/R2Q1RK1 w - - bm Bh7+; id "ECM.1185";
+2r1rbk1/5pp1/bq5p/1pnBPN2/6Q1/N7/5PPP/R2R2K1 w - - bm Bxf7+; id "ECM.1188";
+1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - bm Bb7; id "ECM.1189";
+5r1r/1pkb4/5pB1/2P5/p3R2P/Pq6/1PQ2Pn1/K2R4 w - - bm Rxd7; id "ECM.1193";
+2rq4/5rbk/3p1n1p/p2Pp2P/1p2b3/4BNR1/PP1Q1P2/3BK1R1 w - - bm Bxh6; id "ECM.1199";
+r2q1rkb/pp2p3/2p2pp1/3pPb2/3P3R/2N3P1/PPPQBPK1/3R4 w - - bm Rxh8+; id "ECM.1200";
+r1bqrnk1/p4p2/1p5p/3pB1p1/P2P2n1/1P1B2N1/2Q3PP/R4RK1 w - - bm Bh7+; id "ECM.1202";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.1204";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.1208";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.1214";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.1217";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.1218";
+b6r/2q2k2/4pPp1/1p1n2Bp/2pPB1PP/2P2Q2/8/4R1K1 w - - bm Bxg6+; id "ECM.1223";
+r1b2r2/3pNpkp/3pn1p1/2pN3P/2PnP3/q3QP2/4BKP1/1R5R w - - bm Qh6+; id "ECM.1224";
+2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - bm Nxg7; id "ECM.1227";
+2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - bm Nxg7; id "ECM.1229";
+r2qnr2/pp3kbQ/2npb1p1/2pN1pP1/4P3/8/PPP1BP2/R1B1K1NR w KQ - bm Qxg6+; id "ECM.1232";
+r2qnr2/pp3kbQ/2npb1p1/2pN1pP1/4P3/8/PPP1BP2/R1B1K1NR w KQ - bm Qxg6+; id "ECM.1234";
+r3rk2/p2q1b1p/1pnP1Qp1/5pN1/2p2P2/P1P5/7P/4RRK1 w - - bm Re7; id "ECM.1249";
+r1rbb3/1R3pkp/2pBp1p1/p3P3/q6P/6P1/P2Q1P2/1R3BK1 w - - bm R1b4; id "ECM.1254";
+r1rbb3/1R3pkp/2pBp1p1/p3P3/q6P/6P1/P2Q1P2/1R3BK1 w - - bm R1b4; id "ECM.1257";
+rnb2rk1/pp2bppp/2p5/q7/4NN2/4B1QP/PPP3P1/2KR3R w - - bm Nd5; id "ECM.1259";
+5k1r/ppqnnp2/3b2p1/2pB2Qp/3p3N/1P1P2P1/P1P2P2/2B1R1K1 w - - bm Rxe7; id "ECM.1262";
+3r1rk1/pbqn1pp1/1pp2n1p/2b1p1B1/P1B1P2N/2N4P/1PP1QPP1/3R1RK1 w - - bm Rxd7; id "ECM.1265";
+1rr3k1/4ppb1/2q1bnp1/1p2B1Q1/6P1/2p2P2/2P1B2R/2K4R w - - bm Qh6; id "ECM.1267";
+3rqb2/1pR3pk/p3n1pp/3p4/3B4/PP6/1P4PP/4RQK1 w - - bm Rxe6; id "ECM.1269";
+rkb2qr1/1p5p/pQ1bp3/3p2B1/5n2/3B1N2/PP3PPP/2R2RK1 w - - bm Rxc8+; id "ECM.1270";
+2r2rk1/1bq2ppp/p7/1p1pNN2/1b1PnB2/3Q3P/PP3PP1/R3R1K1 w - - bm Rxe4; id "ECM.1271";
+2r2rk1/1bq2ppp/p7/1p1pNN2/1b1PnB2/3Q3P/PP3PP1/R3R1K1 w - - bm Rxe4; id "ECM.1273";
+2r2rk1/1bq2ppp/p7/1p1pNN2/1b1PnB2/3Q3P/PP3PP1/R3R1K1 w - - bm Rxe4; id "ECM.1274";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.1277";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.1278";
+rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - bm Nxe6; id "ECM.1281";
+rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - bm Nxe6; id "ECM.1285";
+r1b3rk/pp1n3p/2p2b1n/4pp1q/2P5/1P3NPP/PBQ1NPB1/3RR1K1 w - - bm Rxd7; id "ECM.1293";
+r1b3rk/pp1n3p/2p2b1n/4pp1q/2P5/1P3NPP/PBQ1NPB1/3RR1K1 w - - bm Rxd7; id "ECM.1294";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.1295";
+2rbr2k/1pq2ppp/p3bn2/4p1B1/P3P3/2N3Q1/1PP1B1PP/3R1R1K w - - bm Rxd8; id "ECM.1304";
+3nr1k1/p6p/2n1pRpB/3pP3/2pP2P1/q1P4P/6BK/5Q2 w - - bm Rxg6+; id "ECM.1306";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.1308";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.1314";
+r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - bm Bxe5+; id "ECM.1317";
+r1b1qbk1/7p/4p1p1/1p2Bp2/p1B2Q2/P3P3/1P3PPP/3R2K1 w - - bm Bc3; id "ECM.1318";
+q1r3k1/2r4p/2p3pP/2Qp1p2/PRn5/4P1P1/5PB1/1R4K1 w - - bm Rxc4; id "ECM.1321";
+q1r3k1/2r4p/2p3pP/2Qp1p2/PRn5/4P1P1/5PB1/1R4K1 w - - bm Rxc4; id "ECM.1325";
+r3rbk1/p1q2pp1/1n5p/2pp4/4N3/1PQ3P1/PB2PP1P/3R1RK1 w - - bm Nf6+; id "ECM.1327";
+r3rbk1/p1q2pp1/1n5p/2pp4/4N3/1PQ3P1/PB2PP1P/3R1RK1 w - - bm Nf6+; id "ECM.1329";
+2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - bm Rxa6; id "ECM.1332";
+2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - bm Rxa6; id "ECM.1335";
+2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - bm Rxd3; id "ECM.1336";
+r3nrk1/p1pb1qpp/3p1p2/2pP1N2/2P1PR2/P1PB4/4Q1PP/5RK1 w - - bm e5; id "ECM.1340";
+r1b2rk1/pp2qp2/2nRp1p1/6Pn/1Pp5/P1N1P3/1BQ2PP1/2K2B1R w - - bm Rxh5; id "ECM.1341";
+R2b2k1/2rq1n1p/3p2p1/1p1Ppp1n/1P6/1B1PQN1P/1B3PP1/6K1 w - - bm Nxe5; id "ECM.1344";
+6k1/5rb1/6pp/1p2p3/2b5/4B1P1/r4PBP/1RR3K1 w - - bm Rxc4; id "ECM.1346";
+4r1k1/1p5p/5ppP/1qnP4/r4R2/P6P/1B1Q2K1/5R2 w - - bm Rxf6; id "ECM.1347";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm e6; id "ECM.1348";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm e6; id "ECM.1350";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm e6; id "ECM.1352";
+r2q1rk1/p5pp/bn1p1p2/2pP4/1bP1NP2/3B1R2/PBQ3PP/R5K1 w - - bm Ng5; id "ECM.1354";
+1r1q2k1/7p/2p3p1/1P1n1b1r/2BQ4/4B3/P6P/1R3RK1 w - - bm bxc6; id "ECM.1355";
+r1b1qbk1/pp3r1p/2pR1np1/5p2/2P1pP2/1PN1Q1PP/PB2P1B1/5RK1 w - - bm Rxf6; id "ECM.1357";
+1n2n1r1/r3qppk/p2p3p/3PpP1P/1P2P3/3B2RQ/3B1P1K/6R1 w - - bm Bxh6; id "ECM.1371";
+3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - bm Bh4; id "ECM.1376";
+r1r3kb/1pqbpp2/p2p1npB/n7/3NP3/1BN2P2/PPPQ2P1/2KR3R w - - bm Bf8; id "ECM.1377";
+4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - bm Ng6+; id "ECM.1380";
+2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - bm Qb2; id "ECM.1381";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.1383";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.1387";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.1394";
+3qrbk1/1r3p2/p1bp1Pp1/1p2p1Pp/4P2R/1P2BB1Q/P1P4P/R6K w - - bm Bxh5; id "ECM.1398";
+r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - bm Rxd5; id "ECM.1403";
+r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - bm Rf6; id "ECM.1405";
+r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - bm Rf6; id "ECM.1408";
+2r4r/3bk1b1/1q2pp2/3pPp1p/1p1N1P1P/1P1R1BP1/P2Q4/1K1R4 w - - bm Nxf5+; id "ECM.1409";
+1rb3k1/2r2pbp/p2q1npn/P1pPp1N1/2B1P3/2P1B1NP/5QP1/3R1RK1 w - - bm Ne6; id "ECM.1410";
+r1bqn1r1/p2k1pp1/1p5p/n1pPpN2/2P1P3/P1PBB2P/4Q1P1/R4RK1 w - - bm Nxh6; id "ECM.1421";
+r4rk1/p1p2pp1/bp1p1q1p/n1nPpN2/2P1P2P/2PB4/P2BQPP1/R3K2R w KQ - bm Bg5; id "ECM.1423";
+r4rk1/p1p2pp1/bp1p1q1p/n1nPpN2/2P1P2P/2PB4/P2BQPP1/R3K2R w KQ - bm Bg5; id "ECM.1426";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.1433";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.1434";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.1438";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.1439";
+3r1qk1/5p1p/4b1pP/1pRp4/1P1Q4/r5P1/5P2/4RBK1 w - - bm Rxe6; id "ECM.1448";
+2rr1nk1/pp2q1b1/4p1p1/5p2/1nB5/2B1N1QP/PP4P1/4RRK1 w - - bm Nxf5; id "ECM.1450";
+2rr1nk1/pp2q1b1/4p1p1/5p2/1nB5/2B1N1QP/PP4P1/4RRK1 w - - bm Nxf5; id "ECM.1452";
+4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - bm Bxf6; id "ECM.1454";
+4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - bm Bxf6; id "ECM.1457";
+5r1n/r2q1pkp/3p1npN/NppPp2P/1P2P3/2P1Q1P1/5P2/R3K2R w KQ - bm Nf5+; id "ECM.1478";
+5r1n/r2q1pkp/3p1npN/NppPp2P/1P2P3/2P1Q1P1/5P2/R3K2R w KQ - bm Nf5+; id "ECM.1495";
+1r2r1k1/1bn2pbp/pp1q1np1/2pPN1B1/P1B5/2N4P/1P1Q1PP1/R3R1K1 w - - bm Nxf7; id "ECM.1503";
+1rb2bk1/2n2qp1/p2p3p/R1pP1p2/2B5/1PBQ1N1P/2P2PP1/6K1 w - - bm Rxc5; id "ECM.1504";
+2q1rk2/QR3ppp/1pPpb3/1P2p1b1/4P3/6P1/3N1PBP/6K1 w - - bm Bh3; id "ECM.1516";
+r2q1rk1/pb1nbpp1/1pp1pn1p/3pN3/2PPP3/2N1B1P1/PP3PBP/R2Q1RK1 w - - bm Nxc6; id "ECM.1525";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.1527";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.1529";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.1533";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.1536";
+6r1/1p3k2/pPp4R/K1P1p1p1/1P2Pp1p/5P1P/6P1/8 w - - bm Rxc6; id "ECM.1546";
+1k2b3/4bpp1/p2pp1P1/1p3P2/2q1P3/4B3/PPPQN2r/1K1R4 w - - bm f6; id "ECM.1547";
+6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - bm e5; id "ECM.1551";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.1553";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.1554";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.1561";
+2r2rk1/p1N2p1p/2P1p1p1/1Pp3q1/3b4/5Q2/P1P3PP/4RR1K w - - bm Nxe6; id "ECM.1563";
+3r1r2/pp1P3k/4Rbp1/1BP2p1p/8/7P/P4KP1/3R4 w - - bm Ba6; id "ECM.1564";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.1573";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.1578";
+6k1/p4pp1/Pp2r3/1QPq3p/8/6P1/2P2P1P/1R4K1 w - - bm cxb6; id "ECM.1579";
+4r2k/pppb2pp/2np2q1/3B4/2P2P2/1PB1R1P1/PQ5P/6K1 w - - bm f5; id "ECM.1582";
+4r2k/pppb2pp/2np2q1/3B4/2P2P2/1PB1R1P1/PQ5P/6K1 w - - bm f5; id "ECM.1584";
+r1b2rk1/1p2qppp/p3p3/2n5/3N4/3B1R2/PPP1Q1PP/R5K1 w - - bm Bxh7+; id "ECM.1590";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.1592";
+1rb2rk1/3nqppp/p1n1p3/1p1pP3/5P2/2NBQN2/PPP3PP/2KR3R w - - bm Bxh7+; id "ECM.1594";
+r4rk1/1bq2ppp/p1p1p3/2b1P1B1/3p2Q1/3B4/PPP2PPP/R3R1K1 w - - bm Bxh7+; id "ECM.1597";
+2r2r2/p2qppkp/3p2p1/3P1P2/2n2R2/7R/P5PP/1B1Q2K1 w - - bm Rxh7+; id "ECM.1600";
+1r1qr1k1/5p1p/1n2p1p1/pp1pP1P1/2pP1BB1/PnP3P1/1P3PK1/1R1Q3R w - - bm Rxh7; id "ECM.1601";
+4rrk1/2q1bppp/p2p4/1p1Pn3/3B1R2/P2B2Q1/1PP3PP/5R1K w - - bm Bxh7+; id "ECM.1602";
+5r1k/ppp2qnp/1n1p1N1Q/3Ppb2/2P4P/7B/PP6/2KR2R1 w - - bm Nxh7; id "ECM.1604";
+5r1k/ppp2qnp/1n1p1N1Q/3Ppb2/2P4P/7B/PP6/2KR2R1 w - - bm Nxh7; id "ECM.1605";
+b3r1k1/2rN1ppp/2n1p3/p7/P3BP2/1R6/q1P2QPP/3R2K1 w - - bm Bxh7+; id "ECM.1606";
+2r1qrk1/3n3p/b3pPp1/4P3/1pp1nBN1/pP4PQ/P1P2PK1/3RR3 w - - bm Qxh7+; id "ECM.1607";
+5rk1/pbrn1ppp/1ppN1q2/2P1p3/3P4/1PRB4/P3QPPP/5RK1 w - - bm Bxh7+; id "ECM.1610";
+r1b2r1k/ppppq1pp/2n1n3/6N1/2B2P2/4B3/PPP3PP/R2Q1RK1 w - - bm Nxh7; id "ECM.1612";
+r2r2k1/p1p2p1p/4pPp1/1Pqb4/8/7R/1PB2PPP/3QR1K1 w - - bm Rxh7; id "ECM.1614";
+rn3rk1/pp1bppbp/1qp3p1/4P1N1/PP1PB3/2P1B3/4Q1PP/R4RK1 w - - bm Nxh7; id "ECM.1617";
+3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - bm Bxh7+; id "ECM.1618";
+2rrn1k1/2q2ppp/p2pp3/1p2P1P1/4B3/P5Q1/1PP3PP/R4R1K w - - bm Bxh7+; id "ECM.1620";
+2rrn1k1/2q2ppp/p2pp3/1p2P1P1/4B3/P5Q1/1PP3PP/R4R1K w - - bm Bxh7+; id "ECM.1621";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "ECM.1622";
+2rq1bk1/1br2p1p/p2p2p1/1p1P4/4Q3/PP3N2/1BP5/1K1R3R w - - bm Rxh7; id "ECM.1623";
diff --git a/tests/ecm-hard.epd b/tests/ecm-hard.epd
new file mode 100644
index 0000000..3246146
--- /dev/null
+++ b/tests/ecm-hard.epd
@@ -0,0 +1,378 @@
+1r5r/3b1pk1/3p1np1/p1qPp3/p1N1PbP1/2P2PN1/1PB1Q1K1/R3R3 b - - bm Nxg4; id "ECM.011";
+2rr2k1/1b3p1p/p4qpb/2R1n3/3p4/BP2P3/P3QPPP/3R1BKN b - - bm Rxc5; id "ECM.016";
+r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - bm Nxd6; id "ECM.018";
+b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - bm Rxf6+; id "ECM.019";
+r1b2rk1/2q2ppp/2pbp3/p7/4Nn2/3B4/PPPBQ1PP/R4R1K w - - bm Rxf4; id "ECM.028";
+3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - bm Rgxg6; id "ECM.029";
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.035";
+r1b1rnk1/1p3pb1/1qpp2p1/2n5/2PNP2p/1PN3PP/3R1PBK/BR1Q4 b - - bm Rxa1; id "ECM.039";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.040";
+2rr4/5pk1/p1q3p1/3bpP1p/1p4nR/1N4Q1/PPP3PP/3NR2K b - - bm Bxg2+; id "ECM.043";
+r4rk1/pp4pp/2nqb3/3p4/8/2NB4/PP1Q1PPP/4RRK1 w - - bm Bxh7+; id "ECM.044";
+3rkb1r/1p3p2/p1n1p3/q5pp/2PpP3/1P4P1/P1Q1BPKP/R2N3R b k - bm d3; id "ECM.048";
+1k1r1b1r/p1p1q3/2p1p3/4Ppp1/4nP2/P2BQ3/1PP3PB/2KR3R b - - bm Rxh2; id "ECM.051";
+r1bq1rk1/pp3pbp/2pp1np1/2n3B1/2PNP3/2N2P2/PP1QB1PP/R4RK1 b - - bm Nfxe4; id "ECM.053";
+r4rk1/pp1b2pp/3bpq2/3p1p2/2PPn3/PP1B4/1BQN1PPP/R4RK1 b - - bm Bxh2+; id "ECM.060";
+4nk2/r1r1bppp/pN2p3/2np4/8/BPN3PP/P3PPK1/2RR4 w - - bm Ncxd5; id "ECM.063";
+3r1rk1/1b2bppp/2q1pn2/pp4Q1/3B1P2/PBN5/1PP3PP/R2R3K b - - bm Rxd4; id "ECM.066";
+r1b2rk1/1p2bppp/p3pn2/4B3/1qBR4/2N5/P3QPPP/R5K1 w - - bm Bd3; id "ECM.068";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6; id "ECM.071";
+r1b2kr1/1p1p1pNp/p1n1p1p1/5P2/3QP3/2N5/PqP1B1PP/R4RK1 w - - bm fxg6; id "ECM.076";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "ECM.080";
+Q7/p1r1ppk1/1qP4p/2Rb2p1/8/3N2P1/4PP1P/6K1 b - - bm Qb1+; id "ECM.081";
+1r3rk1/5pp1/1n2qn1p/1p1pPNb1/2pP2QP/2P5/1PB3P1/R1B1R1K1 w - - bm exf6; id "ECM.082";
+4r1k1/1b4pp/p7/1prP3q/2P1B3/5P2/P3Q2P/3RR2K w - - bm Bg6; id "ECM.084";
+rn1q1r2/4bpk1/p3p3/1pN1N1np/2pP4/4PpBb/PPQ4P/1B1RK1R1 w - - bm Nc6; id "ECM.091";
+6k1/1pqb1p2/5bpB/r2n4/4N1P1/1P3P2/1P1Q4/1K5R w - - bm Qxd5; id "ECM.099";
+2kr1r2/1pp3pp/1n2p1b1/pN2B3/P1q5/1Q1p3P/5PP1/R4R1K w - - bm Rac1; id "ECM.109";
+r1b1Q3/6pk/p6p/1pq1n3/4N3/8/PPP3PP/R6K b - - bm Qc6; id "ECM.112";
+r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - bm Nxh7; id "ECM.115";
+4qbk1/1R5n/p2pr1p1/2pQpNPp/P1P1P3/2P2P2/3B4/5K2 w - - bm Ne7+; id "ECM.117";
+2b2r2/1p2q1k1/r3pppp/4n2P/p3N3/1B4Q1/PPP3P1/3R1R1K w - - bm Rxf6; id "ECM.119";
+2b1rr1k/1p5p/1Ppp2q1/p3bN2/2P1n3/5R2/PBQ3BP/3R2K1 w - - bm Nxd6; id "ECM.123";
+rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - bm Nxh5; id "ECM.128";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.130";
+2rq1rk1/pp2bppp/1npp1n2/3PpN1b/2P5/2N3PP/PP2PPB1/R1BQ1RK1 w - - bm c5; id "ECM.131";
+2n1rbk1/5pp1/7p/qP1pp3/4b1Q1/1B5P/1P1N1PP1/2B1R1K1 w - - bm Rxe4; id "ECM.133";
+4k3/2R2p2/5p1p/8/rb6/1N6/5PPP/5K2 w - - bm Rc4; id "ECM.134";
+2k3r1/pp2rp2/1np5/2Np1p2/P2P3p/1R2P1Pq/2Q2P1P/1R4K1 w - - bm Nxb7; id "ECM.135";
+8/1Qp3pk/7p/5p2/5Pqn/1P1r4/P5PP/2B2RK1 b - - bm c6; id "ECM.137";
+b3r3/q2B2k1/3Q2p1/1p5p/3pP3/5P2/1p4PP/5RK1 b - - bm d3+; id "ECM.142";
+2r3k1/pp2n3/6pQ/4q3/8/2P1p1P1/P5BP/3R2K1 w - - bm Bd5+; id "ECM.144";
+6k1/4ppbp/p5p1/1B1Q4/2P2Pn1/8/qr4PP/2B2RK1 b - - bm Bd4+; id "ECM.145";
+8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - bm Ba3; id "ECM.146";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.147";
+5r2/1b3pk1/pqrpp1p1/4n1Nn/1p2PP1P/8/PPPQB3/1NKR2R1 b - - bm Rfc8; id "ECM.148";
+8/1bq3kp/p5p1/1pb1p3/4P2P/2PQ2P1/1P5B/5N1K b - - bm Qd8; id "ECM.153";
+4r3/Q2bppkp/3p2p1/3Nn3/4P3/6PP/1qr2PB1/R3R1K1 b - - bm Ra8; id "ECM.155";
+1r2k2r/3q2pp/p3pp2/P7/2P1Q3/8/1nB3PP/1R3R1K w k - bm Ba4; id "ECM.160";
+r1bq3k/ppp2Qp1/2n1p2p/6N1/2BPN3/2P1n3/PP4PP/R5K1 w - - bm Nf6; id "ECM.161";
+3R4/1p2kp2/p1b1nN2/6p1/8/6BP/2r1qPPK/Q7 w - - bm Rd7+; id "ECM.162";
+r1b3k1/ppp2r2/6p1/3n3p/6qP/3BQ3/PBP5/2KR3R w - - bm Bd4; id "ECM.180";
+1R3b2/3r3k/2p1bp1p/r1q1pNpQ/2PpP2P/6B1/P4PP1/1R4K1 w - - bm Nxh6; id "ECM.186";
+r1b4r/pp2ppk1/2np1np1/3N3p/2B1P3/q3BP2/P1PQ2PP/1R3RK1 w - - bm Nxe7; id "ECM.187";
+5rk1/Q2nqppp/5n2/2p5/8/1B2PP1P/Pr1B1P2/R3K2R b KQ - bm Ne4; id "ECM.189";
+5rk1/5pbp/b5p1/p1nNN3/1p2n3/1P4PP/P4PB1/2BR2K1 w - - bm Nd7; id "ECM.190";
+2k1r1r1/ppb2p2/6b1/2qP4/2P2P2/4pP1p/P3Q2P/2RBRN1K b - - bm Bd3; id "ECM.191";
+5r1k/pp1n1p1p/1b1qpP2/8/1PrN4/P1N1Q1P1/7P/3R1R1K w - - bm Qh6; id "ECM.192";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.193";
+r1k3r1/pppnb1p1/4N3/3QP2p/3P3q/4B3/PPP2P2/R3KB2 w Q - bm Ba6; id "ECM.198";
+r1bq1rk1/pppn2bp/3p2p1/3N1p2/8/BP1BRQ1P/P1PP1PP1/4R1K1 w - - bm Nxc7; id "ECM.206";
+2q1r1k1/1b3pbp/3p2p1/1Ppn3n/5P2/5B2/1P1B2PP/R2NNQ1K b - - bm Ndxf4; id "ECM.208";
+2r1r1k1/pp3pp1/3p3B/P2P1P2/2nb4/7R/1q3PQP/1B3R1K w - - bm Rb3; id "ECM.209";
+r2qr1n1/p4pk1/1p1p2p1/4p3/4PQ2/1PN2P2/1PP3P1/2KR3R w - - bm Rh7+; id "ECM.210";
+r4rk1/ppp3b1/3p1qp1/3Pp3/2P1Bn2/4BP2/PP1Q4/2K3RR w - - bm Rxg6; id "ECM.211";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.213";
+r4n1r/ppq1nk2/1bpRpN2/4PpQ1/8/2B4P/PPP2PP1/2KR4 w - - bm Rd7; id "ECM.215";
+3r2k1/p5pp/bpP1p3/3n1p2/2NQpP1q/P3P3/1B1R1R2/4KBr1 b - - bm Rxf1+; id "ECM.216";
+rnb1kr2/p4pQ1/8/1ppPpP2/2p1P3/N6P/Pq4B1/3R1RK1 w q - bm Nxb5; id "ECM.226";
+5r1k/2p3pp/3pQ3/3P1rN1/pp5q/5PR1/P4PKP/B7 w - - bm Bxg7+; id "ECM.227";
+8/pR3Bk1/3p2p1/5b1p/2P4P/6P1/P4bQK/4q3 b - - bm Bg1+; id "ECM.228";
+rq3r1k/p2n1p2/1pbb1np1/2p2BB1/8/2N2N2/PP3QPP/3R1RK1 w - - bm Rxd6; id "ECM.231";
+3rr1k1/1b5p/p6p/1p3N2/6Pb/P1Q1p3/1PP4P/R5K1 b - - bm Bf2+; id "ECM.237";
+6k1/p4pq1/2n1p1p1/1p1pP1N1/3P1QPP/8/P3K3/8 w - - bm Qc1; id "ECM.238";
+6k1/1pp2p2/p2p2q1/2PPb3/4r3/Pr4PK/2R5/2Q2NR1 b - - bm Rh4+; id "ECM.241";
+4rrk1/3b1ppp/pb6/1pqP4/P1p1PP2/1P2NK2/3QB2P/R2R4 b - - bm Rxe4; id "ECM.244";
+r2qr1k1/1pnb1pp1/p1n1p2p/8/P2P3P/B2B1NP1/6P1/R2Q1RK1 w - - bm Bh7+; id "ECM.247";
+2r1rbk1/5pp1/bq5p/1pnBPN2/6Q1/N7/5PPP/R2R2K1 w - - bm Bxf7+; id "ECM.250";
+1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - bm Bb7; id "ECM.251";
+2b3k1/p4ppp/7q/2Q5/8/P3r1P1/1r4BP/R3R1K1 b - - bm Rxg2+; id "ECM.259";
+r1b1rbk1/7p/2p1pBp1/p2pP1P1/5P2/1PqB4/P1P1Q3/1K4RR w - - bm Rxh7; id "ECM.260";
+r2q1rkb/pp2p3/2p2pp1/3pPb2/3P3R/2N3P1/PPPQBPK1/3R4 w - - bm Rxh8+; id "ECM.262";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.266";
+r1b1r1k1/1p1n1p2/p1nBp1p1/q2pP1Np/P7/R2B3Q/2P2PPP/5RK1 w - - bm Nxf7; id "ECM.267";
+4n1q1/1k1b4/2p4R/2Pp4/1p1N1rpQ/3B4/PPP2P2/2K5 w - - bm Nxc6; id "ECM.271";
+r3r1k1/pp3pp1/2bb1q2/3p4/4n1Pp/2P1BB1P/PP2NPK1/R1Q4R b - - bm Qxf3+; id "ECM.274";
+rn4k1/pp2p1b1/4b3/q2p2Q1/2B2P2/8/P1P1K1P1/R6R w - - bm Rh8+; id "ECM.277";
+2r2rk1/pp3qpp/8/3P1b2/3Q4/P1N1B3/5PKP/R2R4 b - - bm Rxc3; id "ECM.279";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.280";
+4k3/p4ppp/nb1P4/4p3/1P6/P4BP1/3q1r1P/2R2QKR w - - bm Qb5+; id "ECM.287";
+2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - bm Nxg7; id "ECM.289";
+1r3rk1/6p1/p1pb1qPp/3p4/4nPR1/2N4Q/PPP4P/2K1BR2 b - - bm Rxb2; id "ECM.291";
+5rk1/ppp1q2p/1n1p1np1/3P2N1/1P1R2P1/2Q4P/P3r1B1/5RK1 b - - bm Rxg2+; id "ECM.292";
+6k1/pp2p2p/3p2p1/4b1r1/2Pn1r1q/2B1N3/PP4B1/R3QRK1 b - - bm Qh2+; id "ECM.293";
+r2k3r/2pb1ppp/p1p1q3/2Q5/5B2/2N5/PPP2PPP/3R2K1 w - - bm Bxc7+; id "ECM.295";
+2r1qrk1/pp1b1ppp/4pn2/n1b5/8/2NQ1NP1/PP1BPPBP/R2R2K1 w - - bm b4; id "ECM.297";
+2b1qr1k/7p/p1pR2p1/1pP1p1Q1/4P3/1B6/PP4PP/6K1 w - - bm Re6; id "ECM.298";
+8/2b2k1p/2N2pp1/P2p4/3KnP2/6BP/P5P1/8 w - - bm Kxd5; id "ECM.300";
+3r1rk1/2p1qp1p/pnP3p1/4n3/PP1NpR2/1BQ4P/6P1/5RK1 w - - bm Ne6; id "ECM.307";
+r5rk/1p1bqpnp/3p1b1B/pBnPp2P/4P3/2N2Q2/PP3P2/R3KNR1 b Q - bm Nf5; id "ECM.310";
+r3r1k1/p1q2pp1/2p4p/7n/BPPP2N1/3Q1N2/P3n1P1/R1B4K b - - bm Nhg3+; id "ECM.312";
+r1b2rk1/p3bppp/2q5/8/2p1NR2/PnB1P3/1PB1Q1PP/3R2K1 w - - bm Rd6; id "ECM.315";
+1rb2rk1/p1p2ppp/2q5/3R4/2P1N3/bP4B1/P1Q2P1P/1K5R w - - bm Bd6; id "ECM.318";
+rnb2rk1/pp2bppp/2p5/q7/4NN2/4B1QP/PPP3P1/2KR3R w - - bm Rd5; id "ECM.321";
+3r1rk1/pbqn1pp1/1pp2n1p/2b1p1B1/P1B1P2N/2N4P/1PP1QPP1/3R1RK1 w - - bm Rxd7; id "ECM.327";
+1rr3k1/4ppb1/2q1bnp1/1p2B1Q1/6P1/2p2P2/2P1B2R/2K4R w - - bm Qh6; id "ECM.329";
+2r2r1k/1pq1b1p1/p1b1Qn1p/8/3B4/2NB4/PPP3PP/3R1R1K w - - bm Rxf6; id "ECM.330";
+rkb2qr1/1p5p/pQ1bp3/3p2B1/5n2/3B1N2/PP3PPP/2R2RK1 w - - bm Rxc8+; id "ECM.332";
+8/5p2/4p1k1/4P1p1/2rBRbK1/5P2/r4P2/7R b - - bm Rxd4; id "ECM.335";
+r1bqr1k1/pp3pp1/2p4p/3PN1n1/3P1b2/2NB4/PPQ2PPP/3R1RK1 b - - bm Rxe5; id "ECM.336";
+r3r1k1/pbqn1ppp/1p3n2/1Pb5/2p5/5N1P/PBQ1BPP1/1N1R1RK1 b - - bm Rxe2; id "ECM.337";
+2r2rbk/6bp/5qp1/1N1p1n2/4p3/1p5P/1P3PP1/RBBQ1RK1 b - - bm Ng3; id "ECM.338";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.339";
+1k2r2r/1bpQN2p/1p6/P3p2q/4np2/2P2N2/2P2PPP/R3R1K1 b - - bm Rxe7; id "ECM.340";
+r1b2r1R/1p2bpk1/4p1p1/4P1N1/p2p4/5Q2/qPP2PP1/1NKR4 w - - bm Qf6+; id "ECM.342";
+rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - bm Nxe6; id "ECM.343";
+2r1k2r/1pq1bppp/p3bn2/4N3/2pPN3/2P5/P3QPPP/R1B1R1K1 w k - bm Nxf6+; id "ECM.345";
+1r3k1r/4Rn1p/pb1p1P2/1p1q2P1/5p2/7Q/PPP1B1RP/2K5 w - - bm Rxf7+; id "ECM.346";
+r3r1k1/pp3ppp/1qp5/2bbNQ2/5B2/2P5/PP3PPP/3RR1K1 w - - bm Rxd5; id "ECM.349";
+r2qn1k1/1p1b3p/2pp1b2/6pQ/p1P1P3/P1N3PB/1P6/3R1R1K w - - bm Rxf6; id "ECM.351";
+r4k1r/pp2pp2/3p1b2/q2PnQpp/3N4/1BP3P1/PP3PP1/3RR1K1 w - - bm Rxe5; id "ECM.353";
+r1b3rk/pp1n3p/2p2b1n/4pp1q/2P5/1P3NPP/PBQ1NPB1/3RR1K1 w - - bm Rxd7; id "ECM.355";
+2r2rk1/p3p1bp/3qP1p1/1Q1p4/P4P2/3R4/1P4PP/2B2RK1 b - - bm Rxc1; id "ECM.356";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.357";
+1r6/3b1pk1/pr1p1q1p/2pPb1p1/2B1P1P1/2N2PP1/1PQ3K1/RR6 b - - bm Rxb2; id "ECM.358";
+2r3k1/p1r1ppb1/2bp1np1/q5N1/1p1BP2Q/3P4/PP2N1PP/2R2R1K w - - bm Bxf6; id "ECM.360";
+2rbr2k/1pq2ppp/p3bn2/4p1B1/P3P3/2N3Q1/1PP1B1PP/3R1R1K w - - bm Rxd8; id "ECM.366";
+r4rk1/5p2/p1b1pQpq/8/1B2P3/2NR4/PPP3PP/1K6 w - - bm Rd5; id "ECM.367";
+3nr1k1/p6p/2n1pRpB/3pP3/2pP2P1/q1P4P/6BK/5Q2 w - - bm Rxg6+; id "ECM.368";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.370";
+1k2rb1r/pbp1q1pp/2pp4/2PnpP2/Q7/1P3NP1/PB5P/2KR1B1R w - - bm Rxd5; id "ECM.371";
+7k/p1p1r2p/1p1pnr1q/5pp1/2PPPp2/2PB1P1P/P2Q1PRK/7R b - - bm g4; id "ECM.372";
+5qk1/p4p2/1p3Pp1/2p4Q/3rr3/7R/PP6/6RK b - - bm Rh4; id "ECM.373";
+2b4B/1pp2k2/1p6/3P3n/5p1P/1P4p1/P2r2P1/R5KR b - - bm f3; id "ECM.375";
+r3k2N/pppbq1pp/5n2/3Ppn2/2BP4/2P3bP/PP2Q1P1/RNB2K1R b q - bm Bh2; id "ECM.376";
+r2q1r2/p1pbppbk/1p3npp/n2P2B1/7Q/2NB1N2/PPP3PP/4RRK1 w - - bm d6; id "ECM.377";
+r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - bm Bxe5+; id "ECM.379";
+r4r1k/1bq4p/p4bp1/3pn3/NP6/Q1PBB2P/6P1/3R1RK1 b - - bm d4; id "ECM.387";
+2k1r3/Qp3pb1/2p4p/6q1/8/1P4PN/PBPn1P2/K2R4 b - - bm Qe5; id "ECM.390";
+2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - bm Rxa6; id "ECM.394";
+r5kr/p3PR1p/1p1p2pq/4n3/8/3B4/P4QPP/4R1K1 w - - bm Rxe5; id "ECM.395";
+2bq1b2/1p3k2/1r1p1p1p/pNpP1PpP/P1P3P1/6B1/1P5Q/2K1R3 w - - bm Re6; id "ECM.396";
+2kr3r/pp3p1p/2b1p3/q3Q3/5P2/2P1B3/P1P3PP/1R3RK1 b - - bm Rhg8; id "ECM.397";
+2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - bm Rxd3; id "ECM.398";
+2r2nk1/6pp/p1rPqp2/1pP1p3/1P6/2B3R1/1P2Q1PP/5RK1 w - - bm Rxf6; id "ECM.399";
+r2rnbk1/pp3ppp/1q4n1/3p1N2/5P2/1PQB4/PBP3PP/4RR1K w - - bm Nh6+; id "ECM.401";
+r3nrk1/p1pb1qpp/3p1p2/2pP1N2/2P1PR2/P1PB4/4Q1PP/5RK1 w - - bm e5; id "ECM.402";
+6k1/5rb1/6pp/1p2p3/2b5/4B1P1/r4PBP/1RR3K1 w - - bm Rxc4; id "ECM.408";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm e6; id "ECM.410";
+r4rk1/1b4bp/p1npq1P1/R3p3/8/1N2BP2/1PPQ2P1/4KB1R w K - bm Qxd6; id "ECM.411";
+6k1/pbq2pp1/4r2p/8/3prb2/1P1Q3P/PN2BPP1/3RRK2 b - - bm Bd2; id "ECM.412";
+r2q1rk1/p5pp/bn1p1p2/2pP4/1bP1NP2/3B1R2/PBQ3PP/R5K1 w - - bm Ng5; id "ECM.416";
+r3kbnr/1ppb3p/p1q1pp2/3p4/3P4/2N2N2/PPP2PPP/R1BQ1RK1 w kq - bm Ne5; id "ECM.418";
+r1b1qbk1/pp3r1p/2pR1np1/5p2/2P1pP2/1PN1Q1PP/PB2P1B1/5RK1 w - - bm Rxf6; id "ECM.419";
+3rr1k1/1p1qb2p/pP4p1/2p2p2/4RQ2/3P4/1PPB2PP/4R1K1 w - - bm Bc3; id "ECM.420";
+6k1/rnqb3p/5ppQ/2pPp3/p1N1P3/2PB3P/5PP1/1R4K1 w - - bm f4; id "ECM.422";
+7r/pp4k1/3pn1p1/q1pB1b2/2P5/5NR1/1P3PP1/2Q3K1 w - - bm b4; id "ECM.423";
+6k1/p4p1p/3pqp2/2p1r3/2Pnr1N1/P6P/1P1Q1PP1/3R1RK1 b - - bm Ne2+; id "ECM.427";
+r2b4/pb2q1k1/np1p2r1/1N1Pp2Q/PPN1Pp2/8/2R2BPp/2R4K w - - bm Ncxd6; id "ECM.434";
+r7/2qnb1kp/p2p1nP1/1p1Pp1p1/6N1/3BB2Q/PPP4P/5RK1 w - - bm Qxh7+; id "ECM.435";
+n1rqk3/1p2p3/1n1pP1p1/pP1P1p1r/3B3P/1BN3p1/3Q4/R3K2R w KQ - bm Qg5; id "ECM.436";
+3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - bm Bh4; id "ECM.438";
+r1r3kb/1pqbpp2/p2p1npB/n7/3NP3/1BN2P2/PPPQ2P1/2KR3R w - - bm Bf8; id "ECM.439";
+4rr1k/pbp3bp/3p4/1p5q/3n4/1B1Q2B1/PP1N1N1P/4RRK1 b - - bm Rf3; id "ECM.440";
+4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - bm Ng6+; id "ECM.442";
+2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - bm Qb2; id "ECM.443";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.445";
+2k5/1p1b4/2n1p1r1/7q/4RP2/3BQN2/2P2K1P/8 w - - bm f5; id "ECM.447";
+2k3r1/1ppr3p/p1pB2q1/6n1/N3Pp2/8/PPP1Q1PP/3R1RK1 b - - bm f3; id "ECM.448";
+6r1/6rk/3p3p/p2Rp3/R1PqPp1b/2N2Q2/6PP/7K b - - bm Rxg2; id "ECM.450";
+2kr3r/p5b1/Pp2R1p1/2q2p1p/2p2Pn1/2P2BP1/1PQB2P1/5R1K b - - bm h4; id "ECM.456";
+6nk/p4rrp/1p1p1p2/1q1Pp2R/4B1P1/1PP2Q1R/P6P/7K w - - bm g5; id "ECM.458";
+r1b1k2r/6pp/p1p1p3/3np1B1/1b2N3/8/q1PQB1PP/3RK2R w Kkq - bm Qxb4; id "ECM.459";
+3qrbk1/1r3p2/p1bp1Pp1/1p2p1Pp/4P2R/1P2BB1Q/P1P4P/R6K w - - bm Bxh5; id "ECM.460";
+4r1kb/p2r4/1np1p1p1/3nP1Bp/1p3P1R/1B2qP2/PPPN3Q/2K4R w - - bm Rxh5; id "ECM.463";
+2rq2k1/pp1bpp1p/3p1np1/8/3NPPnQ/1BP5/P1P3P1/1K1R3R w - - bm e5; id "ECM.464";
+r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - bm Rxd5; id "ECM.465";
+2r1kr2/p1qbbp1Q/3pp3/5p2/1p1N1PB1/6P1/PPP4P/K2RR3 w - - bm Bxf5; id "ECM.466";
+r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - bm Rf6; id "ECM.467";
+2rr2k1/5pn1/1b2q1pp/pP1pP3/2pP1PP1/2R1B2P/2Q3B1/3R3K w - - bm f5; id "ECM.468";
+2Q2bkr/5p2/1rb5/1pN1n1qB/1P1pPN2/6P1/5P2/R1R3K1 w - - bm Nce6; id "ECM.469";
+2r4r/1q1kb1p1/4p2p/3pP3/np6/3RBP2/NPP2Q1P/1K2R3 b - - bm Nc3+; id "ECM.470";
+r7/pp4pk/2n3qp/5p2/3p4/P4QB1/1PP1RPPP/6K1 b - - bm d3; id "ECM.473";
+2r2r1k/1p3p1p/p2p1Pp1/3Pp3/1q2Bn1Q/8/1PP3PP/4RR1K w - - bm Rxf4; id "ECM.474";
+r4rk1/5ppp/p7/4PR2/P1qnp2Q/4B3/1P4PP/5RK1 w - - bm Rh5; id "ECM.475";
+4r3/pb3pk1/6p1/8/6P1/1PNrB2K/P4P1P/2R5 b - - bm Rexe3+; id "ECM.476";
+1r2k2r/1bq2pp1/pn2p2p/1p2P1b1/3N4/2N3Q1/PPP3PP/1K1R1BR1 w k - bm Bxb5+; id "ECM.482";
+2r2r2/p4p1k/1p2pBpn/2p5/6N1/8/P4P2/R3R1K1 w - - bm Kg2; id "ECM.484";
+r4rk1/p1p2pp1/bp1p1q1p/n1nPpN2/2P1P2P/2PB4/P2BQPP1/R3K2R w KQ - bm Bg5; id "ECM.485";
+2kr2r1/2pqbp1p/p1n1b3/1P1pP3/4n3/1BP1BN2/1P4PP/RN1Q1RK1 b - - bm Bh3; id "ECM.488";
+2b3k1/5qp1/p2r1n1p/3p4/3B4/1RP3QP/P2Nr1P1/3R2K1 b - - bm Ne4; id "ECM.489";
+1r2r1k1/p4ppb/q1pbnn1p/4p3/N1P1P3/pPB2NP1/2Q1RPBP/R5K1 b - - bm Nxe4; id "ECM.491";
+r4r2/1pnqb2k/3p1p1p/p1pPpPpP/2P1N1P1/4BP2/PP1Q4/R2R2K1 w - - bm Bxc5; id "ECM.492";
+6kr/1p1r1p1p/p2pnPpQ/3Np2R/2q1P3/5P2/PPP5/2KR4 w - - bm Rxe5; id "ECM.494";
+rq1r2k1/3nbp1p/p2p2p1/1p1Pp1P1/3B1P2/3B3Q/PPP4P/2KR2R1 w - - bm f5; id "ECM.497";
+r4rk1/1bq1bppp/8/p2pPR2/3B4/1NnP3Q/1P4PP/4R1K1 w - - bm Rh5; id "ECM.498";
+r4rk1/1nqb1pbn/6pB/pppPp2p/8/1PP2NNP/P1BQ2P1/R4RK1 w - - bm Nxh5; id "ECM.499";
+r1b2rk1/pp4bp/2p3p1/4q2n/NQPN1p1P/1P5n/P3PPB1/2BRRK2 b - - bm f3; id "ECM.500";
+4rqk1/p5b1/3p3p/3Pn1p1/1pP1NrP1/4NP2/P3Q1P1/1K1RR3 b - - bm Nxf3; id "ECM.501";
+r3rk2/pb2bpp1/1n5p/q1pP1B2/1p3B2/5N2/PPQ2PPP/R2R2K1 w - - bm Bc8; id "ECM.503";
+r1bqr2k/ppp2p1p/5b2/3Pn1p1/1PP1Bp2/8/PB2N1PP/R2Q1RK1 w - - bm Nxf4; id "ECM.504";
+1q4k1/p3rppp/3b1n2/8/5P2/4P3/PP1B3P/RNQ3K1 b - - bm Bxf4; id "ECM.505";
+3r1qk1/5p1p/4b1pP/1pRp4/1P1Q4/r5P1/5P2/4RBK1 w - - bm Rxe6; id "ECM.510";
+2bk3r/3r2pp/p2nQ3/q2R2P1/1p6/8/PPP2P1P/1K3B1R b - - bm Qxd5; id "ECM.525";
+1kb3rr/1p2n2q/1Np2p2/1p6/1P1N1P1p/8/2P1RQPP/R6K w - - bm Nxb5; id "ECM.529";
+6k1/5qp1/pN5p/3pRp2/3QnP2/2r4P/r5P1/6RK b - - bm Qh5; id "ECM.539";
+r1b2rk1/ppp2ppp/2n3q1/b2N2N1/2BP4/4p2P/PPP3P1/R2Q1RK1 w - - bm Nxf7; id "ECM.553";
+r6r/pR1nqkpp/2p1p3/3p4/6Q1/2b4P/P1PP1PP1/2B1R1K1 w - - bm Rxe6; id "ECM.555";
+5rk1/p1p1br2/1p1p2qp/4p3/2PPn1pP/3Q2P1/PPN1P1K1/2RR2B1 b - - bm Bxh4; id "ECM.557";
+r1b2rk1/4bnpp/2p5/pp2q3/4N3/PQ2B1P1/1PP3BP/4RRK1 w - - bm Ng5; id "ECM.559";
+2rr2k1/1p3p2/p2n2p1/P2PnNq1/3QP1p1/1RN5/6PP/5RK1 b - - bm Nf3+; id "ECM.560";
+r3k1r1/pb1qpp1p/1pnp1n1B/2p2R2/3PP3/2P3PN/P1P3BP/R2Q3K b q - bm Nxe4; id "ECM.561";
+2r2rk1/pp2bppp/3q1n2/3nNRB1/3P4/1B5Q/PP4PP/3R2K1 w - - bm Nxf7; id "ECM.562";
+1rb2bk1/2n2qp1/p2p3p/R1pP1p2/2B5/1PBQ1N1P/2P2PP1/6K1 w - - bm Rxc5; id "ECM.566";
+2r1r1k1/pp1b1ppp/1q6/3P4/7N/Pn1Q4/1P3PPP/1RB2RK1 b - - bm Nxc1; id "ECM.569";
+5rk1/bp4p1/p2rp2p/8/8/2PN4/PP1R1PPP/3R2K1 b - - bm e5; id "ECM.577";
+2q1rk2/QR3ppp/1pPpb3/1P2p1b1/4P3/6P1/3N1PBP/6K1 w - - bm Bh3; id "ECM.578";
+r3r1k1/p2n4/3p1pp1/qnp3B1/1p2P1P1/1P3P2/PP2N2Q/1K1R1B2 w - - bm Nf4; id "ECM.580";
+r2q1rk1/pb1nbpp1/1pp1pn1p/3pN3/2PPP3/2N1B1P1/PP3PBP/R2Q1RK1 w - - bm Nxc6; id "ECM.587";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.589";
+4r1k1/r1q2p1p/p5pB/1pbBpN1n/1n2P3/5Q2/PP3PPP/R1R3K1 w - - bm Rxc5; id "ECM.592";
+r1r3k1/ppnbb1pp/2ppp1q1/1P3p2/P1PPn3/2N2NP1/2Q1PPBP/1RB2RK1 w - - bm Nxe4; id "ECM.593";
+1rb1r1k1/p1p1qppp/2pb4/8/2P3n1/4P1P1/PB2BP1P/R1QN1RK1 b - - bm Nxh2; id "ECM.595";
+rnb2rk1/pp4pp/2pb1n2/3N1p1q/2P5/3N2P1/P1Q1PPBP/R1B2RK1 w - - bm Bf4; id "ECM.597";
+8/8/1p1k4/5ppp/PPK1p3/6P1/5PP1/8 b - - bm f4; id "ECM.598";
+7k/8/1p1ppp1p/1Pp5/2P2P2/8/3P2PP/6K1 w - - bm f5; id "ECM.600";
+8/p5k1/2p2p2/4p1p1/1p2P3/1P4PP/1PP5/5K2 b - - bm g4; id "ECM.601";
+8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b - - bm g5; id "ECM.605";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "ECM.607";
+6r1/1p3k2/pPp4R/K1P1p1p1/1P2Pp1p/5P1P/6P1/8 w - - bm Rxc6; id "ECM.608";
+1k2b3/4bpp1/p2pp1P1/1p3P2/2q1P3/4B3/PPPQN2r/1K1R4 w - - bm f6; id "ECM.609";
+2kr3r/ppp1qpp1/2p5/2b2b2/2P1pPP1/1P2P1p1/PBQPB3/RN2K1R1 b Q - bm Rh1; id "ECM.610";
+6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - bm e5; id "ECM.613";
+5r2/pp1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+; id "ECM.614";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.615";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.616";
+3r2k1/p6p/b2r2p1/2qPQp2/2P2P2/8/6BP/R4R1K w - - bm Rxa6; id "ECM.617";
+6B1/2p2pp1/2p5/p3K3/1k6/nP4P1/5P1P/8 b - - bm Nc4+; id "ECM.621";
+6k1/p3b1pp/4p3/4Pp2/Pp1r1P1P/1P4P1/2p2R2/5RK1 b - - bm Rc4; id "ECM.623";
+4r2k/3n1Qpp/1pRP1p2/p4P2/1p1P2P1/6rP/P3q1B1/6RK w - - bm Qe6; id "ECM.624";
+3r1r2/pp1P3k/4Rbp1/1BP2p1p/8/7P/P4KP1/3R4 w - - bm Ba6; id "ECM.626";
+3rr1k1/pppRn1pp/4Pp2/1P5q/1QB5/4P3/P4P1P/4K1R1 w - - bm Qxe7; id "ECM.627";
+8/6Bp/6p1/2k1p3/4PPP1/1pb4P/8/2K5 b - - bm b2+; id "ECM.629";
+3qr1k1/p4ppp/1p1P4/2r1nN2/4P2n/P7/1B4P1/3QRRK1 w - - bm d7; id "ECM.632";
+4r3/p4pk1/6p1/P1pB2Pp/2P3b1/2p1N1P1/Qb1r1P2/6K1 b - - bm Rxe3; id "ECM.634";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.635";
+r4rk1/ppq3pp/2p1Pn2/4p1Q1/8/2N5/PP4PP/2KR1R2 w - - bm Rxf6; id "ECM.636";
+r3qr1k/1b4pp/p2RQ3/Bp2p3/4p3/6P1/PPP2P1P/3R2K1 b - - bm Qh5; id "ECM.637";
+8/pR4pk/1b6/2p5/N1p5/8/PP1r2PP/6K1 b - - bm Rxb2; id "ECM.640";
+4r2k/pppb2pp/2np2q1/3B4/2P2P2/1PB1R1P1/PQ5P/6K1 w - - bm f5; id "ECM.644";
+8/2k5/2p5/2pb2K1/pp4P1/1P1R4/P7/8 b - - bm Bxb3; id "ECM.646";
+4r2k/p2qr1pp/1pp2p2/2p1nP1N/4R3/1P1P2RP/1PP2QP1/7K w - - bm Rxg7; id "ECM.648";
+8/1R2P3/6k1/3B4/2P2P2/1p2r3/1Kb4p/8 w - - bm Be6; id "ECM.650";
+3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - bm Bb5; id "ECM.653";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.654";
+1r1qr1k1/5p1p/1n2p1p1/pp1pP1P1/2pP1BB1/PnP3P1/1P3PK1/1R1Q3R w - - bm Rxh7; id "ECM.663";
+r1b2rk1/2q1bppp/p1n1p3/1p1np1P1/5P2/1NNBBQ2/PPP4P/R4RK1 w - - bm Bxh7+; id "ECM.665";
+5r1k/ppp2qnp/1n1p1N1Q/3Ppb2/2P4P/7B/PP6/2KR2R1 w - - bm Nxh7; id "ECM.666";
+2rqr1k1/1p1bbppp/p3p3/n7/3P2Q1/2PB1N2/P4PPP/R1B1R1K1 w - - bm Bxh7+; id "ECM.673";
+r1b2r1k/ppppq1pp/2n1n3/6N1/2B2P2/4B3/PPP3PP/R2Q1RK1 w - - bm Nxh7; id "ECM.674";
+rn1q1rk1/pb1p1ppp/4p3/2pnP3/1bp5/2N2N2/PP3PPP/RBBQK2R w KQ - bm Bxh7+; id "ECM.675";
+r2r2k1/p1p2p1p/4pPp1/1Pqb4/8/7R/1PB2PPP/3QR1K1 w - - bm Rxh7; id "ECM.676";
+r1b2rk1/1pq2ppp/p1p1p3/2n1P3/2N2P2/3B4/PPP3PP/R2Q1RK1 w - - bm Bxh7+; id "ECM.677";
+rn3rk1/pp1bppbp/1qp3p1/4P1N1/PP1PB3/2P1B3/4Q1PP/R4RK1 w - - bm Nxh7; id "ECM.679";
+3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - bm Bxh7+; id "ECM.680";
+1r2nrkb/2n2p1p/p2p1Pp1/P1pPp1P1/1pP1P1q1/1P1BB1N1/3Q4/2KR3R w - - bm Rxh7; id "ECM.681";
+2rrn1k1/2q2ppp/p2pp3/1p2P1P1/4B3/P5Q1/1PP3PP/R4R1K w - - bm Bxh7+; id "ECM.682";
+r2q3r/2pkb1p1/p2p1n2/4p1p1/Pp2P1P1/1QP5/1P1P2PP/RNB2RK1 b - - bm Rxh2; id "ECM.683";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "ECM.684";
+2rq1bk1/1br2p1p/p2p2p1/1p1P4/4Q3/PP3N2/1BP5/1K1R3R w - - bm Rxh7; id "ECM.685";
+r2qn1k1/pb4Pp/1pn5/2p5/2P2p2/P1PB4/5PPP/R2Q1RK1 w - - bm Bxh7+; id "ECM.686";
+r4rk1/pp1n1ppp/3qp3/3nN1P1/b2P4/P2B1Q2/3B1P1P/1R2R1K1 w - - bm Bxh7+; id "ECM.687";
+r2r2k1/ppqbbppp/4pn2/6N1/n1P4P/3B1N2/PP2QPP1/1KBR3R w - - bm Nxh7; id "ECM.688";
+r6r/4ppk1/p2p1bp1/B2p4/3P2p1/QP2P3/P1R1qPPP/2R3K1 b - - bm Rxh2; id "ECM.690";
+4nrk1/r4p1p/p2p2pQ/2pPpNPP/qpn1P3/5P1R/PPP1N3/2K3R1 w - - bm Qxh7+; id "ECM.691";
+r3k2r/1b1n1p2/pq1p1bp1/1p4p1/P3P3/1NN5/1PP3PP/R2QRB1K b kq - bm Rxh2+; id "ECM.692";
+r2qrnk1/4bppp/b1p5/1p1p2P1/p2P1N1P/2NBP3/PPQ2P2/2K3RR w - - bm Bxh7+; id "ECM.693";
+3r1rk1/4qp1p/p1bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - bm Bxh2+; id "ECM.696";
+r2q1rk1/3n1ppp/8/1pbP2P1/p1N4P/PnBBPQ2/5P2/R3K2R w KQ - bm Bxh7+; id "ECM.697";
+2k3r1/ppq2p1p/n1Pb1p2/8/6r1/4BN1b/PPQ2PPP/R3RBK1 b - - bm Bxh2+; id "ECM.698";
+3qr1k1/1br2ppp/p2b4/8/PpNp4/3P4/1PP2PPP/R1BQ1RK1 b - - bm Bxh2+; id "ECM.699";
+r1b4r/3p1kp1/pp3q1p/4RP2/8/B7/P5PP/4QRK1 w - - bm Qe4; id "ECM.701";
+1r2rnk1/2R2bpp/p2q4/1p1N2R1/5P2/1Q1B3P/PP4P1/7K w - - bm Rxg7+; id "ECM.702";
+2r2r1k/3b1pb1/p3pp1p/q2p1P1B/8/2N2RR1/P1PQ2PP/7K w - - bm Rxg7; id "ECM.706";
+r2qr1k1/1p3ppp/2pb4/2Np4/1P1P2bn/3BP3/2QN1PPP/1RR3K1 b - - bm Nxg2; id "ECM.712";
+r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - bm Bxg7; id "ECM.713";
+r5k1/pn1q1rpp/2pp4/5R1N/bP6/4BQ2/P4PPP/2R3K1 w - - bm Nxg7; id "ECM.714";
+3r1rk1/5pp1/pq1n1n1p/2pPR3/2B2P2/1PBQ2RP/P5P1/6K1 w - - bm Rxg7+; id "ECM.715";
+rn3rk1/ppq2ppp/2pb1nb1/5N2/2BP4/8/PPP1N1P1/R1B1QR1K w - - bm Nxg7; id "ECM.716";
+r1qb1r1k/2p3pp/p1n1bp2/1p1Np2Q/P3P3/1BP3R1/1P3PPP/R1B3K1 w - - bm Rxg7; id "ECM.717";
+r4rk1/5ppp/p2pbb2/3B3Q/qp2p3/4B3/PPP2P1P/2KR2R1 w - - bm Rxg7+; id "ECM.718";
+4q1k1/1b3r1p/p4pp1/1p6/2P2n2/1P3N2/1B3PPP/R2Q3K b - - bm Nxg2; id "ECM.719";
+4rrk1/2pn2pb/p1p1qp2/1pb1pN2/P3P1PN/1P1P4/1BP2PK1/R2Q3R w - - bm Nxg7; id "ECM.721";
+r3r1k1/p3bppp/q1b2n2/5Q2/1p1B4/1BNR4/PPP3PP/2K2R2 w - - bm Rg3; id "ECM.722";
+4kbr1/pp1bpp1p/3p1p2/3N4/1PBQP3/q7/P1r2PPP/R4RK1 b - - bm Rxg2+; id "ECM.725";
+rq1r1bk1/1b3pp1/3pn2p/1n2BN1P/1P2P3/3R1NP1/3Q1PB1/2R3K1 w - - bm Bxg7; id "ECM.728";
+3q1r2/1p1b1pk1/pn5p/3pN1pQ/3P3P/2r3B1/P4PP1/3RR1K1 w - - bm Nxf7; id "ECM.730";
+2r3k1/pbq1np1p/1p1b1Bp1/8/6QP/2P2N2/B4PP1/4R1K1 w - - bm Bxf7+; id "ECM.733";
+r3r1k1/1bqn1ppp/1pp2p2/8/3P4/1B4N1/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.734";
+r3r1k1/pp3ppp/8/1Nbp3q/3NnBn1/2P5/PPQ2PPP/3R1RK1 b - - bm Ngxf2; id "ECM.735";
+r2r2k1/1b2qpp1/1p2n3/p1b1p2p/4P1n1/PP1B2PP/1B1NQP2/R3NRK1 b - - bm Nxf2; id "ECM.736";
+r5k1/1pp3pp/1b1p1r2/pN1P1n2/P1P3nq/6N1/1P1B1PQP/4RRK1 b - - bm Nxf2; id "ECM.738";
+r2qr1k1/pb2bp1p/1pn1p1pB/8/2BP4/P1P2N2/4QPPP/3R1RK1 w - - bm d5; id "ECM.742";
+r2qr1k1/1b1nbp1p/p3pp2/1p2N3/3P4/3B1N2/PP2QPPP/R2R2K1 w - - bm Nxf7; id "ECM.745";
+r3kr2/1b2qp2/pp2p2N/4p2Q/8/2n5/P3B1PP/3R1R1K w q - bm Nxf7; id "ECM.752";
+rqb1k2r/1p1nbp1p/p4pp1/8/1PBN1P2/P1N1P3/7P/2RQ1RK1 w kq - bm Bxf7+; id "ECM.754";
+r2r2k1/4ppbp/5np1/p1q5/QnB1P3/5N2/1P3PPP/R1B2RK1 w - - bm Bxf7+; id "ECM.755";
+1r4k1/p4pp1/bqnrpn1p/2ppN3/2P2P1B/P3P3/1P2B1PP/1Q1R1RK1 w - - bm Bxf6; id "ECM.758";
+2rqr1k1/pp2nppp/3p2b1/6B1/2BNn1Q1/P7/1PP2PPP/2KRR3 w - - bm Bxf7+; id "ECM.761";
+r3r1k1/pbq1ppbp/1pp2np1/4N3/3P4/2P5/PPB1QPPP/R1B1R1K1 w - - bm Nxf7; id "ECM.762";
+r1b2rk1/p6p/2p3Pb/3pp1q1/8/2PB4/PP3PP1/RN1Q1K1R b - - bm Rxf2+; id "ECM.763";
+r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - bm Nxf7; id "ECM.764";
+r1bqr1k1/1p1nnpb1/p5pp/2P1p1B1/B3N3/5N2/P4PPP/2RQR1K1 w - - bm Nd6; id "ECM.765";
+r1b1r1k1/pp2qpbp/2p3p1/2P5/3NnB2/7P/PPQ1PPB1/2RR2K1 b - - bm Nxf2; id "ECM.766";
+rn2r1k1/pp3p1p/3P2p1/2p1bbB1/2B5/2N5/Pq4PP/R2Q1RK1 w - - bm Bxf7+; id "ECM.767";
+1bq2k2/1b1n1pp1/pp5p/2pBpN2/P3P2B/3Q1P2/1PP3PP/4K3 w - - bm Bxf7; id "ECM.769";
+rnb2rk1/pp3pbp/2p3pB/2q5/4P3/1BN5/PPP3PP/R2Q1R1K w - - bm Rxf7; id "ECM.770";
+3qr1k1/1br1bp1p/p3p1pB/1p1nN3/3PB3/7Q/PP3PPP/3RR1K1 w - - bm Nxf7; id "ECM.771";
+rr1q2k1/1p2bpp1/2p1p2p/P1Pn4/2NP4/3Q1RP1/5PKP/2B1R3 w - - bm Bxh6; id "ECM.773";
+r2r2k1/pb1nbpp1/1qp1pn1p/1p2N3/3P1B2/P1N1P3/BPQ2PPP/2R2RK1 w - - bm Bxh6; id "ECM.774";
+r1b1r3/pp2Npbk/3pp2p/q5p1/2QNPP2/6P1/PPP3P1/2KR3R w - - bm Ndf5; id "ECM.776";
+1rbqnr2/5p1k/p1np3p/1p1Np3/4P2P/1Q2B3/PPP1BP2/2KR3R w - - bm Bxh6; id "ECM.779";
+r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.780";
+3r1r1k/p5p1/n1p2p1p/1qp2b2/N1R4R/1PB1P1P1/P2P3P/3Q2K1 w - - bm Rxh6+; id "ECM.781";
+6rk/3b1n1p/1p1q3b/1PpNp3/2P1Pp2/2Q2NrP/5RP1/2R2B1K b - - bm Bxh3; id "ECM.783";
+2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - bm Bxh6; id "ECM.789";
+2br2k1/4qppp/p5r1/2pBp3/2P1Pn2/4Q2P/RP3PPK/1N4R1 b - - bm Bxh3; id "ECM.791";
+r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - bm Bxh6; id "ECM.792";
+6k1/p4ppp/1pn1b1rr/8/PBpPp2q/2P1P1NP/5PP1/RR3QK1 b - - bm Bxh3; id "ECM.795";
+r1b2rk1/1p3pp1/p5Pp/2bpPp1Q/3N4/1Pq1B1R1/2P4P/3R2K1 w - - bm Bxh6; id "ECM.796";
+2b1rk2/r6p/1pP1p1p1/p2pNnR1/5Q2/P1B4q/1PP2P1P/1K4R1 w - - bm Nxg6+; id "ECM.799";
+r6r/ppnqpk2/3pbpp1/5N2/1PP1P3/5RR1/P2QB1PP/6K1 w - - bm Nh6+; id "ECM.801";
+2b2r1k/2p3pp/2Nb4/pP5q/2PP4/P4pP1/5P1P/R1BQ2K1 b - - bm Bxg3; id "ECM.803";
+r1bq2k1/pp3r1p/2n1p1p1/3pP3/6Q1/2PB2P1/P4PK1/R1B4R w - - bm Bxg6; id "ECM.804";
+3q1rk1/2r4p/n1p1n1pQ/p2pP3/Np1P2R1/5PN1/PP3KP1/2R5 w - - bm Rxg6+; id "ECM.805";
+2rqr1k1/pb2bp1p/1pn1pnpB/4N3/3P4/P1N3R1/1P3PPP/RB1Q2K1 w - - bm Rxg6+; id "ECM.810";
+2r5/pp2qr1k/1nb3pp/2ppBp2/2P4P/3B2R1/P3QPP1/1R4K1 w - - bm Rxg6; id "ECM.811";
+3rr3/3q1p1k/p2P2pp/1bp1b3/5N2/6QP/P1B3P1/3RR1K1 w - - bm Bxg6+; id "ECM.812";
+1n1b1rk1/r4p1p/p1p2qpQ/P3Np2/2BP4/2P1R3/5PPP/R5K1 w - - bm Rb1; id "ECM.814";
+6rk/pb3p1p/3bpPq1/3P4/1p1B3r/1B4P1/PPRQ1R1P/6K1 b - - bm Bxg3; id "ECM.815";
+3rr1k1/pb2bp1p/3qp1pB/1p2N3/3P2Q1/2P1R3/P4PPP/4R1K1 w - - bm Nxg6; id "ECM.816";
+1Q4R1/r2qbp2/3p1kp1/3Bp2p/8/3PP1P1/5PKP/8 w - - bm Rxg6+; id "ECM.818";
+k2r3r/ppq2p1p/n1pb1Pp1/4p3/2Q5/1R2B1P1/PPP2PBP/R5K1 w - - bm Rxb7; id "ECM.821";
+1rb2rk1/p1p1qppp/2p2n2/3P4/1b3P2/2NB4/PPPBQ1PP/2KR3R b - - bm Ba3; id "ECM.822";
+4rrk1/p5pp/1p4q1/3p2n1/2pP2P1/P1P1PP2/3B2K1/1R2QR2 b - - bm Nxf3; id "ECM.824";
+1q1r3k/3P1pp1/ppBR1n1p/4Q2P/P4P2/8/5PK1/8 w - - bm Rxf6; id "ECM.825";
+1rbq2k1/b1p3pp/p1Pp4/3Ppr2/8/5N2/PPQ2PPP/R1B2RK1 b - - bm Rxf3; id "ECM.826";
+1r1q1r1k/2p3pp/1p1bQ3/p7/1PP5/Pn3B2/1B3PPP/R4RK1 b - - bm Rxf3; id "ECM.827";
+r1bq1rk1/1p2bppp/p3p3/n3P3/4N3/1P1P1N2/PB4PP/R3QR1K w - - bm Nf6+; id "ECM.829";
+1n2r3/p1pq1kp1/1b1pNpp1/3P4/5RP1/3Q3P/1B3P2/6K1 w - - bm Bxf6; id "ECM.830";
+r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - bm Nf3+; id "ECM.831";
+3r1b2/p4bkp/1p1P1p2/r3p1p1/2q1N3/2N2P2/1P1R2PP/2QR3K w - - bm Nxf6; id "ECM.832";
+rqbn1rk1/1p3ppp/p3p3/8/4NP2/8/PPP1BQPP/1K1R3R w - - bm Nf6+; id "ECM.833";
+r1b1kb1r/1p4pp/p2ppn2/8/2qNP3/2N1B3/PPP3PP/R2Q1RK1 w kq - bm Rxf6; id "ECM.834";
+2nr2k1/1pq1bppp/p1p5/2p1P1PQ/2P1NP2/1PNR4/P6P/6K1 w - - bm Nf6+; id "ECM.836";
+6nk/pn2qr1r/1pbp1p1p/2p1pPpN/P1P1P1PP/2PP3R/7Q/2BBK2R w K - bm Nxf6; id "ECM.837";
+r1b1kb1r/1p1n1ppp/p2ppn2/6BB/2qNP3/2N5/PPP2PPP/R2Q1RK1 w kq - bm Nxe6; id "ECM.841";
+r1b1k1nr/3n1p1p/1qpBp1p1/pp2b3/4PN2/PBN2Q2/1PP2PPP/2KR3R w kq - bm Nxe6; id "ECM.842";
+2r2rk1/1b3ppp/pq2p3/1pbn2N1/3B3P/1B4P1/P1P1QP2/2KRR3 w - - bm Qh5; id "ECM.843";
+r3k2r/pp1n1pb1/1qn1p1p1/2p3Pp/4R2P/2NP2QB/PPPB1P2/2K1R3 w kq - bm Rxe6+; id "ECM.844";
+r3k2r/1q3ppp/p3p3/2b1P3/p2N1Q2/P7/1PP3PP/3R1R1K w kq - bm Nxe6; id "ECM.845";
+3qr1k1/rp3pbp/2p3p1/3p1b2/N1nP4/P2NP3/1PQ2PPP/1BRR2K1 b - - bm Rxe3; id "ECM.846";
+1r3rk1/5pbp/p2Pp1p1/q1n3P1/2p2P1P/2N1Q2R/PP6/1BKR4 b - - bm Rxb2; id "ECM.852";
+rr4k1/5p1p/n2p1npQ/q1pP4/6P1/2N2P1N/PP1R3P/2K4R b - - bm Rxb2; id "ECM.853";
+1k2bb1r/1p3p1p/p2qpP1p/3pN3/3P1Q2/2RB2P1/PP3P1P/6K1 w - - bm Qc1; id "ECM.854";
+5rk1/5rp1/p2qb3/R2Np2Q/3bP2B/7P/P5PK/1R6 b - - bm Rf1; id "ECM.856";
+3r1rk1/p3q1pp/2Rb4/3P4/8/1P2Qp2/PB3PPP/3R2K1 b - - bm Bxh2+; id "ECM.858";
+1r4k1/1q3pb1/r1b3p1/pp1Qp3/P3P3/1B2BP2/1PP3P1/1K1R3R w - - bm Qd8+; id "ECM.860";
+3r4/kb6/pp6/4R1pr/PPpq4/2N3Q1/2P3PP/3R3K b - - bm Rf8; id "ECM.862";
+8/2q1np1k/6p1/1PPn3p/8/P2Q3P/6P1/2R4K b - - bm Nf5; id "ECM.864";
+7R/1p1r4/2b2p2/2Pp1qk1/3P1bp1/3N4/2Q2PB1/6K1 w - - bm Rg8+; id "ECM.866";
+r6r/1pn1b1k1/2p1pq2/2Pp3p/p2P1Pp1/P2BP1P1/1P2QB2/3R2KR w - - bm Rxh5; id "ECM.867";
+1r4k1/pp4pp/2n1b3/1Rq1p3/2P2r2/P1B2P2/2Q1B1PP/3R1K2 b - - bm Rxf3+; id "ECM.868";
+2rq1rk1/5ppp/2b1pb2/np6/6N1/2NBB3/PP3PPP/R2Q2K1 w - - bm Bb6; id "ECM.872";
+5r2/p2p2kp/3PnNp1/1qr1Pp2/2p5/P1R5/6PP/2Q1R1K1 w - - bm Qh6+; id "ECM.873";
+2kr1br1/ppp2p1p/2n1p1q1/2Nn4/3P4/1Q2PB2/PP1B1P1P/2R1K2R b K - bm Qg1+; id "ECM.875";
+2kr3r/1Rp1bpp1/p6q/Q3P3/2P5/3p1NP1/P3P2P/1R4K1 b - - bm Qe3+; id "ECM.877";
+6k1/1R4pp/2p5/8/P1rNp3/6Pb/4PK2/8 w - - bm a5; id "ECM.878";
+r2r2k1/pp3ppp/2q5/2p5/2P1P1n1/P4P1b/1BQ1BP1P/R3R2K b - - bm Rd2; id "ECM.879";
diff --git a/tests/ecm.epd b/tests/ecm.epd
new file mode 100644
index 0000000..0753b6f
--- /dev/null
+++ b/tests/ecm.epd
@@ -0,0 +1,879 @@
+2q1r1k1/1ppb4/r2p1Pp1/p4n1p/2P1n3/5NPP/PP3Q1K/2BRRB2 w - - bm f7+; id "ECM.001";
+7r/1p2k3/2bpp3/p3np2/P1PR4/2N2PP1/1P4K1/3B4 b - - bm Bxf3+; id "ECM.002";
+4k3/p1P3p1/2q1np1p/3N4/8/1Q3PP1/6KP/8 w - - bm Qb5; id "ECM.003";
+2r1b1k1/R4pp1/4pb1p/1pBr4/1Pq2P2/3N4/2PQ2PP/5RK1 b - - bm Rcxc5; id "ECM.004";
+6k1/p1qb1p1p/1p3np1/2b2p2/2B5/2P3N1/PP2QPPP/4N1K1 b - - bm Bxf2+; id "ECM.005";
+3q4/pp3pkp/5npN/2bpr1B1/4r3/2P2Q2/PP3PPP/R4RK1 w - - bm Bxf6+; id "ECM.006";
+3rr1k1/pb3pp1/1p1q1b1p/1P2NQ2/3P4/P1NB4/3K1P1P/2R3R1 w - - bm Rxg7+; id "ECM.007";
+r1b1r1k1/p1p3pp/2p2n2/2bp4/5P2/3BBQPq/PPPK3P/R4N1R b - - bm Bg4; id "ECM.008";
+3r4/1b2k3/1pq1pp2/p3n1pr/2P5/5PPN/PP1N1QP1/R2R2K1 b - - bm Rxh3; id "ECM.009";
+2r4k/pB4bp/6p1/6q1/1P1n4/2N5/P4PPP/2R1Q1K1 b - - bm Qxc1; id "ECM.010";
+1r5r/3b1pk1/3p1np1/p1qPp3/p1N1PbP1/2P2PN1/1PB1Q1K1/R3R3 b - - bm Nxg4; id "ECM.011";
+5rk1/7p/p1N5/3pNp2/2bPnqpQ/P7/1P3PPP/4R1K1 w - - bm Ne7+; id "ECM.012";
+rnb2rk1/pp2np1p/2p2q1b/8/2BPPN2/2P2Q2/PP4PP/R1B2RK1 w - - bm Nd5; id "ECM.013";
+2k4r/1pp2ppp/p1p1bn2/4N3/1q1rP3/2N1Q3/PPP2PPP/R4RK1 w - - bm Nd5; id "ECM.014";
+r3kb1r/pp2pppp/3q4/3Pn3/6b1/2N1BN2/PP3PPP/R2QKB1R w KQkq - bm Nxe5; id "ECM.015";
+2rr2k1/1b3p1p/p4qpb/2R1n3/3p4/BP2P3/P3QPPP/3R1BKN b - - bm Rxc5; id "ECM.016";
+r1b1k3/5p1p/p1p5/3np3/1b2N3/4B3/PPP1BPrP/2KR3R w q - bm Rxd5; id "ECM.017";
+r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - bm Nxd6; id "ECM.018";
+b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - bm Rxf6+; id "ECM.019";
+1rr1nbk1/5ppp/3p4/1q1PpN2/np2P3/5Q1P/P1BB1PP1/2R1R1K1 w - - bm Bxa4; id "ECM.020";
+r7/5kp1/2p1p2p/1p1n3P/2rP4/2P3R1/PK2RPP1/2B5 b - - bm Rxc3; id "ECM.021";
+r1r3k1/p3qpp1/b1P4p/3p4/3Nn3/4P3/P1Q2PPP/1BR1K2R b K - bm Qb4+; id "ECM.022";
+rn3rk1/4bppp/1q2p3/p2pP3/8/1PN2B1P/P4PP1/2RQ1RK1 w - - bm Bxd5; id "ECM.023";
+6rk/1p1br2p/pqp5/3pNP2/3Pp3/P5PR/5PKR/Q7 w - - bm Rxh7+; id "ECM.024";
+2b3k1/5p1p/7b/p2B3p/3P4/P2Q1N1P/1q3PP1/6K1 w - - bm Bxf7+; id "ECM.025";
+r1b5/4k3/p7/3p1n2/3Bp3/2P2r1P/PPBK1P2/4R2R w - - bm Bc5+; id "ECM.026";
+r4rk1/1b3Npp/p7/1p3Q2/3P4/1B2q3/P5PP/3n1R1K b - - bm Bxg2+; id "ECM.027";
+r1b2rk1/2q2ppp/2pbp3/p7/4Nn2/3B4/PPPBQ1PP/R4R1K w - - bm Rxf4; id "ECM.028";
+3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - bm Rgxg6; id "ECM.029";
+r2q1rk1/p3b1pp/2p5/1pn5/1n1Bp1b1/1P6/PQ1PPP2/2RNKBNR b K - bm Bxe2; id "ECM.030";
+3r2k1/p2r1p1p/1p2p1p1/q4n2/3P4/PQ1R3P/1P2NPP1/3R2K1 b - - bm Nxd4; id "ECM.031";
+2bnr1k1/2q2ppp/p7/2p1b3/2N1B3/R7/1P2QPPP/2B3K1 w - - bm Nxe5; id "ECM.032";
+r1b2r1k/3nN2p/p2Q1p2/8/4PP2/1R6/q1PK2PP/4R3 w - - bm Qd5; id "ECM.033";
+1nk1r1r1/pp2n1pp/4p3/q2pPp1N/b1pP1P2/B1P2R2/2P1B1PP/R2Q2K1 w - - bm Nf6; id "ECM.034";
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.035";
+br1r2k1/1q4p1/p2ppb1p/2p2p2/2P1n3/Pn2P2P/QPR2PPB/2NRNBK1 b - - bm Nxc1; id "ECM.036";
+2k4r/ppp1n1p1/2n2qb1/2N5/Q1P3p1/P2r3P/1P3PB1/R1B2RK1 w - - bm Qb5; id "ECM.037";
+8/6bk/1B1R4/6p1/2bNP3/4KP2/1r6/8 b - - bm Be5; id "ECM.038";
+r1b1rnk1/1p3pb1/1qpp2p1/2n5/2PNP2p/1PN3PP/3R1PBK/BR1Q4 b - - bm Rxa1; id "ECM.039";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.040";
+5rk1/1b3ppp/p3p3/1p1q2N1/4n3/6P1/PP2PPBP/2Q2RK1 b - - bm Nxg3; id "ECM.041";
+2kr3r/pppq2p1/1bn1R3/6N1/1P6/1QN1B1p1/P4PP1/R5K1 b - - bm gxf2+; id "ECM.042";
+2rr4/5pk1/p1q3p1/3bpP1p/1p4nR/1N4Q1/PPP3PP/3NR2K b - - bm Bxg2+; id "ECM.043";
+r4rk1/pp4pp/2nqb3/3p4/8/2NB4/PP1Q1PPP/4RRK1 w - - bm Bxh7+; id "ECM.044";
+3rk1r1/3b1p1p/p2BpQ2/8/2q5/2P5/PP3PPP/3R2K1 b - - bm Rxg2+; id "ECM.045";
+3r1rk1/4pp1p/p1Q1b1p1/3N4/3b4/5B2/Pq3PPP/R4RK1 b - - bm Bxd5; id "ECM.046";
+5bk1/1bqn1r1p/p3Q1p1/4p3/1PN1Pp2/P1N4P/5PP1/R1BR2K1 w - - bm Qxf7+; id "ECM.047";
+3rkb1r/1p3p2/p1n1p3/q5pp/2PpP3/1P4P1/P1Q1BPKP/R2N3R b k - bm d3; id "ECM.048";
+5rk1/1r1qbnnp/R2p2p1/1p1Pp3/1Pp1P1N1/2P1B1NP/5QP1/5R1K w - - bm Qxf7+; id "ECM.049";
+2kr1b1R/1b3pp1/p2pp3/1pq3P1/2nQPP2/P1N5/1PP1BB2/1K6 w - - bm Rxf8; id "ECM.050";
+1k1r1b1r/p1p1q3/2p1p3/4Ppp1/4nP2/P2BQ3/1PP3PB/2KR3R b - - bm Rxh2; id "ECM.051";
+r3nb1Q/p1q2kr1/2p3p1/2ppnpP1/1P3N2/4P3/PB1P4/1R2KB1R w K - bm Qxf8+; id "ECM.052";
+r1bq1rk1/pp3pbp/2pp1np1/2n3B1/2PNP3/2N2P2/PP1QB1PP/R4RK1 b - - bm Nfxe4; id "ECM.053";
+1rb1qn2/1p2nrbk/p2p2p1/P2Pp1Pp/NP2P2P/2RNB3/2QKB3/1R6 w - - bm Ba7; id "ECM.054";
+5r2/1b2k2p/3bp3/5PP1/Bn1Q3P/1N6/1Pr5/1K3R2 b - - bm Rxb2+; id "ECM.055";
+r1b1r1k1/pp4bp/5np1/2qPB3/8/6NP/PPP1Q1B1/R4R1K w - - bm Rxf6; id "ECM.056";
+r1b2r1k/1pq3bp/8/3Qp2n/1P1n1pp1/2NP2P1/3BPPBP/1R2NRK1 b - - bm Qxc3; id "ECM.057";
+4qk2/pp3pp1/1nbr3p/2p5/5N2/2P1Q3/PPB2PPP/2K1R3 w - - bm Ng6+; id "ECM.058";
+3q2k1/pb3p1p/4pbp1/2r5/PpN2N2/1P2P2P/5PP1/Q2R2K1 b - - bm Rd5; id "ECM.059";
+r4rk1/pp1b2pp/3bpq2/3p1p2/2PPn3/PP1B4/1BQN1PPP/R4RK1 b - - bm Bxh2+; id "ECM.060";
+r4rk1/1b3ppp/p2q1n2/1p2N3/3P4/1B6/P1Q2PPP/2R1R1K1 w - - bm Nxf7; id "ECM.061";
+2rq1r2/pp3pnk/2n1b1pp/3pQ3/3P1N2/P1N5/1P3PPP/1BR2RK1 w - - bm Bxg6+; id "ECM.062";
+4nk2/r1r1bppp/pN2p3/2np4/8/BPN3PP/P3PPK1/2RR4 w - - bm Ncxd5; id "ECM.063";
+r4r1k/2pqn1b1/p1bp2pp/1p2pn2/4N3/2PP1PPQ/PPB4P/R1B1RNK1 b - - bm Nd4; id "ECM.064";
+r1bQ1nk1/bp3ppp/p7/3B4/1P6/P3P1P1/2P4P/q1B2RK1 b - - bm Bxe3+; id "ECM.065";
+3r1rk1/1b2bppp/2q1pn2/pp4Q1/3B1P2/PBN5/1PP3PP/R2R3K b - - bm Rxd4; id "ECM.066";
+2nq2k1/2r3pp/p1p1rp2/PpQ1N3/1P1PR3/8/5PPP/2R3K1 w - - bm Nf7; id "ECM.067";
+r1b2rk1/1p2bppp/p3pn2/4B3/1qBR4/2N5/P3QPPP/R5K1 w - - bm Bd3; id "ECM.068";
+3r4/p2nrpkp/2B1p3/2P2pP1/3R3Q/q7/6PP/6RK w - - bm g6; id "ECM.069";
+5r1k/p6p/1p1p1qp1/2pQpr2/8/2PP2P1/PP2RPKP/5R2 b - - bm e4; id "ECM.070";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6; id "ECM.071";
+2r2rk1/5pbp/p5p1/3P2q1/1QbN4/5P2/P4BPP/2RR2K1 b - - bm Bf1; id "ECM.072";
+r1bqnrk1/pp2ppb1/1np3pp/4P1N1/5P2/2NBB3/PPP3PP/R2Q1RK1 w - - bm Nh7; id "ECM.073";
+3nk3/3q1p2/1B3pr1/4p3/bP2P2p/r2B4/2Q2RPP/3R2K1 w - - bm Bb5; id "ECM.074";
+3rnr1k/pp3ppp/4b3/2p1qNP1/P2pPR2/1P1P2Q1/2P3BP/5RK1 w - - bm Nh6; id "ECM.075";
+r1b2kr1/1p1p1pNp/p1n1p1p1/5P2/3QP3/2N5/PqP1B1PP/R4RK1 w - - bm fxg6; id "ECM.076";
+5rk1/3r1p1p/3b2pQ/8/4q3/4B2P/3R1PP1/4R1K1 w - - bm Rxd6; id "ECM.077";
+4rrk1/1bp2ppp/p1q2b1B/1pn2B2/4N1Q1/2P4P/PP3PP1/3RR1K1 w - - bm Nxc5; id "ECM.078";
+2rnrbnk/3q1ppp/p1p5/3p1P2/1p1PPN2/4BQ1R/PP1N2PP/3R2K1 w - - bm Ng6+; id "ECM.079";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "ECM.080";
+Q7/p1r1ppk1/1qP4p/2Rb2p1/8/3N2P1/4PP1P/6K1 b - - bm Qb1+; id "ECM.081";
+1r3rk1/5pp1/1n2qn1p/1p1pPNb1/2pP2QP/2P5/1PB3P1/R1B1R1K1 w - - bm exf6; id "ECM.082";
+r2qr1k1/pp3pbp/3p1np1/2pP1bB1/2P1N3/3Q1PN1/PP4PP/R4RK1 b - - bm Nxe4; id "ECM.083";
+4r1k1/1b4pp/p7/1prP3q/2P1B3/5P2/P3Q2P/3RR2K w - - bm Bg6; id "ECM.084";
+r1br2k1/ppb1qpp1/2P4p/2n1p3/4B3/P1N2N2/1P3PPP/2RQ1RK1 w - - bm Nd5; id "ECM.085";
+2r3k1/1nqbrp2/p5pp/1p1Pp1N1/8/1P5P/P1B2PP1/2RQR1K1 w - - bm Nxf7; id "ECM.086";
+2r1rbk1/1b3ppp/pp6/2q1pNP1/Pn1RP3/2N5/1PP2QBP/5R1K w - - bm Nh6+; id "ECM.087";
+r1b1rk2/3n1pbQ/2qp2p1/p2N2P1/2Bp3N/4P3/PP3PP1/2KR3R w - - bm Nxg6+; id "ECM.088";
+r1r2qkb/4pp1p/pBbp3P/3Nn1P1/4Q3/1B6/PPP5/1K1R2R1 w - - bm g6; id "ECM.089";
+r4k2/q4npp/P2P4/2p1R3/2N5/6PP/Q5K1/8 w - - bm Re7; id "ECM.090";
+rn1q1r2/4bpk1/p3p3/1pN1N1np/2pP4/4PpBb/PPQ4P/1B1RK1R1 w - - bm Nc6; id "ECM.091";
+5rk1/6pp/8/2Q4q/N2pP3/4b1Pb/4PP1K/1R3R2 b - - bm Bxf1+; id "ECM.092";
+2r4k/pp2Q1pp/5r2/P2P4/3Pb1P1/4Ppq1/1P1R3N/3R3K b - - bm Qe1+; id "ECM.093";
+1r1rb1k1/2p3pp/p2q1p2/3PpP1Q/Pp1bP2N/1B5R/1P4PP/2B4K w - - bm Qxh7+; id "ECM.094";
+r1b4k/p2n1Bpp/1p1Q1n2/5p2/3P4/P3BqP1/1P3P1P/R4RK1 b - - bm Bb7; id "ECM.095";
+rn1r2k1/p4ppp/2p3b1/3PQ3/1B2Np1q/1B3P2/P1P3PP/4R1K1 w - - bm Nf6+ Qe8+; id "ECM.096";
+4r2k/5R1p/pp1Bq1pN/2p1P3/1n1b3Q/3P4/1P4KP/8 w - - bm Rxh7+; id "ECM.097";
+r2nk1r1/pb3q1p/4p3/3p2pQ/8/BP6/P4PPP/2R1R1K1 w q - bm Rc7; id "ECM.098";
+6k1/1pqb1p2/5bpB/r2n4/4N1P1/1P3P2/1P1Q4/1K5R w - - bm Qxd5; id "ECM.099";
+rr4k1/2p1ppb1/3pbnpp/q1pP4/4P3/1PNNBP1P/P1KR2P1/2Q4R b - - bm Qxc3+; id "ECM.100";
+1r3rk1/3Q2pp/p3p3/6B1/3np3/6R1/PqP1B2P/3K2R1 w - - bm Qxg7+; id "ECM.101";
+2r5/p4Q2/k1bBp3/4P3/p1nq4/5B2/2Pr2P1/1R1RK3 w - - bm Qb7+; id "ECM.102";
+5rk1/p1pb2pp/2p5/3p3q/2P3n1/1Q4BN/PP1Np1KP/R3R3 b - - bm Qxh3+; id "ECM.103";
+2r1nk2/4qpbQ/4b3/1p2RpP1/4P3/p7/PBP5/1K5R w - - bm Qxg7+; id "ECM.104";
+2kr4/1bpr3p/4R3/1pQ5/8/6B1/3q2PP/2R4K w - - bm Qxc7+; id "ECM.105";
+r4rk1/1pbb2pp/p1p1p2q/2Pp4/1P1Pn3/P3B2P/2Q1BPP1/R4RNK b - - bm Qxe3; id "ECM.106";
+r1k4r/ppp1b3/5Npp/4pb1Q/8/1B2B3/PqP2PPP/2RR2K1 w - - bm Qxf5+; id "ECM.107";
+6r1/p4rkp/3RQ1n1/1pp1p1B1/2p1P3/2P3R1/P4qPK/8 w - - bm Qxe5+; id "ECM.108";
+2kr1r2/1pp3pp/1n2p1b1/pN2B3/P1q5/1Q1p3P/5PP1/R4R1K w - - bm Rac1; id "ECM.109";
+2kr1bnr/1ppq4/p3bp2/6pp/4p3/2N2NBP/PP3PP1/2RQ1RK1 w - - bm Na4; id "ECM.110";
+r2q2rk/p3bp1p/4b1p1/3pP2R/1p1B4/3BQ3/PPP3PP/5R1K w - - bm Rxf7; id "ECM.111";
+r1b1Q3/6pk/p6p/1pq1n3/4N3/8/PPP3PP/R6K b - - bm Qc6; id "ECM.112";
+q6r/pp3pkp/5np1/4Q3/4P3/6N1/P4PPP/5RK1 w - - bm Nh5+; id "ECM.113";
+r1b1rk2/pp3ppQ/1np5/4q3/2B4N/4P3/PP3PP1/2R2K1R w - - bm Qg8+; id "ECM.114";
+r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - bm Nxh7; id "ECM.115";
+r3r1k1/p2N1pp1/1pn1p3/q1n5/2PQ4/P3B3/4PPKP/R5R1 w - - bm Nf6+; id "ECM.116";
+4qbk1/1R5n/p2pr1p1/2pQpNPp/P1P1P3/2P2P2/3B4/5K2 w - - bm Ne7+; id "ECM.117";
+3qr1k1/1p1bppbp/p2p2p1/2rPn3/P2N4/4BP2/1PPQ2PP/R2R1BK1 w - - bm Ne6; id "ECM.118";
+2b2r2/1p2q1k1/r3pppp/4n2P/p3N3/1B4Q1/PPP3P1/3R1R1K w - - bm Rxf6; id "ECM.119";
+8/R5p1/6k1/pr2p1b1/4K3/7P/5P2/6R1 w - - bm h4; id "ECM.120";
+5rk1/1b1r1p2/p1q1pQp1/1p2P2p/8/1BP1NR2/PP1n2PP/5R1K w - - bm Bxe6; id "ECM.121";
+6k1/p1p2r2/1p1p1P1Q/3P4/2P5/5qr1/PP4RP/6RK w - - bm Qh3; id "ECM.122";
+2b1rr1k/1p5p/1Ppp2q1/p3bN2/2P1n3/5R2/PBQ3BP/3R2K1 w - - bm Nxd6; id "ECM.123";
+3b2rk/7p/p7/2pbqNrn/Pp1p1R2/1P1Q2P1/1BPN1R1P/6K1 w - - bm Rxd4; id "ECM.124";
+1rbr2k1/1pq1bp1p/p1pNn1p1/2n1p3/2B1P2P/1NQ1BP2/PP4P1/1K1R3R w - - bm Nxf7; id "ECM.125";
+r4rk1/1pp1b1pp/p1q5/3pPp2/3Pn3/P3N3/1P3PPP/R1BQR1K1 w - - bm Qb3; id "ECM.126";
+rbbq1rk1/p3nppp/1p2p3/8/1B1pN3/P2B4/1P3PPP/2RQ1RK1 w - - bm Nf6+; id "ECM.127";
+rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - bm Nxh5; id "ECM.128";
+5r1k/1p2qp1p/p4R1Q/P1p5/2Prp3/7P/1P4P1/5R1K w - - bm Re6; id "ECM.129";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.130";
+2rq1rk1/pp2bppp/1npp1n2/3PpN1b/2P5/2N3PP/PP2PPB1/R1BQ1RK1 w - - bm c5; id "ECM.131";
+rnbq1rk1/pp2b1pp/5n2/2pPp3/2P1N3/3B1N2/PP4PP/R1BQK2R w KQ - bm d6; id "ECM.132";
+2n1rbk1/5pp1/7p/qP1pp3/4b1Q1/1B5P/1P1N1PP1/2B1R1K1 w - - bm Rxe4; id "ECM.133";
+4k3/2R2p2/5p1p/8/rb6/1N6/5PPP/5K2 w - - bm Rc4; id "ECM.134";
+2k3r1/pp2rp2/1np5/2Np1p2/P2P3p/1R2P1Pq/2Q2P1P/1R4K1 w - - bm Nxb7; id "ECM.135";
+2r1k3/p3nrR1/1p1p4/2p1p1p1/2P1B3/2PP1P2/P5K1/7R w - - bm Rh8+; id "ECM.136";
+8/1Qp3pk/7p/5p2/5Pqn/1P1r4/P5PP/2B2RK1 b - - bm c6; id "ECM.137";
+2rr1bk1/5p1p/pPN2np1/3Bp3/2Q1n3/1P2B1Pq/P3PP2/R2R2K1 b - - bm Rxd5; id "ECM.138";
+3r2k1/1p4pp/p1q1p3/3p1B2/bP1B2P1/P4Q2/5PKP/2b2R2 w - - bm Rxc1; id "ECM.139";
+rnb1r1k1/pp5p/2pp2p1/4b3/2P1P2q/1NN1BPp1/PP1QB1P1/3RR1K1 b - - bm Bf4; id "ECM.140";
+5n1r/1p2kp2/rB1Nb3/4p1Pp/4p2P/1PP5/8/1K1R1R2 w - - bm Rxf7+; id "ECM.141";
+b3r3/q2B2k1/3Q2p1/1p5p/3pP3/5P2/1p4PP/5RK1 b - - bm d3+; id "ECM.142";
+4r1k1/3R1ppp/p2p4/5PP1/2q2P2/2n2B2/P1P3QP/1r3R1K w - - bm Rxb1; id "ECM.143";
+2r3k1/pp2n3/6pQ/4q3/8/2P1p1P1/P5BP/3R2K1 w - - bm Bd5+; id "ECM.144";
+6k1/4ppbp/p5p1/1B1Q4/2P2Pn1/8/qr4PP/2B2RK1 b - - bm Bd4+; id "ECM.145";
+8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - bm Ba3; id "ECM.146";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.147";
+5r2/1b3pk1/pqrpp1p1/4n1Nn/1p2PP1P/8/PPPQB3/1NKR2R1 b - - bm Rfc8; id "ECM.148";
+1r2k2r/p5bp/4p1p1/q2pn3/1p2N1P1/6QP/PPP5/1KBR3R w k - bm Bh6; id "ECM.149";
+rn1q1rk1/pp3p1p/2p5/3p4/5Q1P/2NP3R/PPP3P1/4RK2 w - - bm Rg3+; id "ECM.150";
+7r/kppQP1pp/p7/2qp1R2/4n3/1P2b2P/P1P3PK/R7 b - - bm Re8; id "ECM.151";
+r1b1kb1Q/qp2pp2/p3n1p1/2nN2Pp/2B4P/7N/PPP5/2KRR3 w q - bm Nc7+; id "ECM.152";
+8/1bq3kp/p5p1/1pb1p3/4P2P/2PQ2P1/1P5B/5N1K b - - bm Qd8; id "ECM.153";
+2r1q1r1/6bk/p2pN1pp/1p1N4/4P3/3R3Q/PnP4P/1K4R1 w - - bm Nf6+; id "ECM.154";
+4r3/Q2bppkp/3p2p1/3Nn3/4P3/6PP/1qr2PB1/R3R1K1 b - - bm Ra8; id "ECM.155";
+6k1/p1q2pp1/2n2b2/3B2Pp/2P2P2/5N1P/Pr1Q2K1/4R3 w - - bm Re8+; id "ECM.156";
+r1r3k1/p4n2/3p4/5NpR/8/2q2P2/P1PQ4/2K4R w - - bm Rh8+; id "ECM.157";
+8/p5Q1/2ppq2p/3n1ppk/3B4/2P2P1P/P5P1/6K1 w - - bm g4+; id "ECM.158";
+r1r3k1/1p1b1nq1/6p1/pN1p4/P2Np2R/1P2P3/1Q3PP1/1K5R w - - bm Nd6; id "ECM.159";
+1r2k2r/3q2pp/p3pp2/P7/2P1Q3/8/1nB3PP/1R3R1K w k - bm Ba4; id "ECM.160";
+r1bq3k/ppp2Qp1/2n1p2p/6N1/2BPN3/2P1n3/PP4PP/R5K1 w - - bm Nf6; id "ECM.161";
+3R4/1p2kp2/p1b1nN2/6p1/8/6BP/2r1qPPK/Q7 w - - bm Rd7+; id "ECM.162";
+6k1/p5p1/1p1p1nN1/1B1P4/4PK2/8/2r3b1/7R w - - bm Rh8+; id "ECM.163";
+8/5P2/4K1kP/4R3/8/8/8/5r2 w - - bm Rg5+; id "ECM.164";
+3r1rk1/p1p1qp1p/2p1b1p1/8/P2PRP2/2P1NQ2/6PP/R5K1 w - - bm f5; id "ECM.165";
+6k1/pr3ppp/1p3qn1/5NQ1/2p5/8/P4PPP/4R1K1 w - - bm Re8+; id "ECM.166";
+Q7/1pq2kpp/4bp2/3r4/2B5/P3P3/1r3PPP/2R1K2R b K - bm Rd1+; id "ECM.167";
+4r1k1/p4ppp/4q2r/1Q6/4p3/4P1P1/P4P1P/2RR2K1 w - - bm Rd6; id "ECM.168";
+8/5p1k/4p1p1/3p2K1/3P1Q1P/P4P2/7q/8 b - - bm f6+; id "ECM.169";
+r4r2/6k1/3p4/2pPp2p/4Pqp1/3P1P2/1R2Q1KP/5R2 b - - bm Ra1; id "ECM.170";
+4r1k1/1np1r1pp/1ppp1q2/6N1/1P3P2/4RQP1/7P/4R1K1 w - - bm Qh5; id "ECM.171";
+r4rk1/pp3p1p/3pq1p1/2nNp3/3R1P2/7Q/PP4PP/5RK1 w - - bm f5; id "ECM.172";
+3qn2k/1p3Bp1/rbn4p/2p5/p1P2p2/P2b2PP/1BQNRP2/1R4K1 w - - bm Qxd3; id "ECM.173";
+3r1rk1/1pp4p/1q3bp1/p3p3/P2n1P2/2BB3P/1PP2QP1/R4RK1 b - - bm Bh4; id "ECM.174";
+4rrk1/2p2ppp/p2b4/1p1P4/3P2nq/2P4P/PPQ1RPP1/RNB3K1 b - - bm Qxf2+; id "ECM.175";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.176";
+r3kb1r/2q2p2/3p4/ppp1n1B1/P6P/1B3pQ1/1PP3b1/2KRR3 w kq - bm Bd5; id "ECM.177";
+r1b2rk1/1p4pp/p1n3q1/4ppN1/7Q/2P1B3/P1P2PPP/R2R2K1 w - - bm Rd6; id "ECM.178";
+1rb2r2/1pR1N2p/p2R2pk/5p2/4pP2/1P1nP3/P4P1P/5BK1 w - - bm Rf6; id "ECM.179";
+r1b3k1/ppp2r2/6p1/3n3p/6qP/3BQ3/PBP5/2KR3R w - - bm Bd4; id "ECM.180";
+3r2k1/p2q1r1p/1p1N2p1/1PpP4/3b1Bn1/1Q4Pb/1P2RP1P/R5KB b - - bm Qxd6; id "ECM.181";
+4r1k1/1pbb3p/2pp2q1/p1n5/2P2R2/1PN1n1P1/PB2Q1B1/5RK1 w - - bm Qxe3; id "ECM.182";
+3r2k1/p2r1p1p/1pR1p1qP/3P1pP1/3R4/1P2Q3/P4K2/8 w - - bm dxe6; id "ECM.183";
+3r3k/p1Q3bp/2p3p1/8/2P1BRn1/1P4Pb/P1N1q2P/6BK b - - bm Nf2+; id "ECM.184";
+r4k2/p1pr1ppp/2q5/3PR2P/3Q4/8/6P1/5RK1 w - - bm Re7; id "ECM.185";
+1R3b2/3r3k/2p1bp1p/r1q1pNpQ/2PpP2P/6B1/P4PP1/1R4K1 w - - bm Nxh6; id "ECM.186";
+r1b4r/pp2ppk1/2np1np1/3N3p/2B1P3/q3BP2/P1PQ2PP/1R3RK1 w - - bm Nxe7; id "ECM.187";
+r3k2r/pb1n1pbp/4p1p1/q1n1P3/Bp1N1N2/4B3/PP3PPP/R2Q1RK1 w kq - bm Ndxe6; id "ECM.188";
+5rk1/Q2nqppp/5n2/2p5/8/1B2PP1P/Pr1B1P2/R3K2R b KQ - bm Ne4; id "ECM.189";
+5rk1/5pbp/b5p1/p1nNN3/1p2n3/1P4PP/P4PB1/2BR2K1 w - - bm Nd7; id "ECM.190";
+2k1r1r1/ppb2p2/6b1/2qP4/2P2P2/4pP1p/P3Q2P/2RBRN1K b - - bm Bd3; id "ECM.191";
+5r1k/pp1n1p1p/1b1qpP2/8/1PrN4/P1N1Q1P1/7P/3R1R1K w - - bm Qh6; id "ECM.192";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.193";
+1r3rk1/p4pbp/q1p2pp1/3p1b2/1n1P1P1B/PB3N2/1PPQR1PP/2KR4 b - - bm Bxc2; id "ECM.194";
+1rbr2k1/4qp2/p1n2bpp/1pp1p1N1/4P3/2P1BQ1P/PPB2PP1/3RR1K1 w - - bm Bxc5; id "ECM.195";
+2r2rk1/1p1q1ppp/1p3n2/3p1N2/4n3/1N3Q2/PPP2PPP/R2R2K1 w - - bm Rxd5; id "ECM.196";
+rn3rk1/pp2ppbp/6p1/2R3N1/2B3b1/q3B3/P1P1Q1PP/5RK1 w - - bm Rxf7; id "ECM.197";
+r1k3r1/pppnb1p1/4N3/3QP2p/3P3q/4B3/PPP2P2/R3KB2 w Q - bm Ba6; id "ECM.198";
+r1nqr2k/1p1b1Q1p/p5p1/P1pPb3/5B2/2N5/BP4PP/R4RK1 w - - bm Qf8+; id "ECM.199";
+8/k3r1b1/Pp2rpp1/1qpQ4/4nB2/2P2NP1/7P/R4RK1 w - - bm Bb8+; id "ECM.200";
+1k1r4/ppq2p2/8/2pPb1r1/2P1Q1B1/6P1/PP3PK1/R4R2 b - - bm f5; id "ECM.201";
+r1b2nk1/2qn1p1p/1ppR2p1/8/1PP1NP2/4r1PP/1Q2N1B1/3R2K1 w - - bm b5; id "ECM.202";
+8/5pk1/3q2p1/8/7P/5Q1K/6B1/6b1 b - - bm Qh2+; id "ECM.203";
+6r1/ppp4k/3p2rp/3Pb3/PPP1Np1q/5P1b/3QRRBP/6K1 b - - bm Bd4; id "ECM.204";
+4br1k/pR4bp/2r1B1pN/4npB1/3p4/P7/5PPP/4R1K1 w - - bm Rxg7; id "ECM.205";
+r1bq1rk1/pppn2bp/3p2p1/3N1p2/8/BP1BRQ1P/P1PP1PP1/4R1K1 w - - bm Nxc7; id "ECM.206";
+r6r/1p2kp2/3p1b2/pPpPpQ1P/1nP1P2P/6R1/1P2K3/1B6 w - - bm Rg6; id "ECM.207";
+2q1r1k1/1b3pbp/3p2p1/1Ppn3n/5P2/5B2/1P1B2PP/R2NNQ1K b - - bm Ndxf4; id "ECM.208";
+2r1r1k1/pp3pp1/3p3B/P2P1P2/2nb4/7R/1q3PQP/1B3R1K w - - bm Rb3; id "ECM.209";
+r2qr1n1/p4pk1/1p1p2p1/4p3/4PQ2/1PN2P2/1PP3P1/2KR3R w - - bm Rh7+; id "ECM.210";
+r4rk1/ppp3b1/3p1qp1/3Pp3/2P1Bn2/4BP2/PP1Q4/2K3RR w - - bm Rxg6; id "ECM.211";
+1k1r2r1/pp3p1p/B2q1n2/8/3Pb1p1/2Q5/PR3PPP/2B1R1K1 w - - bm Bf4; id "ECM.212";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.213";
+1q3rk1/r5b1/pNp1bn1p/2Pp1n2/1P2p3/1N2P2P/PBQKB3/3R3R b - - bm Nxe3; id "ECM.214";
+r4n1r/ppq1nk2/1bpRpN2/4PpQ1/8/2B4P/PPP2PP1/2KR4 w - - bm Rd7; id "ECM.215";
+3r2k1/p5pp/bpP1p3/3n1p2/2NQpP1q/P3P3/1B1R1R2/4KBr1 b - - bm Rxf1+; id "ECM.216";
+1rq1r2k/5Rbp/p2p1p1B/2p1p3/2P1P2Q/1P6/P5PP/3b3K w - - bm Bxg7+; id "ECM.217";
+5Q2/5p1p/3p2p1/4p1k1/4P1P1/3R1P1K/r6P/4q3 w - - bm f4+; id "ECM.218";
+2b2r1k/ppq3pp/3b3r/n3NpN1/Q2PpP1B/2P1R3/PP5P/4R1K1 w - - bm Ngf7+; id "ECM.219";
+2r1r1k1/1R4bp/p5p1/2pqn3/8/2B5/1PQ1B1PP/5RK1 w - - bm Bc4; id "ECM.220";
+7k/pp1q2pp/3Nr1n1/3B2Q1/2pP4/B3P1Pb/P6P/6K1 w - - bm Qd8+; id "ECM.221";
+r5k1/5p1p/bq1p2p1/r2Pp3/1p2N1P1/1P3P2/1KPQ3P/3R3R b - - bm Ra2+; id "ECM.222";
+5Bk1/pr2pp1p/2b3pQ/2p1q3/8/2P4P/PP4P1/1B1Rb1K1 w - - bm Bg7; id "ECM.223";
+5nk1/2b1q1p1/2p5/3pP1pQ/1r1P2P1/3B1R2/5PP1/6K1 w - - bm Rxf8+; id "ECM.224";
+1k1r3r/1pp2p2/p2b4/4n1p1/N3q1P1/1B2B3/PP3RP1/4RQK1 b - - bm Rh1+; id "ECM.225";
+rnb1kr2/p4pQ1/8/1ppPpP2/2p1P3/N6P/Pq4B1/3R1RK1 w q - bm Nxb5; id "ECM.226";
+5r1k/2p3pp/3pQ3/3P1rN1/pp5q/5PR1/P4PKP/B7 w - - bm Bxg7+; id "ECM.227";
+8/pR3Bk1/3p2p1/5b1p/2P4P/6P1/P4bQK/4q3 b - - bm Bg1+; id "ECM.228";
+r1b1Rnk1/6pp/p4q2/1pp2P2/3r4/2NB4/PP1Q2PP/4R1K1 w - - bm Nd5; id "ECM.229";
+1Q6/pb3pk1/1p3qp1/1N3p1p/2Pr3P/3BR1PK/r7/6R1 b - - bm Rh2+; id "ECM.230";
+rq3r1k/p2n1p2/1pbb1np1/2p2BB1/8/2N2N2/PP3QPP/3R1RK1 w - - bm Rxd6; id "ECM.231";
+2kr3r/Qpp1n1p1/2b2pp1/4b3/8/6N1/PPP2P2/R1B2RK1 b - - bm Rh1+; id "ECM.232";
+8/2p2Q1p/1rp5/p3q1kp/P7/2P2RP1/5PK1/8 w - - bm Rf5+; id "ECM.233";
+1r2b3/1p2q1bk/p1p1p1p1/P1PpP2r/1P1KpPQP/4P2N/6R1/4B2R b - - bm Rxe5; id "ECM.234";
+6k1/3b1p1p/6p1/2BPR3/8/4Q2P/1q3rPK/8 w - - bm Re8+; id "ECM.235";
+2R5/4ppkp/6p1/p2P4/4P2P/p3B1P1/qbR2PK1/8 w - - bm Rg8+; id "ECM.236";
+3rr1k1/1b5p/p6p/1p3N2/6Pb/P1Q1p3/1PP4P/R5K1 b - - bm Bf2+; id "ECM.237";
+6k1/p4pq1/2n1p1p1/1p1pP1N1/3P1QPP/8/P3K3/8 w - - bm Qc1; id "ECM.238";
+3r1rk1/1pq1nppp/p7/2pB3Q/P4P2/1P2P3/6PP/2RR2K1 w - - bm Bf3 Rxc5; id "ECM.239";
+8/p1r2q1k/1p1p3p/1Pp1nP2/P1P5/3R2PP/1Q4BK/8 w - - bm Rxd6; id "ECM.240";
+6k1/1pp2p2/p2p2q1/2PPb3/4r3/Pr4PK/2R5/2Q2NR1 b - - bm Rh4+; id "ECM.241";
+3r4/1pQ4R/p1b2kp1/P6p/2q5/7P/2P3P1/6K1 b - - bm Rd1+; id "ECM.242";
+6rr/1b3k1p/pbqppPn1/1p5Q/4PN2/P6R/1PP3BP/2B2R1K w - - bm Qxh7+; id "ECM.243";
+4rrk1/3b1ppp/pb6/1pqP4/P1p1PP2/1P2NK2/3QB2P/R2R4 b - - bm Rxe4; id "ECM.244";
+2r1r1k1/1p4bp/p2p1qp1/1n1P4/2P1B2P/1N1Q4/PP2R3/1K5R b - - bm Rxc4; id "ECM.245";
+6rr/ppqb1pkp/2pb1pn1/3p3Q/3P1P1N/3B1RN1/PPP3PP/5RK1 w - - bm Qh6+; id "ECM.246";
+r2qr1k1/1pnb1pp1/p1n1p2p/8/P2P3P/B2B1NP1/6P1/R2Q1RK1 w - - bm Bh7+; id "ECM.247";
+r2q1rk1/1b1nbpp1/p1p1p2p/1pPpN3/3P1N2/P2BP3/1PQ2PPP/R4RK1 w - - bm Bh7+; id "ECM.248";
+2r2rk1/pb4pp/1p2p3/4Npq1/3P1n2/5P2/PP1R2PP/RB2Q1K1 b - - bm Rc1; id "ECM.249";
+2r1rbk1/5pp1/bq5p/1pnBPN2/6Q1/N7/5PPP/R2R2K1 w - - bm Bxf7+; id "ECM.250";
+1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - bm Bb7; id "ECM.251";
+r5k1/pp2ppb1/4qn2/r3B1p1/3P4/3QNP1R/PP2K1P1/7R w - - bm Bxf6; id "ECM.252";
+1R2br1k/5r1p/p2p1P2/6RQ/3p1P2/4p2B/q6P/5N1K w - - bm Rxe8; id "ECM.253";
+kr1r4/7p/2bqp1p1/p7/1Pp1PP1P/K1B1nNPB/PP5R/RN2Q3 b - - bm Qxb4+; id "ECM.254";
+5r1r/1pkb4/5pB1/2P5/p3R2P/Pq6/1PQ2Pn1/K2R4 w - - bm Rxd7+; id "ECM.255";
+kn5r/p2r2p1/1pqBp1np/1Q1pPp2/R2P4/1N6/2P2PPP/R5K1 w - - bm Rxa7+; id "ECM.256";
+4Rnk1/2p2pp1/3r3p/p2P4/P5Q1/1B5P/5PK1/q7 w - - bm Rxf8+; id "ECM.257";
+4r3/2k1p2q/pp1nR1p1/2pP1pP1/2P2P2/1P6/P1K3B1/4Q3 w - - bm Rxd6; id "ECM.258";
+2b3k1/p4ppp/7q/2Q5/8/P3r1P1/1r4BP/R3R1K1 b - - bm Rxg2+; id "ECM.259";
+r1b1rbk1/7p/2p1pBp1/p2pP1P1/5P2/1PqB4/P1P1Q3/1K4RR w - - bm Rxh7; id "ECM.260";
+2rq4/5rbk/3p1n1p/p2Pp2P/1p2b3/4BNR1/PP1Q1P2/3BK1R1 w - - bm Bxh6; id "ECM.261";
+r2q1rkb/pp2p3/2p2pp1/3pPb2/3P3R/2N3P1/PPPQBPK1/3R4 w - - bm Rxh8+; id "ECM.262";
+3r2k1/p4rPp/1b1q3Q/n1p1pP2/1p6/3B1NR1/P4P1P/6RK w - - bm Qxh7+; id "ECM.263";
+r1bqrnk1/p4p2/1p5p/3pB1p1/P2P2n1/1P1B2N1/2Q3PP/R4RK1 w - - bm Bh7+; id "ECM.264";
+r2rn1k1/1bqn1ppp/p7/2bpP1P1/1p1N1Q2/1P3B2/PBP1NR1P/3R2K1 w - - bm Qxf7+; id "ECM.265";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.266";
+r1b1r1k1/1p1n1p2/p1nBp1p1/q2pP1Np/P7/R2B3Q/2P2PPP/5RK1 w - - bm Nxf7; id "ECM.267";
+r1b1k2r/ppp3pp/1qp5/2b1Pp2/3Qn3/5N2/PPPBNPPP/2KR3R w kq - bm Qd8+; id "ECM.268";
+1k6/1p4p1/P1p5/5Q2/2q2r2/P7/8/4R2K w - - bm Re8+; id "ECM.269";
+6k1/1p3p2/4r1p1/1PPrbq1p/2QN4/P2R1P1P/R4KP1/8 b - - bm Bg3+; id "ECM.270";
+4n1q1/1k1b4/2p4R/2Pp4/1p1N1rpQ/3B4/PPP2P2/2K5 w - - bm Nxc6; id "ECM.271";
+r2qk2r/1pp2ppp/p3pnn1/6N1/1B1P2P1/1Q2P2P/PP3PK1/R6R b kq - bm Nh4+; id "ECM.272";
+2kr2r1/R2p3p/2n2p2/1R3P2/2P1p3/4BQ2/1Pq4P/4K3 w - - bm Ra8+; id "ECM.273";
+r3r1k1/pp3pp1/2bb1q2/3p4/4n1Pp/2P1BB1P/PP2NPK1/R1Q4R b - - bm Qxf3+; id "ECM.274";
+r1br4/ppq2pk1/3bpN2/8/2P5/3n2B1/PP2QPPP/R4K1R w - - bm Qg4+; id "ECM.275";
+6kb/B1p2p2/5r2/1r1p2pR/6q1/3P2P1/P1P2PP1/2KR3Q b - - bm Rb1+; id "ECM.276";
+rn4k1/pp2p1b1/4b3/q2p2Q1/2B2P2/8/P1P1K1P1/R6R w - - bm Rh8+; id "ECM.277";
+3k2r1/pp1b3Q/1b2pP1p/3pN2q/5B2/7B/PP2nP1K/2R5 b - - bm Rg2+; id "ECM.278";
+2r2rk1/pp3qpp/8/3P1b2/3Q4/P1N1B3/5PKP/R2R4 b - - bm Rxc3; id "ECM.279";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.280";
+4k2r/1bqnbppp/p3p3/1p2P1N1/2r2BB1/8/PPP3PP/R2Q1R1K w k - bm Nxf7; id "ECM.281";
+5r1k/1pqb3p/2n5/p1pB4/2Pp1r1P/1P5P/R2N2K1/3Q1R2 b - - bm Bxh3+; id "ECM.282";
+r4r2/pp2qk2/4pnp1/3pQ3/2p2P2/3B4/PPP2P2/2KR3R w - - bm Bxg6+; id "ECM.283";
+3bq3/p1n2rk1/1pp1p1p1/3pPnPp/1P1P1N1P/2PN3K/P2BQR2/8 w - - bm Nxg6; id "ECM.284";
+b6r/2q2k2/4pPp1/1p1n2Bp/2pPB1PP/2P2Q2/8/4R1K1 w - - bm Bxg6+; id "ECM.285";
+r1b2r2/3pNpkp/3pn1p1/2pN3P/2PnP3/q3QP2/4BKP1/1R5R w - - bm Qh6+; id "ECM.286";
+4k3/p4ppp/nb1P4/4p3/1P6/P4BP1/3q1r1P/2R2QKR w - - bm Qb5+; id "ECM.287";
+r2q1rk1/pp2pp2/3pb3/3Qb2R/4P1p1/1BN1Bn2/PPP2P2/2K4R w - - bm Rh8+; id "ECM.288";
+2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - bm Nxg7; id "ECM.289";
+1rbk2nr/p1pp2b1/7p/2qP1pp1/2Bn4/2NKBP2/PP2N1PP/R2Q3R b - - bm Qxc4+; id "ECM.290";
+1r3rk1/6p1/p1pb1qPp/3p4/4nPR1/2N4Q/PPP4P/2K1BR2 b - - bm Rxb2; id "ECM.291";
+5rk1/ppp1q2p/1n1p1np1/3P2N1/1P1R2P1/2Q4P/P3r1B1/5RK1 b - - bm Rxg2+; id "ECM.292";
+6k1/pp2p2p/3p2p1/4b1r1/2Pn1r1q/2B1N3/PP4B1/R3QRK1 b - - bm Qh2+; id "ECM.293";
+r2qnr2/pp3kbQ/2npb1p1/2pN1pP1/4P3/8/PPP1BP2/R1B1K1NR w KQ - bm Qxg6+; id "ECM.294";
+r2k3r/2pb1ppp/p1p1q3/2Q5/5B2/2N5/PPP2PPP/3R2K1 w - - bm Bxc7+; id "ECM.295";
+2r2r2/2N2pkp/2Q5/1N2p1b1/1p6/3P1qPb/PPR2P1P/4R1K1 b - - bm e4; id "ECM.296";
+2r1qrk1/pp1b1ppp/4pn2/n1b5/8/2NQ1NP1/PP1BPPBP/R2R2K1 w - - bm b4; id "ECM.297";
+2b1qr1k/7p/p1pR2p1/1pP1p1Q1/4P3/1B6/PP4PP/6K1 w - - bm Re6; id "ECM.298";
+1r2k2r/2p2p1b/q1Pppb1N/p2p2P1/Q2P4/P3B3/1P5P/2KRR3 b k - bm Rb4; id "ECM.299";
+8/2b2k1p/2N2pp1/P2p4/3KnP2/6BP/P5P1/8 w - - bm Kxd5; id "ECM.300";
+4b1r1/1p3ppk/3r3p/p1p1qP1B/3pPN2/3P3R/nPPQ3P/6RK w - - bm Ne6; id "ECM.301";
+4b2k/7p/3q3P/1p1pRpr1/1P1B4/2P2Q2/7K/8 w - - bm Qg3; id "ECM.302";
+2kr2r1/pbp4p/1p4p1/1NqpNp2/4nQ2/8/PPPR1PPP/2K1R3 w - - bm Nc6; id "ECM.303";
+1rr3k1/1p1bqpbp/1R1p2p1/pN1P4/P3P1n1/1Q6/3NB1PP/2B1R1K1 b - - bm Rc3; id "ECM.304";
+r1br4/1p3k2/p2q1p2/3N1Pp1/3Q4/8/PP4P1/4RR1K w - - bm Re6; id "ECM.305";
+r3kbnr/p4ppp/2p1p3/8/Q1B3b1/2N1B3/PP3PqP/R3K2R w KQkq - bm Bd5; id "ECM.306";
+3r1rk1/2p1qp1p/pnP3p1/4n3/PP1NpR2/1BQ4P/6P1/5RK1 w - - bm Ne6; id "ECM.307";
+r1bq1k2/5pb1/p2p1n2/2pPrP2/2p4B/3B2R1/PP1Q2PP/R5K1 w - - bm Qg5; id "ECM.308";
+2bq1rk1/p4pbp/p2p2p1/3P4/2p1QP2/2Pr3P/PP1N2P1/R1B2RK1 b - - bm Bd4+; id "ECM.309";
+r5rk/1p1bqpnp/3p1b1B/pBnPp2P/4P3/2N2Q2/PP3P2/R3KNR1 b Q - bm Nf5; id "ECM.310";
+r3rk2/p2q1b1p/1pnP1Qp1/5pN1/2p2P2/P1P5/7P/4RRK1 w - - bm Re7; id "ECM.311";
+r3r1k1/p1q2pp1/2p4p/7n/BPPP2N1/3Q1N2/P3n1P1/R1B4K b - - bm Nhg3+; id "ECM.312";
+r2qrbk1/1p4pb/2n2p1p/pNpn4/2N5/PP1PPQPB/1B5P/2R2RK1 w - - bm Nbd6; id "ECM.313";
+5r1k/1p1b1p1p/p2ppb2/5P1B/1q6/1Pr3R1/2PQ2PP/5R1K w - - bm Qh6; id "ECM.314";
+r1b2rk1/p3bppp/2q5/8/2p1NR2/PnB1P3/1PB1Q1PP/3R2K1 w - - bm Rd6; id "ECM.315";
+r1rbb3/1R3pkp/2pBp1p1/p3P3/q6P/6P1/P2Q1P2/1R3BK1 w - - bm R1b4; id "ECM.316";
+4r3/pp1b3k/2p2qpp/2Pp4/1P6/PBbP1N1P/2R3P1/3Q3K b - - bm Re1+; id "ECM.317";
+1rb2rk1/p1p2ppp/2q5/3R4/2P1N3/bP4B1/P1Q2P1P/1K5R w - - bm Bd6; id "ECM.318";
+8/5k1p/5PpB/3PR3/2r4P/1p3K2/2b5/8 b - - bm Re4; id "ECM.319";
+4r2k/3b3p/p2p4/2pP1p2/q1B2Q1P/2PK1P2/Pr1R4/7R b - - bm Re4; id "ECM.320";
+rnb2rk1/pp2bppp/2p5/q7/4NN2/4B1QP/PPP3P1/2KR3R w - - bm Rd5; id "ECM.321";
+2R5/2R4p/5p1k/6n1/8/1P2QPPq/r7/6K1 w - - bm Rxh7+; id "ECM.322";
+r1b1r1kb/p1qn1pnp/2p1p1p1/4P1N1/2p1NPP1/4B3/PPPQ3P/3RK2R w K - bm Qxd7; id "ECM.323";
+5k1r/ppqnnp2/3b2p1/2pB2Qp/3p3N/1P1P2P1/P1P2P2/2B1R1K1 w - - bm Rxe7; id "ECM.324";
+5rk1/5p1p/8/3pNp2/RPrqn3/1Q5P/1P3PP1/4R1K1 w - - bm Rxe4; id "ECM.325";
+2rr2k1/4qppp/bn6/p1bB4/4N3/6P1/PB2PP1P/2RQ1RK1 w - - bm Rxc5; id "ECM.326";
+3r1rk1/pbqn1pp1/1pp2n1p/2b1p1B1/P1B1P2N/2N4P/1PP1QPP1/3R1RK1 w - - bm Rxd7; id "ECM.327";
+5rk1/r2nqpp1/p3p3/1p2P3/4N1pP/8/PPP3Q1/1K1R3R w - - bm Rxd7; id "ECM.328";
+1rr3k1/4ppb1/2q1bnp1/1p2B1Q1/6P1/2p2P2/2P1B2R/2K4R w - - bm Qh6; id "ECM.329";
+2r2r1k/1pq1b1p1/p1b1Qn1p/8/3B4/2NB4/PPP3PP/3R1R1K w - - bm Rxf6; id "ECM.330";
+3rqb2/1pR3pk/p3n1pp/3p4/3B4/PP6/1P4PP/4RQK1 w - - bm Rxe6; id "ECM.331";
+rkb2qr1/1p5p/pQ1bp3/3p2B1/5n2/3B1N2/PP3PPP/2R2RK1 w - - bm Rxc8+; id "ECM.332";
+2r2rk1/1bq2ppp/p7/1p1pNN2/1b1PnB2/3Q3P/PP3PP1/R3R1K1 w - - bm Rxe4; id "ECM.333";
+r3r1k1/1p3pPp/p1p5/3bb2N/7q/1P1Q4/2PB2PP/4RRK1 w - - bm Rxe5; id "ECM.334";
+8/5p2/4p1k1/4P1p1/2rBRbK1/5P2/r4P2/7R b - - bm Rxd4; id "ECM.335";
+r1bqr1k1/pp3pp1/2p4p/3PN1n1/3P1b2/2NB4/PPQ2PPP/3R1RK1 b - - bm Rxe5; id "ECM.336";
+r3r1k1/pbqn1ppp/1p3n2/1Pb5/2p5/5N1P/PBQ1BPP1/1N1R1RK1 b - - bm Rxe2; id "ECM.337";
+2r2rbk/6bp/5qp1/1N1p1n2/4p3/1p5P/1P3PP1/RBBQ1RK1 b - - bm Ng3; id "ECM.338";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.339";
+1k2r2r/1bpQN2p/1p6/P3p2q/4np2/2P2N2/2P2PPP/R3R1K1 b - - bm Rxe7; id "ECM.340";
+r1k2n1r/2pb4/1p1p1qpp/p2P1p2/3N1P1P/2Q3P1/PPP1R3/2K1RB2 w - - bm Re8+; id "ECM.341";
+r1b2r1R/1p2bpk1/4p1p1/4P1N1/p2p4/5Q2/qPP2PP1/1NKR4 w - - bm Qf6+; id "ECM.342";
+rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - bm Nxe6; id "ECM.343";
+4q1r1/5kpp/2p1nb2/2PpQp2/r4P2/1N3P2/1BP1R2P/6RK w - - bm Rxg7+; id "ECM.344";
+2r1k2r/1pq1bppp/p3bn2/4N3/2pPN3/2P5/P3QPPP/R1B1R1K1 w k - bm Nxf6+; id "ECM.345";
+1r3k1r/4Rn1p/pb1p1P2/1p1q2P1/5p2/7Q/PPP1B1RP/2K5 w - - bm Rxf7+; id "ECM.346";
+4rrk1/ppn3pp/2pb1n1q/3p4/1P1P4/P3BNP1/2P1BPKP/R2Q1R2 b - - bm Rxe3; id "ECM.347";
+2b1r2k/2Q4p/4q3/1pp5/3b4/4NP2/1P3BP1/3R2K1 w - - bm Rxd4; id "ECM.348";
+r3r1k1/pp3ppp/1qp5/2bbNQ2/5B2/2P5/PP3PPP/3RR1K1 w - - bm Rxd5; id "ECM.349";
+7r/3qbk1r/3p1n2/p1pPp1p1/Pp1nPpP1/1P1Q1P1B/1NP3K1/R3B2R b - - bm Nxg4; id "ECM.350";
+r2qn1k1/1p1b3p/2pp1b2/6pQ/p1P1P3/P1N3PB/1P6/3R1R1K w - - bm Rxf6; id "ECM.351";
+2rq3r/5p2/p3pkbQ/3p4/3N4/2P4R/P4PP1/4R1K1 w - - bm Rf3+; id "ECM.352";
+r4k1r/pp2pp2/3p1b2/q2PnQpp/3N4/1BP3P1/PP3PP1/3RR1K1 w - - bm Rxe5; id "ECM.353";
+5rk1/2p3pp/p1p4r/2P1p3/3pPnq1/1P3R1P/PN1Q3K/R5N1 b - - bm Qxf3; id "ECM.354";
+r1b3rk/pp1n3p/2p2b1n/4pp1q/2P5/1P3NPP/PBQ1NPB1/3RR1K1 w - - bm Rxd7; id "ECM.355";
+2r2rk1/p3p1bp/3qP1p1/1Q1p4/P4P2/3R4/1P4PP/2B2RK1 b - - bm Rxc1; id "ECM.356";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.357";
+1r6/3b1pk1/pr1p1q1p/2pPb1p1/2B1P1P1/2N2PP1/1PQ3K1/RR6 b - - bm Rxb2; id "ECM.358";
+2r2rk1/5ppp/1p2p3/p7/1n1R4/P1NnPN2/1P3PPP/1R4K1 b - - bm Nxb2; id "ECM.359";
+2r3k1/p1r1ppb1/2bp1np1/q5N1/1p1BP2Q/3P4/PP2N1PP/2R2R1K w - - bm Bxf6; id "ECM.360";
+r3r1k1/p4ppp/2pp1b2/8/q2n1P2/2BQ3P/PPP3P1/1K1R2NR b - - bm Re3; id "ECM.361";
+rn1kr3/pppb4/3p1q2/3P1pNn/2P2P1p/1P2Q2P/P2NR1B1/4R1K1 w - - bm Qxe8+; id "ECM.362";
+r2q1rk1/ppp1b1pp/1nn1p3/4P3/2PP4/2N1B2P/PP1Q4/2KR1B1R b - - bm Rxf1; id "ECM.363";
+r3k3/1pqb1p2/p3p3/4n2r/3N1Q2/2P5/PP4B1/4RRK1 w q - bm Rxe5; id "ECM.364";
+1rb2bk1/q4r2/pB1p1nn1/3Pp3/N3PpP1/8/1PQ1BNP1/R1R3K1 b - - bm Rxb6; id "ECM.365";
+2rbr2k/1pq2ppp/p3bn2/4p1B1/P3P3/2N3Q1/1PP1B1PP/3R1R1K w - - bm Rxd8; id "ECM.366";
+r4rk1/5p2/p1b1pQpq/8/1B2P3/2NR4/PPP3PP/1K6 w - - bm Rd5; id "ECM.367";
+3nr1k1/p6p/2n1pRpB/3pP3/2pP2P1/q1P4P/6BK/5Q2 w - - bm Rxg6+; id "ECM.368";
+2rr2k1/5ppp/p1b1pn2/q1p5/P1B1PQ2/R1PN1P2/6PP/1R4K1 b - - bm Rxd3; id "ECM.369";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.370";
+1k2rb1r/pbp1q1pp/2pp4/2PnpP2/Q7/1P3NP1/PB5P/2KR1B1R w - - bm Rxd5; id "ECM.371";
+7k/p1p1r2p/1p1pnr1q/5pp1/2PPPp2/2PB1P1P/P2Q1PRK/7R b - - bm g4; id "ECM.372";
+5qk1/p4p2/1p3Pp1/2p4Q/3rr3/7R/PP6/6RK b - - bm Rh4; id "ECM.373";
+5r1k/5Bb1/3p2Pp/p1pP4/1p2Q3/4P1P1/q7/3K3R w - - bm Rxh6+; id "ECM.374";
+2b4B/1pp2k2/1p6/3P3n/5p1P/1P4p1/P2r2P1/R5KR b - - bm f3; id "ECM.375";
+r3k2N/pppbq1pp/5n2/3Ppn2/2BP4/2P3bP/PP2Q1P1/RNB2K1R b q - bm Bh2; id "ECM.376";
+r2q1r2/p1pbppbk/1p3npp/n2P2B1/7Q/2NB1N2/PPP3PP/4RRK1 w - - bm d6; id "ECM.377";
+5n2/3bp1r1/1r1p3k/p1p2pNp/1nP2P1P/1PN1PB1K/P5R1/6R1 w - - bm Nf7+; id "ECM.378";
+r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - bm Bxe5+; id "ECM.379";
+r1b1qbk1/7p/4p1p1/1p2Bp2/p1B2Q2/P3P3/1P3PPP/3R2K1 w - - bm Bc3; id "ECM.380";
+2r1k2r/3b1pb1/p2ppp2/2q2P2/2p1P2p/P1N2N2/1PP1Q1PP/3R1R1K w k - bm e5; id "ECM.381";
+3r1rk1/1pq1bppp/p7/n2RN3/P7/1P6/1B2QPPP/R5K1 w - - bm Nd7; id "ECM.382";
+q1r3k1/2r4p/2p3pP/2Qp1p2/PRn5/4P1P1/5PB1/1R4K1 w - - bm Rxc4; id "ECM.383";
+r3bknr/1p4pp/p3Q3/q4pb1/P1Bn4/8/1PP2PPP/R1B1R1K1 w - - bm Qd6+; id "ECM.384";
+r1b1nrk1/p2n3p/2pp4/8/2P2q1N/1PB4P/P4PB1/R2QR1K1 w - - bm Bd5+; id "ECM.385";
+7k/5rp1/p1bQB2p/1p4nN/4P3/1Pq5/P5PP/3R3K b - - bm Bxe4; id "ECM.386";
+r4r1k/1bq4p/p4bp1/3pn3/NP6/Q1PBB2P/6P1/3R1RK1 b - - bm d4; id "ECM.387";
+r2r2k1/1bq2pb1/6pp/2P1p3/1nBpN2N/6PP/2Q2P2/3RR1K1 w - - bm Nf6+; id "ECM.388";
+r3rbk1/p1q2pp1/1n5p/2pp4/4N3/1PQ3P1/PB2PP1P/3R1RK1 w - - bm Nf6+; id "ECM.389";
+2k1r3/Qp3pb1/2p4p/6q1/8/1P4PN/PBPn1P2/K2R4 b - - bm Qe5; id "ECM.390";
+r3r1k1/1pp2p1b/7p/2Q5/2PP2p1/2P1NpPq/P2R1P1P/6RK b - - bm Rxe3; id "ECM.391";
+5bk1/5p1p/Q5p1/1B4n1/8/2q1p3/6PP/3R2K1 b - - bm e2; id "ECM.392";
+r5k1/1p3pp1/1p3q1p/1P1bQ3/P2P3n/8/3B1PPP/R3R1K1 b - - bm Nf3+; id "ECM.393";
+2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - bm Rxa6; id "ECM.394";
+r5kr/p3PR1p/1p1p2pq/4n3/8/3B4/P4QPP/4R1K1 w - - bm Rxe5; id "ECM.395";
+2bq1b2/1p3k2/1r1p1p1p/pNpP1PpP/P1P3P1/6B1/1P5Q/2K1R3 w - - bm Re6; id "ECM.396";
+2kr3r/pp3p1p/2b1p3/q3Q3/5P2/2P1B3/P1P3PP/1R3RK1 b - - bm Rhg8; id "ECM.397";
+2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - bm Rxd3; id "ECM.398";
+2r2nk1/6pp/p1rPqp2/1pP1p3/1P6/2B3R1/1P2Q1PP/5RK1 w - - bm Rxf6; id "ECM.399";
+3r2k1/pb3p1p/1q4p1/2b1P3/1Pp5/2P1p1P1/P3Q1BP/R1B4K b - - bm Qc6; id "ECM.400";
+r2rnbk1/pp3ppp/1q4n1/3p1N2/5P2/1PQB4/PBP3PP/4RR1K w - - bm Nh6+; id "ECM.401";
+r3nrk1/p1pb1qpp/3p1p2/2pP1N2/2P1PR2/P1PB4/4Q1PP/5RK1 w - - bm e5; id "ECM.402";
+r1b2rk1/pp2qp2/2nRp1p1/6Pn/1Pp5/P1N1P3/1BQ2PP1/2K2B1R w - - bm Rxh5; id "ECM.403";
+5rr1/pp1kq1bp/2bppn2/2p3B1/4N3/2NP2P1/PPP4P/R3QRK1 b - - bm Nxe4; id "ECM.404";
+1r1q1k2/R4pp1/5p1r/1p1p1n1p/3Pb2N/1BP5/2P1Q1PP/4R1K1 w - - bm Qxe4; id "ECM.405";
+R2b2k1/2rq1n1p/3p2p1/1p1Ppp1n/1P6/1B1PQN1P/1B3PP1/6K1 w - - bm Nxe5; id "ECM.406";
+r1b3kr/bp3ppp/p1nNp3/4P3/P1Q2P2/BBP5/5qPP/R2R3K w - - bm Nxc8; id "ECM.407";
+6k1/5rb1/6pp/1p2p3/2b5/4B1P1/r4PBP/1RR3K1 w - - bm Rxc4; id "ECM.408";
+4r1k1/1p5p/5ppP/1qnP4/r4R2/P6P/1B1Q2K1/5R2 w - - bm Rxf6; id "ECM.409";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm e6; id "ECM.410";
+r4rk1/1b4bp/p1npq1P1/R3p3/8/1N2BP2/1PPQ2P1/4KB1R w K - bm Qxd6; id "ECM.411";
+6k1/pbq2pp1/4r2p/8/3prb2/1P1Q3P/PN2BPP1/3RRK2 b - - bm Bd2; id "ECM.412";
+6k1/2p3p1/2b4p/p4P2/2pR2PK/2P1r2P/1B6/8 b - - bm Bg2; id "ECM.413";
+r1b2rk1/pp2ppbp/2np1np1/q7/4P3/2N1BN2/PPPQBPPP/2KR3R b - - bm Nxe4; id "ECM.414";
+3r1rk1/p1q4p/1p3bp1/3bnp2/3B4/1NPB3P/P1PQ2P1/1R2R2K b - - bm Nf3; id "ECM.415";
+r2q1rk1/p5pp/bn1p1p2/2pP4/1bP1NP2/3B1R2/PBQ3PP/R5K1 w - - bm Ng5; id "ECM.416";
+1r1q2k1/7p/2p3p1/1P1n1b1r/2BQ4/4B3/P6P/1R3RK1 w - - bm bxc6; id "ECM.417";
+r3kbnr/1ppb3p/p1q1pp2/3p4/3P4/2N2N2/PPP2PPP/R1BQ1RK1 w kq - bm Ne5; id "ECM.418";
+r1b1qbk1/pp3r1p/2pR1np1/5p2/2P1pP2/1PN1Q1PP/PB2P1B1/5RK1 w - - bm Rxf6; id "ECM.419";
+3rr1k1/1p1qb2p/pP4p1/2p2p2/4RQ2/3P4/1PPB2PP/4R1K1 w - - bm Bc3; id "ECM.420";
+2b2r2/rpp2pkp/3pq3/2pR2P1/2n1P1N1/2P2B2/1P3Q1P/1K5R b - - bm Qxd5; id "ECM.421";
+6k1/rnqb3p/5ppQ/2pPp3/p1N1P3/2PB3P/5PP1/1R4K1 w - - bm f4; id "ECM.422";
+7r/pp4k1/3pn1p1/q1pB1b2/2P5/5NR1/1P3PP1/2Q3K1 w - - bm b4; id "ECM.423";
+5r2/4prkp/3q2p1/2pP1n2/N1Q2R2/1P4PP/P5K1/4R3 b - - bm g5; id "ECM.424";
+B1b1rbk1/5ppp/pq6/1p2n3/2p2P2/6PP/PPQ4K/R1BR4 b - - bm Ng4+; id "ECM.425";
+8/2R4p/2R3bk/8/5N1P/1p3PP1/2pqP1K1/8 w - - bm g4; id "ECM.426";
+6k1/p4p1p/3pqp2/2p1r3/2Pnr1N1/P6P/1P1Q1PP1/3R1RK1 b - - bm Ne2+; id "ECM.427";
+1kqr3r/p1p4p/RpQP4/2P1p3/4B3/4Bp2/P4P1P/6K1 b - - bm Rdg8+; id "ECM.428";
+6k1/3Q1pp1/4p2p/p2pP3/1p1P2P1/nP1R1N2/q1r2PKP/8 w - - bm Qe8+; id "ECM.429";
+6k1/5pp1/p5r1/3Np2q/4P2p/1r3P1Q/n4P1P/3R2RK w - - bm Rxg6; id "ECM.430";
+nr2rb2/3q1kpp/3p4/pnpPpNBP/2N1P3/3Q4/PP3P2/2K3RR w - - bm Nh6+; id "ECM.431";
+r3k1r1/1pp2ppp/pb1p1qn1/4p2b/2B1P3/N1PP1NPP/PP2QPK1/R4R2 b q - bm Nh4+; id "ECM.432";
+1n2n1r1/r3qppk/p2p3p/3PpP1P/1P2P3/3B2RQ/3B1P1K/6R1 w - - bm Bxh6; id "ECM.433";
+r2b4/pb2q1k1/np1p2r1/1N1Pp2Q/PPN1Pp2/8/2R2BPp/2R4K w - - bm Ncxd6; id "ECM.434";
+r7/2qnb1kp/p2p1nP1/1p1Pp1p1/6N1/3BB2Q/PPP4P/5RK1 w - - bm Qxh7+; id "ECM.435";
+n1rqk3/1p2p3/1n1pP1p1/pP1P1p1r/3B3P/1BN3p1/3Q4/R3K2R w KQ - bm Qg5; id "ECM.436";
+rn2kr2/pp1b1pQp/3Pp3/qB1n4/3N4/P7/1PP2PPP/2KR3R w q - bm Nxe6; id "ECM.437";
+3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - bm Bh4; id "ECM.438";
+r1r3kb/1pqbpp2/p2p1npB/n7/3NP3/1BN2P2/PPPQ2P1/2KR3R w - - bm Bf8; id "ECM.439";
+4rr1k/pbp3bp/3p4/1p5q/3n4/1B1Q2B1/PP1N1N1P/4RRK1 b - - bm Rf3; id "ECM.440";
+r3k2r/pp2ppbp/1qp5/2n2b2/2P5/4BN2/PP1QBP1P/2KR3R b kq - bm Nb3+; id "ECM.441";
+4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - bm Ng6+; id "ECM.442";
+2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - bm Qb2; id "ECM.443";
+2r3k1/n3qppp/1B1r1n2/N7/N4P2/1Q4PP/P5B1/R1b4K b - - bm Qe1+; id "ECM.444";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.445";
+rnb2k2/ppbp2p1/2p2pB1/8/1PN5/2P5/P4PPP/R1B3K1 w - - bm Bf4; id "ECM.446";
+2k5/1p1b4/2n1p1r1/7q/4RP2/3BQN2/2P2K1P/8 w - - bm f5; id "ECM.447";
+2k3r1/1ppr3p/p1pB2q1/6n1/N3Pp2/8/PPP1Q1PP/3R1RK1 b - - bm f3; id "ECM.448";
+r3q2r/2p1k1p1/p5p1/1p2Nb2/1P2nB2/P7/2PNQbPP/R2R3K b - - bm Rxh2+; id "ECM.449";
+6r1/6rk/3p3p/p2Rp3/R1PqPp1b/2N2Q2/6PP/7K b - - bm Rxg2; id "ECM.450";
+4r1k1/1p2rq1p/2bQpp2/p1Pp4/3P4/P3RN2/5PPP/4R1K1 w - - bm Ne5; id "ECM.451";
+b2b1r1k/3R1ppp/4qP2/4p1PQ/4P3/5B2/4N1KP/8 w - - bm g6; id "ECM.452";
+1k4q1/1p2Rprp/p1p5/2Pp4/1P1Q3P/6P1/P5K1/8 w - - bm Qe5+; id "ECM.453";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "ECM.454";
+r4r1k/p2bN2p/1p1p1p2/2q4P/3Q4/1P6/1PP3P1/1K2R2R w - - bm Ng6+; id "ECM.455";
+2kr3r/p5b1/Pp2R1p1/2q2p1p/2p2Pn1/2P2BP1/1PQB2P1/5R1K b - - bm h4; id "ECM.456";
+r1b2k1r/1p2qp2/pN1p1n2/2pP2pp/P2bP1P1/2N5/1P2BPP1/R2Q1RK1 b - - bm hxg4; id "ECM.457";
+6nk/p4rrp/1p1p1p2/1q1Pp2R/4B1P1/1PP2Q1R/P6P/7K w - - bm g5; id "ECM.458";
+r1b1k2r/6pp/p1p1p3/3np1B1/1b2N3/8/q1PQB1PP/3RK2R w Kkq - bm Qxb4; id "ECM.459";
+3qrbk1/1r3p2/p1bp1Pp1/1p2p1Pp/4P2R/1P2BB1Q/P1P4P/R6K w - - bm Bxh5; id "ECM.460";
+2r3k1/4qpp1/2p1r3/pbQpN1Pp/3P1P1P/4P3/PP6/1KR3R1 w - - bm Qxb5; id "ECM.461";
+4r2k/p2Q3p/2p1r1p1/4NpR1/3P4/2P1PP1b/P4q1P/6RK w - - bm Nxg6+; id "ECM.462";
+4r1kb/p2r4/1np1p1p1/3nP1Bp/1p3P1R/1B2qP2/PPPN3Q/2K4R w - - bm Rxh5; id "ECM.463";
+2rq2k1/pp1bpp1p/3p1np1/8/3NPPnQ/1BP5/P1P3P1/1K1R3R w - - bm e5; id "ECM.464";
+r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - bm Rxd5; id "ECM.465";
+2r1kr2/p1qbbp1Q/3pp3/5p2/1p1N1PB1/6P1/PPP4P/K2RR3 w - - bm Bxf5; id "ECM.466";
+r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - bm Rf6; id "ECM.467";
+2rr2k1/5pn1/1b2q1pp/pP1pP3/2pP1PP1/2R1B2P/2Q3B1/3R3K w - - bm f5; id "ECM.468";
+2Q2bkr/5p2/1rb5/1pN1n1qB/1P1pPN2/6P1/5P2/R1R3K1 w - - bm Nce6; id "ECM.469";
+2r4r/1q1kb1p1/4p2p/3pP3/np6/3RBP2/NPP2Q1P/1K2R3 b - - bm Nc3+; id "ECM.470";
+2r4r/3bk1b1/1q2pp2/3pPp1p/1p1N1P1P/1P1R1BP1/P2Q4/1K1R4 w - - bm Nxf5+; id "ECM.471";
+1rb3k1/2r2pbp/p2q1npn/P1pPp1N1/2B1P3/2P1B1NP/5QP1/3R1RK1 w - - bm Ne6; id "ECM.472";
+r7/pp4pk/2n3qp/5p2/3p4/P4QB1/1PP1RPPP/6K1 b - - bm d3; id "ECM.473";
+2r2r1k/1p3p1p/p2p1Pp1/3Pp3/1q2Bn1Q/8/1PP3PP/4RR1K w - - bm Rxf4; id "ECM.474";
+r4rk1/5ppp/p7/4PR2/P1qnp2Q/4B3/1P4PP/5RK1 w - - bm Rh5; id "ECM.475";
+4r3/pb3pk1/6p1/8/6P1/1PNrB2K/P4P1P/2R5 b - - bm Rexe3+; id "ECM.476";
+1r3kr1/p3q1b1/3p2Q1/2p2p2/2P2N2/4Pn2/PB6/K2R3R w - - bm Ne6+; id "ECM.477";
+5r1k/6bp/3p1q2/3Q1nP1/8/6P1/PP3BKP/R2N4 b - - bm Ne3+; id "ECM.478";
+1r1q1k1r/Q4ppp/2B2n2/8/Pbbp4/1P4P1/2PP1P1P/R1B1K2R b KQ - bm Qe8+; id "ECM.479";
+5rk1/p1p1R1p1/1p5p/8/2pP1P2/3n2P1/PP2Q2P/5KNq b - - bm Nxf4; id "ECM.480";
+r5k1/1N3ppp/4b3/1Nq5/Pn3pn1/5B2/1PPQ3P/R6K b - - bm Qxb5; id "ECM.481";
+1r2k2r/1bq2pp1/pn2p2p/1p2P1b1/3N4/2N3Q1/PPP3PP/1K1R1BR1 w k - bm Bxb5+; id "ECM.482";
+r1bqn1r1/p2k1pp1/1p5p/n1pPpN2/2P1P3/P1PBB2P/4Q1P1/R4RK1 w - - bm Nxh6; id "ECM.483";
+2r2r2/p4p1k/1p2pBpn/2p5/6N1/8/P4P2/R3R1K1 w - - bm Kg2; id "ECM.484";
+r4rk1/p1p2pp1/bp1p1q1p/n1nPpN2/2P1P2P/2PB4/P2BQPP1/R3K2R w KQ - bm Bg5; id "ECM.485";
+3rn1k1/pp3ppp/6b1/2p1Q3/2P1P3/P4P2/1B1qBP1P/1R5K w - - bm Rd1; id "ECM.486";
+4r1k1/5ppp/p1q3b1/1ppNr3/2P1P3/1P4QP/P4PP1/4RRK1 w - - bm f4; id "ECM.487";
+2kr2r1/2pqbp1p/p1n1b3/1P1pP3/4n3/1BP1BN2/1P4PP/RN1Q1RK1 b - - bm Bh3; id "ECM.488";
+2b3k1/5qp1/p2r1n1p/3p4/3B4/1RP3QP/P2Nr1P1/3R2K1 b - - bm Ne4; id "ECM.489";
+6k1/5rp1/4Nb1p/2p5/4Q3/1r5P/q5P1/3R1R1K w - - bm Rxf6; id "ECM.490";
+1r2r1k1/p4ppb/q1pbnn1p/4p3/N1P1P3/pPB2NP1/2Q1RPBP/R5K1 b - - bm Nxe4; id "ECM.491";
+r4r2/1pnqb2k/3p1p1p/p1pPpPpP/2P1N1P1/4BP2/PP1Q4/R2R2K1 w - - bm Bxc5; id "ECM.492";
+rnb3kr/ppp2ppp/1b6/3q4/3pN3/Q4N2/PPP2KPP/R1B1R3 w - - bm Nf6+; id "ECM.493";
+6kr/1p1r1p1p/p2pnPpQ/3Np2R/2q1P3/5P2/PPP5/2KR4 w - - bm Rxe5; id "ECM.494";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.495";
+r2q1rk1/pp1n2pp/2pb4/1P1p3n/P1PPpP2/4P2b/1BNNBP1P/R2QR1K1 b - - bm Nxf4; id "ECM.496";
+rq1r2k1/3nbp1p/p2p2p1/1p1Pp1P1/3B1P2/3B3Q/PPP4P/2KR2R1 w - - bm f5; id "ECM.497";
+r4rk1/1bq1bppp/8/p2pPR2/3B4/1NnP3Q/1P4PP/4R1K1 w - - bm Rh5; id "ECM.498";
+r4rk1/1nqb1pbn/6pB/pppPp2p/8/1PP2NNP/P1BQ2P1/R4RK1 w - - bm Nxh5; id "ECM.499";
+r1b2rk1/pp4bp/2p3p1/4q2n/NQPN1p1P/1P5n/P3PPB1/2BRRK2 b - - bm f3; id "ECM.500";
+4rqk1/p5b1/3p3p/3Pn1p1/1pP1NrP1/4NP2/P3Q1P1/1K1RR3 b - - bm Nxf3; id "ECM.501";
+r2qkr2/1p3pQp/2p1b3/1B1pN3/1p6/8/1P1K1PPP/2B1R3 w q - bm Nxc6; id "ECM.502";
+r3rk2/pb2bpp1/1n5p/q1pP1B2/1p3B2/5N2/PPQ2PPP/R2R2K1 w - - bm Bc8; id "ECM.503";
+r1bqr2k/ppp2p1p/5b2/3Pn1p1/1PP1Bp2/8/PB2N1PP/R2Q1RK1 w - - bm Nxf4; id "ECM.504";
+1q4k1/p3rppp/3b1n2/8/5P2/4P3/PP1B3P/RNQ3K1 b - - bm Bxf4; id "ECM.505";
+r3k2r/1p1b1p2/p3p3/2b3p1/4N1n1/1B5P/PPP3P1/R1B2R1K b kq - bm Bc6; id "ECM.506";
+r3kb1r/npqbpp1p/p3n1p1/P3P3/6N1/3B1NB1/1PP3PP/R3QRK1 w kq - bm Ng5; id "ECM.507";
+7k/p6p/4bppb/1N6/P2p1p2/1PrP2P1/2r1P2P/1R1Q2K1 b - - bm f3; id "ECM.508";
+2kr4/pp1r1pp1/4n1p1/4R3/2Pp1qP1/3P2QP/5PB1/1R4K1 w - - bm Rc5+; id "ECM.509";
+3r1qk1/5p1p/4b1pP/1pRp4/1P1Q4/r5P1/5P2/4RBK1 w - - bm Rxe6; id "ECM.510";
+r2qkn1r/pb2bp2/1pp1p3/5p1p/2BPN3/5NQ1/PPP2PPP/1K1RR3 w kq - bm d5; id "ECM.511";
+2rr1nk1/pp2q1b1/4p1p1/5p2/1nB5/2B1N1QP/PP4P1/4RRK1 w - - bm Nxf5; id "ECM.512";
+3r3k/p4npp/1p2qpb1/4P3/5P2/P3N3/1B2QP1P/6RK w - - bm exf6; id "ECM.513";
+6rk/1b2bp1p/ppq1p3/2p1Pp2/P1Br1P2/1PNR2P1/2P1QK1P/6R1 b - - bm Rxf4+; id "ECM.514";
+r3r1k1/p1q2pp1/b1pb3p/n7/B3n3/2P1BN2/PP1N1PPP/R2QK2R b KQ - bm Nxc3; id "ECM.515";
+4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - bm Bxf6; id "ECM.516";
+r5n1/pppb1B2/2k1pb2/3p2B1/5P2/2N5/PPP3P1/2KR4 w - - bm Nxd5; id "ECM.517";
+2b2q2/r2n2kp/1n1p1pp1/p1pP4/1pP1NPN1/1P1B4/P5PP/Q3R1K1 w - - bm Nexf6; id "ECM.518";
+1k1r2r1/p1p3q1/2p2p2/3pn3/1P1b2bB/1QN5/P4PPP/1R2RBK1 b - - bm Nf3+; id "ECM.519";
+r3k2r/1bq1bp1p/p2p1np1/1p2p3/3NP3/P1N2QB1/1PP2PPP/3RR1K1 w kq - bm Ndxb5; id "ECM.520";
+r2q4/5p1P/2p1bR2/ppk1p1P1/3pB2Q/8/PPP5/6K1 w - - bm g6; id "ECM.521";
+r3kb1r/pp1b1pp1/4p3/2q3Qp/5B2/2PB4/P4PPP/R3R1K1 w kq - bm Rxe6+; id "ECM.522";
+1rbr2k1/p4pp1/5b1p/2p1p3/3qPP2/1PNB2PP/PKP2Q2/5R1R b - - bm c4; id "ECM.523";
+r3r1k1/p6p/bp4p1/2bPN3/6n1/6P1/PB2RPB1/3R2K1 w - - bm d6; id "ECM.524";
+2bk3r/3r2pp/p2nQ3/q2R2P1/1p6/8/PPP2P1P/1K3B1R b - - bm Qxd5; id "ECM.525";
+3r1k2/1q1r1pp1/3p2bp/p2N4/8/2P1RQ1P/P4PP1/4R1K1 w - - bm Nf6; id "ECM.526";
+3q3r/p2r1pkp/bp1N1np1/n2p4/5Q2/B1P5/P4PPP/R3R1K1 w - - bm Nf5+; id "ECM.527";
+r4Nk1/1p2pp1p/p1np2p1/3N4/P3PPn1/8/1bPKBqPP/R2Q1R2 b - - bm Qd4+; id "ECM.528";
+1kb3rr/1p2n2q/1Np2p2/1p6/1P1N1P1p/8/2P1RQPP/R6K w - - bm Nxb5; id "ECM.529";
+r3r1k1/p3Rp1p/1qp1bQ2/8/1p1P4/3R4/PP3PPP/6K1 w - - bm Rg3+; id "ECM.530";
+rn4k1/pp2rpb1/2pNb1pp/4p3/P3Pq2/2P2N1P/1PB1QPP1/R3R1K1 w - - bm Nf5; id "ECM.531";
+3r1rk1/pp3ppp/8/2p5/4PB1n/P1P2qPP/Q3RP1K/6R1 b - - bm Qg2+; id "ECM.532";
+r4rn1/ppp1q3/2bp2kp/6P1/3QpP2/2N5/PPP1B3/2KR3R w - - bm f5+; id "ECM.533";
+3qr2r/1p1bppk1/3p2p1/p1nP1PQp/3N3R/1P4PP/P1P3BK/4R3 w - - bm Ne6+; id "ECM.534";
+2rq1rk1/1b1nbpp1/1p5p/p2pNB2/3p1N2/4P3/PPQ2PPP/2RR2K1 w - - bm Bh7+; id "ECM.535";
+8/5pkp/2pp2p1/4P3/1P2P3/2QBq2P/2PnNnPK/8 b - - bm Nf1+; id "ECM.536";
+r3r2k/pb2q1p1/1p2Nn1p/2b5/2B5/2P2P2/PPQ3PP/4RR1K w - - bm Nf4; id "ECM.537";
+r1b2nk1/ppq2ppp/8/1BP1p1NQ/5p2/8/PP3PPP/3R2K1 w - - bm Rd7; id "ECM.538";
+6k1/5qp1/pN5p/3pRp2/3QnP2/2r4P/r5P1/6RK b - - bm Qh5; id "ECM.539";
+5r1n/r2q1pkp/3p1npN/NppPp2P/1P2P3/2P1Q1P1/5P2/R3K2R w KQ - bm Nf5+; id "ECM.540";
+6rk/p2b4/3p1Nqp/2pPpn2/P1P4p/5P1P/Q2B1NP1/6RK b - - bm Ng3+; id "ECM.541";
+r4r1k/pppb2pp/8/3q4/2N5/P1P2nQ1/BP2R2P/R6K b - - bm Ne1+; id "ECM.542";
+r5rk/1pp1n1pp/p1n1b1q1/3p1p2/7R/2QB1N2/PB3PPP/4R1K1 w - - bm Rxe6; id "ECM.543";
+8/4Ppk1/6p1/1p6/1Pb1Q3/6pq/8/6K1 w - - bm Qe5+; id "ECM.544";
+3R4/4Qpk1/4p1p1/7p/7K/5rP1/5P2/2q5 w - - bm Qf8+; id "ECM.545";
+8/5pk1/p6p/2R5/3q2p1/6P1/2Q3PK/4r3 w - - bm Rg5+; id "ECM.546";
+1Q4R1/8/P1b2p2/2p2k2/2P5/5p2/1r5P/4R1K1 b - - bm f2+; id "ECM.547";
+5r1k/1q2R3/8/6Q1/8/8/6P1/7K b - - bm Rf1+; id "ECM.548";
+8/4p3/8/3P3p/P2pK3/6P1/7b/3k4 w - - bm d6; id "ECM.549";
+3Q4/k3K3/q7/2N1P3/1P6/5r2/8/8 b - - bm Rf7+; id "ECM.550";
+3k4/p1p5/8/2p1p3/4P3/PpPP2K1/1P6/8 b - - bm c4; id "ECM.551";
+6r1/5p1k/4p3/3pQp2/1p1P1P1q/1P3RR1/7r/5K2 w - - bm Rxg8; id "ECM.552";
+r1b2rk1/ppp2ppp/2n3q1/b2N2N1/2BP4/4p2P/PPP3P1/R2Q1RK1 w - - bm Nxf7; id "ECM.553";
+1r4k1/3qb2p/pr1pppn1/2p2N2/2P2PQ1/1P4P1/P2R2BP/R5K1 w - - bm Bd5; id "ECM.554";
+r6r/pR1nqkpp/2p1p3/3p4/6Q1/2b4P/P1PP1PP1/2B1R1K1 w - - bm Rxe6; id "ECM.555";
+1k1r3r/ppq2pnp/1npbb1p1/3p4/3P1NP1/2NBP2P/PPQ2P1B/1KR4R w - - bm Nb5; id "ECM.556";
+5rk1/p1p1br2/1p1p2qp/4p3/2PPn1pP/3Q2P1/PPN1P1K1/2RR2B1 b - - bm Bxh4; id "ECM.557";
+r5r1/4q2k/p2p3p/5p2/4p3/P2QR3/1PP2PPP/4R1K1 w - - bm Rxe4; id "ECM.558";
+r1b2rk1/4bnpp/2p5/pp2q3/4N3/PQ2B1P1/1PP3BP/4RRK1 w - - bm Ng5; id "ECM.559";
+2rr2k1/1p3p2/p2n2p1/P2PnNq1/3QP1p1/1RN5/6PP/5RK1 b - - bm Nf3+; id "ECM.560";
+r3k1r1/pb1qpp1p/1pnp1n1B/2p2R2/3PP3/2P3PN/P1P3BP/R2Q3K b q - bm Nxe4; id "ECM.561";
+2r2rk1/pp2bppp/3q1n2/3nNRB1/3P4/1B5Q/PP4PP/3R2K1 w - - bm Nxf7; id "ECM.562";
+r1bq1rk1/1pp2ppn/1pnp3p/3N4/2B1PN2/3P4/PPP3PP/R2Q1RK1 w - - bm Ng6; id "ECM.563";
+r1b2rk1/pp3p1p/2pq2pn/2nNN3/2B1QP2/8/P1PP2PP/R1B1K2R w KQ - bm Nxf7; id "ECM.564";
+1r2r1k1/1bn2pbp/pp1q1np1/2pPN1B1/P1B5/2N4P/1P1Q1PP1/R3R1K1 w - - bm Nxf7; id "ECM.565";
+1rb2bk1/2n2qp1/p2p3p/R1pP1p2/2B5/1PBQ1N1P/2P2PP1/6K1 w - - bm Rxc5; id "ECM.566";
+r1b3k1/2pq2pp/p4p2/1p1Nr3/2n2R2/1B6/PPQ2PPP/R5K1 w - - bm Rxc4; id "ECM.567";
+2rq1rk1/3bbppp/p3pn2/1p1pN3/2nP1B2/P1NBP2Q/1P3PPP/2R2RK1 w - - bm Nxd5; id "ECM.568";
+2r1r1k1/pp1b1ppp/1q6/3P4/7N/Pn1Q4/1P3PPP/1RB2RK1 b - - bm Nxc1; id "ECM.569";
+1r4nk/3b2bp/3p4/3P3p/2pNPq2/P1N2p1P/1P3Q2/1R4KR b - - bm Rxb2; id "ECM.570";
+2r5/p3kpp1/P2p4/1P2pP1p/1P2PqnP/6R1/r2N2P1/3RQ1K1 b - - bm Rxd2; id "ECM.571";
+2br2k1/1p2qppp/r1n1p3/pQ1nN3/P2P4/2B3P1/1P3PBP/2RR2K1 w - - bm Qxa6; id "ECM.572";
+5rk1/3q2bp/3pb2r/1p1n1p2/3p1P2/P2B1QN1/1P1B2PP/2R1R1K1 w - - bm Nxf5; id "ECM.573";
+4r1k1/1ppQr1p1/1p1p1pP1/3P3p/7P/1P3q2/P1P5/1KRR4 w - - bm Re1; id "ECM.574";
+2Rr2k1/7p/4pqp1/p4p2/1p1P1Q1P/8/PP3PP1/6K1 w - - bm Qe5; id "ECM.575";
+4r1kb/5p1p/6pB/3Np3/4n3/P3Q1PP/2q2P2/R5K1 w - - bm Rc1; id "ECM.576";
+5rk1/bp4p1/p2rp2p/8/8/2PN4/PP1R1PPP/3R2K1 b - - bm e5; id "ECM.577";
+2q1rk2/QR3ppp/1pPpb3/1P2p1b1/4P3/6P1/3N1PBP/6K1 w - - bm Bh3; id "ECM.578";
+n1bq3k/pp4bp/6p1/5pP1/3p1P2/1B1P4/PB3Q1P/4R1K1 w - - bm Bxd4; id "ECM.579";
+r3r1k1/p2n4/3p1pp1/qnp3B1/1p2P1P1/1P3P2/PP2N2Q/1K1R1B2 w - - bm Nf4; id "ECM.580";
+6k1/pb3ppp/1p2p3/4P3/5P2/P1r5/1q4PP/1B2Q1RK b - - bm Rc1; id "ECM.581";
+2rq1kbR/4R1p1/3p3r/pp1P1Pp1/6P1/3B4/PPP1Q3/6K1 w - - bm f6; id "ECM.582";
+2r5/5kb1/4ppp1/pp1qB3/2rP4/1RP2R1Q/P4PP1/6K1 b - - bm Rh8; id "ECM.583";
+4k3/4Bp2/1p2nP1P/2p5/2K1b1B1/8/P7/8 w - - bm Bf3; id "ECM.584";
+3rr1k1/ppp1qp1p/3b2p1/4np1P/1P1N1Pn1/P1P4R/1B1NB3/R2Q1K2 b - - bm Nf3; id "ECM.585";
+1k1r3r/ppqb4/5Ppp/3p4/P2np3/3BR1Q1/2PB1PPP/R5K1 w - - bm Rxe4; id "ECM.586";
+r2q1rk1/pb1nbpp1/1pp1pn1p/3pN3/2PPP3/2N1B1P1/PP3PBP/R2Q1RK1 w - - bm Nxc6; id "ECM.587";
+8/2R2pbk/6pp/1p2pq2/1P2Qn2/3P3P/3B1PP1/r3N1K1 b - - bm Nxd3; id "ECM.588";
+2r2rk1/pp2pp1p/2np2p1/q4P2/2PBP1b1/2N5/PP1Q2PP/R4RK1 w - - bm h3; id "ECM.589";
+r2b1rnk/1p4qp/p1p1b1p1/2PpNp2/PP1PnP1Q/3BB2R/4N1PP/R6K w - - bm Qxh7+; id "ECM.590";
+r1b2rk1/1p3pbp/2p3p1/p1q5/1P6/1Q4P1/1P2PPBP/R1B1R1K1 b - - bm Be6; id "ECM.591";
+4r1k1/r1q2p1p/p5pB/1pbBpN1n/1n2P3/5Q2/PP3PPP/R1R3K1 w - - bm Rxc5; id "ECM.592";
+r1r3k1/ppnbb1pp/2ppp1q1/1P3p2/P1PPn3/2N2NP1/2Q1PPBP/1RB2RK1 w - - bm Nxe4; id "ECM.593";
+r1b1k2r/2q1bppp/p3p3/1p1nP1B1/3Q4/2N5/PPP1B1PP/2KR3R w kq - bm Bxe7; id "ECM.594";
+1rb1r1k1/p1p1qppp/2pb4/8/2P3n1/4P1P1/PB2BP1P/R1QN1RK1 b - - bm Nxh2; id "ECM.595";
+2rqk1nr/pp3ppp/2n1p3/2b5/3N4/2NQB1P1/PP2PPKP/R4R2 w k - bm Nxe6; id "ECM.596";
+rnb2rk1/pp4pp/2pb1n2/3N1p1q/2P5/3N2P1/P1Q1PPBP/R1B2RK1 w - - bm Bf4; id "ECM.597";
+8/8/1p1k4/5ppp/PPK1p3/6P1/5PP1/8 b - - bm f4; id "ECM.598";
+8/5pp1/7p/5P1P/2p3P1/2k5/5P2/2K5 w - - bm f6; id "ECM.599";
+7k/8/1p1ppp1p/1Pp5/2P2P2/8/3P2PP/6K1 w - - bm f5; id "ECM.600";
+8/p5k1/2p2p2/4p1p1/1p2P3/1P4PP/1PP5/5K2 b - - bm g4; id "ECM.601";
+8/5K2/kp6/p1p5/P2p4/1P3P2/2P5/8 b - - bm b5; id "ECM.602";
+8/2k3p1/2p4p/5P2/2K3PP/8/8/8 w - - bm g5; id "ECM.603";
+8/1kp1b3/1p4K1/4P2p/P1P3p1/5pP1/P4P2/4B3 b - - bm h4; id "ECM.604";
+8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b - - bm g5; id "ECM.605";
+8/8/3K1k2/5p1p/4p1p1/4P1P1/5PP1/8 b - - bm f4; id "ECM.606";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "ECM.607";
+6r1/1p3k2/pPp4R/K1P1p1p1/1P2Pp1p/5P1P/6P1/8 w - - bm Rxc6; id "ECM.608";
+1k2b3/4bpp1/p2pp1P1/1p3P2/2q1P3/4B3/PPPQN2r/1K1R4 w - - bm f6; id "ECM.609";
+2kr3r/ppp1qpp1/2p5/2b2b2/2P1pPP1/1P2P1p1/PBQPB3/RN2K1R1 b Q - bm Rh1; id "ECM.610";
+1r3qk1/pb3p1p/1pn2PpQ/2pN4/3r4/5B2/PPP4P/4RRK1 w - - bm Ne7+; id "ECM.611";
+4r1k1/5p1p/3q2p1/1p1P4/1P6/2p4P/2Q1nPB1/4RK2 b - - bm Ng3+; id "ECM.612";
+6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - bm e5; id "ECM.613";
+5r2/pp1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+; id "ECM.614";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.615";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.616";
+3r2k1/p6p/b2r2p1/2qPQp2/2P2P2/8/6BP/R4R1K w - - bm Rxa6; id "ECM.617";
+8/p3q1k1/6p1/1p3nP1/2pp1QBr/P2P4/1PP2K2/R7 b - - bm Qe3+; id "ECM.618";
+7k/4b2p/5p1P/5PP1/1pNp1P2/1P1B4/2P2K2/r7 w - - bm g6; id "ECM.619";
+5r1k/1p1b2rP/p2p4/3P3B/P2P4/5pP1/1P2pP2/R3R1K1 b - - bm Rxg3+; id "ECM.620";
+6B1/2p2pp1/2p5/p3K3/1k6/nP4P1/5P1P/8 b - - bm Nc4+; id "ECM.621";
+3q1k2/5p2/p5pN/1b2Q2P/8/8/5PPK/8 w - - bm Qh8+; id "ECM.622";
+6k1/p3b1pp/4p3/4Pp2/Pp1r1P1P/1P4P1/2p2R2/5RK1 b - - bm Rc4; id "ECM.623";
+4r2k/3n1Qpp/1pRP1p2/p4P2/1p1P2P1/6rP/P3q1B1/6RK w - - bm Qe6; id "ECM.624";
+2r2rk1/p1N2p1p/2P1p1p1/1Pp3q1/3b4/5Q2/P1P3PP/4RR1K w - - bm Nxe6; id "ECM.625";
+3r1r2/pp1P3k/4Rbp1/1BP2p1p/8/7P/P4KP1/3R4 w - - bm Ba6; id "ECM.626";
+3rr1k1/pppRn1pp/4Pp2/1P5q/1QB5/4P3/P4P1P/4K1R1 w - - bm Qxe7; id "ECM.627";
+rn1q2k1/pp3pb1/3p2pp/2pP2N1/3r1P2/7Q/PP4PP/R1B2RK1 w - - bm Nxf7; id "ECM.628";
+8/6Bp/6p1/2k1p3/4PPP1/1pb4P/8/2K5 b - - bm b2+; id "ECM.629";
+5bk1/r4ppp/1r1P1n2/2p2N2/b7/2B3P1/5PBP/R3R1K1 w - - bm Bxf6; id "ECM.630";
+8/8/8/P2k1p2/2N5/1pb2P2/4P3/2K5 w - - bm a6; id "ECM.631";
+3qr1k1/p4ppp/1p1P4/2r1nN2/4P2n/P7/1B4P1/3QRRK1 w - - bm d7; id "ECM.632";
+6k1/5pbp/6p1/2p1r3/1pPr4/3n2NP/1PB2PP1/1R1R2K1 b - - bm Nxb2; id "ECM.633";
+4r3/p4pk1/6p1/P1pB2Pp/2P3b1/2p1N1P1/Qb1r1P2/6K1 b - - bm Rxe3; id "ECM.634";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.635";
+r4rk1/ppq3pp/2p1Pn2/4p1Q1/8/2N5/PP4PP/2KR1R2 w - - bm Rxf6; id "ECM.636";
+r3qr1k/1b4pp/p2RQ3/Bp2p3/4p3/6P1/PPP2P1P/3R2K1 b - - bm Qh5; id "ECM.637";
+8/6kP/6p1/1p1pP3/pP6/P1n2K2/2N5/8 w - - bm e6; id "ECM.638";
+8/Pb6/8/8/7K/5k1p/6pB/8 b - - bm g1=Q; id "ECM.639";
+8/pR4pk/1b6/2p5/N1p5/8/PP1r2PP/6K1 b - - bm Rxb2; id "ECM.640";
+6k1/p4pp1/Pp2r3/1QPq3p/8/6P1/2P2P1P/1R4K1 w - - bm cxb6; id "ECM.641";
+6k1/p4pbp/Bp2p1p1/n2P4/q3P3/B1rQP3/P5PP/5RK1 w - - bm dxe6; id "ECM.642";
+5r2/R4p2/5P1k/4PK2/1p6/8/8/8 w - - bm Rxf7; id "ECM.643";
+4r2k/pppb2pp/2np2q1/3B4/2P2P2/1PB1R1P1/PQ5P/6K1 w - - bm f5; id "ECM.644";
+1r6/3r1Pk1/p2p1np1/5q2/1p3P2/1B5R/PPP4Q/1K1R4 w - - bm Rh8; id "ECM.645";
+8/2k5/2p5/2pb2K1/pp4P1/1P1R4/P7/8 b - - bm Bxb3; id "ECM.646";
+2r5/1r5k/1P3p2/PR2pP1p/4P2p/2p1BP2/1p2n3/4R2K b - - bm Nd4; id "ECM.647";
+4r2k/p2qr1pp/1pp2p2/2p1nP1N/4R3/1P1P2RP/1PP2QP1/7K w - - bm Rxg7; id "ECM.648";
+6k1/p4p2/5Ppp/3RP3/Pr4P1/2p2K2/7P/8 w - - bm Rd8+; id "ECM.649";
+8/1R2P3/6k1/3B4/2P2P2/1p2r3/1Kb4p/8 w - - bm Be6; id "ECM.650";
+2kr2r1/pp2bQ1p/2b1P3/2qN4/8/1B2p2P/PPP3P1/3R1R1K b - - bm e2; id "ECM.651";
+r1b2rk1/1p2qppp/p3p3/2n5/3N4/3B1R2/PPP1Q1PP/R5K1 w - - bm Bxh7+; id "ECM.652";
+3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - bm Bb5; id "ECM.653";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.654";
+6rk/3nrpbp/p1bq1npB/1p2p1N1/4P1PQ/P2B3R/1PP1N2P/5R1K w - - bm Nxh7; id "ECM.655";
+1rb2rk1/3nqppp/p1n1p3/1p1pP3/5P2/2NBQN2/PPP3PP/2KR3R w - - bm Bxh7+; id "ECM.656";
+2k5/ppp3pp/8/NQ2n2q/2Pp1n2/R4bP1/1P3P1P/4R1K1 b - - bm Qxh2+; id "ECM.657";
+5rrk/1p3qpp/p3pn2/2PpBp2/3P1P1Q/P1P1R2R/2b1B1PP/6K1 w - - bm Qxh7+; id "ECM.658";
+r4rk1/1bq2ppp/p1p1p3/2b1P1B1/3p2Q1/3B4/PPP2PPP/R3R1K1 w - - bm Bxh7+; id "ECM.659";
+r4rk1/pb1q1ppp/2N1p3/2Rn4/3P4/3BPQ2/1P3PPP/2R3K1 w - - bm Bxh7+; id "ECM.660";
+r5rk/1p1q1p1p/5pn1/p2p1N1Q/3P2P1/PP2R3/5P1P/5RK1 w - - bm Qxh7+; id "ECM.661";
+2r2r2/p2qppkp/3p2p1/3P1P2/2n2R2/7R/P5PP/1B1Q2K1 w - - bm Rxh7+; id "ECM.662";
+1r1qr1k1/5p1p/1n2p1p1/pp1pP1P1/2pP1BB1/PnP3P1/1P3PK1/1R1Q3R w - - bm Rxh7; id "ECM.663";
+4rrk1/2q1bppp/p2p4/1p1Pn3/3B1R2/P2B2Q1/1PP3PP/5R1K w - - bm Bxh7+; id "ECM.664";
+r1b2rk1/2q1bppp/p1n1p3/1p1np1P1/5P2/1NNBBQ2/PPP4P/R4RK1 w - - bm Bxh7+; id "ECM.665";
+5r1k/ppp2qnp/1n1p1N1Q/3Ppb2/2P4P/7B/PP6/2KR2R1 w - - bm Nxh7; id "ECM.666";
+r4rk1/pp2q1p1/4b2p/2ppb3/6n1/2P3N1/PPQBBPPP/R4RK1 b - - bm Nxh2; id "ECM.667";
+b3r1k1/2rN1ppp/2n1p3/p7/P3BP2/1R6/q1P2QPP/3R2K1 w - - bm Bxh7+; id "ECM.668";
+2r1qrk1/3n3p/b3pPp1/4P3/1pp1nBN1/pP4PQ/P1P2PK1/3RR3 w - - bm Qxh7+; id "ECM.669";
+r1b1rnk1/pp1nb1pp/2p1pp2/q3N3/2PP1P2/3BP1N1/PBQ3PP/R4RK1 w - - bm Bxh7+; id "ECM.670";
+4r1k1/2q2r1p/p3bQ2/1p4Bp/2np4/8/PPB2PP1/3RR1K1 w - - bm Bxh7+; id "ECM.671";
+5rk1/pbrn1ppp/1ppN1q2/2P1p3/3P4/1PRB4/P3QPPP/5RK1 w - - bm Bxh7+; id "ECM.672";
+2rqr1k1/1p1bbppp/p3p3/n7/3P2Q1/2PB1N2/P4PPP/R1B1R1K1 w - - bm Bxh7+; id "ECM.673";
+r1b2r1k/ppppq1pp/2n1n3/6N1/2B2P2/4B3/PPP3PP/R2Q1RK1 w - - bm Nxh7; id "ECM.674";
+rn1q1rk1/pb1p1ppp/4p3/2pnP3/1bp5/2N2N2/PP3PPP/RBBQK2R w KQ - bm Bxh7+; id "ECM.675";
+r2r2k1/p1p2p1p/4pPp1/1Pqb4/8/7R/1PB2PPP/3QR1K1 w - - bm Rxh7; id "ECM.676";
+r1b2rk1/1pq2ppp/p1p1p3/2n1P3/2N2P2/3B4/PPP3PP/R2Q1RK1 w - - bm Bxh7+; id "ECM.677";
+rnq3rk/4bp1p/p1p3pQ/1p1pP3/1P1N1B2/2P3R1/1P3PPP/R5K1 w - - bm e6; id "ECM.678";
+rn3rk1/pp1bppbp/1qp3p1/4P1N1/PP1PB3/2P1B3/4Q1PP/R4RK1 w - - bm Nxh7; id "ECM.679";
+3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - bm Bxh7+; id "ECM.680";
+1r2nrkb/2n2p1p/p2p1Pp1/P1pPp1P1/1pP1P1q1/1P1BB1N1/3Q4/2KR3R w - - bm Rxh7; id "ECM.681";
+2rrn1k1/2q2ppp/p2pp3/1p2P1P1/4B3/P5Q1/1PP3PP/R4R1K w - - bm Bxh7+; id "ECM.682";
+r2q3r/2pkb1p1/p2p1n2/4p1p1/Pp2P1P1/1QP5/1P1P2PP/RNB2RK1 b - - bm Rxh2; id "ECM.683";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "ECM.684";
+2rq1bk1/1br2p1p/p2p2p1/1p1P4/4Q3/PP3N2/1BP5/1K1R3R w - - bm Rxh7; id "ECM.685";
+r2qn1k1/pb4Pp/1pn5/2p5/2P2p2/P1PB4/5PPP/R2Q1RK1 w - - bm Bxh7+; id "ECM.686";
+r4rk1/pp1n1ppp/3qp3/3nN1P1/b2P4/P2B1Q2/3B1P1P/1R2R1K1 w - - bm Bxh7+; id "ECM.687";
+r2r2k1/ppqbbppp/4pn2/6N1/n1P4P/3B1N2/PP2QPP1/1KBR3R w - - bm Nxh7; id "ECM.688";
+r5k1/6bp/2q1p1p1/p2pP3/3P4/1rP2QP1/3B1PK1/2R4R w - - bm Rxh7; id "ECM.689";
+r6r/4ppk1/p2p1bp1/B2p4/3P2p1/QP2P3/P1R1qPPP/2R3K1 b - - bm Rxh2; id "ECM.690";
+4nrk1/r4p1p/p2p2pQ/2pPpNPP/qpn1P3/5P1R/PPP1N3/2K3R1 w - - bm Qxh7+; id "ECM.691";
+r3k2r/1b1n1p2/pq1p1bp1/1p4p1/P3P3/1NN5/1PP3PP/R2QRB1K b kq - bm Rxh2+; id "ECM.692";
+r2qrnk1/4bppp/b1p5/1p1p2P1/p2P1N1P/2NBP3/PPQ2P2/2K3RR w - - bm Bxh7+; id "ECM.693";
+rn1q1rk1/pppbb1pp/4p3/3pP1p1/3P3P/2NB4/PPP2PP1/R2QK2R w KQ - bm Bxh7+; id "ECM.694";
+1r2nr1k/6pp/pp1p1p2/2pPnN2/q1P1PB2/5PR1/4K1P1/2Q4R w - - bm Bxe5; id "ECM.695";
+3r1rk1/4qp1p/p1bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - bm Bxh2+; id "ECM.696";
+r2q1rk1/3n1ppp/8/1pbP2P1/p1N4P/PnBBPQ2/5P2/R3K2R w KQ - bm Bxh7+; id "ECM.697";
+2k3r1/ppq2p1p/n1Pb1p2/8/6r1/4BN1b/PPQ2PPP/R3RBK1 b - - bm Bxh2+; id "ECM.698";
+3qr1k1/1br2ppp/p2b4/8/PpNp4/3P4/1PP2PPP/R1BQ1RK1 b - - bm Bxh2+; id "ECM.699";
+3r2k1/p1R2p2/4pQp1/1q5p/5P1P/1PR5/2Pr2P1/6K1 b - - bm Rxg2+; id "ECM.700";
+r1b4r/3p1kp1/pp3q1p/4RP2/8/B7/P5PP/4QRK1 w - - bm Qe4; id "ECM.701";
+1r2rnk1/2R2bpp/p2q4/1p1N2R1/5P2/1Q1B3P/PP4P1/7K w - - bm Rxg7+; id "ECM.702";
+3r2k1/pb5p/1p2qpp1/8/2p5/1P1nP3/P1N2PPP/1Q1R1R1K b - - bm Bxg2+; id "ECM.703";
+4rrk1/2qb2pp/p5P1/1p2p3/1b2P3/2N5/PPPQ4/1K1R2R1 w - - bm gxh7+; id "ECM.704";
+3q1k2/pp3ppn/2p1n2p/4pN1N/P3P2P/5Q2/1PP2PP1/6K1 w - - bm Nhxg7; id "ECM.705";
+2r2r1k/3b1pb1/p3pp1p/q2p1P1B/8/2N2RR1/P1PQ2PP/7K w - - bm Rxg7; id "ECM.706";
+5bk1/1p4p1/4N1R1/3p4/p1r2P1q/Pr1QP2P/1P6/1K4R1 w - - bm Rxg7+; id "ECM.707";
+2r1r1k1/5ppp/p3pn2/1pb1N3/2P5/1PQ3R1/PB2qPPP/3R2K1 w - - bm Rxg7+; id "ECM.708";
+7k/1bp1P1p1/3p2rp/1pb2p1q/5P2/1BP2N1P/1P4P1/R1B2R1K b - - bm Rxg2; id "ECM.709";
+r1q1bk1r/1p3pp1/4pn1p/p3Q3/P1P2N2/1B4R1/1P3PPP/4R1K1 w - - bm Rxg7; id "ECM.710";
+r4rk1/p2n2p1/1q1Qpn1p/1P6/P6B/2p5/2B1KP1P/R5R1 w - - bm Rxg7+; id "ECM.711";
+r2qr1k1/1p3ppp/2pb4/2Np4/1P1P2bn/3BP3/2QN1PPP/1RR3K1 b - - bm Nxg2; id "ECM.712";
+r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - bm Bxg7; id "ECM.713";
+r5k1/pn1q1rpp/2pp4/5R1N/bP6/4BQ2/P4PPP/2R3K1 w - - bm Nxg7; id "ECM.714";
+3r1rk1/5pp1/pq1n1n1p/2pPR3/2B2P2/1PBQ2RP/P5P1/6K1 w - - bm Rxg7+; id "ECM.715";
+rn3rk1/ppq2ppp/2pb1nb1/5N2/2BP4/8/PPP1N1P1/R1B1QR1K w - - bm Nxg7; id "ECM.716";
+r1qb1r1k/2p3pp/p1n1bp2/1p1Np2Q/P3P3/1BP3R1/1P3PPP/R1B3K1 w - - bm Rxg7; id "ECM.717";
+r4rk1/5ppp/p2pbb2/3B3Q/qp2p3/4B3/PPP2P1P/2KR2R1 w - - bm Rxg7+; id "ECM.718";
+4q1k1/1b3r1p/p4pp1/1p6/2P2n2/1P3N2/1B3PPP/R2Q3K b - - bm Nxg2; id "ECM.719";
+r2r3k/5bp1/2p2N2/5P1p/3q3Q/3B2R1/n5PP/3R3K w - - bm Rxg7; id "ECM.720";
+4rrk1/2pn2pb/p1p1qp2/1pb1pN2/P3P1PN/1P1P4/1BP2PK1/R2Q3R w - - bm Nxg7; id "ECM.721";
+r3r1k1/p3bppp/q1b2n2/5Q2/1p1B4/1BNR4/PPP3PP/2K2R2 w - - bm Rg3; id "ECM.722";
+r4rk1/1p1q1ppp/p1b4B/8/2R3R1/P2P4/1b1N1QPP/6K1 w - - bm Bxg7; id "ECM.723";
+rq3rk1/3b1ppp/p2bp3/3pB2Q/8/1B5P/PP3PP1/2RR2K1 w - - bm Bxg7; id "ECM.724";
+4kbr1/pp1bpp1p/3p1p2/3N4/1PBQP3/q7/P1r2PPP/R4RK1 b - - bm Rxg2+; id "ECM.725";
+2r3k1/1p2R1p1/p3n2p/2pq4/7P/1P1P2P1/PB1Q3K/8 w - - bm Bxg7; id "ECM.726";
+2rr2k1/4bppp/p1n1p3/3q4/1p1P2N1/2P3R1/P3QPPP/2B2RK1 w - - bm Nh6+; id "ECM.727";
+rq1r1bk1/1b3pp1/3pn2p/1n2BN1P/1P2P3/3R1NP1/3Q1PB1/2R3K1 w - - bm Bxg7; id "ECM.728";
+r1b5/ppqn2bk/3R2pp/2p2p2/2P1rN2/4BN2/PPQ2PPP/4R1K1 w - - bm Rxg6; id "ECM.729";
+3q1r2/1p1b1pk1/pn5p/3pN1pQ/3P3P/2r3B1/P4PP1/3RR1K1 w - - bm Nxf7; id "ECM.730";
+r1bqkbnr/pp2ppp1/2p4p/3n2N1/2BP4/5N2/PPP2PPP/R1BQK2R w KQkq - bm Nxf7; id "ECM.731";
+r2qr1k1/1ppb1p1p/p1np2p1/7Q/3PP2b/1B2N2P/PP3PP1/R1B2RK1 w - - bm Bxf7+; id "ECM.732";
+2r3k1/pbq1np1p/1p1b1Bp1/8/6QP/2P2N2/B4PP1/4R1K1 w - - bm Bxf7+; id "ECM.733";
+r3r1k1/1bqn1ppp/1pp2p2/8/3P4/1B4N1/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.734";
+r3r1k1/pp3ppp/8/1Nbp3q/3NnBn1/2P5/PPQ2PPP/3R1RK1 b - - bm Ngxf2; id "ECM.735";
+r2r2k1/1b2qpp1/1p2n3/p1b1p2p/4P1n1/PP1B2PP/1B1NQP2/R3NRK1 b - - bm Nxf2; id "ECM.736";
+r2qr1k1/1b2bp1p/p3p1p1/1p2N1Bn/3P4/P6Q/1P3PPP/RB2R1K1 w - - bm Nxf7; id "ECM.737";
+r5k1/1pp3pp/1b1p1r2/pN1P1n2/P1P3nq/6N1/1P1B1PQP/4RRK1 b - - bm Nxf2; id "ECM.738";
+2rqnk1r/pp2bpp1/2p1pn1p/2P1N2P/3P1BP1/3BQ3/PP6/2K2R1R w - - bm Nxf7; id "ECM.739";
+2rq1rk1/1b2bppp/p1n5/1p1BN3/5B2/P7/1P3PPP/R2Q1RK1 w - - bm Nd7; id "ECM.740";
+3r1qrk/p1p5/bbp3pp/4p3/4Pp1N/2Pn3P/PPQN1PPB/R4RK1 b - - bm Nxf2; id "ECM.741";
+r2qr1k1/pb2bp1p/1pn1p1pB/8/2BP4/P1P2N2/4QPPP/3R1RK1 w - - bm d5; id "ECM.742";
+r3r1k1/1bq1nppp/p1np4/1ppBpN2/4P3/2PP1N2/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.743";
+r5k1/p4ppp/3qpb2/1P2N3/1nBP4/1P5P/4QPP1/4R1K1 w - - bm Nxf7; id "ECM.744";
+r2qr1k1/1b1nbp1p/p3pp2/1p2N3/3P4/3B1N2/PP2QPPP/R2R2K1 w - - bm Nxf7; id "ECM.745";
+r3k2r/p1qb1p2/1p2p2p/3pPpN1/P1nP3Q/8/2P2PPP/R1B1R1K1 w kq - bm Nxf7; id "ECM.746";
+3qNk2/5p1p/1r3p2/2p5/Q1pb4/3b2P1/P4PBP/4R1K1 b - - bm Bxf2+; id "ECM.747";
+2r1r1k1/1pq1bp1p/p3pnp1/P2n2N1/7R/2P4P/1PB1QPP1/2B1R1K1 w - - bm Nxf7; id "ECM.748";
+r1bq2k1/pp1n1ppp/3b1n2/PQ1B3r/3N1P2/2N5/1PP3PP/R1B2RK1 w - - bm Bxf7+; id "ECM.749";
+2r1r1k1/5ppp/pq3b2/2pB1P2/2p2B2/5Q1P/Pn3PP1/2R1R1K1 w - - bm Bxf7+; id "ECM.750";
+r4rk1/ppRn1p2/6pb/2P1pq1p/3N4/P1QPn1Pb/1B1NPP1P/4R1KB b - - bm Qxf2+; id "ECM.751";
+r3kr2/1b2qp2/pp2p2N/4p2Q/8/2n5/P3B1PP/3R1R1K w q - bm Nxf7; id "ECM.752";
+b2r1rk1/pq2bpp1/1p2p2p/4N2n/2P2R2/1PB2N2/1P2QPPP/4R1K1 w - - bm Rxf7; id "ECM.753";
+rqb1k2r/1p1nbp1p/p4pp1/8/1PBN1P2/P1N1P3/7P/2RQ1RK1 w kq - bm Bxf7+; id "ECM.754";
+r2r2k1/4ppbp/5np1/p1q5/QnB1P3/5N2/1P3PPP/R1B2RK1 w - - bm Bxf7+; id "ECM.755";
+1r2q1k1/p3pp2/3p1bp1/2pP2N1/8/P5PB/2Q2PK1/1rBR4 w - - bm Nxf7; id "ECM.756";
+2rqrbk1/pb1n1p1p/1p2pnp1/4N3/2BP1N2/1P2Q3/PB3PPP/3R1RK1 w - - bm Nxf7; id "ECM.757";
+1r4k1/p4pp1/bqnrpn1p/2ppN3/2P2P1B/P3P3/1P2B1PP/1Q1R1RK1 w - - bm Bxf6; id "ECM.758";
+r1bqrbk1/5p1p/2pp2nB/pp5Q/4P3/PBNPR2P/1P4P1/R5K1 w - - bm Bxf7+; id "ECM.759";
+r1bqkb1r/1p3ppp/pn1P1n2/4p3/2B5/2N2N2/PP3PPP/R1BQ1RK1 w kq - bm Bxf7+; id "ECM.760";
+2rqr1k1/pp2nppp/3p2b1/6B1/2BNn1Q1/P7/1PP2PPP/2KRR3 w - - bm Bxf7+; id "ECM.761";
+r3r1k1/pbq1ppbp/1pp2np1/4N3/3P4/2P5/PPB1QPPP/R1B1R1K1 w - - bm Nxf7; id "ECM.762";
+r1b2rk1/p6p/2p3Pb/3pp1q1/8/2PB4/PP3PP1/RN1Q1K1R b - - bm Rxf2+; id "ECM.763";
+r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - bm Nxf7; id "ECM.764";
+r1bqr1k1/1p1nnpb1/p5pp/2P1p1B1/B3N3/5N2/P4PPP/2RQR1K1 w - - bm Nd6; id "ECM.765";
+r1b1r1k1/pp2qpbp/2p3p1/2P5/3NnB2/7P/PPQ1PPB1/2RR2K1 b - - bm Nxf2; id "ECM.766";
+rn2r1k1/pp3p1p/3P2p1/2p1bbB1/2B5/2N5/Pq4PP/R2Q1RK1 w - - bm Bxf7+; id "ECM.767";
+5rk1/r2qnppp/p1nN4/2Q5/3PB3/4P3/6PP/R4RK1 w - - bm Nxf7; id "ECM.768";
+1bq2k2/1b1n1pp1/pp5p/2pBpN2/P3P2B/3Q1P2/1PP3PP/4K3 w - - bm Bxf7; id "ECM.769";
+rnb2rk1/pp3pbp/2p3pB/2q5/4P3/1BN5/PPP3PP/R2Q1R1K w - - bm Rxf7; id "ECM.770";
+3qr1k1/1br1bp1p/p3p1pB/1p1nN3/3PB3/7Q/PP3PPP/3RR1K1 w - - bm Nxf7; id "ECM.771";
+1qr1b1k1/4bpp1/pn2p2p/1p1nN3/3P4/P2BBN1Q/1P3PPP/4R1K1 w - - bm Bxh6; id "ECM.772";
+rr1q2k1/1p2bpp1/2p1p2p/P1Pn4/2NP4/3Q1RP1/5PKP/2B1R3 w - - bm Bxh6; id "ECM.773";
+r2r2k1/pb1nbpp1/1qp1pn1p/1p2N3/3P1B2/P1N1P3/BPQ2PPP/2R2RK1 w - - bm Bxh6; id "ECM.774";
+2r5/1p4bk/3p2rp/4pN2/1P2P1pR/2P2q2/QP6/1K5R w - - bm Rxh6+; id "ECM.775";
+r1b1r3/pp2Npbk/3pp2p/q5p1/2QNPP2/6P1/PPP3P1/2KR3R w - - bm Ndf5; id "ECM.776";
+r1q3r1/1ppQ2pk/3bNp1p/p3pP2/P3P3/7R/1PP3PP/3R2K1 w - - bm Rxh6+; id "ECM.777";
+4r1k1/p1pq1pp1/2p5/3p1b2/Q7/2P1B2P/P1P1rPP1/2R2RK1 b - - bm Bxh3; id "ECM.778";
+1rbqnr2/5p1k/p1np3p/1p1Np3/4P2P/1Q2B3/PPP1BP2/2KR3R w - - bm Bxh6; id "ECM.779";
+r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.780";
+3r1r1k/p5p1/n1p2p1p/1qp2b2/N1R4R/1PB1P1P1/P2P3P/3Q2K1 w - - bm Rxh6+; id "ECM.781";
+r4rk1/2q1b1p1/p4p1p/n3pP2/1p2Q1N1/4B3/PPP3PP/4RR1K w - - bm Nxh6+; id "ECM.782";
+6rk/3b1n1p/1p1q3b/1PpNp3/2P1Pp2/2Q2NrP/5RP1/2R2B1K b - - bm Bxh3; id "ECM.783";
+r2q1rk1/ppp2pp1/1b2b2p/3n3Q/2Bp4/3P1N2/PPP2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.784";
+r3rbk1/1bp1qpp1/p6p/np2p2Q/4P2N/1BP4P/PP3PP1/R1B1R1K1 w - - bm Bg5; id "ECM.785";
+4q3/p2r1ppk/R6p/3n4/3B1Q2/4P2P/5PP1/6K1 w - - bm Rxh6+; id "ECM.786";
+7r/1p2qk2/pQ1p2p1/3Ppp2/P4b2/2P2PrP/1P2R1B1/4R2K b - - bm Rhxh3+; id "ECM.787";
+5rk1/Qp5p/3pp1p1/4n3/2P1P2q/5r1P/P3NPP1/3R1RK1 b - - bm Rxh3; id "ECM.788";
+2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - bm Bxh6; id "ECM.789";
+3q1rk1/p2bbpp1/1rn4p/1pp2P2/3pBBP1/3P3P/PPPQ3N/R4RK1 w - - bm Bxh6; id "ECM.790";
+2br2k1/4qppp/p5r1/2pBp3/2P1Pn2/4Q2P/RP3PPK/1N4R1 b - - bm Bxh3; id "ECM.791";
+r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - bm Bxh6; id "ECM.792";
+r5r1/pbn4k/1p1p1Ppp/2pPn3/4BQq1/1PN3P1/PB3PK1/3R1R2 w - - bm Qxh6+; id "ECM.793";
+r1b2rk1/pp2bpp1/4p2p/2q4Q/5nNB/2PB4/PP3PPP/2KR3R w - - bm Nxh6+; id "ECM.794";
+6k1/p4ppp/1pn1b1rr/8/PBpPp2q/2P1P1NP/5PP1/RR3QK1 b - - bm Bxh3; id "ECM.795";
+r1b2rk1/1p3pp1/p5Pp/2bpPp1Q/3N4/1Pq1B1R1/2P4P/3R2K1 w - - bm Bxh6; id "ECM.796";
+r2r2k1/pp1n1bp1/2p2p1p/b4N2/q2BR3/2QB2PP/1PP5/2KR4 w - - bm Nxh6+; id "ECM.797";
+3r2bk/1q4p1/p2P1N1p/2p1rP2/pb5R/7P/1P4P1/2Q2RK1 w - - bm Rxh6+; id "ECM.798";
+2b1rk2/r6p/1pP1p1p1/p2pNnR1/5Q2/P1B4q/1PP2P1P/1K4R1 w - - bm Nxg6+; id "ECM.799";
+6R1/6Q1/3q2p1/5p1p/P3p1k1/1P1r2P1/5PK1/8 b - - bm Rxg3+; id "ECM.800";
+r6r/ppnqpk2/3pbpp1/5N2/1PP1P3/5RR1/P2QB1PP/6K1 w - - bm Nh6+; id "ECM.801";
+3r3r/p4pk1/5Rp1/3q4/1p1P2RQ/5N2/P1P4P/2b4K w - - bm Rfxg6+; id "ECM.802";
+2b2r1k/2p3pp/2Nb4/pP5q/2PP4/P4pP1/5P1P/R1BQ2K1 b - - bm Bxg3; id "ECM.803";
+r1bq2k1/pp3r1p/2n1p1p1/3pP3/6Q1/2PB2P1/P4PK1/R1B4R w - - bm Bxg6; id "ECM.804";
+3q1rk1/2r4p/n1p1n1pQ/p2pP3/Np1P2R1/5PN1/PP3KP1/2R5 w - - bm Rxg6+; id "ECM.805";
+2Nq1rk1/6pp/b1p2b2/p6Q/np1p4/6P1/PB3PBP/R3R1K1 w - - bm Be4; id "ECM.806";
+r2r4/p4pk1/2p3p1/1p1nPR2/5p1Q/2N5/PPPq4/1K4R1 w - - bm e6; id "ECM.807";
+2kr3r/pbq3p1/1p2pp2/2b4n/2P1B3/1P1N2Pp/PB2QP1P/R4RK1 b - - bm Nxg3; id "ECM.808";
+r5k1/1p2Rpb1/3p1np1/2nP2B1/1qP5/1pN1Q2P/P5P1/1B4K1 w - - bm Bxg6; id "ECM.809";
+2rqr1k1/pb2bp1p/1pn1pnpB/4N3/3P4/P1N3R1/1P3PPP/RB1Q2K1 w - - bm Rxg6+; id "ECM.810";
+2r5/pp2qr1k/1nb3pp/2ppBp2/2P4P/3B2R1/P3QPP1/1R4K1 w - - bm Rxg6; id "ECM.811";
+3rr3/3q1p1k/p2P2pp/1bp1b3/5N2/6QP/P1B3P1/3RR1K1 w - - bm Bxg6+; id "ECM.812";
+r2q1rk1/pp2ppb1/3pn1pQ/3R4/2P3B1/4BR2/PP4PP/6K1 w - - bm Qxg6; id "ECM.813";
+1n1b1rk1/r4p1p/p1p2qpQ/P3Np2/2BP4/2P1R3/5PPP/R5K1 w - - bm Rb1; id "ECM.814";
+6rk/pb3p1p/3bpPq1/3P4/1p1B3r/1B4P1/PPRQ1R1P/6K1 b - - bm Bxg3; id "ECM.815";
+3rr1k1/pb2bp1p/3qp1pB/1p2N3/3P2Q1/2P1R3/P4PPP/4R1K1 w - - bm Nxg6; id "ECM.816";
+r2q1rk1/pb1nbp1p/1p2p1p1/4N1BQ/2PP4/P7/5PPP/RB2R1K1 w - - bm Nxg6; id "ECM.817";
+1Q4R1/r2qbp2/3p1kp1/3Bp2p/8/3PP1P1/5PKP/8 w - - bm Rxg6+; id "ECM.818";
+r3r1k1/b1p2pn1/p2q1Bp1/1p1bN1Qp/3P4/2P4P/PPB2PP1/R3R1K1 w - - bm Nxg6; id "ECM.819";
+3r2k1/p1rn1p1p/1p2pp2/6q1/3PQNP1/5P2/P1P4R/R5K1 w - - bm Nxe6; id "ECM.820";
+k2r3r/ppq2p1p/n1pb1Pp1/4p3/2Q5/1R2B1P1/PPP2PBP/R5K1 w - - bm Rxb7; id "ECM.821";
+1rb2rk1/p1p1qppp/2p2n2/3P4/1b3P2/2NB4/PPPBQ1PP/2KR3R b - - bm Ba3; id "ECM.822";
+k7/pp1N4/4P3/5P2/8/5p2/1R6/B4Knq w - - bm Nb6+; id "ECM.823";
+4rrk1/p5pp/1p4q1/3p2n1/2pP2P1/P1P1PP2/3B2K1/1R2QR2 b - - bm Nxf3; id "ECM.824";
+1q1r3k/3P1pp1/ppBR1n1p/4Q2P/P4P2/8/5PK1/8 w - - bm Rxf6; id "ECM.825";
+1rbq2k1/b1p3pp/p1Pp4/3Ppr2/8/5N2/PPQ2PPP/R1B2RK1 b - - bm Rxf3; id "ECM.826";
+1r1q1r1k/2p3pp/1p1bQ3/p7/1PP5/Pn3B2/1B3PPP/R4RK1 b - - bm Rxf3; id "ECM.827";
+r4rk1/2p1qpp1/p1p5/2Ppn2b/2PQ1N1p/4P3/PB3PPP/R4RK1 b - - bm Nf3+; id "ECM.828";
+r1bq1rk1/1p2bppp/p3p3/n3P3/4N3/1P1P1N2/PB4PP/R3QR1K w - - bm Nf6+; id "ECM.829";
+1n2r3/p1pq1kp1/1b1pNpp1/3P4/5RP1/3Q3P/1B3P2/6K1 w - - bm Bxf6; id "ECM.830";
+r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - bm Nf3+; id "ECM.831";
+3r1b2/p4bkp/1p1P1p2/r3p1p1/2q1N3/2N2P2/1P1R2PP/2QR3K w - - bm Nxf6; id "ECM.832";
+rqbn1rk1/1p3ppp/p3p3/8/4NP2/8/PPP1BQPP/1K1R3R w - - bm Nf6+; id "ECM.833";
+r1b1kb1r/1p4pp/p2ppn2/8/2qNP3/2N1B3/PPP3PP/R2Q1RK1 w kq - bm Rxf6; id "ECM.834";
+1rn5/p3Bk1p/1pq1bpp1/P3p3/1Q2P2P/2P3P1/5PB1/1R4K1 w - - bm Bxf6; id "ECM.835";
+2nr2k1/1pq1bppp/p1p5/2p1P1PQ/2P1NP2/1PNR4/P6P/6K1 w - - bm Nf6+; id "ECM.836";
+6nk/pn2qr1r/1pbp1p1p/2p1pPpN/P1P1P1PP/2PP3R/7Q/2BBK2R w K - bm Nxf6; id "ECM.837";
+7r/4p1k1/p3Pppp/1p6/3N1R2/3PQ2P/qr4b1/5RK1 w - - bm Rxf6; id "ECM.838";
+r3k2r/1bq1bp2/p3p1pp/1p2P3/3NpP2/4B1Q1/PPP3PP/1K1R3R w kq - bm Nxe6; id "ECM.839";
+rnbqkb1r/pp1n1p2/4p1p1/1N1pP2p/1P4Q1/3B1N2/P1PB1PPP/R3K2R w KQkq - bm Qxe6+; id "ECM.840";
+r1b1kb1r/1p1n1ppp/p2ppn2/6BB/2qNP3/2N5/PPP2PPP/R2Q1RK1 w kq - bm Nxe6; id "ECM.841";
+r1b1k1nr/3n1p1p/1qpBp1p1/pp2b3/4PN2/PBN2Q2/1PP2PPP/2KR3R w kq - bm Nxe6; id "ECM.842";
+2r2rk1/1b3ppp/pq2p3/1pbn2N1/3B3P/1B4P1/P1P1QP2/2KRR3 w - - bm Qh5; id "ECM.843";
+r3k2r/pp1n1pb1/1qn1p1p1/2p3Pp/4R2P/2NP2QB/PPPB1P2/2K1R3 w kq - bm Rxe6+; id "ECM.844";
+r3k2r/1q3ppp/p3p3/2b1P3/p2N1Q2/P7/1PP3PP/3R1R1K w kq - bm Nxe6; id "ECM.845";
+3qr1k1/rp3pbp/2p3p1/3p1b2/N1nP4/P2NP3/1PQ2PPP/1BRR2K1 b - - bm Rxe3; id "ECM.846";
+rnbqkb1r/1p1n1pp1/p3p2p/3pP3/3p1NQP/2N5/P1PB1PP1/R3KB1R w KQkq - bm Nxe6; id "ECM.847";
+3r1b1R/3bkpp1/1p1np3/1BqpPPP1/PQ1N4/8/1PP5/1K6 w - - bm f6+; id "ECM.848";
+4r1k1/pp2n2p/1r1n1bp1/q2p1pB1/3P3N/P1NQ1P1P/1PP3R1/1K5R b - - bm Rxb2+; id "ECM.849";
+3r2k1/2p1bppp/4b3/p2pP3/qr1N1B1P/8/1PPQ2P1/1K1RR3 b - - bm Rxb2+; id "ECM.850";
+1k1r3r/ppR2ppp/1q2b3/1N6/4Q3/8/PP3PPP/4R1K1 w - - bm Rxb7+; id "ECM.851";
+1r3rk1/5pbp/p2Pp1p1/q1n3P1/2p2P1P/2N1Q2R/PP6/1BKR4 b - - bm Rxb2; id "ECM.852";
+rr4k1/5p1p/n2p1npQ/q1pP4/6P1/2N2P1N/PP1R3P/2K4R b - - bm Rxb2; id "ECM.853";
+1k2bb1r/1p3p1p/p2qpP1p/3pN3/3P1Q2/2RB2P1/PP3P1P/6K1 w - - bm Qc1; id "ECM.854";
+1r4k1/1r3p2/p1p1b1pQ/q3P3/P7/bPN1R1P1/2P4P/1K1R1B2 b - - bm Bxb3; id "ECM.855";
+5rk1/5rp1/p2qb3/R2Np2Q/3bP2B/7P/P5PK/1R6 b - - bm Rf1; id "ECM.856";
+6k1/5p2/R3p1p1/1pq1PpB1/4nP2/5Q1P/P2r2PK/8 w - - bm Ra8+; id "ECM.857";
+3r1rk1/p3q1pp/2Rb4/3P4/8/1P2Qp2/PB3PPP/3R2K1 b - - bm Bxh2+; id "ECM.858";
+1r6/5pk1/p1b2qpp/P1P1n3/1N6/Q5NP/5PP1/3R2K1 b - - bm Bxg2; id "ECM.859";
+1r4k1/1q3pb1/r1b3p1/pp1Qp3/P3P3/1B2BP2/1PP3P1/1K1R3R w - - bm Qd8+; id "ECM.860";
+2R5/p3q1kp/6p1/3p4/b2P2p1/Pr4N1/5Q2/3K3R w - - bm Nf5+; id "ECM.861";
+3r4/kb6/pp6/4R1pr/PPpq4/2N3Q1/2P3PP/3R3K b - - bm Rf8; id "ECM.862";
+4r1k1/5p1p/4q1p1/8/Q5n1/3B2P1/P4P1P/2R3K1 b - - bm Nxf2; id "ECM.863";
+8/2q1np1k/6p1/1PPn3p/8/P2Q3P/6P1/2R4K b - - bm Nf5; id "ECM.864";
+r1bq1rk1/ppp1n1bn/3p2p1/3Pp1Pp/1PP1Pp1P/2NN1P2/P3B3/R1BQ1RK1 b - - bm Nxg5; id "ECM.865";
+7R/1p1r4/2b2p2/2Pp1qk1/3P1bp1/3N4/2Q2PB1/6K1 w - - bm Rg8+; id "ECM.866";
+r6r/1pn1b1k1/2p1pq2/2Pp3p/p2P1Pp1/P2BP1P1/1P2QB2/3R2KR w - - bm Rxh5; id "ECM.867";
+1r4k1/pp4pp/2n1b3/1Rq1p3/2P2r2/P1B2P2/2Q1B1PP/3R1K2 b - - bm Rxf3+; id "ECM.868";
+7k/1p4p1/2p4r/5p2/p1QP1q2/2P2PR1/r4P1P/4R2K b - - bm Rxh2+; id "ECM.869";
+1r3r2/6kp/3p1pp1/qnp1pP2/1p2P2N/3P4/PPPQ1P1P/1K1R2R1 w - - bm fxg6; id "ECM.870";
+5rk1/1rP3pp/p4n2/3Pp3/1P2Pq2/2Q4P/P5P1/R3R1K1 b - - bm Rxc7; id "ECM.871";
+2rq1rk1/5ppp/2b1pb2/np6/6N1/2NBB3/PP3PPP/R2Q2K1 w - - bm Bb6; id "ECM.872";
+5r2/p2p2kp/3PnNp1/1qr1Pp2/2p5/P1R5/6PP/2Q1R1K1 w - - bm Qh6+; id "ECM.873";
+2Qbq1k1/6p1/1p4Np/4p2P/3rP3/8/3p2PK/3R4 w - - bm Rf1; id "ECM.874";
+2kr1br1/ppp2p1p/2n1p1q1/2Nn4/3P4/1Q2PB2/PP1B1P1P/2R1K2R b K - bm Qg1+; id "ECM.875";
+2K5/6p1/kp2P3/1p6/1P6/2P1P2p/8/1r6 w - - bm e7; id "ECM.876";
+2kr3r/1Rp1bpp1/p6q/Q3P3/2P5/3p1NP1/P3P2P/1R4K1 b - - bm Qe3+; id "ECM.877";
+6k1/1R4pp/2p5/8/P1rNp3/6Pb/4PK2/8 w - - bm a5; id "ECM.878";
+r2r2k1/pp3ppp/2q5/2p5/2P1P1n1/P4P1b/1BQ1BP1P/R3R2K b - - bm Rd2; id "ECM.879";
diff --git a/tests/ecm016_only.epd b/tests/ecm016_only.epd
new file mode 100644
index 0000000..cf370f2
--- /dev/null
+++ b/tests/ecm016_only.epd
@@ -0,0 +1 @@
+2rr2k1/1b3p1p/p4qpb/2R1n3/3p4/BP2P3/P3QPPP/3R1BKN b - - bm Rxc5; id "ECM.016";
diff --git a/tests/ecm_confident.epd b/tests/ecm_confident.epd
new file mode 100644
index 0000000..5cdf188
--- /dev/null
+++ b/tests/ecm_confident.epd
@@ -0,0 +1,535 @@
+2q1r1k1/1ppb4/r2p1Pp1/p4n1p/2P1n3/5NPP/PP3Q1K/2BRRB2 w - - bm f7+; id "ECM.001";
+7r/1p2k3/2bpp3/p3np2/P1PR4/2N2PP1/1P4K1/3B4 b - - bm Bxf3+; id "ECM.002";
+4k3/p1P3p1/2q1np1p/3N4/8/1Q3PP1/6KP/8 w - - bm Qb5; id "ECM.003";
+2r1b1k1/R4pp1/4pb1p/1pBr4/1Pq2P2/3N4/2PQ2PP/5RK1 b - - bm Rcxc5; id "ECM.004";
+6k1/p1qb1p1p/1p3np1/2b2p2/2B5/2P3N1/PP2QPPP/4N1K1 b - - bm Bxf2+; id "ECM.005";
+3q4/pp3pkp/5npN/2bpr1B1/4r3/2P2Q2/PP3PPP/R4RK1 w - - bm Bxf6+; id "ECM.006";
+3rr1k1/pb3pp1/1p1q1b1p/1P2NQ2/3P4/P1NB4/3K1P1P/2R3R1 w - - bm Rxg7+; id "ECM.007";
+r1b1r1k1/p1p3pp/2p2n2/2bp4/5P2/3BBQPq/PPPK3P/R4N1R b - - bm Bg4; id "ECM.008";
+3r4/1b2k3/1pq1pp2/p3n1pr/2P5/5PPN/PP1N1QP1/R2R2K1 b - - bm Rxh3; id "ECM.009";
+2r4k/pB4bp/6p1/6q1/1P1n4/2N5/P4PPP/2R1Q1K1 b - - bm Qxc1; id "ECM.010";
+5rk1/7p/p1N5/3pNp2/2bPnqpQ/P7/1P3PPP/4R1K1 w - - bm Ne7+; id "ECM.012";
+rnb2rk1/pp2np1p/2p2q1b/8/2BPPN2/2P2Q2/PP4PP/R1B2RK1 w - - bm Nd5; id "ECM.013";
+r3kb1r/pp2pppp/3q4/3Pn3/6b1/2N1BN2/PP3PPP/R2QKB1R w KQkq - bm Nxe5; id "ECM.015";
+r1b1k3/5p1p/p1p5/3np3/1b2N3/4B3/PPP1BPrP/2KR3R w q - bm Rxd5; id "ECM.017";
+1rr1nbk1/5ppp/3p4/1q1PpN2/np2P3/5Q1P/P1BB1PP1/2R1R1K1 w - - bm Bxa4; id "ECM.020";
+r7/5kp1/2p1p2p/1p1n3P/2rP4/2P3R1/PK2RPP1/2B5 b - - bm Rxc3; id "ECM.021";
+r1r3k1/p3qpp1/b1P4p/3p4/3Nn3/4P3/P1Q2PPP/1BR1K2R b K - bm Qb4+; id "ECM.022";
+rn3rk1/4bppp/1q2p3/p2pP3/8/1PN2B1P/P4PP1/2RQ1RK1 w - - bm Bxd5; id "ECM.023";
+2b3k1/5p1p/7b/p2B3p/3P4/P2Q1N1P/1q3PP1/6K1 w - - bm Bxf7+; id "ECM.025";
+r1b5/4k3/p7/3p1n2/3Bp3/2P2r1P/PPBK1P2/4R2R w - - bm Bc5+; id "ECM.026";
+r4rk1/1b3Npp/p7/1p3Q2/3P4/1B2q3/P5PP/3n1R1K b - - bm Bxg2+; id "ECM.027";
+r2q1rk1/p3b1pp/2p5/1pn5/1n1Bp1b1/1P6/PQ1PPP2/2RNKBNR b K - bm Bxe2; id "ECM.030";
+3r2k1/p2r1p1p/1p2p1p1/q4n2/3P4/PQ1R3P/1P2NPP1/3R2K1 b - - bm Nxd4; id "ECM.031";
+2bnr1k1/2q2ppp/p7/2p1b3/2N1B3/R7/1P2QPPP/2B3K1 w - - bm Nxe5; id "ECM.032";
+r1b2r1k/3nN2p/p2Q1p2/8/4PP2/1R6/q1PK2PP/4R3 w - - bm Qd5; id "ECM.033";
+1nk1r1r1/pp2n1pp/4p3/q2pPp1N/b1pP1P2/B1P2R2/2P1B1PP/R2Q2K1 w - - bm Nf6; id "ECM.034";
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.035";
+br1r2k1/1q4p1/p2ppb1p/2p2p2/2P1n3/Pn2P2P/QPR2PPB/2NRNBK1 b - - bm Nxc1; id "ECM.036";
+2k4r/ppp1n1p1/2n2qb1/2N5/Q1P3p1/P2r3P/1P3PB1/R1B2RK1 w - - bm Qb5; id "ECM.037";
+8/6bk/1B1R4/6p1/2bNP3/4KP2/1r6/8 b - - bm Be5; id "ECM.038";
+r1b1rnk1/1p3pb1/1qpp2p1/2n5/2PNP2p/1PN3PP/3R1PBK/BR1Q4 b - - bm Rxa1; id "ECM.039";
+5rk1/1b3ppp/p3p3/1p1q2N1/4n3/6P1/PP2PPBP/2Q2RK1 b - - bm Nxg3; id "ECM.041";
+2kr3r/pppq2p1/1bn1R3/6N1/1P6/1QN1B1p1/P4PP1/R5K1 b - - bm gxf2+; id "ECM.042";
+r4rk1/pp4pp/2nqb3/3p4/8/2NB4/PP1Q1PPP/4RRK1 w - - bm Bxh7+; id "ECM.044";
+3rk1r1/3b1p1p/p2BpQ2/8/2q5/2P5/PP3PPP/3R2K1 b - - bm Rxg2+; id "ECM.045";
+3r1rk1/4pp1p/p1Q1b1p1/3N4/3b4/5B2/Pq3PPP/R4RK1 b - - bm Bxd5; id "ECM.046";
+5bk1/1bqn1r1p/p3Q1p1/4p3/1PN1Pp2/P1N4P/5PP1/R1BR2K1 w - - bm Qxf7+; id "ECM.047";
+3rkb1r/1p3p2/p1n1p3/q5pp/2PpP3/1P4P1/P1Q1BPKP/R2N3R b k - bm d3; id "ECM.048";
+5rk1/1r1qbnnp/R2p2p1/1p1Pp3/1Pp1P1N1/2P1B1NP/5QP1/5R1K w - - bm Qxf7+; id "ECM.049";
+2kr1b1R/1b3pp1/p2pp3/1pq3P1/2nQPP2/P1N5/1PP1BB2/1K6 w - - bm Rxf8; id "ECM.050";
+r3nb1Q/p1q2kr1/2p3p1/2ppnpP1/1P3N2/4P3/PB1P4/1R2KB1R w K - bm Qxf8+; id "ECM.052";
+r1bq1rk1/pp3pbp/2pp1np1/2n3B1/2PNP3/2N2P2/PP1QB1PP/R4RK1 b - - bm Nfxe4; id "ECM.053";
+5r2/1b2k2p/3bp3/5PP1/Bn1Q3P/1N6/1Pr5/1K3R2 b - - bm Rxb2+; id "ECM.055";
+r1b2r1k/1pq3bp/8/3Qp2n/1P1n1pp1/2NP2P1/3BPPBP/1R2NRK1 b - - bm Qxc3; id "ECM.057";
+4qk2/pp3pp1/1nbr3p/2p5/5N2/2P1Q3/PPB2PPP/2K1R3 w - - bm Ng6+; id "ECM.058";
+3q2k1/pb3p1p/4pbp1/2r5/PpN2N2/1P2P2P/5PP1/Q2R2K1 b - - bm Rd5; id "ECM.059";
+r4rk1/1b3ppp/p2q1n2/1p2N3/3P4/1B6/P1Q2PPP/2R1R1K1 w - - bm Nxf7; id "ECM.061";
+2rq1r2/pp3pnk/2n1b1pp/3pQ3/3P1N2/P1N5/1P3PPP/1BR2RK1 w - - bm Bxg6+; id "ECM.062";
+4nk2/r1r1bppp/pN2p3/2np4/8/BPN3PP/P3PPK1/2RR4 w - - bm Ncxd5; id "ECM.063";
+r4r1k/2pqn1b1/p1bp2pp/1p2pn2/4N3/2PP1PPQ/PPB4P/R1B1RNK1 b - - bm Nd4; id "ECM.064";
+r1bQ1nk1/bp3ppp/p7/3B4/1P6/P3P1P1/2P4P/q1B2RK1 b - - bm Bxe3+; id "ECM.065";
+3r1rk1/1b2bppp/2q1pn2/pp4Q1/3B1P2/PBN5/1PP3PP/R2R3K b - - bm Rxd4; id "ECM.066";
+2nq2k1/2r3pp/p1p1rp2/PpQ1N3/1P1PR3/8/5PPP/2R3K1 w - - bm Nf7; id "ECM.067";
+3r4/p2nrpkp/2B1p3/2P2pP1/3R3Q/q7/6PP/6RK w - - bm g6; id "ECM.069";
+5r1k/p6p/1p1p1qp1/2pQpr2/8/2PP2P1/PP2RPKP/5R2 b - - bm e4; id "ECM.070";
+2r2rk1/5pbp/p5p1/3P2q1/1QbN4/5P2/P4BPP/2RR2K1 b - - bm Bf1; id "ECM.072";
+r1bqnrk1/pp2ppb1/1np3pp/4P1N1/5P2/2NBB3/PPP3PP/R2Q1RK1 w - - bm Nh7; id "ECM.073";
+3nk3/3q1p2/1B3pr1/4p3/bP2P2p/r2B4/2Q2RPP/3R2K1 w - - bm Bb5; id "ECM.074";
+3rnr1k/pp3ppp/4b3/2p1qNP1/P2pPR2/1P1P2Q1/2P3BP/5RK1 w - - bm Nh6; id "ECM.075";
+5rk1/3r1p1p/3b2pQ/8/4q3/4B2P/3R1PP1/4R1K1 w - - bm Rxd6; id "ECM.077";
+4rrk1/1bp2ppp/p1q2b1B/1pn2B2/4N1Q1/2P4P/PP3PP1/3RR1K1 w - - bm Nxc5; id "ECM.078";
+2rnrbnk/3q1ppp/p1p5/3p1P2/1p1PPN2/4BQ1R/PP1N2PP/3R2K1 w - - bm Ng6+; id "ECM.079";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "ECM.080";
+1r3rk1/5pp1/1n2qn1p/1p1pPNb1/2pP2QP/2P5/1PB3P1/R1B1R1K1 w - - bm exf6; id "ECM.082";
+r2qr1k1/pp3pbp/3p1np1/2pP1bB1/2P1N3/3Q1PN1/PP4PP/R4RK1 b - - bm Nxe4; id "ECM.083";
+r1br2k1/ppb1qpp1/2P4p/2n1p3/4B3/P1N2N2/1P3PPP/2RQ1RK1 w - - bm Nd5; id "ECM.085";
+2r3k1/1nqbrp2/p5pp/1p1Pp1N1/8/1P5P/P1B2PP1/2RQR1K1 w - - bm Nxf7; id "ECM.086";
+2r1rbk1/1b3ppp/pp6/2q1pNP1/Pn1RP3/2N5/1PP2QBP/5R1K w - - bm Nh6+; id "ECM.087";
+r1r2qkb/4pp1p/pBbp3P/3Nn1P1/4Q3/1B6/PPP5/1K1R2R1 w - - bm g6; id "ECM.089";
+r4k2/q4npp/P2P4/2p1R3/2N5/6PP/Q5K1/8 w - - bm Re7; id "ECM.090";
+5rk1/6pp/8/2Q4q/N2pP3/4b1Pb/4PP1K/1R3R2 b - - bm Bxf1+; id "ECM.092";
+1r1rb1k1/2p3pp/p2q1p2/3PpP1Q/Pp1bP2N/1B5R/1P4PP/2B4K w - - bm Qxh7+; id "ECM.094";
+r1b4k/p2n1Bpp/1p1Q1n2/5p2/3P4/P3BqP1/1P3P1P/R4RK1 b - - bm Bb7; id "ECM.095";
+r2nk1r1/pb3q1p/4p3/3p2pQ/8/BP6/P4PPP/2R1R1K1 w q - bm Rc7; id "ECM.098";
+rr4k1/2p1ppb1/3pbnpp/q1pP4/4P3/1PNNBP1P/P1KR2P1/2Q4R b - - bm Qxc3+; id "ECM.100";
+1r3rk1/3Q2pp/p3p3/6B1/3np3/6R1/PqP1B2P/3K2R1 w - - bm Qxg7+; id "ECM.101";
+2r5/p4Q2/k1bBp3/4P3/p1nq4/5B2/2Pr2P1/1R1RK3 w - - bm Qb7+; id "ECM.102";
+5rk1/p1pb2pp/2p5/3p3q/2P3n1/1Q4BN/PP1Np1KP/R3R3 b - - bm Qxh3+; id "ECM.103";
+2r1nk2/4qpbQ/4b3/1p2RpP1/4P3/p7/PBP5/1K5R w - - bm Qxg7+; id "ECM.104";
+2kr4/1bpr3p/4R3/1pQ5/8/6B1/3q2PP/2R4K w - - bm Qxc7+; id "ECM.105";
+r4rk1/1pbb2pp/p1p1p2q/2Pp4/1P1Pn3/P3B2P/2Q1BPP1/R4RNK b - - bm Qxe3; id "ECM.106";
+r1k4r/ppp1b3/5Npp/4pb1Q/8/1B2B3/PqP2PPP/2RR2K1 w - - bm Qxf5+; id "ECM.107";
+2kr1r2/1pp3pp/1n2p1b1/pN2B3/P1q5/1Q1p3P/5PP1/R4R1K w - - bm Rac1; id "ECM.109";
+2kr1bnr/1ppq4/p3bp2/6pp/4p3/2N2NBP/PP3PP1/2RQ1RK1 w - - bm Na4; id "ECM.110";
+r2q2rk/p3bp1p/4b1p1/3pP2R/1p1B4/3BQ3/PPP3PP/5R1K w - - bm Rxf7; id "ECM.111";
+r1b1Q3/6pk/p6p/1pq1n3/4N3/8/PPP3PP/R6K b - - bm Qc6; id "ECM.112";
+q6r/pp3pkp/5np1/4Q3/4P3/6N1/P4PPP/5RK1 w - - bm Nh5+; id "ECM.113";
+r1b1rk2/pp3ppQ/1np5/4q3/2B4N/4P3/PP3PP1/2R2K1R w - - bm Qg8+; id "ECM.114";
+r3r1k1/p2N1pp1/1pn1p3/q1n5/2PQ4/P3B3/4PPKP/R5R1 w - - bm Nf6+; id "ECM.116";
+3qr1k1/1p1bppbp/p2p2p1/2rPn3/P2N4/4BP2/1PPQ2PP/R2R1BK1 w - - bm Ne6; id "ECM.118";
+8/R5p1/6k1/pr2p1b1/4K3/7P/5P2/6R1 w - - bm h4; id "ECM.120";
+5rk1/1b1r1p2/p1q1pQp1/1p2P2p/8/1BP1NR2/PP1n2PP/5R1K w - - bm Bxe6; id "ECM.121";
+6k1/p1p2r2/1p1p1P1Q/3P4/2P5/5qr1/PP4RP/6RK w - - bm Qh3; id "ECM.122";
+3b2rk/7p/p7/2pbqNrn/Pp1p1R2/1P1Q2P1/1BPN1R1P/6K1 w - - bm Rxd4; id "ECM.124";
+1rbr2k1/1pq1bp1p/p1pNn1p1/2n1p3/2B1P2P/1NQ1BP2/PP4P1/1K1R3R w - - bm Nxf7; id "ECM.125";
+r4rk1/1pp1b1pp/p1q5/3pPp2/3Pn3/P3N3/1P3PPP/R1BQR1K1 w - - bm Qb3; id "ECM.126";
+rbbq1rk1/p3nppp/1p2p3/8/1B1pN3/P2B4/1P3PPP/2RQ1RK1 w - - bm Nf6+; id "ECM.127";
+5r1k/1p2qp1p/p4R1Q/P1p5/2Prp3/7P/1P4P1/5R1K w - - bm Re6; id "ECM.129";
+rnbq1rk1/pp2b1pp/5n2/2pPp3/2P1N3/3B1N2/PP4PP/R1BQK2R w KQ - bm d6; id "ECM.132";
+2n1rbk1/5pp1/7p/qP1pp3/4b1Q1/1B5P/1P1N1PP1/2B1R1K1 w - - bm Rxe4; id "ECM.133";
+4k3/2R2p2/5p1p/8/rb6/1N6/5PPP/5K2 w - - bm Rc4; id "ECM.134";
+2r1k3/p3nrR1/1p1p4/2p1p1p1/2P1B3/2PP1P2/P5K1/7R w - - bm Rh8+; id "ECM.136";
+2rr1bk1/5p1p/pPN2np1/3Bp3/2Q1n3/1P2B1Pq/P3PP2/R2R2K1 b - - bm Rxd5; id "ECM.138";
+3r2k1/1p4pp/p1q1p3/3p1B2/bP1B2P1/P4Q2/5PKP/2b2R2 w - - bm Rxc1; id "ECM.139";
+rnb1r1k1/pp5p/2pp2p1/4b3/2P1P2q/1NN1BPp1/PP1QB1P1/3RR1K1 b - - bm Bf4; id "ECM.140";
+4r1k1/3R1ppp/p2p4/5PP1/2q2P2/2n2B2/P1P3QP/1r3R1K w - - bm Rxb1; id "ECM.143";
+2r3k1/pp2n3/6pQ/4q3/8/2P1p1P1/P5BP/3R2K1 w - - bm Bd5+; id "ECM.144";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.147";
+5r2/1b3pk1/pqrpp1p1/4n1Nn/1p2PP1P/8/PPPQB3/1NKR2R1 b - - bm Rfc8; id "ECM.148";
+1r2k2r/p5bp/4p1p1/q2pn3/1p2N1P1/6QP/PPP5/1KBR3R w k - bm Bh6; id "ECM.149";
+7r/kppQP1pp/p7/2qp1R2/4n3/1P2b2P/P1P3PK/R7 b - - bm Re8; id "ECM.151";
+8/1bq3kp/p5p1/1pb1p3/4P2P/2PQ2P1/1P5B/5N1K b - - bm Qd8; id "ECM.153";
+6k1/p1q2pp1/2n2b2/3B2Pp/2P2P2/5N1P/Pr1Q2K1/4R3 w - - bm Re8+; id "ECM.156";
+r1r3k1/p4n2/3p4/5NpR/8/2q2P2/P1PQ4/2K4R w - - bm Rh8+; id "ECM.157";
+8/p5Q1/2ppq2p/3n1ppk/3B4/2P2P1P/P5P1/6K1 w - - bm g4+; id "ECM.158";
+r1r3k1/1p1b1nq1/6p1/pN1p4/P2Np2R/1P2P3/1Q3PP1/1K5R w - - bm Nd6; id "ECM.159";
+1r2k2r/3q2pp/p3pp2/P7/2P1Q3/8/1nB3PP/1R3R1K w k - bm Ba4; id "ECM.160";
+r1bq3k/ppp2Qp1/2n1p2p/6N1/2BPN3/2P1n3/PP4PP/R5K1 w - - bm Nf6; id "ECM.161";
+3r1rk1/p1p1qp1p/2p1b1p1/8/P2PRP2/2P1NQ2/6PP/R5K1 w - - bm f5; id "ECM.165";
+4r1k1/p4ppp/4q2r/1Q6/4p3/4P1P1/P4P1P/2RR2K1 w - - bm Rd6; id "ECM.168";
+8/5p1k/4p1p1/3p2K1/3P1Q1P/P4P2/7q/8 b - - bm f6+; id "ECM.169";
+r4r2/6k1/3p4/2pPp2p/4Pqp1/3P1P2/1R2Q1KP/5R2 b - - bm Ra1; id "ECM.170";
+4r1k1/1np1r1pp/1ppp1q2/6N1/1P3P2/4RQP1/7P/4R1K1 w - - bm Qh5; id "ECM.171";
+r4rk1/pp3p1p/3pq1p1/2nNp3/3R1P2/7Q/PP4PP/5RK1 w - - bm f5; id "ECM.172";
+3qn2k/1p3Bp1/rbn4p/2p5/p1P2p2/P2b2PP/1BQNRP2/1R4K1 w - - bm Qxd3; id "ECM.173";
+3r1rk1/1pp4p/1q3bp1/p3p3/P2n1P2/2BB3P/1PP2QP1/R4RK1 b - - bm Bh4; id "ECM.174";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.176";
+r3kb1r/2q2p2/3p4/ppp1n1B1/P6P/1B3pQ1/1PP3b1/2KRR3 w kq - bm Bd5; id "ECM.177";
+r1b2rk1/1p4pp/p1n3q1/4ppN1/7Q/2P1B3/P1P2PPP/R2R2K1 w - - bm Rd6; id "ECM.178";
+1rb2r2/1pR1N2p/p2R2pk/5p2/4pP2/1P1nP3/P4P1P/5BK1 w - - bm Rf6; id "ECM.179";
+3r2k1/p2q1r1p/1p1N2p1/1PpP4/3b1Bn1/1Q4Pb/1P2RP1P/R5KB b - - bm Qxd6; id "ECM.181";
+3r2k1/p2r1p1p/1pR1p1qP/3P1pP1/3R4/1P2Q3/P4K2/8 w - - bm dxe6; id "ECM.183";
+r4k2/p1pr1ppp/2q5/3PR2P/3Q4/8/6P1/5RK1 w - - bm Re7; id "ECM.185";
+r3k2r/pb1n1pbp/4p1p1/q1n1P3/Bp1N1N2/4B3/PP3PPP/R2Q1RK1 w kq - bm Ndxe6; id "ECM.188";
+5rk1/Q2nqppp/5n2/2p5/8/1B2PP1P/Pr1B1P2/R3K2R b KQ - bm Ne4; id "ECM.189";
+5r1k/pp1n1p1p/1b1qpP2/8/1PrN4/P1N1Q1P1/7P/3R1R1K w - - bm Qh6; id "ECM.192";
+1r3rk1/p4pbp/q1p2pp1/3p1b2/1n1P1P1B/PB3N2/1PPQR1PP/2KR4 b - - bm Bxc2; id "ECM.194";
+1rbr2k1/4qp2/p1n2bpp/1pp1p1N1/4P3/2P1BQ1P/PPB2PP1/3RR1K1 w - - bm Bxc5; id "ECM.195";
+2r2rk1/1p1q1ppp/1p3n2/3p1N2/4n3/1N3Q2/PPP2PPP/R2R2K1 w - - bm Rxd5; id "ECM.196";
+rn3rk1/pp2ppbp/6p1/2R3N1/2B3b1/q3B3/P1P1Q1PP/5RK1 w - - bm Rxf7; id "ECM.197";
+r1nqr2k/1p1b1Q1p/p5p1/P1pPb3/5B2/2N5/BP4PP/R4RK1 w - - bm Qf8+; id "ECM.199";
+8/k3r1b1/Pp2rpp1/1qpQ4/4nB2/2P2NP1/7P/R4RK1 w - - bm Bb8+; id "ECM.200";
+1k1r4/ppq2p2/8/2pPb1r1/2P1Q1B1/6P1/PP3PK1/R4R2 b - - bm f5; id "ECM.201";
+r1b2nk1/2qn1p1p/1ppR2p1/8/1PP1NP2/4r1PP/1Q2N1B1/3R2K1 w - - bm b5; id "ECM.202";
+6r1/ppp4k/3p2rp/3Pb3/PPP1Np1q/5P1b/3QRRBP/6K1 b - - bm Bd4; id "ECM.204";
+4br1k/pR4bp/2r1B1pN/4npB1/3p4/P7/5PPP/4R1K1 w - - bm Rxg7; id "ECM.205";
+r6r/1p2kp2/3p1b2/pPpPpQ1P/1nP1P2P/6R1/1P2K3/1B6 w - - bm Rg6; id "ECM.207";
+2q1r1k1/1b3pbp/3p2p1/1Ppn3n/5P2/5B2/1P1B2PP/R2NNQ1K b - - bm Ndxf4; id "ECM.208";
+2r1r1k1/pp3pp1/3p3B/P2P1P2/2nb4/7R/1q3PQP/1B3R1K w - - bm Rb3; id "ECM.209";
+r2qr1n1/p4pk1/1p1p2p1/4p3/4PQ2/1PN2P2/1PP3P1/2KR3R w - - bm Rh7+; id "ECM.210";
+1k1r2r1/pp3p1p/B2q1n2/8/3Pb1p1/2Q5/PR3PPP/2B1R1K1 w - - bm Bf4; id "ECM.212";
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.213";
+1q3rk1/r5b1/pNp1bn1p/2Pp1n2/1P2p3/1N2P2P/PBQKB3/3R3R b - - bm Nxe3; id "ECM.214";
+3r2k1/p5pp/bpP1p3/3n1p2/2NQpP1q/P3P3/1B1R1R2/4KBr1 b - - bm Rxf1+; id "ECM.216";
+5Q2/5p1p/3p2p1/4p1k1/4P1P1/3R1P1K/r6P/4q3 w - - bm f4+; id "ECM.218";
+2b2r1k/ppq3pp/3b3r/n3NpN1/Q2PpP1B/2P1R3/PP5P/4R1K1 w - - bm Ngf7+; id "ECM.219";
+2r1r1k1/1R4bp/p5p1/2pqn3/8/2B5/1PQ1B1PP/5RK1 w - - bm Bc4; id "ECM.220";
+7k/pp1q2pp/3Nr1n1/3B2Q1/2pP4/B3P1Pb/P6P/6K1 w - - bm Qd8+; id "ECM.221";
+r5k1/5p1p/bq1p2p1/r2Pp3/1p2N1P1/1P3P2/1KPQ3P/3R3R b - - bm Ra2+; id "ECM.222";
+5Bk1/pr2pp1p/2b3pQ/2p1q3/8/2P4P/PP4P1/1B1Rb1K1 w - - bm Bg7; id "ECM.223";
+r1b1Rnk1/6pp/p4q2/1pp2P2/3r4/2NB4/PP1Q2PP/4R1K1 w - - bm Nd5; id "ECM.229";
+8/2p2Q1p/1rp5/p3q1kp/P7/2P2RP1/5PK1/8 w - - bm Rf5+; id "ECM.233";
+1r2b3/1p2q1bk/p1p1p1p1/P1PpP2r/1P1KpPQP/4P2N/6R1/4B2R b - - bm Rxe5; id "ECM.234";
+6k1/3b1p1p/6p1/2BPR3/8/4Q2P/1q3rPK/8 w - - bm Re8+; id "ECM.235";
+2R5/4ppkp/6p1/p2P4/4P2P/p3B1P1/qbR2PK1/8 w - - bm Rg8+; id "ECM.236";
+6k1/p4pq1/2n1p1p1/1p1pP1N1/3P1QPP/8/P3K3/8 w - - bm Qc1; id "ECM.238";
+3r1rk1/1pq1nppp/p7/2pB3Q/P4P2/1P2P3/6PP/2RR2K1 w - - bm Bf3 Rxc5; id "ECM.239";
+8/p1r2q1k/1p1p3p/1Pp1nP2/P1P5/3R2PP/1Q4BK/8 w - - bm Rxd6; id "ECM.240";
+6rr/1b3k1p/pbqppPn1/1p5Q/4PN2/P6R/1PP3BP/2B2R1K w - - bm Qxh7+; id "ECM.243";
+4rrk1/3b1ppp/pb6/1pqP4/P1p1PP2/1P2NK2/3QB2P/R2R4 b - - bm Rxe4; id "ECM.244";
+2r1r1k1/1p4bp/p2p1qp1/1n1P4/2P1B2P/1N1Q4/PP2R3/1K5R b - - bm Rxc4; id "ECM.245";
+2r2rk1/pb4pp/1p2p3/4Npq1/3P1n2/5P2/PP1R2PP/RB2Q1K1 b - - bm Rc1; id "ECM.249";
+2r1rbk1/5pp1/bq5p/1pnBPN2/6Q1/N7/5PPP/R2R2K1 w - - bm Bxf7+; id "ECM.250";
+r5k1/pp2ppb1/4qn2/r3B1p1/3P4/3QNP1R/PP2K1P1/7R w - - bm Bxf6; id "ECM.252";
+1R2br1k/5r1p/p2p1P2/6RQ/3p1P2/4p2B/q6P/5N1K w - - bm Rxe8; id "ECM.253";
+5r1r/1pkb4/5pB1/2P5/p3R2P/Pq6/1PQ2Pn1/K2R4 w - - bm Rxd7+; id "ECM.255";
+kn5r/p2r2p1/1pqBp1np/1Q1pPp2/R2P4/1N6/2P2PPP/R5K1 w - - bm Rxa7+; id "ECM.256";
+4Rnk1/2p2pp1/3r3p/p2P4/P5Q1/1B5P/5PK1/q7 w - - bm Rxf8+; id "ECM.257";
+4r3/2k1p2q/pp1nR1p1/2pP1pP1/2P2P2/1P6/P1K3B1/4Q3 w - - bm Rxd6; id "ECM.258";
+2rq4/5rbk/3p1n1p/p2Pp2P/1p2b3/4BNR1/PP1Q1P2/3BK1R1 w - - bm Bxh6; id "ECM.261";
+r2q1rkb/pp2p3/2p2pp1/3pPb2/3P3R/2N3P1/PPPQBPK1/3R4 w - - bm Rxh8+; id "ECM.262";
+r1bqrnk1/p4p2/1p5p/3pB1p1/P2P2n1/1P1B2N1/2Q3PP/R4RK1 w - - bm Bh7+; id "ECM.264";
+r2rn1k1/1bqn1ppp/p7/2bpP1P1/1p1N1Q2/1P3B2/PBP1NR1P/3R2K1 w - - bm Qxf7+; id "ECM.265";
+r2r2k1/1bqpbpp1/ppn1p2p/2p1P1N1/P1B2B2/2P5/1PPRQPPP/3R2K1 w - - bm Nxf7; id "ECM.266";
+1k6/1p4p1/P1p5/5Q2/2q2r2/P7/8/4R2K w - - bm Re8+; id "ECM.269";
+6k1/1p3p2/4r1p1/1PPrbq1p/2QN4/P2R1P1P/R4KP1/8 b - - bm Bg3+; id "ECM.270";
+r2qk2r/1pp2ppp/p3pnn1/6N1/1B1P2P1/1Q2P2P/PP3PK1/R6R b kq - bm Nh4+; id "ECM.272";
+r1br4/ppq2pk1/3bpN2/8/2P5/3n2B1/PP2QPPP/R4K1R w - - bm Qg4+; id "ECM.275";
+3k2r1/pp1b3Q/1b2pP1p/3pN2q/5B2/7B/PP2nP1K/2R5 b - - bm Rg2+; id "ECM.278";
+2r2rk1/pp3qpp/8/3P1b2/3Q4/P1N1B3/5PKP/R2R4 b - - bm Rxc3; id "ECM.279";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.280";
+4k2r/1bqnbppp/p3p3/1p2P1N1/2r2BB1/8/PPP3PP/R2Q1R1K w k - bm Nxf7; id "ECM.281";
+5r1k/1pqb3p/2n5/p1pB4/2Pp1r1P/1P5P/R2N2K1/3Q1R2 b - - bm Bxh3+; id "ECM.282";
+r4r2/pp2qk2/4pnp1/3pQ3/2p2P2/3B4/PPP2P2/2KR3R w - - bm Bxg6+; id "ECM.283";
+3bq3/p1n2rk1/1pp1p1p1/3pPnPp/1P1P1N1P/2PN3K/P2BQR2/8 w - - bm Nxg6; id "ECM.284";
+b6r/2q2k2/4pPp1/1p1n2Bp/2pPB1PP/2P2Q2/8/4R1K1 w - - bm Bxg6+; id "ECM.285";
+1rbk2nr/p1pp2b1/7p/2qP1pp1/2Bn4/2NKBP2/PP2N1PP/R2Q3R b - - bm Qxc4+; id "ECM.290";
+r2k3r/2pb1ppp/p1p1q3/2Q5/5B2/2N5/PPP2PPP/3R2K1 w - - bm Bxc7+; id "ECM.295";
+2r2r2/2N2pkp/2Q5/1N2p1b1/1p6/3P1qPb/PPR2P1P/4R1K1 b - - bm e4; id "ECM.296";
+1r2k2r/2p2p1b/q1Pppb1N/p2p2P1/Q2P4/P3B3/1P5P/2KRR3 b k - bm Rb4; id "ECM.299";
+4b1r1/1p3ppk/3r3p/p1p1qP1B/3pPN2/3P3R/nPPQ3P/6RK w - - bm Ne6; id "ECM.301";
+4b2k/7p/3q3P/1p1pRpr1/1P1B4/2P2Q2/7K/8 w - - bm Qg3; id "ECM.302";
+2kr2r1/pbp4p/1p4p1/1NqpNp2/4nQ2/8/PPPR1PPP/2K1R3 w - - bm Nc6; id "ECM.303";
+1rr3k1/1p1bqpbp/1R1p2p1/pN1P4/P3P1n1/1Q6/3NB1PP/2B1R1K1 b - - bm Rc3; id "ECM.304";
+r1br4/1p3k2/p2q1p2/3N1Pp1/3Q4/8/PP4P1/4RR1K w - - bm Re6; id "ECM.305";
+r3kbnr/p4ppp/2p1p3/8/Q1B3b1/2N1B3/PP3PqP/R3K2R w KQkq - bm Bd5; id "ECM.306";
+3r1rk1/2p1qp1p/pnP3p1/4n3/PP1NpR2/1BQ4P/6P1/5RK1 w - - bm Ne6; id "ECM.307";
+r1bq1k2/5pb1/p2p1n2/2pPrP2/2p4B/3B2R1/PP1Q2PP/R5K1 w - - bm Qg5; id "ECM.308";
+2bq1rk1/p4pbp/p2p2p1/3P4/2p1QP2/2Pr3P/PP1N2P1/R1B2RK1 b - - bm Bd4+; id "ECM.309";
+r5rk/1p1bqpnp/3p1b1B/pBnPp2P/4P3/2N2Q2/PP3P2/R3KNR1 b Q - bm Nf5; id "ECM.310";
+r3rk2/p2q1b1p/1pnP1Qp1/5pN1/2p2P2/P1P5/7P/4RRK1 w - - bm Re7; id "ECM.311";
+r2qrbk1/1p4pb/2n2p1p/pNpn4/2N5/PP1PPQPB/1B5P/2R2RK1 w - - bm Nbd6; id "ECM.313";
+r1rbb3/1R3pkp/2pBp1p1/p3P3/q6P/6P1/P2Q1P2/1R3BK1 w - - bm R1b4; id "ECM.316";
+4r3/pp1b3k/2p2qpp/2Pp4/1P6/PBbP1N1P/2R3P1/3Q3K b - - bm Re1+; id "ECM.317";
+8/5k1p/5PpB/3PR3/2r4P/1p3K2/2b5/8 b - - bm Re4; id "ECM.319";
+4r2k/3b3p/p2p4/2pP1p2/q1B2Q1P/2PK1P2/Pr1R4/7R b - - bm Re4; id "ECM.320";
+5k1r/ppqnnp2/3b2p1/2pB2Qp/3p3N/1P1P2P1/P1P2P2/2B1R1K1 w - - bm Rxe7; id "ECM.324";
+5rk1/5p1p/8/3pNp2/RPrqn3/1Q5P/1P3PP1/4R1K1 w - - bm Rxe4; id "ECM.325";
+2rr2k1/4qppp/bn6/p1bB4/4N3/6P1/PB2PP1P/2RQ1RK1 w - - bm Rxc5; id "ECM.326";
+5rk1/r2nqpp1/p3p3/1p2P3/4N1pP/8/PPP3Q1/1K1R3R w - - bm Rxd7; id "ECM.328";
+3rqb2/1pR3pk/p3n1pp/3p4/3B4/PP6/1P4PP/4RQK1 w - - bm Rxe6; id "ECM.331";
+2r2rk1/1bq2ppp/p7/1p1pNN2/1b1PnB2/3Q3P/PP3PP1/R3R1K1 w - - bm Rxe4; id "ECM.333";
+r3r1k1/1p3pPp/p1p5/3bb2N/7q/1P1Q4/2PB2PP/4RRK1 w - - bm Rxe5; id "ECM.334";
+8/5p2/4p1k1/4P1p1/2rBRbK1/5P2/r4P2/7R b - - bm Rxd4; id "ECM.335";
+r3r1k1/pbqn1ppp/1p3n2/1Pb5/2p5/5N1P/PBQ1BPP1/1N1R1RK1 b - - bm Rxe2; id "ECM.337";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.339";
+1k2r2r/1bpQN2p/1p6/P3p2q/4np2/2P2N2/2P2PPP/R3R1K1 b - - bm Rxe7; id "ECM.340";
+r1k2n1r/2pb4/1p1p1qpp/p2P1p2/3N1P1P/2Q3P1/PPP1R3/2K1RB2 w - - bm Re8+; id "ECM.341";
+4q1r1/5kpp/2p1nb2/2PpQp2/r4P2/1N3P2/1BP1R2P/6RK w - - bm Rxg7+; id "ECM.344";
+4rrk1/ppn3pp/2pb1n1q/3p4/1P1P4/P3BNP1/2P1BPKP/R2Q1R2 b - - bm Rxe3; id "ECM.347";
+2b1r2k/2Q4p/4q3/1pp5/3b4/4NP2/1P3BP1/3R2K1 w - - bm Rxd4; id "ECM.348";
+7r/3qbk1r/3p1n2/p1pPp1p1/Pp1nPpP1/1P1Q1P1B/1NP3K1/R3B2R b - - bm Nxg4; id "ECM.350";
+r2qn1k1/1p1b3p/2pp1b2/6pQ/p1P1P3/P1N3PB/1P6/3R1R1K w - - bm Rxf6; id "ECM.351";
+2rq3r/5p2/p3pkbQ/3p4/3N4/2P4R/P4PP1/4R1K1 w - - bm Rf3+; id "ECM.352";
+r4k1r/pp2pp2/3p1b2/q2PnQpp/3N4/1BP3P1/PP3PP1/3RR1K1 w - - bm Rxe5; id "ECM.353";
+5rk1/2p3pp/p1p4r/2P1p3/3pPnq1/1P3R1P/PN1Q3K/R5N1 b - - bm Qxf3; id "ECM.354";
+r1b3rk/pp1n3p/2p2b1n/4pp1q/2P5/1P3NPP/PBQ1NPB1/3RR1K1 w - - bm Rxd7; id "ECM.355";
+2r2rk1/p3p1bp/3qP1p1/1Q1p4/P4P2/3R4/1P4PP/2B2RK1 b - - bm Rxc1; id "ECM.356";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.357";
+2r2rk1/5ppp/1p2p3/p7/1n1R4/P1NnPN2/1P3PPP/1R4K1 b - - bm Nxb2; id "ECM.359";
+r3r1k1/p4ppp/2pp1b2/8/q2n1P2/2BQ3P/PPP3P1/1K1R2NR b - - bm Re3; id "ECM.361";
+rn1kr3/pppb4/3p1q2/3P1pNn/2P2P1p/1P2Q2P/P2NR1B1/4R1K1 w - - bm Qxe8+; id "ECM.362";
+r2q1rk1/ppp1b1pp/1nn1p3/4P3/2PP4/2N1B2P/PP1Q4/2KR1B1R b - - bm Rxf1; id "ECM.363";
+r3k3/1pqb1p2/p3p3/4n2r/3N1Q2/2P5/PP4B1/4RRK1 w q - bm Rxe5; id "ECM.364";
+1rb2bk1/q4r2/pB1p1nn1/3Pp3/N3PpP1/8/1PQ1BNP1/R1R3K1 b - - bm Rxb6; id "ECM.365";
+3nr1k1/p6p/2n1pRpB/3pP3/2pP2P1/q1P4P/6BK/5Q2 w - - bm Rxg6+; id "ECM.368";
+2rr2k1/5ppp/p1b1pn2/q1p5/P1B1PQ2/R1PN1P2/6PP/1R4K1 b - - bm Rxd3; id "ECM.369";
+7k/p1p1r2p/1p1pnr1q/5pp1/2PPPp2/2PB1P1P/P2Q1PRK/7R b - - bm g4; id "ECM.372";
+2b4B/1pp2k2/1p6/3P3n/5p1P/1P4p1/P2r2P1/R5KR b - - bm f3; id "ECM.375";
+5n2/3bp1r1/1r1p3k/p1p2pNp/1nP2P1P/1PN1PB1K/P5R1/6R1 w - - bm Nf7+; id "ECM.378";
+r1b1qbk1/7p/4p1p1/1p2Bp2/p1B2Q2/P3P3/1P3PPP/3R2K1 w - - bm Bc3; id "ECM.380";
+2r1k2r/3b1pb1/p2ppp2/2q2P2/2p1P2p/P1N2N2/1PP1Q1PP/3R1R1K w k - bm e5; id "ECM.381";
+3r1rk1/1pq1bppp/p7/n2RN3/P7/1P6/1B2QPPP/R5K1 w - - bm Nd7; id "ECM.382";
+q1r3k1/2r4p/2p3pP/2Qp1p2/PRn5/4P1P1/5PB1/1R4K1 w - - bm Rxc4; id "ECM.383";
+r1b1nrk1/p2n3p/2pp4/8/2P2q1N/1PB4P/P4PB1/R2QR1K1 w - - bm Bd5+; id "ECM.385";
+7k/5rp1/p1bQB2p/1p4nN/4P3/1Pq5/P5PP/3R3K b - - bm Bxe4; id "ECM.386";
+r4r1k/1bq4p/p4bp1/3pn3/NP6/Q1PBB2P/6P1/3R1RK1 b - - bm d4; id "ECM.387";
+r2r2k1/1bq2pb1/6pp/2P1p3/1nBpN2N/6PP/2Q2P2/3RR1K1 w - - bm Nf6+; id "ECM.388";
+r3rbk1/p1q2pp1/1n5p/2pp4/4N3/1PQ3P1/PB2PP1P/3R1RK1 w - - bm Nf6+; id "ECM.389";
+r3r1k1/1pp2p1b/7p/2Q5/2PP2p1/2P1NpPq/P2R1P1P/6RK b - - bm Rxe3; id "ECM.391";
+5bk1/5p1p/Q5p1/1B4n1/8/2q1p3/6PP/3R2K1 b - - bm e2; id "ECM.392";
+r5k1/1p3pp1/1p3q1p/1P1bQ3/P2P3n/8/3B1PPP/R3R1K1 b - - bm Nf3+; id "ECM.393";
+2bq1b2/1p3k2/1r1p1p1p/pNpP1PpP/P1P3P1/6B1/1P5Q/2K1R3 w - - bm Re6; id "ECM.396";
+3r2k1/pb3p1p/1q4p1/2b1P3/1Pp5/2P1p1P1/P3Q1BP/R1B4K b - - bm Qc6; id "ECM.400";
+r2rnbk1/pp3ppp/1q4n1/3p1N2/5P2/1PQB4/PBP3PP/4RR1K w - - bm Nh6+; id "ECM.401";
+r1b2rk1/pp2qp2/2nRp1p1/6Pn/1Pp5/P1N1P3/1BQ2PP1/2K2B1R w - - bm Rxh5; id "ECM.403";
+5rr1/pp1kq1bp/2bppn2/2p3B1/4N3/2NP2P1/PPP4P/R3QRK1 b - - bm Nxe4; id "ECM.404";
+1r1q1k2/R4pp1/5p1r/1p1p1n1p/3Pb2N/1BP5/2P1Q1PP/4R1K1 w - - bm Qxe4; id "ECM.405";
+R2b2k1/2rq1n1p/3p2p1/1p1Ppp1n/1P6/1B1PQN1P/1B3PP1/6K1 w - - bm Nxe5; id "ECM.406";
+r1b3kr/bp3ppp/p1nNp3/4P3/P1Q2P2/BBP5/5qPP/R2R3K w - - bm Nxc8; id "ECM.407";
+6k1/5rb1/6pp/1p2p3/2b5/4B1P1/r4PBP/1RR3K1 w - - bm Rxc4; id "ECM.408";
+4r1k1/1p5p/5ppP/1qnP4/r4R2/P6P/1B1Q2K1/5R2 w - - bm Rxf6; id "ECM.409";
+r1b2rk1/pp2ppbp/2np1np1/q7/4P3/2N1BN2/PPPQBPPP/2KR3R b - - bm Nxe4; id "ECM.414";
+3r1rk1/p1q4p/1p3bp1/3bnp2/3B4/1NPB3P/P1PQ2P1/1R2R2K b - - bm Nf3; id "ECM.415";
+1r1q2k1/7p/2p3p1/1P1n1b1r/2BQ4/4B3/P6P/1R3RK1 w - - bm bxc6; id "ECM.417";
+r3kbnr/1ppb3p/p1q1pp2/3p4/3P4/2N2N2/PPP2PPP/R1BQ1RK1 w kq - bm Ne5; id "ECM.418";
+r1b1qbk1/pp3r1p/2pR1np1/5p2/2P1pP2/1PN1Q1PP/PB2P1B1/5RK1 w - - bm Rxf6; id "ECM.419";
+2b2r2/rpp2pkp/3pq3/2pR2P1/2n1P1N1/2P2B2/1P3Q1P/1K5R b - - bm Qxd5; id "ECM.421";
+7r/pp4k1/3pn1p1/q1pB1b2/2P5/5NR1/1P3PP1/2Q3K1 w - - bm b4; id "ECM.423";
+B1b1rbk1/5ppp/pq6/1p2n3/2p2P2/6PP/PPQ4K/R1BR4 b - - bm Ng4+; id "ECM.425";
+8/2R4p/2R3bk/8/5N1P/1p3PP1/2pqP1K1/8 w - - bm g4; id "ECM.426";
+6k1/5pp1/p5r1/3Np2q/4P2p/1r3P1Q/n4P1P/3R2RK w - - bm Rxg6; id "ECM.430";
+r3k1r1/1pp2ppp/pb1p1qn1/4p2b/2B1P3/N1PP1NPP/PP2QPK1/R4R2 b q - bm Nh4+; id "ECM.432";
+1n2n1r1/r3qppk/p2p3p/3PpP1P/1P2P3/3B2RQ/3B1P1K/6R1 w - - bm Bxh6; id "ECM.433";
+rn2kr2/pp1b1pQp/3Pp3/qB1n4/3N4/P7/1PP2PPP/2KR3R w q - bm Nxe6; id "ECM.437";
+r3k2r/pp2ppbp/1qp5/2n2b2/2P5/4BN2/PP1QBP1P/2KR3R b kq - bm Nb3+; id "ECM.441";
+2r3k1/n3qppp/1B1r1n2/N7/N4P2/1Q4PP/P5B1/R1b4K b - - bm Qe1+; id "ECM.444";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.445";
+rnb2k2/ppbp2p1/2p2pB1/8/1PN5/2P5/P4PPP/R1B3K1 w - - bm Bf4; id "ECM.446";
+2k3r1/1ppr3p/p1pB2q1/6n1/N3Pp2/8/PPP1Q1PP/3R1RK1 b - - bm f3; id "ECM.448";
+6r1/6rk/3p3p/p2Rp3/R1PqPp1b/2N2Q2/6PP/7K b - - bm Rxg2; id "ECM.450";
+4r1k1/1p2rq1p/2bQpp2/p1Pp4/3P4/P3RN2/5PPP/4R1K1 w - - bm Ne5; id "ECM.451";
+b2b1r1k/3R1ppp/4qP2/4p1PQ/4P3/5B2/4N1KP/8 w - - bm g6; id "ECM.452";
+1k4q1/1p2Rprp/p1p5/2Pp4/1P1Q3P/6P1/P5K1/8 w - - bm Qe5+; id "ECM.453";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "ECM.454";
+r4r1k/p2bN2p/1p1p1p2/2q4P/3Q4/1P6/1PP3P1/1K2R2R w - - bm Ng6+; id "ECM.455";
+r1b2k1r/1p2qp2/pN1p1n2/2pP2pp/P2bP1P1/2N5/1P2BPP1/R2Q1RK1 b - - bm hxg4; id "ECM.457";
+6nk/p4rrp/1p1p1p2/1q1Pp2R/4B1P1/1PP2Q1R/P6P/7K w - - bm g5; id "ECM.458";
+r1b1k2r/6pp/p1p1p3/3np1B1/1b2N3/8/q1PQB1PP/3RK2R w Kkq - bm Qxb4; id "ECM.459";
+3qrbk1/1r3p2/p1bp1Pp1/1p2p1Pp/4P2R/1P2BB1Q/P1P4P/R6K w - - bm Bxh5; id "ECM.460";
+2r3k1/4qpp1/2p1r3/pbQpN1Pp/3P1P1P/4P3/PP6/1KR3R1 w - - bm Qxb5; id "ECM.461";
+4r1kb/p2r4/1np1p1p1/3nP1Bp/1p3P1R/1B2qP2/PPPN3Q/2K4R w - - bm Rxh5; id "ECM.463";
+2Q2bkr/5p2/1rb5/1pN1n1qB/1P1pPN2/6P1/5P2/R1R3K1 w - - bm Nce6; id "ECM.469";
+2r4r/1q1kb1p1/4p2p/3pP3/np6/3RBP2/NPP2Q1P/1K2R3 b - - bm Nc3+; id "ECM.470";
+2r4r/3bk1b1/1q2pp2/3pPp1p/1p1N1P1P/1P1R1BP1/P2Q4/1K1R4 w - - bm Nxf5+; id "ECM.471";
+1rb3k1/2r2pbp/p2q1npn/P1pPp1N1/2B1P3/2P1B1NP/5QP1/3R1RK1 w - - bm Ne6; id "ECM.472";
+r7/pp4pk/2n3qp/5p2/3p4/P4QB1/1PP1RPPP/6K1 b - - bm d3; id "ECM.473";
+2r2r1k/1p3p1p/p2p1Pp1/3Pp3/1q2Bn1Q/8/1PP3PP/4RR1K w - - bm Rxf4; id "ECM.474";
+1r3kr1/p3q1b1/3p2Q1/2p2p2/2P2N2/4Pn2/PB6/K2R3R w - - bm Ne6+; id "ECM.477";
+5r1k/6bp/3p1q2/3Q1nP1/8/6P1/PP3BKP/R2N4 b - - bm Ne3+; id "ECM.478";
+5rk1/p1p1R1p1/1p5p/8/2pP1P2/3n2P1/PP2Q2P/5KNq b - - bm Nxf4; id "ECM.480";
+r5k1/1N3ppp/4b3/1Nq5/Pn3pn1/5B2/1PPQ3P/R6K b - - bm Qxb5; id "ECM.481";
+1r2k2r/1bq2pp1/pn2p2p/1p2P1b1/3N4/2N3Q1/PPP3PP/1K1R1BR1 w k - bm Bxb5+; id "ECM.482";
+r1bqn1r1/p2k1pp1/1p5p/n1pPpN2/2P1P3/P1PBB2P/4Q1P1/R4RK1 w - - bm Nxh6; id "ECM.483";
+r4rk1/p1p2pp1/bp1p1q1p/n1nPpN2/2P1P2P/2PB4/P2BQPP1/R3K2R w KQ - bm Bg5; id "ECM.485";
+3rn1k1/pp3ppp/6b1/2p1Q3/2P1P3/P4P2/1B1qBP1P/1R5K w - - bm Rd1; id "ECM.486";
+4r1k1/5ppp/p1q3b1/1ppNr3/2P1P3/1P4QP/P4PP1/4RRK1 w - - bm f4; id "ECM.487";
+6k1/5rp1/4Nb1p/2p5/4Q3/1r5P/q5P1/3R1R1K w - - bm Rxf6; id "ECM.490";
+6kr/1p1r1p1p/p2pnPpQ/3Np2R/2q1P3/5P2/PPP5/2KR4 w - - bm Rxe5; id "ECM.494";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.495";
+r2q1rk1/pp1n2pp/2pb4/1P1p3n/P1PPpP2/4P2b/1BNNBP1P/R2QR1K1 b - - bm Nxf4; id "ECM.496";
+r4rk1/1nqb1pbn/6pB/pppPp2p/8/1PP2NNP/P1BQ2P1/R4RK1 w - - bm Nxh5; id "ECM.499";
+4rqk1/p5b1/3p3p/3Pn1p1/1pP1NrP1/4NP2/P3Q1P1/1K1RR3 b - - bm Nxf3; id "ECM.501";
+r2qkr2/1p3pQp/2p1b3/1B1pN3/1p6/8/1P1K1PPP/2B1R3 w q - bm Nxc6; id "ECM.502";
+r3k2r/1p1b1p2/p3p3/2b3p1/4N1n1/1B5P/PPP3P1/R1B2R1K b kq - bm Bc6; id "ECM.506";
+r3kb1r/npqbpp1p/p3n1p1/P3P3/6N1/3B1NB1/1PP3PP/R3QRK1 w kq - bm Ng5; id "ECM.507";
+7k/p6p/4bppb/1N6/P2p1p2/1PrP2P1/2r1P2P/1R1Q2K1 b - - bm f3; id "ECM.508";
+2kr4/pp1r1pp1/4n1p1/4R3/2Pp1qP1/3P2QP/5PB1/1R4K1 w - - bm Rc5+; id "ECM.509";
+r2qkn1r/pb2bp2/1pp1p3/5p1p/2BPN3/5NQ1/PPP2PPP/1K1RR3 w kq - bm d5; id "ECM.511";
+3r3k/p4npp/1p2qpb1/4P3/5P2/P3N3/1B2QP1P/6RK w - - bm exf6; id "ECM.513";
+6rk/1b2bp1p/ppq1p3/2p1Pp2/P1Br1P2/1PNR2P1/2P1QK1P/6R1 b - - bm Rxf4+; id "ECM.514";
+r3r1k1/p1q2pp1/b1pb3p/n7/B3n3/2P1BN2/PP1N1PPP/R2QK2R b KQ - bm Nxc3; id "ECM.515";
+2b2q2/r2n2kp/1n1p1pp1/p1pP4/1pP1NPN1/1P1B4/P5PP/Q3R1K1 w - - bm Nexf6; id "ECM.518";
+1k1r2r1/p1p3q1/2p2p2/3pn3/1P1b2bB/1QN5/P4PPP/1R2RBK1 b - - bm Nf3+; id "ECM.519";
+r3k2r/1bq1bp1p/p2p1np1/1p2p3/3NP3/P1N2QB1/1PP2PPP/3RR1K1 w kq - bm Ndxb5; id "ECM.520";
+r2q4/5p1P/2p1bR2/ppk1p1P1/3pB2Q/8/PPP5/6K1 w - - bm g6; id "ECM.521";
+r3kb1r/pp1b1pp1/4p3/2q3Qp/5B2/2PB4/P4PPP/R3R1K1 w kq - bm Rxe6+; id "ECM.522";
+1rbr2k1/p4pp1/5b1p/2p1p3/3qPP2/1PNB2PP/PKP2Q2/5R1R b - - bm c4; id "ECM.523";
+r3r1k1/p6p/bp4p1/2bPN3/6n1/6P1/PB2RPB1/3R2K1 w - - bm d6; id "ECM.524";
+3r1k2/1q1r1pp1/3p2bp/p2N4/8/2P1RQ1P/P4PP1/4R1K1 w - - bm Nf6; id "ECM.526";
+r4Nk1/1p2pp1p/p1np2p1/3N4/P3PPn1/8/1bPKBqPP/R2Q1R2 b - - bm Qd4+; id "ECM.528";
+rn4k1/pp2rpb1/2pNb1pp/4p3/P3Pq2/2P2N1P/1PB1QPP1/R3R1K1 w - - bm Nf5; id "ECM.531";
+3qr2r/1p1bppk1/3p2p1/p1nP1PQp/3N3R/1P4PP/P1P3BK/4R3 w - - bm Ne6+; id "ECM.534";
+r3r2k/pb2q1p1/1p2Nn1p/2b5/2B5/2P2P2/PPQ3PP/4RR1K w - - bm Nf4; id "ECM.537";
+r1b2nk1/ppq2ppp/8/1BP1p1NQ/5p2/8/PP3PPP/3R2K1 w - - bm Rd7; id "ECM.538";
+6k1/5qp1/pN5p/3pRp2/3QnP2/2r4P/r5P1/6RK b - - bm Qh5; id "ECM.539";
+5r1n/r2q1pkp/3p1npN/NppPp2P/1P2P3/2P1Q1P1/5P2/R3K2R w KQ - bm Nf5+; id "ECM.540";
+r5rk/1pp1n1pp/p1n1b1q1/3p1p2/7R/2QB1N2/PB3PPP/4R1K1 w - - bm Rxe6; id "ECM.543";
+3R4/4Qpk1/4p1p1/7p/7K/5rP1/5P2/2q5 w - - bm Qf8+; id "ECM.545";
+8/5pk1/p6p/2R5/3q2p1/6P1/2Q3PK/4r3 w - - bm Rg5+; id "ECM.546";
+1Q4R1/8/P1b2p2/2p2k2/2P5/5p2/1r5P/4R1K1 b - - bm f2+; id "ECM.547";
+5r1k/1q2R3/8/6Q1/8/8/6P1/7K b - - bm Rf1+; id "ECM.548";
+8/4p3/8/3P3p/P2pK3/6P1/7b/3k4 w - - bm d6; id "ECM.549";
+3Q4/k3K3/q7/2N1P3/1P6/5r2/8/8 b - - bm Rf7+; id "ECM.550";
+3k4/p1p5/8/2p1p3/4P3/PpPP2K1/1P6/8 b - - bm c4; id "ECM.551";
+6r1/5p1k/4p3/3pQp2/1p1P1P1q/1P3RR1/7r/5K2 w - - bm Rxg8; id "ECM.552";
+1r4k1/3qb2p/pr1pppn1/2p2N2/2P2PQ1/1P4P1/P2R2BP/R5K1 w - - bm Bd5; id "ECM.554";
+r6r/pR1nqkpp/2p1p3/3p4/6Q1/2b4P/P1PP1PP1/2B1R1K1 w - - bm Rxe6; id "ECM.555";
+1k1r3r/ppq2pnp/1npbb1p1/3p4/3P1NP1/2NBP2P/PPQ2P1B/1KR4R w - - bm Nb5; id "ECM.556";
+r5r1/4q2k/p2p3p/5p2/4p3/P2QR3/1PP2PPP/4R1K1 w - - bm Rxe4; id "ECM.558";
+2r2rk1/pp2bppp/3q1n2/3nNRB1/3P4/1B5Q/PP4PP/3R2K1 w - - bm Nxf7; id "ECM.562";
+r1bq1rk1/1pp2ppn/1pnp3p/3N4/2B1PN2/3P4/PPP3PP/R2Q1RK1 w - - bm Ng6; id "ECM.563";
+r1b2rk1/pp3p1p/2pq2pn/2nNN3/2B1QP2/8/P1PP2PP/R1B1K2R w KQ - bm Nxf7; id "ECM.564";
+1r2r1k1/1bn2pbp/pp1q1np1/2pPN1B1/P1B5/2N4P/1P1Q1PP1/R3R1K1 w - - bm Nxf7; id "ECM.565";
+1rb2bk1/2n2qp1/p2p3p/R1pP1p2/2B5/1PBQ1N1P/2P2PP1/6K1 w - - bm Rxc5; id "ECM.566";
+r1b3k1/2pq2pp/p4p2/1p1Nr3/2n2R2/1B6/PPQ2PPP/R5K1 w - - bm Rxc4; id "ECM.567";
+2rq1rk1/3bbppp/p3pn2/1p1pN3/2nP1B2/P1NBP2Q/1P3PPP/2R2RK1 w - - bm Nxd5; id "ECM.568";
+1r4nk/3b2bp/3p4/3P3p/2pNPq2/P1N2p1P/1P3Q2/1R4KR b - - bm Rxb2; id "ECM.570";
+2r5/p3kpp1/P2p4/1P2pP1p/1P2PqnP/6R1/r2N2P1/3RQ1K1 b - - bm Rxd2; id "ECM.571";
+2br2k1/1p2qppp/r1n1p3/pQ1nN3/P2P4/2B3P1/1P3PBP/2RR2K1 w - - bm Qxa6; id "ECM.572";
+5rk1/3q2bp/3pb2r/1p1n1p2/3p1P2/P2B1QN1/1P1B2PP/2R1R1K1 w - - bm Nxf5; id "ECM.573";
+4r1k1/1ppQr1p1/1p1p1pP1/3P3p/7P/1P3q2/P1P5/1KRR4 w - - bm Re1; id "ECM.574";
+2Rr2k1/7p/4pqp1/p4p2/1p1P1Q1P/8/PP3PP1/6K1 w - - bm Qe5; id "ECM.575";
+4r1kb/5p1p/6pB/3Np3/4n3/P3Q1PP/2q2P2/R5K1 w - - bm Rc1; id "ECM.576";
+5rk1/bp4p1/p2rp2p/8/8/2PN4/PP1R1PPP/3R2K1 b - - bm e5; id "ECM.577";
+2q1rk2/QR3ppp/1pPpb3/1P2p1b1/4P3/6P1/3N1PBP/6K1 w - - bm Bh3; id "ECM.578";
+n1bq3k/pp4bp/6p1/5pP1/3p1P2/1B1P4/PB3Q1P/4R1K1 w - - bm Bxd4; id "ECM.579";
+6k1/pb3ppp/1p2p3/4P3/5P2/P1r5/1q4PP/1B2Q1RK b - - bm Rc1; id "ECM.581";
+2rq1kbR/4R1p1/3p3r/pp1P1Pp1/6P1/3B4/PPP1Q3/6K1 w - - bm f6; id "ECM.582";
+2r5/5kb1/4ppp1/pp1qB3/2rP4/1RP2R1Q/P4PP1/6K1 b - - bm Rh8; id "ECM.583";
+4k3/4Bp2/1p2nP1P/2p5/2K1b1B1/8/P7/8 w - - bm Bf3; id "ECM.584";
+3rr1k1/ppp1qp1p/3b2p1/4np1P/1P1N1Pn1/P1P4R/1B1NB3/R2Q1K2 b - - bm Nf3; id "ECM.585";
+1k1r3r/ppqb4/5Ppp/3p4/P2np3/3BR1Q1/2PB1PPP/R5K1 w - - bm Rxe4; id "ECM.586";
+8/2R2pbk/6pp/1p2pq2/1P2Qn2/3P3P/3B1PP1/r3N1K1 b - - bm Nxd3; id "ECM.588";
+r2b1rnk/1p4qp/p1p1b1p1/2PpNp2/PP1PnP1Q/3BB2R/4N1PP/R6K w - - bm Qxh7+; id "ECM.590";
+r1b2rk1/1p3pbp/2p3p1/p1q5/1P6/1Q4P1/1P2PPBP/R1B1R1K1 b - - bm Be6; id "ECM.591";
+r1r3k1/ppnbb1pp/2ppp1q1/1P3p2/P1PPn3/2N2NP1/2Q1PPBP/1RB2RK1 w - - bm Nxe4; id "ECM.593";
+r1b1k2r/2q1bppp/p3p3/1p1nP1B1/3Q4/2N5/PPP1B1PP/2KR3R w kq - bm Bxe7; id "ECM.594";
+2rqk1nr/pp3ppp/2n1p3/2b5/3N4/2NQB1P1/PP2PPKP/R4R2 w k - bm Nxe6; id "ECM.596";
+8/5pp1/7p/5P1P/2p3P1/2k5/5P2/2K5 w - - bm f6; id "ECM.599";
+7k/8/1p1ppp1p/1Pp5/2P2P2/8/3P2PP/6K1 w - - bm f5; id "ECM.600";
+8/5K2/kp6/p1p5/P2p4/1P3P2/2P5/8 b - - bm b5; id "ECM.602";
+8/1kp1b3/1p4K1/4P2p/P1P3p1/5pP1/P4P2/4B3 b - - bm h4; id "ECM.604";
+8/8/3K1k2/5p1p/4p1p1/4P1P1/5PP1/8 b - - bm f4; id "ECM.606";
+2kr3r/ppp1qpp1/2p5/2b2b2/2P1pPP1/1P2P1p1/PBQPB3/RN2K1R1 b Q - bm Rh1; id "ECM.610";
+1r3qk1/pb3p1p/1pn2PpQ/2pN4/3r4/5B2/PPP4P/4RRK1 w - - bm Ne7+; id "ECM.611";
+4r1k1/5p1p/3q2p1/1p1P4/1P6/2p4P/2Q1nPB1/4RK2 b - - bm Ng3+; id "ECM.612";
+8/p3q1k1/6p1/1p3nP1/2pp1QBr/P2P4/1PP2K2/R7 b - - bm Qe3+; id "ECM.618";
+7k/4b2p/5p1P/5PP1/1pNp1P2/1P1B4/2P2K2/r7 w - - bm g6; id "ECM.619";
+5r1k/1p1b2rP/p2p4/3P3B/P2P4/5pP1/1P2pP2/R3R1K1 b - - bm Rxg3+; id "ECM.620";
+3q1k2/5p2/p5pN/1b2Q2P/8/8/5PPK/8 w - - bm Qh8+; id "ECM.622";
+6k1/p3b1pp/4p3/4Pp2/Pp1r1P1P/1P4P1/2p2R2/5RK1 b - - bm Rc4; id "ECM.623";
+2r2rk1/p1N2p1p/2P1p1p1/1Pp3q1/3b4/5Q2/P1P3PP/4RR1K w - - bm Nxe6; id "ECM.625";
+3r1r2/pp1P3k/4Rbp1/1BP2p1p/8/7P/P4KP1/3R4 w - - bm Ba6; id "ECM.626";
+rn1q2k1/pp3pb1/3p2pp/2pP2N1/3r1P2/7Q/PP4PP/R1B2RK1 w - - bm Nxf7; id "ECM.628";
+5bk1/r4ppp/1r1P1n2/2p2N2/b7/2B3P1/5PBP/R3R1K1 w - - bm Bxf6; id "ECM.630";
+3qr1k1/p4ppp/1p1P4/2r1nN2/4P2n/P7/1B4P1/3QRRK1 w - - bm d7; id "ECM.632";
+6k1/5pbp/6p1/2p1r3/1pPr4/3n2NP/1PB2PP1/1R1R2K1 b - - bm Nxb2; id "ECM.633";
+8/6kP/6p1/1p1pP3/pP6/P1n2K2/2N5/8 w - - bm e6; id "ECM.638";
+8/Pb6/8/8/7K/5k1p/6pB/8 b - - bm g1=Q; id "ECM.639";
+6k1/p4pp1/Pp2r3/1QPq3p/8/6P1/2P2P1P/1R4K1 w - - bm cxb6; id "ECM.641";
+6k1/p4pbp/Bp2p1p1/n2P4/q3P3/B1rQP3/P5PP/5RK1 w - - bm dxe6; id "ECM.642";
+5r2/R4p2/5P1k/4PK2/1p6/8/8/8 w - - bm Rxf7; id "ECM.643";
+4r2k/pppb2pp/2np2q1/3B4/2P2P2/1PB1R1P1/PQ5P/6K1 w - - bm f5; id "ECM.644";
+1r6/3r1Pk1/p2p1np1/5q2/1p3P2/1B5R/PPP4Q/1K1R4 w - - bm Rh8; id "ECM.645";
+6k1/p4p2/5Ppp/3RP3/Pr4P1/2p2K2/7P/8 w - - bm Rd8+; id "ECM.649";
+2kr2r1/pp2bQ1p/2b1P3/2qN4/8/1B2p2P/PPP3P1/3R1R1K b - - bm e2; id "ECM.651";
+r1b2rk1/1p2qppp/p3p3/2n5/3N4/3B1R2/PPP1Q1PP/R5K1 w - - bm Bxh7+; id "ECM.652";
+6rk/3nrpbp/p1bq1npB/1p2p1N1/4P1PQ/P2B3R/1PP1N2P/5R1K w - - bm Nxh7; id "ECM.655";
+1rb2rk1/3nqppp/p1n1p3/1p1pP3/5P2/2NBQN2/PPP3PP/2KR3R w - - bm Bxh7+; id "ECM.656";
+r4rk1/pb1q1ppp/2N1p3/2Rn4/3P4/3BPQ2/1P3PPP/2R3K1 w - - bm Bxh7+; id "ECM.660";
+2r2r2/p2qppkp/3p2p1/3P1P2/2n2R2/7R/P5PP/1B1Q2K1 w - - bm Rxh7+; id "ECM.662";
+1r1qr1k1/5p1p/1n2p1p1/pp1pP1P1/2pP1BB1/PnP3P1/1P3PK1/1R1Q3R w - - bm Rxh7; id "ECM.663";
+4rrk1/2q1bppp/p2p4/1p1Pn3/3B1R2/P2B2Q1/1PP3PP/5R1K w - - bm Bxh7+; id "ECM.664";
+r4rk1/pp2q1p1/4b2p/2ppb3/6n1/2P3N1/PPQBBPPP/R4RK1 b - - bm Nxh2; id "ECM.667";
+b3r1k1/2rN1ppp/2n1p3/p7/P3BP2/1R6/q1P2QPP/3R2K1 w - - bm Bxh7+; id "ECM.668";
+r1b1rnk1/pp1nb1pp/2p1pp2/q3N3/2PP1P2/3BP1N1/PBQ3PP/R4RK1 w - - bm Bxh7+; id "ECM.670";
+4r1k1/2q2r1p/p3bQ2/1p4Bp/2np4/8/PPB2PP1/3RR1K1 w - - bm Bxh7+; id "ECM.671";
+5rk1/pbrn1ppp/1ppN1q2/2P1p3/3P4/1PRB4/P3QPPP/5RK1 w - - bm Bxh7+; id "ECM.672";
+r2r2k1/p1p2p1p/4pPp1/1Pqb4/8/7R/1PB2PPP/3QR1K1 w - - bm Rxh7; id "ECM.676";
+rnq3rk/4bp1p/p1p3pQ/1p1pP3/1P1N1B2/2P3R1/1P3PPP/R5K1 w - - bm e6; id "ECM.678";
+2rrn1k1/2q2ppp/p2pp3/1p2P1P1/4B3/P5Q1/1PP3PP/R4R1K w - - bm Bxh7+; id "ECM.682";
+r5k1/6bp/2q1p1p1/p2pP3/3P4/1rP2QP1/3B1PK1/2R4R w - - bm Rxh7; id "ECM.689";
+1r2nr1k/6pp/pp1p1p2/2pPnN2/q1P1PB2/5PR1/4K1P1/2Q4R w - - bm Bxe5; id "ECM.695";
+1r2rnk1/2R2bpp/p2q4/1p1N2R1/5P2/1Q1B3P/PP4P1/7K w - - bm Rxg7+; id "ECM.702";
+4rrk1/2qb2pp/p5P1/1p2p3/1b2P3/2N5/PPPQ4/1K1R2R1 w - - bm gxh7+; id "ECM.704";
+3q1k2/pp3ppn/2p1n2p/4pN1N/P3P2P/5Q2/1PP2PP1/6K1 w - - bm Nhxg7; id "ECM.705";
+2r1r1k1/5ppp/p3pn2/1pb1N3/2P5/1PQ3R1/PB2qPPP/3R2K1 w - - bm Rxg7+; id "ECM.708";
+7k/1bp1P1p1/3p2rp/1pb2p1q/5P2/1BP2N1P/1P4P1/R1B2R1K b - - bm Rxg2; id "ECM.709";
+r1q1bk1r/1p3pp1/4pn1p/p3Q3/P1P2N2/1B4R1/1P3PPP/4R1K1 w - - bm Rxg7; id "ECM.710";
+r4rk1/p2n2p1/1q1Qpn1p/1P6/P6B/2p5/2B1KP1P/R5R1 w - - bm Rxg7+; id "ECM.711";
+3r1rk1/5pp1/pq1n1n1p/2pPR3/2B2P2/1PBQ2RP/P5P1/6K1 w - - bm Rxg7+; id "ECM.715";
+rn3rk1/ppq2ppp/2pb1nb1/5N2/2BP4/8/PPP1N1P1/R1B1QR1K w - - bm Nxg7; id "ECM.716";
+r1qb1r1k/2p3pp/p1n1bp2/1p1Np2Q/P3P3/1BP3R1/1P3PPP/R1B3K1 w - - bm Rxg7; id "ECM.717";
+4rrk1/2pn2pb/p1p1qp2/1pb1pN2/P3P1PN/1P1P4/1BP2PK1/R2Q3R w - - bm Nxg7; id "ECM.721";
+r4rk1/1p1q1ppp/p1b4B/8/2R3R1/P2P4/1b1N1QPP/6K1 w - - bm Bxg7; id "ECM.723";
+rq3rk1/3b1ppp/p2bp3/3pB2Q/8/1B5P/PP3PP1/2RR2K1 w - - bm Bxg7; id "ECM.724";
+2r3k1/1p2R1p1/p3n2p/2pq4/7P/1P1P2P1/PB1Q3K/8 w - - bm Bxg7; id "ECM.726";
+2rr2k1/4bppp/p1n1p3/3q4/1p1P2N1/2P3R1/P3QPPP/2B2RK1 w - - bm Nh6+; id "ECM.727";
+rq1r1bk1/1b3pp1/3pn2p/1n2BN1P/1P2P3/3R1NP1/3Q1PB1/2R3K1 w - - bm Bxg7; id "ECM.728";
+r1b5/ppqn2bk/3R2pp/2p2p2/2P1rN2/4BN2/PPQ2PPP/4R1K1 w - - bm Rxg6; id "ECM.729";
+r1bqkbnr/pp2ppp1/2p4p/3n2N1/2BP4/5N2/PPP2PPP/R1BQK2R w KQkq - bm Nxf7; id "ECM.731";
+r2qr1k1/1ppb1p1p/p1np2p1/7Q/3PP2b/1B2N2P/PP3PP1/R1B2RK1 w - - bm Bxf7+; id "ECM.732";
+2r3k1/pbq1np1p/1p1b1Bp1/8/6QP/2P2N2/B4PP1/4R1K1 w - - bm Bxf7+; id "ECM.733";
+r2r2k1/1b2qpp1/1p2n3/p1b1p2p/4P1n1/PP1B2PP/1B1NQP2/R3NRK1 b - - bm Nxf2; id "ECM.736";
+r2qr1k1/1b2bp1p/p3p1p1/1p2N1Bn/3P4/P6Q/1P3PPP/RB2R1K1 w - - bm Nxf7; id "ECM.737";
+r5k1/1pp3pp/1b1p1r2/pN1P1n2/P1P3nq/6N1/1P1B1PQP/4RRK1 b - - bm Nxf2; id "ECM.738";
+2rqnk1r/pp2bpp1/2p1pn1p/2P1N2P/3P1BP1/3BQ3/PP6/2K2R1R w - - bm Nxf7; id "ECM.739";
+2rq1rk1/1b2bppp/p1n5/1p1BN3/5B2/P7/1P3PPP/R2Q1RK1 w - - bm Nd7; id "ECM.740";
+3r1qrk/p1p5/bbp3pp/4p3/4Pp1N/2Pn3P/PPQN1PPB/R4RK1 b - - bm Nxf2; id "ECM.741";
+r2qr1k1/pb2bp1p/1pn1p1pB/8/2BP4/P1P2N2/4QPPP/3R1RK1 w - - bm d5; id "ECM.742";
+r3r1k1/1bq1nppp/p1np4/1ppBpN2/4P3/2PP1N2/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.743";
+r5k1/p4ppp/3qpb2/1P2N3/1nBP4/1P5P/4QPP1/4R1K1 w - - bm Nxf7; id "ECM.744";
+r2qr1k1/1b1nbp1p/p3pp2/1p2N3/3P4/3B1N2/PP2QPPP/R2R2K1 w - - bm Nxf7; id "ECM.745";
+r3k2r/p1qb1p2/1p2p2p/3pPpN1/P1nP3Q/8/2P2PPP/R1B1R1K1 w kq - bm Nxf7; id "ECM.746";
+3qNk2/5p1p/1r3p2/2p5/Q1pb4/3b2P1/P4PBP/4R1K1 b - - bm Bxf2+; id "ECM.747";
+2r1r1k1/1pq1bp1p/p3pnp1/P2n2N1/7R/2P4P/1PB1QPP1/2B1R1K1 w - - bm Nxf7; id "ECM.748";
+r1bq2k1/pp1n1ppp/3b1n2/PQ1B3r/3N1P2/2N5/1PP3PP/R1B2RK1 w - - bm Bxf7+; id "ECM.749";
+2r1r1k1/5ppp/pq3b2/2pB1P2/2p2B2/5Q1P/Pn3PP1/2R1R1K1 w - - bm Bxf7+; id "ECM.750";
+r3kr2/1b2qp2/pp2p2N/4p2Q/8/2n5/P3B1PP/3R1R1K w q - bm Nxf7; id "ECM.752";
+b2r1rk1/pq2bpp1/1p2p2p/4N2n/2P2R2/1PB2N2/1P2QPPP/4R1K1 w - - bm Rxf7; id "ECM.753";
+1r2q1k1/p3pp2/3p1bp1/2pP2N1/8/P5PB/2Q2PK1/1rBR4 w - - bm Nxf7; id "ECM.756";
+2rqrbk1/pb1n1p1p/1p2pnp1/4N3/2BP1N2/1P2Q3/PB3PPP/3R1RK1 w - - bm Nxf7; id "ECM.757";
+r1bqrbk1/5p1p/2pp2nB/pp5Q/4P3/PBNPR2P/1P4P1/R5K1 w - - bm Bxf7+; id "ECM.759";
+r1bqkb1r/1p3ppp/pn1P1n2/4p3/2B5/2N2N2/PP3PPP/R1BQ1RK1 w kq - bm Bxf7+; id "ECM.760";
+r1bqr1k1/1p1nnpb1/p5pp/2P1p1B1/B3N3/5N2/P4PPP/2RQR1K1 w - - bm Nd6; id "ECM.765";
+5rk1/r2qnppp/p1nN4/2Q5/3PB3/4P3/6PP/R4RK1 w - - bm Nxf7; id "ECM.768";
+1qr1b1k1/4bpp1/pn2p2p/1p1nN3/3P4/P2BBN1Q/1P3PPP/4R1K1 w - - bm Bxh6; id "ECM.772";
+4r1k1/p1pq1pp1/2p5/3p1b2/Q7/2P1B2P/P1P1rPP1/2R2RK1 b - - bm Bxh3; id "ECM.778";
+3r1r1k/p5p1/n1p2p1p/1qp2b2/N1R4R/1PB1P1P1/P2P3P/3Q2K1 w - - bm Rxh6+; id "ECM.781";
+6rk/3b1n1p/1p1q3b/1PpNp3/2P1Pp2/2Q2NrP/5RP1/2R2B1K b - - bm Bxh3; id "ECM.783";
+r2q1rk1/ppp2pp1/1b2b2p/3n3Q/2Bp4/3P1N2/PPP2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.784";
+r3rbk1/1bp1qpp1/p6p/np2p2Q/4P2N/1BP4P/PP3PP1/R1B1R1K1 w - - bm Bg5; id "ECM.785";
+4q3/p2r1ppk/R6p/3n4/3B1Q2/4P2P/5PP1/6K1 w - - bm Rxh6+; id "ECM.786";
+5rk1/Qp5p/3pp1p1/4n3/2P1P2q/5r1P/P3NPP1/3R1RK1 b - - bm Rxh3; id "ECM.788";
+3q1rk1/p2bbpp1/1rn4p/1pp2P2/3pBBP1/3P3P/PPPQ3N/R4RK1 w - - bm Bxh6; id "ECM.790";
+2br2k1/4qppp/p5r1/2pBp3/2P1Pn2/4Q2P/RP3PPK/1N4R1 b - - bm Bxh3; id "ECM.791";
+r1b2rk1/pp2bpp1/4p2p/2q4Q/5nNB/2PB4/PP3PPP/2KR3R w - - bm Nxh6+; id "ECM.794";
+6k1/p4ppp/1pn1b1rr/8/PBpPp2q/2P1P1NP/5PP1/RR3QK1 b - - bm Bxh3; id "ECM.795";
+r1b2rk1/1p3pp1/p5Pp/2bpPp1Q/3N4/1Pq1B1R1/2P4P/3R2K1 w - - bm Bxh6; id "ECM.796";
+r2r2k1/pp1n1bp1/2p2p1p/b4N2/q2BR3/2QB2PP/1PP5/2KR4 w - - bm Nxh6+; id "ECM.797";
+3r2bk/1q4p1/p2P1N1p/2p1rP2/pb5R/7P/1P4P1/2Q2RK1 w - - bm Rxh6+; id "ECM.798";
+r6r/ppnqpk2/3pbpp1/5N2/1PP1P3/5RR1/P2QB1PP/6K1 w - - bm Nh6+; id "ECM.801";
+3r3r/p4pk1/5Rp1/3q4/1p1P2RQ/5N2/P1P4P/2b4K w - - bm Rfxg6+; id "ECM.802";
+2Nq1rk1/6pp/b1p2b2/p6Q/np1p4/6P1/PB3PBP/R3R1K1 w - - bm Be4; id "ECM.806";
+r2r4/p4pk1/2p3p1/1p1nPR2/5p1Q/2N5/PPPq4/1K4R1 w - - bm e6; id "ECM.807";
+2kr3r/pbq3p1/1p2pp2/2b4n/2P1B3/1P1N2Pp/PB2QP1P/R4RK1 b - - bm Nxg3; id "ECM.808";
+3rr3/3q1p1k/p2P2pp/1bp1b3/5N2/6QP/P1B3P1/3RR1K1 w - - bm Bxg6+; id "ECM.812";
+r2q1rk1/pp2ppb1/3pn1pQ/3R4/2P3B1/4BR2/PP4PP/6K1 w - - bm Qxg6; id "ECM.813";
+1n1b1rk1/r4p1p/p1p2qpQ/P3Np2/2BP4/2P1R3/5PPP/R5K1 w - - bm Rb1; id "ECM.814";
+6rk/pb3p1p/3bpPq1/3P4/1p1B3r/1B4P1/PPRQ1R1P/6K1 b - - bm Bxg3; id "ECM.815";
+r2q1rk1/pb1nbp1p/1p2p1p1/4N1BQ/2PP4/P7/5PPP/RB2R1K1 w - - bm Nxg6; id "ECM.817";
+r3r1k1/b1p2pn1/p2q1Bp1/1p1bN1Qp/3P4/2P4P/PPB2PP1/R3R1K1 w - - bm Nxg6; id "ECM.819";
+3r2k1/p1rn1p1p/1p2pp2/6q1/3PQNP1/5P2/P1P4R/R5K1 w - - bm Nxe6; id "ECM.820";
+k2r3r/ppq2p1p/n1pb1Pp1/4p3/2Q5/1R2B1P1/PPP2PBP/R5K1 w - - bm Rxb7; id "ECM.821";
+k7/pp1N4/4P3/5P2/8/5p2/1R6/B4Knq w - - bm Nb6+; id "ECM.823";
+4rrk1/p5pp/1p4q1/3p2n1/2pP2P1/P1P1PP2/3B2K1/1R2QR2 b - - bm Nxf3; id "ECM.824";
+1rbq2k1/b1p3pp/p1Pp4/3Ppr2/8/5N2/PPQ2PPP/R1B2RK1 b - - bm Rxf3; id "ECM.826";
+1r1q1r1k/2p3pp/1p1bQ3/p7/1PP5/Pn3B2/1B3PPP/R4RK1 b - - bm Rxf3; id "ECM.827";
+r4rk1/2p1qpp1/p1p5/2Ppn2b/2PQ1N1p/4P3/PB3PPP/R4RK1 b - - bm Nf3+; id "ECM.828";
+1n2r3/p1pq1kp1/1b1pNpp1/3P4/5RP1/3Q3P/1B3P2/6K1 w - - bm Bxf6; id "ECM.830";
+1rn5/p3Bk1p/1pq1bpp1/P3p3/1Q2P2P/2P3P1/5PB1/1R4K1 w - - bm Bxf6; id "ECM.835";
+r3k2r/1bq1bp2/p3p1pp/1p2P3/3NpP2/4B1Q1/PPP3PP/1K1R3R w kq - bm Nxe6; id "ECM.839";
+rnbqkb1r/pp1n1p2/4p1p1/1N1pP2p/1P4Q1/3B1N2/P1PB1PPP/R3K2R w KQkq - bm Qxe6+; id "ECM.840";
+r1b1k1nr/3n1p1p/1qpBp1p1/pp2b3/4PN2/PBN2Q2/1PP2PPP/2KR3R w kq - bm Nxe6; id "ECM.842";
+r3k2r/pp1n1pb1/1qn1p1p1/2p3Pp/4R2P/2NP2QB/PPPB1P2/2K1R3 w kq - bm Rxe6+; id "ECM.844";
+r3k2r/1q3ppp/p3p3/2b1P3/p2N1Q2/P7/1PP3PP/3R1R1K w kq - bm Nxe6; id "ECM.845";
+rnbqkb1r/1p1n1pp1/p3p2p/3pP3/3p1NQP/2N5/P1PB1PP1/R3KB1R w KQkq - bm Nxe6; id "ECM.847";
+3r1b1R/3bkpp1/1p1np3/1BqpPPP1/PQ1N4/8/1PP5/1K6 w - - bm f6+; id "ECM.848";
+3r2k1/2p1bppp/4b3/p2pP3/qr1N1B1P/8/1PPQ2P1/1K1RR3 b - - bm Rxb2+; id "ECM.850";
+1k1r3r/ppR2ppp/1q2b3/1N6/4Q3/8/PP3PPP/4R1K1 w - - bm Rxb7+; id "ECM.851";
+1r4k1/1r3p2/p1p1b1pQ/q3P3/P7/bPN1R1P1/2P4P/1K1R1B2 b - - bm Bxb3; id "ECM.855";
+6k1/5p2/R3p1p1/1pq1PpB1/4nP2/5Q1P/P2r2PK/8 w - - bm Ra8+; id "ECM.857";
+1r6/5pk1/p1b2qpp/P1P1n3/1N6/Q5NP/5PP1/3R2K1 b - - bm Bxg2; id "ECM.859";
+2R5/p3q1kp/6p1/3p4/b2P2p1/Pr4N1/5Q2/3K3R w - - bm Nf5+; id "ECM.861";
+3r4/kb6/pp6/4R1pr/PPpq4/2N3Q1/2P3PP/3R3K b - - bm Rf8; id "ECM.862";
+4r1k1/5p1p/4q1p1/8/Q5n1/3B2P1/P4P1P/2R3K1 b - - bm Nxf2; id "ECM.863";
+r1bq1rk1/ppp1n1bn/3p2p1/3Pp1Pp/1PP1Pp1P/2NN1P2/P3B3/R1BQ1RK1 b - - bm Nxg5; id "ECM.865";
+1r4k1/pp4pp/2n1b3/1Rq1p3/2P2r2/P1B2P2/2Q1B1PP/3R1K2 b - - bm Rxf3+; id "ECM.868";
+7k/1p4p1/2p4r/5p2/p1QP1q2/2P2PR1/r4P1P/4R2K b - - bm Rxh2+; id "ECM.869";
+1r3r2/6kp/3p1pp1/qnp1pP2/1p2P2N/3P4/PPPQ1P1P/1K1R2R1 w - - bm fxg6; id "ECM.870";
+5rk1/1rP3pp/p4n2/3Pp3/1P2Pq2/2Q4P/P5P1/R3R1K1 b - - bm Rxc7; id "ECM.871";
+2rq1rk1/5ppp/2b1pb2/np6/6N1/2NBB3/PP3PPP/R2Q2K1 w - - bm Bb6; id "ECM.872";
+2Qbq1k1/6p1/1p4Np/4p2P/3rP3/8/3p2PK/3R4 w - - bm Rf1; id "ECM.874";
+2K5/6p1/kp2P3/1p6/1P6/2P1P2p/8/1r6 w - - bm e7; id "ECM.876";
diff --git a/tests/ecm_confident_quick.epd b/tests/ecm_confident_quick.epd
new file mode 100644
index 0000000..1a90c75
--- /dev/null
+++ b/tests/ecm_confident_quick.epd
@@ -0,0 +1,90 @@
+2r2bk1/4qp2/3n2p1/2R1p1Np/2p1N3/r6P/1Q3PP1/3R2K1 w - - bm Rxc8; id "ECM.035";
+r2b1rk1/5qp1/2p2P2/2p3Pp/p6P/2Q5/PPP5/2KR2R1 w - - bm g6; id "ECM.147";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.280";
+r1b1r1k1/pp3p1p/1q2p1pQ/2b1P1B1/8/P2B3P/1P3PP1/2R1R1K1 w - - bm Rxc5; id "ECM.339";
+3r1rk1/1pq1bppp/p7/n2RN3/P7/1P6/1B2QPPP/R5K1 w - - bm Nd7; id "ECM.382";
+r1b2rk1/1p3pbp/2p3p1/p1q5/1P6/1Q4P1/1P2PPBP/R1B1R1K1 b - - bm Be6; id "ECM.591";
+2kr3r/ppp1qpp1/2p5/2b2b2/2P1pPP1/1P2P1p1/PBQPB3/RN2K1R1 b Q - bm Rh1; id "ECM.610";
+5rk1/pbrn1ppp/1ppN1q2/2P1p3/3P4/1PRB4/P3QPPP/5RK1 w - - bm Bxh7+; id "ECM.672";
+rq1r1bk1/1b3pp1/3pn2p/1n2BN1P/1P2P3/3R1NP1/3Q1PB1/2R3K1 w - - bm Bxg7; id "ECM.728";
+2r3k1/pbq1np1p/1p1b1Bp1/8/6QP/2P2N2/B4PP1/4R1K1 w - - bm Bxf7+; id "ECM.733";
+6k1/p1qb1p1p/1p3np1/2b2p2/2B5/2P3N1/PP2QPPP/4N1K1 b - - bm Bxf2+; id "ECM.005";
+r1b1r1k1/p1p3pp/2p2n2/2bp4/5P2/3BBQPq/PPPK3P/R4N1R b - - bm Bg4; id "ECM.008";
+3r4/1b2k3/1pq1pp2/p3n1pr/2P5/5PPN/PP1N1QP1/R2R2K1 b - - bm Rxh3; id "ECM.009";
+r1b2r1k/3nN2p/p2Q1p2/8/4PP2/1R6/q1PK2PP/4R3 w - - bm Qd5; id "ECM.033";
+2k4r/ppp1n1p1/2n2qb1/2N5/Q1P3p1/P2r3P/1P3PB1/R1B2RK1 w - - bm Qb5; id "ECM.037";
+r1b1rnk1/1p3pb1/1qpp2p1/2n5/2PNP2p/1PN3PP/3R1PBK/BR1Q4 b - - bm Rxa1; id "ECM.039";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "ECM.080";
+1r3rk1/5pp1/1n2qn1p/1p1pPNb1/2pP2QP/2P5/1PB3P1/R1B1R1K1 w - - bm exf6; id "ECM.082";
+r1k4r/ppp1b3/5Npp/4pb1Q/8/1B2B3/PqP2PPP/2RR2K1 w - - bm Qxf5+; id "ECM.107";
+r1b1rk2/pp3ppQ/1np5/4q3/2B4N/4P3/PP3PP1/2R2K1R w - - bm Qg8+; id "ECM.114";
+rnb1r1k1/pp5p/2pp2p1/4b3/2P1P2q/1NN1BPp1/PP1QB1P1/3RR1K1 b - - bm Bf4; id "ECM.140";
+1r2k2r/p5bp/4p1p1/q2pn3/1p2N1P1/6QP/PPP5/1KBR3R w k - bm Bh6; id "ECM.149";
+3qn2k/1p3Bp1/rbn4p/2p5/p1P2p2/P2b2PP/1BQNRP2/1R4K1 w - - bm Qxd3; id "ECM.173";
+1q6/2rk1p2/p1n1b1rN/3p2p1/8/3Q4/PP1B1PPP/2R1R1K1 w - - bm Nxf7; id "ECM.176";
+3r2k1/p2r1p1p/1pR1p1qP/3P1pP1/3R4/1P2Q3/P4K2/8 w - - bm dxe6; id "ECM.183";
+1r3rk1/p4pbp/q1p2pp1/3p1b2/1n1P1P1B/PB3N2/1PPQR1PP/2KR4 b - - bm Bxc2; id "ECM.194";
+2q1r1k1/1b3pbp/3p2p1/1Ppn3n/5P2/5B2/1P1B2PP/R2NNQ1K b - - bm Ndxf4; id "ECM.208";
+8/2p2Q1p/1rp5/p3q1kp/P7/2P2RP1/5PK1/8 w - - bm Rf5+; id "ECM.233";
+6k1/3b1p1p/6p1/2BPR3/8/4Q2P/1q3rPK/8 w - - bm Re8+; id "ECM.235";
+6rr/1b3k1p/pbqppPn1/1p5Q/4PN2/P6R/1PP3BP/2B2R1K w - - bm Qxh7+; id "ECM.243";
+2r1rbk1/5pp1/bq5p/1pnBPN2/6Q1/N7/5PPP/R2R2K1 w - - bm Bxf7+; id "ECM.250";
+r5k1/pp2ppb1/4qn2/r3B1p1/3P4/3QNP1R/PP2K1P1/7R w - - bm Bxf6; id "ECM.252";
+1R2br1k/5r1p/p2p1P2/6RQ/3p1P2/4p2B/q6P/5N1K w - - bm Rxe8; id "ECM.253";
+4Rnk1/2p2pp1/3r3p/p2P4/P5Q1/1B5P/5PK1/q7 w - - bm Rxf8+; id "ECM.257";
+r2qk2r/1pp2ppp/p3pnn1/6N1/1B1P2P1/1Q2P2P/PP3PK1/R6R b kq - bm Nh4+; id "ECM.272";
+5r1k/1pqb3p/2n5/p1pB4/2Pp1r1P/1P5P/R2N2K1/3Q1R2 b - - bm Bxh3+; id "ECM.282";
+r1rbb3/1R3pkp/2pBp1p1/p3P3/q6P/6P1/P2Q1P2/1R3BK1 w - - bm R1b4; id "ECM.316";
+r3r1k1/pbqn1ppp/1p3n2/1Pb5/2p5/5N1P/PBQ1BPP1/1N1R1RK1 b - - bm Rxe2; id "ECM.337";
+1k2r2r/1bpQN2p/1p6/P3p2q/4np2/2P2N2/2P2PPP/R3R1K1 b - - bm Rxe7; id "ECM.340";
+2b1r2k/2Q4p/4q3/1pp5/3b4/4NP2/1P3BP1/3R2K1 w - - bm Rxd4; id "ECM.348";
+2rq3r/5p2/p3pkbQ/3p4/3N4/2P4R/P4PP1/4R1K1 w - - bm Rf3+; id "ECM.352";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.357";
+r3k3/1pqb1p2/p3p3/4n2r/3N1Q2/2P5/PP4B1/4RRK1 w q - bm Rxe5; id "ECM.364";
+7k/p1p1r2p/1p1pnr1q/5pp1/2PPPp2/2PB1P1P/P2Q1PRK/7R b - - bm g4; id "ECM.372";
+7k/5rp1/p1bQB2p/1p4nN/4P3/1Pq5/P5PP/3R3K b - - bm Bxe4; id "ECM.386";
+r3r1k1/1pp2p1b/7p/2Q5/2PP2p1/2P1NpPq/P2R1P1P/6RK b - - bm Rxe3; id "ECM.391";
+3r2k1/pb3p1p/1q4p1/2b1P3/1Pp5/2P1p1P1/P3Q1BP/R1B4K b - - bm Qc6; id "ECM.400";
+1r1q1k2/R4pp1/5p1r/1p1p1n1p/3Pb2N/1BP5/2P1Q1PP/4R1K1 w - - bm Qxe4; id "ECM.405";
+8/2R4p/2R3bk/8/5N1P/1p3PP1/2pqP1K1/8 w - - bm g4; id "ECM.426";
+2r3k1/n3qppp/1B1r1n2/N7/N4P2/1Q4PP/P5B1/R1b4K b - - bm Qe1+; id "ECM.444";
+7r/2p1q1k1/1p3r1p/p1pPpPp1/2P1P1P1/PP6/3Q2KR/7R w - - bm Qxg5+; id "ECM.445";
+6r1/6rk/3p3p/p2Rp3/R1PqPp1b/2N2Q2/6PP/7K b - - bm Rxg2; id "ECM.450";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "ECM.454";
+r2q1rk1/pp1n2pp/2pb4/1P1p3n/P1PPpP2/4P2b/1BNNBP1P/R2QR1K1 b - - bm Nxf4; id "ECM.496";
+r2qkr2/1p3pQp/2p1b3/1B1pN3/1p6/8/1P1K1PPP/2B1R3 w q - bm Nxc6; id "ECM.502";
+1k1r2r1/p1p3q1/2p2p2/3pn3/1P1b2bB/1QN5/P4PPP/1R2RBK1 b - - bm Nf3+; id "ECM.519";
+r2q4/5p1P/2p1bR2/ppk1p1P1/3pB2Q/8/PPP5/6K1 w - - bm g6; id "ECM.521";
+5r1k/1q2R3/8/6Q1/8/8/6P1/7K b - - bm Rf1+; id "ECM.548";
+r5r1/4q2k/p2p3p/5p2/4p3/P2QR3/1PP2PPP/4R1K1 w - - bm Rxe4; id "ECM.558";
+1r4nk/3b2bp/3p4/3P3p/2pNPq2/P1N2p1P/1P3Q2/1R4KR b - - bm Rxb2; id "ECM.570";
+4r1k1/1ppQr1p1/1p1p1pP1/3P3p/7P/1P3q2/P1P5/1KRR4 w - - bm Re1; id "ECM.574";
+4k3/4Bp2/1p2nP1P/2p5/2K1b1B1/8/P7/8 w - - bm Bf3; id "ECM.584";
+1r3qk1/pb3p1p/1pn2PpQ/2pN4/3r4/5B2/PPP4P/4RRK1 w - - bm Ne7+; id "ECM.611";
+8/p3q1k1/6p1/1p3nP1/2pp1QBr/P2P4/1PP2K2/R7 b - - bm Qe3+; id "ECM.618";
+3q1k2/5p2/p5pN/1b2Q2P/8/8/5PPK/8 w - - bm Qh8+; id "ECM.622";
+8/6kP/6p1/1p1pP3/pP6/P1n2K2/2N5/8 w - - bm e6; id "ECM.638";
+5r2/R4p2/5P1k/4PK2/1p6/8/8/8 w - - bm Rxf7; id "ECM.643";
+1r1qr1k1/5p1p/1n2p1p1/pp1pP1P1/2pP1BB1/PnP3P1/1P3PK1/1R1Q3R w - - bm Rxh7; id "ECM.663";
+1r2rnk1/2R2bpp/p2q4/1p1N2R1/5P2/1Q1B3P/PP4P1/7K w - - bm Rxg7+; id "ECM.702";
+4rrk1/2qb2pp/p5P1/1p2p3/1b2P3/2N5/PPPQ4/1K1R2R1 w - - bm gxh7+; id "ECM.704";
+3r1rk1/5pp1/pq1n1n1p/2pPR3/2B2P2/1PBQ2RP/P5P1/6K1 w - - bm Rxg7+; id "ECM.715";
+rn3rk1/ppq2ppp/2pb1nb1/5N2/2BP4/8/PPP1N1P1/R1B1QR1K w - - bm Nxg7; id "ECM.716";
+r4rk1/1p1q1ppp/p1b4B/8/2R3R1/P2P4/1b1N1QPP/6K1 w - - bm Bxg7; id "ECM.723";
+r1bqkbnr/pp2ppp1/2p4p/3n2N1/2BP4/5N2/PPP2PPP/R1BQK2R w KQkq - bm Nxf7; id "ECM.731";
+r2qr1k1/1ppb1p1p/p1np2p1/7Q/3PP2b/1B2N2P/PP3PP1/R1B2RK1 w - - bm Bxf7+; id "ECM.732";
+r2r2k1/1b2qpp1/1p2n3/p1b1p2p/4P1n1/PP1B2PP/1B1NQP2/R3NRK1 b - - bm Nxf2; id "ECM.736";
+2r1r1k1/1pq1bp1p/p3pnp1/P2n2N1/7R/2P4P/1PB1QPP1/2B1R1K1 w - - bm Nxf7; id "ECM.748";
+2rqrbk1/pb1n1p1p/1p2pnp1/4N3/2BP1N2/1P2Q3/PB3PPP/3R1RK1 w - - bm Nxf7; id "ECM.757";
+r1bqrbk1/5p1p/2pp2nB/pp5Q/4P3/PBNPR2P/1P4P1/R5K1 w - - bm Bxf7+; id "ECM.759";
+r2r4/p4pk1/2p3p1/1p1nPR2/5p1Q/2N5/PPPq4/1K4R1 w - - bm e6; id "ECM.807";
+r2q1rk1/pp2ppb1/3pn1pQ/3R4/2P3B1/4BR2/PP4PP/6K1 w - - bm Qxg6; id "ECM.813";
+r2q1rk1/pb1nbp1p/1p2p1p1/4N1BQ/2PP4/P7/5PPP/RB2R1K1 w - - bm Nxg6; id "ECM.817";
+k7/pp1N4/4P3/5P2/8/5p2/1R6/B4Knq w - - bm Nb6+; id "ECM.823";
+1rbq2k1/b1p3pp/p1Pp4/3Ppr2/8/5N2/PPQ2PPP/R1B2RK1 b - - bm Rxf3; id "ECM.826";
+1n2r3/p1pq1kp1/1b1pNpp1/3P4/5RP1/3Q3P/1B3P2/6K1 w - - bm Bxf6; id "ECM.830";
+r1b1k1nr/3n1p1p/1qpBp1p1/pp2b3/4PN2/PBN2Q2/1PP2PPP/2KR3R w kq - bm Nxe6; id "ECM.842";
+r3k2r/1q3ppp/p3p3/2b1P3/p2N1Q2/P7/1PP3PP/3R1R1K w kq - bm Nxe6; id "ECM.845";
+1r6/5pk1/p1b2qpp/P1P1n3/1N6/Q5NP/5PP1/3R2K1 b - - bm Bxg2; id "ECM.859";
+2R5/p3q1kp/6p1/3p4/b2P2p1/Pr4N1/5Q2/3K3R w - - bm Nf5+; id "ECM.861";
+1r3r2/6kp/3p1pp1/qnp1pP2/1p2P2N/3P4/PPPQ1P1P/1K1R2R1 w - - bm fxg6; id "ECM.870";
diff --git a/tests/ecm_confident_sample2.epd b/tests/ecm_confident_sample2.epd
new file mode 100644
index 0000000..c5f49f8
--- /dev/null
+++ b/tests/ecm_confident_sample2.epd
@@ -0,0 +1,40 @@
+r3kb1r/pp2pppp/3q4/3Pn3/6b1/2N1BN2/PP3PPP/R2QKB1R w KQkq - bm Nxe5; id "ECM.015";
+5rk1/3r1p1p/3b2pQ/8/4q3/4B2P/3R1PP1/4R1K1 w - - bm Rxd6; id "ECM.077";
+2kr1bnr/1ppq4/p3bp2/6pp/4p3/2N2NBP/PP3PP1/2RQ1RK1 w - - bm Na4; id "ECM.110";
+r1b1rk2/pp3ppQ/1np5/4q3/2B4N/4P3/PP3PP1/2R2K1R w - - bm Qg8+; id "ECM.114";
+rnb1r1k1/pp5p/2pp2p1/4b3/2P1P2q/1NN1BPp1/PP1QB1P1/3RR1K1 b - - bm Bf4; id "ECM.140";
+8/1bq3kp/p5p1/1pb1p3/4P2P/2PQ2P1/1P5B/5N1K b - - bm Qd8; id "ECM.153";
+r1r3k1/1p1b1nq1/6p1/pN1p4/P2Np2R/1P2P3/1Q3PP1/1K5R w - - bm Nd6; id "ECM.159";
+8/5p1k/4p1p1/3p2K1/3P1Q1P/P4P2/7q/8 b - - bm f6+; id "ECM.169";
+4r1k1/1np1r1pp/1ppp1q2/6N1/1P3P2/4RQP1/7P/4R1K1 w - - bm Qh5; id "ECM.171";
+2q1r1k1/1b3pbp/3p2p1/1Ppn3n/5P2/5B2/1P1B2PP/R2NNQ1K b - - bm Ndxf4; id "ECM.208";
+7k/pp1q2pp/3Nr1n1/3B2Q1/2pP4/B3P1Pb/P6P/6K1 w - - bm Qd8+; id "ECM.221";
+6k1/3b1p1p/6p1/2BPR3/8/4Q2P/1q3rPK/8 w - - bm Re8+; id "ECM.235";
+2r2rk1/pb4pp/1p2p3/4Npq1/3P1n2/5P2/PP1R2PP/RB2Q1K1 b - - bm Rc1; id "ECM.249";
+r5k1/pp2ppb1/4qn2/r3B1p1/3P4/3QNP1R/PP2K1P1/7R w - - bm Bxf6; id "ECM.252";
+6k1/1p3p2/4r1p1/1PPrbq1p/2QN4/P2R1P1P/R4KP1/8 b - - bm Bg3+; id "ECM.270";
+r1b2rk1/1pqp1ppp/p1n1pn2/5N2/8/2PBB3/P1P2PPP/R2QR1K1 w - - bm Nxg7; id "ECM.280";
+8/5p2/4p1k1/4P1p1/2rBRbK1/5P2/r4P2/7R b - - bm Rxd4; id "ECM.335";
+4q1r1/5kpp/2p1nb2/2PpQp2/r4P2/1N3P2/1BP1R2P/6RK w - - bm Rxg7+; id "ECM.344";
+r3r1k1/4pp1p/b5pB/q1pP4/3b4/2N4P/PP4P1/R2RQ2K w - - bm Rxd4; id "ECM.357";
+r1b1nrk1/p2n3p/2pp4/8/2P2q1N/1PB4P/P4PB1/R2QR1K1 w - - bm Bd5+; id "ECM.385";
+7k/5rp1/p1bQB2p/1p4nN/4P3/1Pq5/P5PP/3R3K b - - bm Bxe4; id "ECM.386";
+7r/pp4k1/3pn1p1/q1pB1b2/2P5/5NR1/1P3PP1/2Q3K1 w - - bm b4; id "ECM.423";
+1n2n1r1/r3qppk/p2p3p/3PpP1P/1P2P3/3B2RQ/3B1P1K/6R1 w - - bm Bxh6; id "ECM.433";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "ECM.454";
+3qrbk1/1r3p2/p1bp1Pp1/1p2p1Pp/4P2R/1P2BB1Q/P1P4P/R6K w - - bm Bxh5; id "ECM.460";
+r5k1/1N3ppp/4b3/1Nq5/Pn3pn1/5B2/1PPQ3P/R6K b - - bm Qxb5; id "ECM.481";
+r1bqn1r1/p2k1pp1/1p5p/n1pPpN2/2P1P3/P1PBB2P/4Q1P1/R4RK1 w - - bm Nxh6; id "ECM.483";
+3Rq1k1/1pp1Ppbp/r1b3p1/p7/P1N5/1P4P1/1B2PP1P/2R3K1 w - - bm Nd6; id "ECM.495";
+4rqk1/p5b1/3p3p/3Pn1p1/1pP1NrP1/4NP2/P3Q1P1/1K1RR3 b - - bm Nxf3; id "ECM.501";
+1r4nk/3b2bp/3p4/3P3p/2pNPq2/P1N2p1P/1P3Q2/1R4KR b - - bm Rxb2; id "ECM.570";
+4r1kb/5p1p/6pB/3Np3/4n3/P3Q1PP/2q2P2/R5K1 w - - bm Rc1; id "ECM.576";
+7k/4b2p/5p1P/5PP1/1pNp1P2/1P1B4/2P2K2/r7 w - - bm g6; id "ECM.619";
+3qr1k1/p4ppp/1p1P4/2r1nN2/4P2n/P7/1B4P1/3QRRK1 w - - bm d7; id "ECM.632";
+b3r1k1/2rN1ppp/2n1p3/p7/P3BP2/1R6/q1P2QPP/3R2K1 w - - bm Bxh7+; id "ECM.668";
+7k/1bp1P1p1/3p2rp/1pb2p1q/5P2/1BP2N1P/1P4P1/R1B2R1K b - - bm Rxg2; id "ECM.709";
+rn3rk1/ppq2ppp/2pb1nb1/5N2/2BP4/8/PPP1N1P1/R1B1QR1K w - - bm Nxg7; id "ECM.716";
+2rr2k1/4bppp/p1n1p3/3q4/1p1P2N1/2P3R1/P3QPPP/2B2RK1 w - - bm Nh6+; id "ECM.727";
+r3r1k1/b1p2pn1/p2q1Bp1/1p1bN1Qp/3P4/2P4P/PPB2PP1/R3R1K1 w - - bm Nxg6; id "ECM.819";
+k2r3r/ppq2p1p/n1pb1Pp1/4p3/2Q5/1R2B1P1/PPP2PBP/R5K1 w - - bm Rxb7; id "ECM.821";
+r3k2r/1q3ppp/p3p3/2b1P3/p2N1Q2/P7/1PP3PP/3R1R1K w kq - bm Nxe6; id "ECM.845";
diff --git a/tests/ecm_hard.epd b/tests/ecm_hard.epd
new file mode 100644
index 0000000..f73a630
--- /dev/null
+++ b/tests/ecm_hard.epd
@@ -0,0 +1,232 @@
+2k4r/1pp2ppp/p1p1bn2/4N3/1q1rP3/2N1Q3/PPP2PPP/R4RK1 w - - bm Nd5; id "ECM.014";
+r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - bm Nxd6; id "ECM.018";
+b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - bm Rxf6+; id "ECM.019";
+r1b2rk1/2q2ppp/2pbp3/p7/4Nn2/3B4/PPPBQ1PP/R4R1K w - - bm Rxf4; id "ECM.028";
+3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - bm Rgxg6; id "ECM.029";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.040";
+2rr4/5pk1/p1q3p1/3bpP1p/1p4nR/1N4Q1/PPP3PP/3NR2K b - - bm Bxg2+; id "ECM.043";
+1k1r1b1r/p1p1q3/2p1p3/4Ppp1/4nP2/P2BQ3/1PP3PB/2KR3R b - - bm Rxh2; id "ECM.051";
+r1b1r1k1/pp4bp/5np1/2qPB3/8/6NP/PPP1Q1B1/R4R1K w - - bm Rxf6; id "ECM.056";
+r4rk1/pp1b2pp/3bpq2/3p1p2/2PPn3/PP1B4/1BQN1PPP/R4RK1 b - - bm Bxh2+; id "ECM.060";
+r1b2rk1/1p2bppp/p3pn2/4B3/1qBR4/2N5/P3QPPP/R5K1 w - - bm Bd3; id "ECM.068";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6; id "ECM.071";
+r1b2kr1/1p1p1pNp/p1n1p1p1/5P2/3QP3/2N5/PqP1B1PP/R4RK1 w - - bm fxg6; id "ECM.076";
+Q7/p1r1ppk1/1qP4p/2Rb2p1/8/3N2P1/4PP1P/6K1 b - - bm Qb1+; id "ECM.081";
+4r1k1/1b4pp/p7/1prP3q/2P1B3/5P2/P3Q2P/3RR2K w - - bm Bg6; id "ECM.084";
+rn1q1r2/4bpk1/p3p3/1pN1N1np/2pP4/4PpBb/PPQ4P/1B1RK1R1 w - - bm Nc6; id "ECM.091";
+6k1/1pqb1p2/5bpB/r2n4/4N1P1/1P3P2/1P1Q4/1K5R w - - bm Qxd5; id "ECM.099";
+r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - bm Nxh7; id "ECM.115";
+4qbk1/1R5n/p2pr1p1/2pQpNPp/P1P1P3/2P2P2/3B4/5K2 w - - bm Ne7+; id "ECM.117";
+2b2r2/1p2q1k1/r3pppp/4n2P/p3N3/1B4Q1/PPP3P1/3R1R1K w - - bm Rxf6; id "ECM.119";
+rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - bm Nxh5; id "ECM.128";
+r1bq1rk1/pp2bp1p/2p2np1/3p2B1/3P4/2NQ2N1/PPP2PPP/4RRK1 w - - bm Rxe7; id "ECM.130";
+2rq1rk1/pp2bppp/1npp1n2/3PpN1b/2P5/2N3PP/PP2PPB1/R1BQ1RK1 w - - bm c5; id "ECM.131";
+8/1Qp3pk/7p/5p2/5Pqn/1P1r4/P5PP/2B2RK1 b - - bm c6; id "ECM.137";
+b3r3/q2B2k1/3Q2p1/1p5p/3pP3/5P2/1p4PP/5RK1 b - - bm d3+; id "ECM.142";
+6k1/4ppbp/p5p1/1B1Q4/2P2Pn1/8/qr4PP/2B2RK1 b - - bm Bd4+; id "ECM.145";
+8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - bm Ba3; id "ECM.146";
+4r3/Q2bppkp/3p2p1/3Nn3/4P3/6PP/1qr2PB1/R3R1K1 b - - bm Ra8; id "ECM.155";
+3R4/1p2kp2/p1b1nN2/6p1/8/6BP/2r1qPPK/Q7 w - - bm Rd7+; id "ECM.162";
+r1b3k1/ppp2r2/6p1/3n3p/6qP/3BQ3/PBP5/2KR3R w - - bm Bd4; id "ECM.180";
+4r1k1/1pbb3p/2pp2q1/p1n5/2P2R2/1PN1n1P1/PB2Q1B1/5RK1 w - - bm Qxe3; id "ECM.182";
+1R3b2/3r3k/2p1bp1p/r1q1pNpQ/2PpP2P/6B1/P4PP1/1R4K1 w - - bm Nxh6; id "ECM.186";
+r1b4r/pp2ppk1/2np1np1/3N3p/2B1P3/q3BP2/P1PQ2PP/1R3RK1 w - - bm Nxe7; id "ECM.187";
+5rk1/5pbp/b5p1/p1nNN3/1p2n3/1P4PP/P4PB1/2BR2K1 w - - bm Nd7; id "ECM.190";
+2k1r1r1/ppb2p2/6b1/2qP4/2P2P2/4pP1p/P3Q2P/2RBRN1K b - - bm Bd3; id "ECM.191";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.193";
+r1k3r1/pppnb1p1/4N3/3QP2p/3P3q/4B3/PPP2P2/R3KB2 w Q - bm Ba6; id "ECM.198";
+r1bq1rk1/pppn2bp/3p2p1/3N1p2/8/BP1BRQ1P/P1PP1PP1/4R1K1 w - - bm Nxc7; id "ECM.206";
+r4rk1/ppp3b1/3p1qp1/3Pp3/2P1Bn2/4BP2/PP1Q4/2K3RR w - - bm Rxg6; id "ECM.211";
+r4n1r/ppq1nk2/1bpRpN2/4PpQ1/8/2B4P/PPP2PP1/2KR4 w - - bm Rd7; id "ECM.215";
+rnb1kr2/p4pQ1/8/1ppPpP2/2p1P3/N6P/Pq4B1/3R1RK1 w q - bm Nxb5; id "ECM.226";
+8/pR3Bk1/3p2p1/5b1p/2P4P/6P1/P4bQK/4q3 b - - bm Bg1+; id "ECM.228";
+rq3r1k/p2n1p2/1pbb1np1/2p2BB1/8/2N2N2/PP3QPP/3R1RK1 w - - bm Rxd6; id "ECM.231";
+3rr1k1/1b5p/p6p/1p3N2/6Pb/P1Q1p3/1PP4P/R5K1 b - - bm Bf2+; id "ECM.237";
+r2qr1k1/1pnb1pp1/p1n1p2p/8/P2P3P/B2B1NP1/6P1/R2Q1RK1 w - - bm Bh7+; id "ECM.247";
+1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - bm Bb7; id "ECM.251";
+4n1q1/1k1b4/2p4R/2Pp4/1p1N1rpQ/3B4/PPP2P2/2K5 w - - bm Nxc6; id "ECM.271";
+r3r1k1/pp3pp1/2bb1q2/3p4/4n1Pp/2P1BB1P/PP2NPK1/R1Q4R b - - bm Qxf3+; id "ECM.274";
+rn4k1/pp2p1b1/4b3/q2p2Q1/2B2P2/8/P1P1K1P1/R6R w - - bm Rh8+; id "ECM.277";
+4k3/p4ppp/nb1P4/4p3/1P6/P4BP1/3q1r1P/2R2QKR w - - bm Qb5+; id "ECM.287";
+2r1r1k1/pp1nbpp1/4pn1p/q3NN1P/P1pP1B2/2P5/1PQ2PP1/R3R1K1 w - - bm Nxg7; id "ECM.289";
+1r3rk1/6p1/p1pb1qPp/3p4/4nPR1/2N4Q/PPP4P/2K1BR2 b - - bm Rxb2; id "ECM.291";
+2r1qrk1/pp1b1ppp/4pn2/n1b5/8/2NQ1NP1/PP1BPPBP/R2R2K1 w - - bm b4; id "ECM.297";
+2b1qr1k/7p/p1pR2p1/1pP1p1Q1/4P3/1B6/PP4PP/6K1 w - - bm Re6; id "ECM.298";
+8/2b2k1p/2N2pp1/P2p4/3KnP2/6BP/P5P1/8 w - - bm Kxd5; id "ECM.300";
+r3r1k1/p1q2pp1/2p4p/7n/BPPP2N1/3Q1N2/P3n1P1/R1B4K b - - bm Nhg3+; id "ECM.312";
+r1b2rk1/p3bppp/2q5/8/2p1NR2/PnB1P3/1PB1Q1PP/3R2K1 w - - bm Rd6; id "ECM.315";
+1rb2rk1/p1p2ppp/2q5/3R4/2P1N3/bP4B1/P1Q2P1P/1K5R w - - bm Bd6; id "ECM.318";
+rnb2rk1/pp2bppp/2p5/q7/4NN2/4B1QP/PPP3P1/2KR3R w - - bm Rd5; id "ECM.321";
+3r1rk1/pbqn1pp1/1pp2n1p/2b1p1B1/P1B1P2N/2N4P/1PP1QPP1/3R1RK1 w - - bm Rxd7; id "ECM.327";
+2r2r1k/1pq1b1p1/p1b1Qn1p/8/3B4/2NB4/PPP3PP/3R1R1K w - - bm Rxf6; id "ECM.330";
+r1bqr1k1/pp3pp1/2p4p/3PN1n1/3P1b2/2NB4/PPQ2PPP/3R1RK1 b - - bm Rxe5; id "ECM.336";
+2r2rbk/6bp/5qp1/1N1p1n2/4p3/1p5P/1P3PP1/RBBQ1RK1 b - - bm Ng3; id "ECM.338";
+rnb2rk1/3n1ppp/p3p3/1p2P1q1/3N4/1BN5/PPP3PP/R2Q1RK1 w - - bm Nxe6; id "ECM.343";
+2r1k2r/1pq1bppp/p3bn2/4N3/2pPN3/2P5/P3QPPP/R1B1R1K1 w k - bm Nxf6+; id "ECM.345";
+r3r1k1/pp3ppp/1qp5/2bbNQ2/5B2/2P5/PP3PPP/3RR1K1 w - - bm Rxd5; id "ECM.349";
+1r6/3b1pk1/pr1p1q1p/2pPb1p1/2B1P1P1/2N2PP1/1PQ3K1/RR6 b - - bm Rxb2; id "ECM.358";
+2r3k1/p1r1ppb1/2bp1np1/q5N1/1p1BP2Q/3P4/PP2N1PP/2R2R1K w - - bm Bxf6; id "ECM.360";
+2rbr2k/1pq2ppp/p3bn2/4p1B1/P3P3/2N3Q1/1PP1B1PP/3R1R1K w - - bm Rxd8; id "ECM.366";
+r4rk1/5p2/p1b1pQpq/8/1B2P3/2NR4/PPP3PP/1K6 w - - bm Rd5; id "ECM.367";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.370";
+1k2rb1r/pbp1q1pp/2pp4/2PnpP2/Q7/1P3NP1/PB5P/2KR1B1R w - - bm Rxd5; id "ECM.371";
+5qk1/p4p2/1p3Pp1/2p4Q/3rr3/7R/PP6/6RK b - - bm Rh4; id "ECM.373";
+r3k2N/pppbq1pp/5n2/3Ppn2/2BP4/2P3bP/PP2Q1P1/RNB2K1R b q - bm Bh2; id "ECM.376";
+r2q1r2/p1pbppbk/1p3npp/n2P2B1/7Q/2NB1N2/PPP3PP/4RRK1 w - - bm d6; id "ECM.377";
+r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - bm Bxe5+; id "ECM.379";
+2k2r1r/1pp1nqbp/p2p1p2/5P2/2PBN3/1P3Q2/1P4PP/R4RK1 w - - bm Rxa6; id "ECM.394";
+r5kr/p3PR1p/1p1p2pq/4n3/8/3B4/P4QPP/4R1K1 w - - bm Rxe5; id "ECM.395";
+2kr3r/pp3p1p/2b1p3/q3Q3/5P2/2P1B3/P1P3PP/1R3RK1 b - - bm Rhg8; id "ECM.397";
+2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - bm Rxd3; id "ECM.398";
+r3nrk1/p1pb1qpp/3p1p2/2pP1N2/2P1PR2/P1PB4/4Q1PP/5RK1 w - - bm e5; id "ECM.402";
+r4rk1/1b4bp/p1npq1P1/R3p3/8/1N2BP2/1PPQ2P1/4KB1R w K - bm Qxd6; id "ECM.411";
+6k1/2p3p1/2b4p/p4P2/2pR2PK/2P1r2P/1B6/8 b - - bm Bg2; id "ECM.413";
+3rr1k1/1p1qb2p/pP4p1/2p2p2/4RQ2/3P4/1PPB2PP/4R1K1 w - - bm Bc3; id "ECM.420";
+6k1/rnqb3p/5ppQ/2pPp3/p1N1P3/2PB3P/5PP1/1R4K1 w - - bm f4; id "ECM.422";
+6k1/p4p1p/3pqp2/2p1r3/2Pnr1N1/P6P/1P1Q1PP1/3R1RK1 b - - bm Ne2+; id "ECM.427";
+r2b4/pb2q1k1/np1p2r1/1N1Pp2Q/PPN1Pp2/8/2R2BPp/2R4K w - - bm Ncxd6; id "ECM.434";
+3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - bm Bh4; id "ECM.438";
+r1r3kb/1pqbpp2/p2p1npB/n7/3NP3/1BN2P2/PPPQ2P1/2KR3R w - - bm Bf8; id "ECM.439";
+4rr1k/pbp3bp/3p4/1p5q/3n4/1B1Q2B1/PP1N1N1P/4RRK1 b - - bm Rf3; id "ECM.440";
+4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - bm Ng6+; id "ECM.442";
+2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - bm Qb2; id "ECM.443";
+2k5/1p1b4/2n1p1r1/7q/4RP2/3BQN2/2P2K1P/8 w - - bm f5; id "ECM.447";
+2kr3r/p5b1/Pp2R1p1/2q2p1p/2p2Pn1/2P2BP1/1PQB2P1/5R1K b - - bm h4; id "ECM.456";
+2rq2k1/pp1bpp1p/3p1np1/8/3NPPnQ/1BP5/P1P3P1/1K1R3R w - - bm e5; id "ECM.464";
+r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - bm Rxd5; id "ECM.465";
+2r1kr2/p1qbbp1Q/3pp3/5p2/1p1N1PB1/6P1/PPP4P/K2RR3 w - - bm Bxf5; id "ECM.466";
+r6k/ppr1qpp1/4n2p/3pP3/3P2R1/3BQ2P/P5PK/5R2 w - - bm Rf6; id "ECM.467";
+2rr2k1/5pn1/1b2q1pp/pP1pP3/2pP1PP1/2R1B2P/2Q3B1/3R3K w - - bm f5; id "ECM.468";
+r4rk1/5ppp/p7/4PR2/P1qnp2Q/4B3/1P4PP/5RK1 w - - bm Rh5; id "ECM.475";
+4r3/pb3pk1/6p1/8/6P1/1PNrB2K/P4P1P/2R5 b - - bm Rexe3+; id "ECM.476";
+2kr2r1/2pqbp1p/p1n1b3/1P1pP3/4n3/1BP1BN2/1P4PP/RN1Q1RK1 b - - bm Bh3; id "ECM.488";
+2b3k1/5qp1/p2r1n1p/3p4/3B4/1RP3QP/P2Nr1P1/3R2K1 b - - bm Ne4; id "ECM.489";
+1r2r1k1/p4ppb/q1pbnn1p/4p3/N1P1P3/pPB2NP1/2Q1RPBP/R5K1 b - - bm Nxe4; id "ECM.491";
+r4r2/1pnqb2k/3p1p1p/p1pPpPpP/2P1N1P1/4BP2/PP1Q4/R2R2K1 w - - bm Bxc5; id "ECM.492";
+rq1r2k1/3nbp1p/p2p2p1/1p1Pp1P1/3B1P2/3B3Q/PPP4P/2KR2R1 w - - bm f5; id "ECM.497";
+r4rk1/1bq1bppp/8/p2pPR2/3B4/1NnP3Q/1P4PP/4R1K1 w - - bm Rh5; id "ECM.498";
+r1b2rk1/pp4bp/2p3p1/4q2n/NQPN1p1P/1P5n/P3PPB1/2BRRK2 b - - bm f3; id "ECM.500";
+r3rk2/pb2bpp1/1n5p/q1pP1B2/1p3B2/5N2/PPQ2PPP/R2R2K1 w - - bm Bc8; id "ECM.503";
+r1bqr2k/ppp2p1p/5b2/3Pn1p1/1PP1Bp2/8/PB2N1PP/R2Q1RK1 w - - bm Nxf4; id "ECM.504";
+1q4k1/p3rppp/3b1n2/8/5P2/4P3/PP1B3P/RNQ3K1 b - - bm Bxf4; id "ECM.505";
+3r1qk1/5p1p/4b1pP/1pRp4/1P1Q4/r5P1/5P2/4RBK1 w - - bm Rxe6; id "ECM.510";
+4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - bm Bxf6; id "ECM.516";
+r5n1/pppb1B2/2k1pb2/3p2B1/5P2/2N5/PPP3P1/2KR4 w - - bm Nxd5; id "ECM.517";
+2bk3r/3r2pp/p2nQ3/q2R2P1/1p6/8/PPP2P1P/1K3B1R b - - bm Qxd5; id "ECM.525";
+8/4Ppk1/6p1/1p6/1Pb1Q3/6pq/8/6K1 w - - bm Qe5+; id "ECM.544";
+r1b2rk1/ppp2ppp/2n3q1/b2N2N1/2BP4/4p2P/PPP3P1/R2Q1RK1 w - - bm Nxf7; id "ECM.553";
+r1b2rk1/4bnpp/2p5/pp2q3/4N3/PQ2B1P1/1PP3BP/4RRK1 w - - bm Ng5; id "ECM.559";
+2rr2k1/1p3p2/p2n2p1/P2PnNq1/3QP1p1/1RN5/6PP/5RK1 b - - bm Nf3+; id "ECM.560";
+r3k1r1/pb1qpp1p/1pnp1n1B/2p2R2/3PP3/2P3PN/P1P3BP/R2Q3K b q - bm Nxe4; id "ECM.561";
+2r1r1k1/pp1b1ppp/1q6/3P4/7N/Pn1Q4/1P3PPP/1RB2RK1 b - - bm Nxc1; id "ECM.569";
+r3r1k1/p2n4/3p1pp1/qnp3B1/1p2P1P1/1P3P2/PP2N2Q/1K1R1B2 w - - bm Nf4; id "ECM.580";
+4r1k1/r1q2p1p/p5pB/1pbBpN1n/1n2P3/5Q2/PP3PPP/R1R3K1 w - - bm Rxc5; id "ECM.592";
+1rb1r1k1/p1p1qppp/2pb4/8/2P3n1/4P1P1/PB2BP1P/R1QN1RK1 b - - bm Nxh2; id "ECM.595";
+rnb2rk1/pp4pp/2pb1n2/3N1p1q/2P5/3N2P1/P1Q1PPBP/R1B2RK1 w - - bm Bf4; id "ECM.597";
+8/8/1p1k4/5ppp/PPK1p3/6P1/5PP1/8 b - - bm f4; id "ECM.598";
+8/p5k1/2p2p2/4p1p1/1p2P3/1P4PP/1PP5/5K2 b - - bm g4; id "ECM.601";
+8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b - - bm g5; id "ECM.605";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "ECM.607";
+6r1/1p3k2/pPp4R/K1P1p1p1/1P2Pp1p/5P1P/6P1/8 w - - bm Rxc6; id "ECM.608";
+1k2b3/4bpp1/p2pp1P1/1p3P2/2q1P3/4B3/PPPQN2r/1K1R4 w - - bm f6; id "ECM.609";
+6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - bm e5; id "ECM.613";
+5r2/pp1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+; id "ECM.614";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.615";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.616";
+3r2k1/p6p/b2r2p1/2qPQp2/2P2P2/8/6BP/R4R1K w - - bm Rxa6; id "ECM.617";
+6B1/2p2pp1/2p5/p3K3/1k6/nP4P1/5P1P/8 b - - bm Nc4+; id "ECM.621";
+4r2k/3n1Qpp/1pRP1p2/p4P2/1p1P2P1/6rP/P3q1B1/6RK w - - bm Qe6; id "ECM.624";
+3rr1k1/pppRn1pp/4Pp2/1P5q/1QB5/4P3/P4P1P/4K1R1 w - - bm Qxe7; id "ECM.627";
+8/6Bp/6p1/2k1p3/4PPP1/1pb4P/8/2K5 b - - bm b2+; id "ECM.629";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.635";
+r4rk1/ppq3pp/2p1Pn2/4p1Q1/8/2N5/PP4PP/2KR1R2 w - - bm Rxf6; id "ECM.636";
+r3qr1k/1b4pp/p2RQ3/Bp2p3/4p3/6P1/PPP2P1P/3R2K1 b - - bm Qh5; id "ECM.637";
+8/pR4pk/1b6/2p5/N1p5/8/PP1r2PP/6K1 b - - bm Rxb2; id "ECM.640";
+8/2k5/2p5/2pb2K1/pp4P1/1P1R4/P7/8 b - - bm Bxb3; id "ECM.646";
+2r5/1r5k/1P3p2/PR2pP1p/4P2p/2p1BP2/1p2n3/4R2K b - - bm Nd4; id "ECM.647";
+4r2k/p2qr1pp/1pp2p2/2p1nP1N/4R3/1P1P2RP/1PP2QP1/7K w - - bm Rxg7; id "ECM.648";
+8/1R2P3/6k1/3B4/2P2P2/1p2r3/1Kb4p/8 w - - bm Be6; id "ECM.650";
+3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - bm Bb5; id "ECM.653";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.654";
+r1b2rk1/2q1bppp/p1n1p3/1p1np1P1/5P2/1NNBBQ2/PPP4P/R4RK1 w - - bm Bxh7+; id "ECM.665";
+2rqr1k1/1p1bbppp/p3p3/n7/3P2Q1/2PB1N2/P4PPP/R1B1R1K1 w - - bm Bxh7+; id "ECM.673";
+r1b2r1k/ppppq1pp/2n1n3/6N1/2B2P2/4B3/PPP3PP/R2Q1RK1 w - - bm Nxh7; id "ECM.674";
+rn1q1rk1/pb1p1ppp/4p3/2pnP3/1bp5/2N2N2/PP3PPP/RBBQK2R w KQ - bm Bxh7+; id "ECM.675";
+r1b2rk1/1pq2ppp/p1p1p3/2n1P3/2N2P2/3B4/PPP3PP/R2Q1RK1 w - - bm Bxh7+; id "ECM.677";
+rn3rk1/pp1bppbp/1qp3p1/4P1N1/PP1PB3/2P1B3/4Q1PP/R4RK1 w - - bm Nxh7; id "ECM.679";
+3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - bm Bxh7+; id "ECM.680";
+1r2nrkb/2n2p1p/p2p1Pp1/P1pPp1P1/1pP1P1q1/1P1BB1N1/3Q4/2KR3R w - - bm Rxh7; id "ECM.681";
+r2q3r/2pkb1p1/p2p1n2/4p1p1/Pp2P1P1/1QP5/1P1P2PP/RNB2RK1 b - - bm Rxh2; id "ECM.683";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "ECM.684";
+2rq1bk1/1br2p1p/p2p2p1/1p1P4/4Q3/PP3N2/1BP5/1K1R3R w - - bm Rxh7; id "ECM.685";
+r2qn1k1/pb4Pp/1pn5/2p5/2P2p2/P1PB4/5PPP/R2Q1RK1 w - - bm Bxh7+; id "ECM.686";
+r4rk1/pp1n1ppp/3qp3/3nN1P1/b2P4/P2B1Q2/3B1P1P/1R2R1K1 w - - bm Bxh7+; id "ECM.687";
+r2r2k1/ppqbbppp/4pn2/6N1/n1P4P/3B1N2/PP2QPP1/1KBR3R w - - bm Nxh7; id "ECM.688";
+4nrk1/r4p1p/p2p2pQ/2pPpNPP/qpn1P3/5P1R/PPP1N3/2K3R1 w - - bm Qxh7+; id "ECM.691";
+r3k2r/1b1n1p2/pq1p1bp1/1p4p1/P3P3/1NN5/1PP3PP/R2QRB1K b kq - bm Rxh2+; id "ECM.692";
+r2qrnk1/4bppp/b1p5/1p1p2P1/p2P1N1P/2NBP3/PPQ2P2/2K3RR w - - bm Bxh7+; id "ECM.693";
+3r1rk1/4qp1p/p1bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - bm Bxh2+; id "ECM.696";
+r2q1rk1/3n1ppp/8/1pbP2P1/p1N4P/PnBBPQ2/5P2/R3K2R w KQ - bm Bxh7+; id "ECM.697";
+2k3r1/ppq2p1p/n1Pb1p2/8/6r1/4BN1b/PPQ2PPP/R3RBK1 b - - bm Bxh2+; id "ECM.698";
+3qr1k1/1br2ppp/p2b4/8/PpNp4/3P4/1PP2PPP/R1BQ1RK1 b - - bm Bxh2+; id "ECM.699";
+r1b4r/3p1kp1/pp3q1p/4RP2/8/B7/P5PP/4QRK1 w - - bm Qe4; id "ECM.701";
+2r2r1k/3b1pb1/p3pp1p/q2p1P1B/8/2N2RR1/P1PQ2PP/7K w - - bm Rxg7; id "ECM.706";
+r2qr1k1/1p3ppp/2pb4/2Np4/1P1P2bn/3BP3/2QN1PPP/1RR3K1 b - - bm Nxg2; id "ECM.712";
+r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - bm Bxg7; id "ECM.713";
+r5k1/pn1q1rpp/2pp4/5R1N/bP6/4BQ2/P4PPP/2R3K1 w - - bm Nxg7; id "ECM.714";
+r4rk1/5ppp/p2pbb2/3B3Q/qp2p3/4B3/PPP2P1P/2KR2R1 w - - bm Rxg7+; id "ECM.718";
+4q1k1/1b3r1p/p4pp1/1p6/2P2n2/1P3N2/1B3PPP/R2Q3K b - - bm Nxg2; id "ECM.719";
+r3r1k1/p3bppp/q1b2n2/5Q2/1p1B4/1BNR4/PPP3PP/2K2R2 w - - bm Rg3; id "ECM.722";
+4kbr1/pp1bpp1p/3p1p2/3N4/1PBQP3/q7/P1r2PPP/R4RK1 b - - bm Rxg2+; id "ECM.725";
+3q1r2/1p1b1pk1/pn5p/3pN1pQ/3P3P/2r3B1/P4PP1/3RR1K1 w - - bm Nxf7; id "ECM.730";
+r3r1k1/1bqn1ppp/1pp2p2/8/3P4/1B4N1/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.734";
+r3r1k1/pp3ppp/8/1Nbp3q/3NnBn1/2P5/PPQ2PPP/3R1RK1 b - - bm Ngxf2; id "ECM.735";
+rqb1k2r/1p1nbp1p/p4pp1/8/1PBN1P2/P1N1P3/7P/2RQ1RK1 w kq - bm Bxf7+; id "ECM.754";
+r2r2k1/4ppbp/5np1/p1q5/QnB1P3/5N2/1P3PPP/R1B2RK1 w - - bm Bxf7+; id "ECM.755";
+2rqr1k1/pp2nppp/3p2b1/6B1/2BNn1Q1/P7/1PP2PPP/2KRR3 w - - bm Bxf7+; id "ECM.761";
+r1b2rk1/p6p/2p3Pb/3pp1q1/8/2PB4/PP3PP1/RN1Q1K1R b - - bm Rxf2+; id "ECM.763";
+r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - bm Nxf7; id "ECM.764";
+r1b1r1k1/pp2qpbp/2p3p1/2P5/3NnB2/7P/PPQ1PPB1/2RR2K1 b - - bm Nxf2; id "ECM.766";
+rn2r1k1/pp3p1p/3P2p1/2p1bbB1/2B5/2N5/Pq4PP/R2Q1RK1 w - - bm Bxf7+; id "ECM.767";
+1bq2k2/1b1n1pp1/pp5p/2pBpN2/P3P2B/3Q1P2/1PP3PP/4K3 w - - bm Bxf7; id "ECM.769";
+rnb2rk1/pp3pbp/2p3pB/2q5/4P3/1BN5/PPP3PP/R2Q1R1K w - - bm Rxf7; id "ECM.770";
+3qr1k1/1br1bp1p/p3p1pB/1p1nN3/3PB3/7Q/PP3PPP/3RR1K1 w - - bm Nxf7; id "ECM.771";
+rr1q2k1/1p2bpp1/2p1p2p/P1Pn4/2NP4/3Q1RP1/5PKP/2B1R3 w - - bm Bxh6; id "ECM.773";
+r2r2k1/pb1nbpp1/1qp1pn1p/1p2N3/3P1B2/P1N1P3/BPQ2PPP/2R2RK1 w - - bm Bxh6; id "ECM.774";
+r1b1r3/pp2Npbk/3pp2p/q5p1/2QNPP2/6P1/PPP3P1/2KR3R w - - bm Ndf5; id "ECM.776";
+1rbqnr2/5p1k/p1np3p/1p1Np3/4P2P/1Q2B3/PPP1BP2/2KR3R w - - bm Bxh6; id "ECM.779";
+r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.780";
+r4rk1/2q1b1p1/p4p1p/n3pP2/1p2Q1N1/4B3/PPP3PP/4RR1K w - - bm Nxh6+; id "ECM.782";
+2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - bm Bxh6; id "ECM.789";
+r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - bm Bxh6; id "ECM.792";
+2b1rk2/r6p/1pP1p1p1/p2pNnR1/5Q2/P1B4q/1PP2P1P/1K4R1 w - - bm Nxg6+; id "ECM.799";
+2b2r1k/2p3pp/2Nb4/pP5q/2PP4/P4pP1/5P1P/R1BQ2K1 b - - bm Bxg3; id "ECM.803";
+r1bq2k1/pp3r1p/2n1p1p1/3pP3/6Q1/2PB2P1/P4PK1/R1B4R w - - bm Bxg6; id "ECM.804";
+3q1rk1/2r4p/n1p1n1pQ/p2pP3/Np1P2R1/5PN1/PP3KP1/2R5 w - - bm Rxg6+; id "ECM.805";
+2rqr1k1/pb2bp1p/1pn1pnpB/4N3/3P4/P1N3R1/1P3PPP/RB1Q2K1 w - - bm Rxg6+; id "ECM.810";
+3rr1k1/pb2bp1p/3qp1pB/1p2N3/3P2Q1/2P1R3/P4PPP/4R1K1 w - - bm Nxg6; id "ECM.816";
+1Q4R1/r2qbp2/3p1kp1/3Bp2p/8/3PP1P1/5PKP/8 w - - bm Rxg6+; id "ECM.818";
+1rb2rk1/p1p1qppp/2p2n2/3P4/1b3P2/2NB4/PPPBQ1PP/2KR3R b - - bm Ba3; id "ECM.822";
+1q1r3k/3P1pp1/ppBR1n1p/4Q2P/P4P2/8/5PK1/8 w - - bm Rxf6; id "ECM.825";
+r1bq1rk1/1p2bppp/p3p3/n3P3/4N3/1P1P1N2/PB4PP/R3QR1K w - - bm Nf6+; id "ECM.829";
+r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - bm Nf3+; id "ECM.831";
+3r1b2/p4bkp/1p1P1p2/r3p1p1/2q1N3/2N2P2/1P1R2PP/2QR3K w - - bm Nxf6; id "ECM.832";
+rqbn1rk1/1p3ppp/p3p3/8/4NP2/8/PPP1BQPP/1K1R3R w - - bm Nf6+; id "ECM.833";
+r1b1kb1r/1p4pp/p2ppn2/8/2qNP3/2N1B3/PPP3PP/R2Q1RK1 w kq - bm Rxf6; id "ECM.834";
+2nr2k1/1pq1bppp/p1p5/2p1P1PQ/2P1NP2/1PNR4/P6P/6K1 w - - bm Nf6+; id "ECM.836";
+6nk/pn2qr1r/1pbp1p1p/2p1pPpN/P1P1P1PP/2PP3R/7Q/2BBK2R w K - bm Nxf6; id "ECM.837";
+r1b1kb1r/1p1n1ppp/p2ppn2/6BB/2qNP3/2N5/PPP2PPP/R2Q1RK1 w kq - bm Nxe6; id "ECM.841";
+2r2rk1/1b3ppp/pq2p3/1pbn2N1/3B3P/1B4P1/P1P1QP2/2KRR3 w - - bm Qh5; id "ECM.843";
+3qr1k1/rp3pbp/2p3p1/3p1b2/N1nP4/P2NP3/1PQ2PPP/1BRR2K1 b - - bm Rxe3; id "ECM.846";
+rr4k1/5p1p/n2p1npQ/q1pP4/6P1/2N2P1N/PP1R3P/2K4R b - - bm Rxb2; id "ECM.853";
+1k2bb1r/1p3p1p/p2qpP1p/3pN3/3P1Q2/2RB2P1/PP3P1P/6K1 w - - bm Qc1; id "ECM.854";
+5rk1/5rp1/p2qb3/R2Np2Q/3bP2B/7P/P5PK/1R6 b - - bm Rf1; id "ECM.856";
+3r1rk1/p3q1pp/2Rb4/3P4/8/1P2Qp2/PB3PPP/3R2K1 b - - bm Bxh2+; id "ECM.858";
+1r4k1/1q3pb1/r1b3p1/pp1Qp3/P3P3/1B2BP2/1PP3P1/1K1R3R w - - bm Qd8+; id "ECM.860";
+8/2q1np1k/6p1/1PPn3p/8/P2Q3P/6P1/2R4K b - - bm Nf5; id "ECM.864";
+7R/1p1r4/2b2p2/2Pp1qk1/3P1bp1/3N4/2Q2PB1/6K1 w - - bm Rg8+; id "ECM.866";
+r6r/1pn1b1k1/2p1pq2/2Pp3p/p2P1Pp1/P2BP1P1/1P2QB2/3R2KR w - - bm Rxh5; id "ECM.867";
+2kr1br1/ppp2p1p/2n1p1q1/2Nn4/3P4/1Q2PB2/PP1B1P1P/2R1K2R b K - bm Qg1+; id "ECM.875";
+2kr3r/1Rp1bpp1/p6q/Q3P3/2P5/3p1NP1/P3P2P/1R4K1 b - - bm Qe3+; id "ECM.877";
+6k1/1R4pp/2p5/8/P1rNp3/6Pb/4PK2/8 w - - bm a5; id "ECM.878";
+r2r2k1/pp3ppp/2q5/2p5/2P1P1n1/P4P1b/1BQ1BP1P/R3R2K b - - bm Rd2; id "ECM.879";
diff --git a/tests/ecm_hard_quick.epd b/tests/ecm_hard_quick.epd
new file mode 100644
index 0000000..8c5ac84
--- /dev/null
+++ b/tests/ecm_hard_quick.epd
@@ -0,0 +1,90 @@
+r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - bm Nxd6; id "ECM.018";
+b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - bm Rxf6+; id "ECM.019";
+3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - bm Rgxg6; id "ECM.029";
+r1b2rk1/pp2b3/2pn1n1p/3pNppq/3P4/BP1N2P1/P3PPBP/R1Q2RK1 w - - bm Nxc6; id "ECM.040";
+r1b2rk1/1p2bppp/p3pn2/4B3/1qBR4/2N5/P3QPPP/R5K1 w - - bm Bd3; id "ECM.068";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6; id "ECM.071";
+4r1k1/1b4pp/p7/1prP3q/2P1B3/5P2/P3Q2P/3RR2K w - - bm Bg6; id "ECM.084";
+r1bn1rk1/pp3p1p/6p1/2bR2N1/2B2B2/q1P1P3/2Q2PPP/4K2R w K - bm Nxh7; id "ECM.115";
+rn2qbr1/2p4k/p2p1nb1/1p1Pp2p/2P4P/2NBBPN1/PP1Q4/2KR2R1 w - - bm Nxh5; id "ECM.128";
+2rq1rk1/pp2bppp/1npp1n2/3PpN1b/2P5/2N3PP/PP2PPB1/R1BQ1RK1 w - - bm c5; id "ECM.131";
+b3r3/q2B2k1/3Q2p1/1p5p/3pP3/5P2/1p4PP/5RK1 b - - bm d3+; id "ECM.142";
+6k1/4ppbp/p5p1/1B1Q4/2P2Pn1/8/qr4PP/2B2RK1 b - - bm Bd4+; id "ECM.145";
+1R3b2/3r3k/2p1bp1p/r1q1pNpQ/2PpP2P/6B1/P4PP1/1R4K1 w - - bm Nxh6; id "ECM.186";
+5rk1/5pbp/b5p1/p1nNN3/1p2n3/1P4PP/P4PB1/2BR2K1 w - - bm Nd7; id "ECM.190";
+r2r1bk1/3qp2p/3pp1p1/p2n2N1/2N3Q1/BP4P1/P4PP1/2R3K1 w - - bm Nb6; id "ECM.193";
+r1k3r1/pppnb1p1/4N3/3QP2p/3P3q/4B3/PPP2P2/R3KB2 w Q - bm Ba6; id "ECM.198";
+r1bq1rk1/pppn2bp/3p2p1/3N1p2/8/BP1BRQ1P/P1PP1PP1/4R1K1 w - - bm Nxc7; id "ECM.206";
+3rr1k1/1b5p/p6p/1p3N2/6Pb/P1Q1p3/1PP4P/R5K1 b - - bm Bf2+; id "ECM.237";
+1k1r1r2/2b2R2/Bppp2p1/2q4p/Q2pP3/P2P4/2P3PP/1R4K1 w - - bm Bb7; id "ECM.251";
+4n1q1/1k1b4/2p4R/2Pp4/1p1N1rpQ/3B4/PPP2P2/2K5 w - - bm Nxc6; id "ECM.271";
+r3r1k1/pp3pp1/2bb1q2/3p4/4n1Pp/2P1BB1P/PP2NPK1/R1Q4R b - - bm Qxf3+; id "ECM.274";
+rn4k1/pp2p1b1/4b3/q2p2Q1/2B2P2/8/P1P1K1P1/R6R w - - bm Rh8+; id "ECM.277";
+2b1qr1k/7p/p1pR2p1/1pP1p1Q1/4P3/1B6/PP4PP/6K1 w - - bm Re6; id "ECM.298";
+r1b2rk1/p3bppp/2q5/8/2p1NR2/PnB1P3/1PB1Q1PP/3R2K1 w - - bm Rd6; id "ECM.315";
+r1bqr1k1/pp3pp1/2p4p/3PN1n1/3P1b2/2NB4/PPQ2PPP/3R1RK1 b - - bm Rxe5; id "ECM.336";
+2r2rbk/6bp/5qp1/1N1p1n2/4p3/1p5P/1P3PP1/RBBQ1RK1 b - - bm Ng3; id "ECM.338";
+2r3k1/p1r1ppb1/2bp1np1/q5N1/1p1BP2Q/3P4/PP2N1PP/2R2R1K w - - bm Bxf6; id "ECM.360";
+r4rk1/5p2/p1b1pQpq/8/1B2P3/2NR4/PPP3PP/1K6 w - - bm Rd5; id "ECM.367";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.370";
+3rr1k1/1p1qb2p/pP4p1/2p2p2/4RQ2/3P4/1PPB2PP/4R1K1 w - - bm Bc3; id "ECM.420";
+6k1/rnqb3p/5ppQ/2pPp3/p1N1P3/2PB3P/5PP1/1R4K1 w - - bm f4; id "ECM.422";
+6k1/p4p1p/3pqp2/2p1r3/2Pnr1N1/P6P/1P1Q1PP1/3R1RK1 b - - bm Ne2+; id "ECM.427";
+4qn1k/1b3rpp/pb2pB2/1pp1P2P/3p1NQ1/P2P2PB/1PP4K/5R2 w - - bm Ng6+; id "ECM.442";
+2b5/2qrrpk1/5Rp1/2p4p/1pB1PR1P/1P1P2P1/5Q1K/8 w - - bm Qb2; id "ECM.443";
+2k5/1p1b4/2n1p1r1/7q/4RP2/3BQN2/2P2K1P/8 w - - bm f5; id "ECM.447";
+2rq2k1/pp1bpp1p/3p1np1/8/3NPPnQ/1BP5/P1P3P1/1K1R3R w - - bm e5; id "ECM.464";
+r1b3k1/3nqp1p/p1n1p1pP/3pP1N1/Pp3QN1/1Pr3P1/2PR1P2/4RBK1 w - - bm Rxd5; id "ECM.465";
+2rr2k1/5pn1/1b2q1pp/pP1pP3/2pP1PP1/2R1B2P/2Q3B1/3R3K w - - bm f5; id "ECM.468";
+4r3/pb3pk1/6p1/8/6P1/1PNrB2K/P4P1P/2R5 b - - bm Rexe3+; id "ECM.476";
+2b3k1/5qp1/p2r1n1p/3p4/3B4/1RP3QP/P2Nr1P1/3R2K1 b - - bm Ne4; id "ECM.489";
+1r2r1k1/p4ppb/q1pbnn1p/4p3/N1P1P3/pPB2NP1/2Q1RPBP/R5K1 b - - bm Nxe4; id "ECM.491";
+rq1r2k1/3nbp1p/p2p2p1/1p1Pp1P1/3B1P2/3B3Q/PPP4P/2KR2R1 w - - bm f5; id "ECM.497";
+r3rk2/pb2bpp1/1n5p/q1pP1B2/1p3B2/5N2/PPQ2PPP/R2R2K1 w - - bm Bc8; id "ECM.503";
+4qrk1/pp1bbppp/4pn2/2r1Q1B1/7P/2N3R1/PPP2PP1/2KR1B2 w - - bm Bxf6; id "ECM.516";
+r5n1/pppb1B2/2k1pb2/3p2B1/5P2/2N5/PPP3P1/2KR4 w - - bm Nxd5; id "ECM.517";
+8/4Ppk1/6p1/1p6/1Pb1Q3/6pq/8/6K1 w - - bm Qe5+; id "ECM.544";
+r1b2rk1/ppp2ppp/2n3q1/b2N2N1/2BP4/4p2P/PPP3P1/R2Q1RK1 w - - bm Nxf7; id "ECM.553";
+2rr2k1/1p3p2/p2n2p1/P2PnNq1/3QP1p1/1RN5/6PP/5RK1 b - - bm Nf3+; id "ECM.560";
+rnb2rk1/pp4pp/2pb1n2/3N1p1q/2P5/3N2P1/P1Q1PPBP/R1B2RK1 w - - bm Bf4; id "ECM.597";
+8/p5k1/2p2p2/4p1p1/1p2P3/1P4PP/1PP5/5K2 b - - bm g4; id "ECM.601";
+8/8/4b1p1/2Bp3p/5P1P/1pK1Pk2/8/8 b - - bm g5; id "ECM.605";
+6k1/2q3p1/1n2Pp1p/pBp2P2/Pp2P3/1P1Q1KP1/8/8 w - - bm e5; id "ECM.613";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.615";
+3rr1k1/pppRn1pp/4Pp2/1P5q/1QB5/4P3/P4P1P/4K1R1 w - - bm Qxe7; id "ECM.627";
+r3qr1k/1b4pp/p2RQ3/Bp2p3/4p3/6P1/PPP2P1P/3R2K1 b - - bm Qh5; id "ECM.637";
+8/pR4pk/1b6/2p5/N1p5/8/PP1r2PP/6K1 b - - bm Rxb2; id "ECM.640";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.654";
+2rqr1k1/1p1bbppp/p3p3/n7/3P2Q1/2PB1N2/P4PPP/R1B1R1K1 w - - bm Bxh7+; id "ECM.673";
+rn1q1rk1/pb1p1ppp/4p3/2pnP3/1bp5/2N2N2/PP3PPP/RBBQK2R w KQ - bm Bxh7+; id "ECM.675";
+3rr1k1/1pq1nppp/p1p2b2/4pB2/2QPP3/P1P1B3/1P4PP/3R1RK1 w - - bm Bxh7+; id "ECM.680";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "ECM.684";
+r4rk1/pp1n1ppp/3qp3/3nN1P1/b2P4/P2B1Q2/3B1P1P/1R2R1K1 w - - bm Bxh7+; id "ECM.687";
+r2qrnk1/4bppp/b1p5/1p1p2P1/p2P1N1P/2NBP3/PPQ2P2/2K3RR w - - bm Bxh7+; id "ECM.693";
+3qr1k1/1br2ppp/p2b4/8/PpNp4/3P4/1PP2PPP/R1BQ1RK1 b - - bm Bxh2+; id "ECM.699";
+r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - bm Bxg7; id "ECM.713";
+r5k1/pn1q1rpp/2pp4/5R1N/bP6/4BQ2/P4PPP/2R3K1 w - - bm Nxg7; id "ECM.714";
+r3r1k1/p3bppp/q1b2n2/5Q2/1p1B4/1BNR4/PPP3PP/2K2R2 w - - bm Rg3; id "ECM.722";
+3q1r2/1p1b1pk1/pn5p/3pN1pQ/3P3P/2r3B1/P4PP1/3RR1K1 w - - bm Nxf7; id "ECM.730";
+r3r1k1/1bqn1ppp/1pp2p2/8/3P4/1B4N1/PP3PPP/R2QR1K1 w - - bm Bxf7+; id "ECM.734";
+r3r1k1/pp3ppp/8/1Nbp3q/3NnBn1/2P5/PPQ2PPP/3R1RK1 b - - bm Ngxf2; id "ECM.735";
+rqb1k2r/1p1nbp1p/p4pp1/8/1PBN1P2/P1N1P3/7P/2RQ1RK1 w kq - bm Bxf7+; id "ECM.754";
+r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - bm Nxf7; id "ECM.764";
+rnb2rk1/pp3pbp/2p3pB/2q5/4P3/1BN5/PPP3PP/R2Q1R1K w - - bm Rxf7; id "ECM.770";
+3qr1k1/1br1bp1p/p3p1pB/1p1nN3/3PB3/7Q/PP3PPP/3RR1K1 w - - bm Nxf7; id "ECM.771";
+r2r2k1/pb1nbpp1/1qp1pn1p/1p2N3/3P1B2/P1N1P3/BPQ2PPP/2R2RK1 w - - bm Bxh6; id "ECM.774";
+1rbqnr2/5p1k/p1np3p/1p1Np3/4P2P/1Q2B3/PPP1BP2/2KR3R w - - bm Bxh6; id "ECM.779";
+r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - bm Bxh6; id "ECM.780";
+2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - bm Bxh6; id "ECM.789";
+r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - bm Bxh6; id "ECM.792";
+2b2r1k/2p3pp/2Nb4/pP5q/2PP4/P4pP1/5P1P/R1BQ2K1 b - - bm Bxg3; id "ECM.803";
+1rb2rk1/p1p1qppp/2p2n2/3P4/1b3P2/2NB4/PPPBQ1PP/2KR3R b - - bm Ba3; id "ECM.822";
+r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - bm Nf3+; id "ECM.831";
+rqbn1rk1/1p3ppp/p3p3/8/4NP2/8/PPP1BQPP/1K1R3R w - - bm Nf6+; id "ECM.833";
+3qr1k1/rp3pbp/2p3p1/3p1b2/N1nP4/P2NP3/1PQ2PPP/1BRR2K1 b - - bm Rxe3; id "ECM.846";
+3r1rk1/p3q1pp/2Rb4/3P4/8/1P2Qp2/PB3PPP/3R2K1 b - - bm Bxh2+; id "ECM.858";
+1r4k1/1q3pb1/r1b3p1/pp1Qp3/P3P3/1B2BP2/1PP3P1/1K1R3R w - - bm Qd8+; id "ECM.860";
+8/2q1np1k/6p1/1PPn3p/8/P2Q3P/6P1/2R4K b - - bm Nf5; id "ECM.864";
+7R/1p1r4/2b2p2/2Pp1qk1/3P1bp1/3N4/2Q2PB1/6K1 w - - bm Rg8+; id "ECM.866";
+2kr1br1/ppp2p1p/2n1p1q1/2Nn4/3P4/1Q2PB2/PP1B1P1P/2R1K2R b K - bm Qg1+; id "ECM.875";
+r2r2k1/pp3ppp/2q5/2p5/2P1P1n1/P4P1b/1BQ1BP1P/R3R2K b - - bm Rd2; id "ECM.879";
diff --git a/tests/ecm_late.epd b/tests/ecm_late.epd
new file mode 100644
index 0000000..0b050fa
--- /dev/null
+++ b/tests/ecm_late.epd
@@ -0,0 +1,25 @@
+2rr2k1/1b3p1p/p4qpb/2R1n3/3p4/BP2P3/P3QPPP/3R1BKN b - - bm Rxc5; id "ECM.016";
+8/p3q1kp/1p2Pnp1/3pQ3/2pP4/1nP3N1/1B4PP/6K1 w - - bm Ba3; id "ECM.146";
+2r2rk1/1p1q1ppp/1p3n2/3p1N2/4n3/1N3Q2/PPP2PPP/R2R2K1 w - - bm Rxd5; id "ECM.196";
+2r1qrk1/pp1b1ppp/4pn2/n1b5/8/2NQ1NP1/PP1BPPBP/R2R2K1 w - - bm b4; id "ECM.297";
+r2qrbk1/1p4pb/2n2p1p/pNpn4/2N5/PP1PPQPB/1B5P/2R2RK1 w - - bm Nbd6; id "ECM.313";
+rkb2qr1/1p5p/pQ1bp3/3p2B1/5n2/3B1N2/PP3PPP/2R2RK1 w - - bm Rxc8+; id "ECM.332";
+1r2r1k1/1pqb2pp/p2bp1n1/2p3BQ/3pN3/1P1P2P1/P1P3BP/4RRK1 w - - bm Bd8; id "ECM.370";
+r3bb2/P1q3k1/Q2p3p/2pPp1pP/2B1P3/2B5/6P1/R5K1 w - - bm Bxe5+; id "ECM.379";
+3r1r2/1b4bk/p1n3pp/1p2p3/4P3/q1P1QNB1/B4RPP/5RK1 w - - bm Bh4; id "ECM.438";
+2k3r1/1ppr3p/p1pB2q1/6n1/N3Pp2/8/PPP1Q1PP/3R1RK1 b - - bm f3; id "ECM.448";
+r1bqr2k/ppp2p1p/5b2/3Pn1p1/1PP1Bp2/8/PB2N1PP/R2Q1RK1 w - - bm Nxf4; id "ECM.504";
+r3k2r/1p1b1p2/p3p3/2b3p1/4N1n1/1B5P/PPP3P1/R1B2R1K b kq - bm Bc6; id "ECM.506";
+6k1/1q2rpp1/p6p/P7/1PB1n3/5Q2/6PP/5R1K w - - bm b5; id "ECM.615";
+r5r1/8/bRP1pk1p/3pNp2/5P2/7P/PR4P1/6K1 w - - bm Rxa6; id "ECM.616";
+2r1rbk1/p1Bq1ppp/Ppn1b3/1Npp4/B7/3P2Q1/1PP2PPP/R4RK1 w - - bm Nxa7; id "ECM.635";
+r2qrbk1/5ppp/pn1p4/np2P1P1/3p4/5N2/PPB2PP1/R1BQR1K1 w - - bm Bxh7+; id "ECM.654";
+r2q1rk1/3n1ppp/8/1pbP2P1/p1N4P/PnBBPQ2/5P2/R3K2R w KQ - bm Bxh7+; id "ECM.697";
+r3r1k1/pp3pp1/3p4/2q4p/2P5/1PB2Q1P/n4PP1/3R1RK1 w - - bm Bxg7; id "ECM.713";
+r2rn3/1p3pk1/p1pNn1pp/q3P3/P7/1PN4P/2QR1PP1/3R2K1 w - - bm Nxf7; id "ECM.764";
+rn2r1k1/pp3p1p/3P2p1/2p1bbB1/2B5/2N5/Pq4PP/R2Q1RK1 w - - bm Bxf7+; id "ECM.767";
+2r1r1k1/pb1n1pp1/1p1qpn1p/4N1B1/2PP4/3B4/P2Q1PPP/3RR1K1 w - - bm Bxh6; id "ECM.789";
+4rrk1/p5pp/1p4q1/3p2n1/2pP2P1/P1P1PP2/3B2K1/1R2QR2 b - - bm Nxf3; id "ECM.824";
+r1bq1rk1/1p2bppp/p3p3/n3P3/4N3/1P1P1N2/PB4PP/R3QR1K w - - bm Nf6+; id "ECM.829";
+r1bq1rk1/ppp3p1/7p/3P2n1/2PQ1p2/1N5P/PPP2PPK/R1B2R2 b - - bm Nf3+; id "ECM.831";
+6k1/1R4pp/2p5/8/P1rNp3/6Pb/4PK2/8 w - - bm a5; id "ECM.878";
diff --git a/tests/ecm_quick.epd b/tests/ecm_quick.epd
new file mode 100644
index 0000000..2246099
--- /dev/null
+++ b/tests/ecm_quick.epd
@@ -0,0 +1,30 @@
+2q1r1k1/1ppb4/r2p1Pp1/p4n1p/2P1n3/5NPP/PP3Q1K/2BRRB2 w - - bm f7+; id "ECM.001";
+7r/1p2k3/2bpp3/p3np2/P1PR4/2N2PP1/1P4K1/3B4 b - - bm Bxf3+; id "ECM.002";
+4k3/p1P3p1/2q1np1p/3N4/8/1Q3PP1/6KP/8 w - - bm Qb5; id "ECM.003";
+2r1b1k1/R4pp1/4pb1p/1pBr4/1Pq2P2/3N4/2PQ2PP/5RK1 b - - bm Rcxc5; id "ECM.004";
+6k1/p1qb1p1p/1p3np1/2b2p2/2B5/2P3N1/PP2QPPP/4N1K1 b - - bm Bxf2+; id "ECM.005";
+3q4/pp3pkp/5npN/2bpr1B1/4r3/2P2Q2/PP3PPP/R4RK1 w - - bm Bxf6+; id "ECM.006";
+3rr1k1/pb3pp1/1p1q1b1p/1P2NQ2/3P4/P1NB4/3K1P1P/2R3R1 w - - bm Rxg7+; id "ECM.007";
+r1b1r1k1/p1p3pp/2p2n2/2bp4/5P2/3BBQPq/PPPK3P/R4N1R b - - bm Bg4; id "ECM.008";
+3r4/1b2k3/1pq1pp2/p3n1pr/2P5/5PPN/PP1N1QP1/R2R2K1 b - - bm Rxh3; id "ECM.009";
+2r4k/pB4bp/6p1/6q1/1P1n4/2N5/P4PPP/2R1Q1K1 b - - bm Qxc1; id "ECM.010";
+1r5r/3b1pk1/3p1np1/p1qPp3/p1N1PbP1/2P2PN1/1PB1Q1K1/R3R3 b - - bm Nxg4; id "ECM.011";
+5rk1/7p/p1N5/3pNp2/2bPnqpQ/P7/1P3PPP/4R1K1 w - - bm Ne7+; id "ECM.012";
+rnb2rk1/pp2np1p/2p2q1b/8/2BPPN2/2P2Q2/PP4PP/R1B2RK1 w - - bm Nd5; id "ECM.013";
+2k4r/1pp2ppp/p1p1bn2/4N3/1q1rP3/2N1Q3/PPP2PPP/R4RK1 w - - bm Nd5; id "ECM.014";
+r3kb1r/pp2pppp/3q4/3Pn3/6b1/2N1BN2/PP3PPP/R2QKB1R w KQkq - bm Nxe5; id "ECM.015";
+2rr2k1/1b3p1p/p4qpb/2R1n3/3p4/BP2P3/P3QPPP/3R1BKN b - - bm Rxc5; id "ECM.016";
+r1b1k3/5p1p/p1p5/3np3/1b2N3/4B3/PPP1BPrP/2KR3R w q - bm Rxd5; id "ECM.017";
+r3rbk1/1pq2ppp/2ppbnn1/p3p3/P1PPN3/BP1BPN1P/2Q2PP1/R2R2K1 w - - bm Nxd6; id "ECM.018";
+b7/2q2kp1/p3pbr1/1pPpP2Q/1P1N3P/6P1/P7/5RK1 w - - bm Rxf6+; id "ECM.019";
+1rr1nbk1/5ppp/3p4/1q1PpN2/np2P3/5Q1P/P1BB1PP1/2R1R1K1 w - - bm Bxa4; id "ECM.020";
+r7/5kp1/2p1p2p/1p1n3P/2rP4/2P3R1/PK2RPP1/2B5 b - - bm Rxc3; id "ECM.021";
+r1r3k1/p3qpp1/b1P4p/3p4/3Nn3/4P3/P1Q2PPP/1BR1K2R b K - bm Qb4+; id "ECM.022";
+rn3rk1/4bppp/1q2p3/p2pP3/8/1PN2B1P/P4PP1/2RQ1RK1 w - - bm Bxd5; id "ECM.023";
+6rk/1p1br2p/pqp5/3pNP2/3Pp3/P5PR/5PKR/Q7 w - - bm Rxh7+; id "ECM.024";
+2b3k1/5p1p/7b/p2B3p/3P4/P2Q1N1P/1q3PP1/6K1 w - - bm Bxf7+; id "ECM.025";
+r1b5/4k3/p7/3p1n2/3Bp3/2P2r1P/PPBK1P2/4R2R w - - bm Bc5+; id "ECM.026";
+r4rk1/1b3Npp/p7/1p3Q2/3P4/1B2q3/P5PP/3n1R1K b - - bm Bxg2+; id "ECM.027";
+r1b2rk1/2q2ppp/2pbp3/p7/4Nn2/3B4/PPPBQ1PP/R4R1K w - - bm Rxf4; id "ECM.028";
+3r2k1/1q1P1ppp/r2R2n1/p4Q2/1ppB2R1/6P1/PP3PP1/6K1 w - - bm Rgxg6; id "ECM.029";
+r2q1rk1/p3b1pp/2p5/1pn5/1n1Bp1b1/1P6/PQ1PPP2/2RNKBNR b K - bm Bxe2; id "ECM.030";
diff --git a/tests/ecm_ringers.epd b/tests/ecm_ringers.epd
new file mode 100644
index 0000000..a0dce6a
--- /dev/null
+++ b/tests/ecm_ringers.epd
@@ -0,0 +1,11 @@
+k3r3/pR5p/PppR1p1p/4nP2/1PP5/8/4B1rP/2K5 w - - bm Re7; id "ECM.213";
+6k1/1p3p2/4r1p1/1PPrbq1p/2QN4/P2R1P1P/R4KP1/8 b - - bm Bg3+; id "ECM.270";
+8/5p2/4p1k1/4P1p1/2rBRbK1/5P2/r4P2/7R b - - bm Rxd4; id "ECM.335";
+4rqk1/p5b1/3p3p/3Pn1p1/1pP1NrP1/4NP2/P3Q1P1/1K1RR3 b - - bm Nxf3; id "ECM.501";
+R2b2k1/2rq1n1p/3p2p1/1p1Ppp1n/1P6/1B1PQN1P/1B3PP1/6K1 w - - bm Nxe5; id "ECM.406";
+r1qb1r1k/2p3pp/p1n1bp2/1p1Np2Q/P3P3/1BP3R1/1P3PPP/R1B3K1 w - - bm Rxg7; id "ECM.717";
+4rrk1/2pn2pb/p1p1qp2/1pb1pN2/P3P1PN/1P1P4/1BP2PK1/R2Q3R w - - bm Nxg7; id "ECM.721";
+r3k2r/p1qb1p2/1p2p2p/3pPpN1/P1nP3Q/8/2P2PPP/R1B1R1K1 w kq - bm Nxf7; id "ECM.746";
+2r1r1k1/5ppp/pq3b2/2pB1P2/2p2B2/5Q1P/Pn3PP1/2R1R1K1 w - - bm Bxf7+; id "ECM.750";
+6rk/3b1n1p/1p1q3b/1PpNp3/2P1Pp2/2Q2NrP/5RP1/2R2B1K b - - bm Bxh3; id "ECM.783";
+r6r/ppnqpk2/3pbpp1/5N2/1PP1P3/5RR1/P2QB1PP/6K1 w - - bm Nh6+; id "ECM.801";
diff --git a/tests/ep_to_epd.pl b/tests/ep_to_epd.pl
new file mode 100644
index 0000000..f419a0a
--- /dev/null
+++ b/tests/ep_to_epd.pl
@@ -0,0 +1,56 @@
+#!/usr/bin/perl
+#
+# Reverse of convert_epd.pl: turns typhoon's setboard/solution|avoid/
+# id/go script-format suites back into real EPD, one record per line,
+# now that the engine can read EPD directly (`epd <file>` -- see
+# ParseEpdRecord in fen.c, EpdCommand in script.c). Written to retire
+# the setboard/solution/go intermediate format for suites that are
+# just EPD underneath, so there's one suite format instead of two.
+#
+# Mirrors ScriptCommand's own state machine: track the most recent
+# setboard/id/solution/avoid seen and emit one EPD record per "go",
+# ignoring any other command in between (sd, st, easy, version,
+# quit, ...) -- those belong to scripts that aren't really EPD suites
+# (bench.ep_, trial.ep_) and shouldn't be fed to this converter.
+use strict;
+use warnings;
+
+my $fen;
+my $id;
+my @sol;
+my @avoid;
+
+while (my $line = <>) {
+ chomp $line;
+ $line =~ s/\r$//;
+ if ($line =~ /^\s*setboard\s+(.*?)\s*$/i) {
+ $fen = $1;
+ } elsif ($line =~ /^\s*id\s+(.*?)\s*$/i) {
+ $id = $1;
+ $id =~ s/^"|"$//g;
+ } elsif ($line =~ /^\s*solution\s+(.*?)\s*$/i) {
+ push @sol, split(/\s+/, $1);
+ } elsif ($line =~ /^\s*avoid\s+(.*?)\s*$/i) {
+ push @avoid, split(/\s+/, $1);
+ } elsif ($line =~ /^\s*go\s*$/i) {
+ if (defined($fen) && (@sol || @avoid)) {
+ my ($opcode, @moves) = @sol ? ('bm', @sol) : ('am', @avoid);
+ print "$fen $opcode " . join(' ', @moves) . ';';
+ print " id \"$id\";" if defined $id;
+ print "\n";
+ } else {
+ warn "ep_to_epd.pl: skipping a 'go' with no fen/solution " .
+ "in scope (non-suite script line?)\n";
+ }
+ @sol = ();
+ @avoid = ();
+ $id = undef;
+ # $fen deliberately survives a record with no solution/avoid
+ # (mirrors ScriptCommand: a bare setboard+go with no solution
+ # just plays a move, it doesn't reset anything) -- but since we
+ # skip printing when there's no solution anyway, this only
+ # matters for a same-fen "go" that follows one with a solution,
+ # which none of the real suites in tests/ do.
+ }
+ # everything else (sd, st, easy, version, quit, ...) ignored.
+}
diff --git a/tests/mes400.epd b/tests/mes400.epd
new file mode 100644
index 0000000..6d8fa19
--- /dev/null
+++ b/tests/mes400.epd
@@ -0,0 +1,400 @@
+8/6p1/7k/8/1K6/8/1P6/8 w - - bm Kc5; id "MES.0001";
+8/8/8/2p5/8/8/1kP5/3K4 w - - bm c4; id "MES.0002";
+7K/8/k1P5/7p/8/8/8/8 w - - bm Kg7; id "MES.0003";
+8/8/1p6/8/8/P7/8/5k1K w - - bm Kh2; id "MES.0004";
+8/8/8/8/8/P4p2/k6K/8 w - - bm a4; id "MES.0005";
+8/8/6p1/1k6/4K3/8/5P2/8 w - - bm Kd4; id "MES.0006";
+5k2/6p1/7p/8/7P/7K/8/8 w - - bm Kg3; id "MES.0007";
+8/8/1kpp4/8/2P5/2K5/8/8 w - - bm Kc2; id "MES.0008";
+8/5p2/1p6/1P2K2k/8/8/8/8 w - - bm Kf5; id "MES.0009";
+8/8/8/4p1p1/8/5P2/6K1/3k4 w - - bm Kh1; id "MES.0010";
+8/2p4K/8/7k/8/8/6PP/8 w - - bm g4+; id "MES.0011";
+4k3/4p3/4P3/4P3/8/8/2K5/8 w - - bm Kd3; id "MES.0012";
+K7/8/1k6/1p6/8/2P5/1P6/8 w - - bm b3; id "MES.0013";
+7k/5K2/7P/6pP/8/8/8/8 w - - bm Kf6; id "MES.0014";
+8/p7/P7/8/8/4k3/4P3/4K3 w - - bm Kf1; id "MES.0015";
+8/k7/3p4/6K1/2P1P3/8/8/8 w - - bm Kg6; id "MES.0016";
+K1k5/7p/8/2P5/8/8/P7/8 w - - bm c6; id "MES.0017";
+8/5p2/5p2/5p2/8/4K3/7P/7k w - - bm h4; id "MES.0018";
+8/6p1/k1P2p1p/7K/8/8/8/8 w - - bm Kg6; id "MES.0019";
+2k5/3p4/P7/Pp6/8/4K3/8/8 w - - bm Kd4; id "MES.0020";
+8/1p2pk2/1P6/8/4P3/8/6K1/8 w - - bm Kg3; id "MES.0021";
+8/3Pk1p1/8/1K3Pp1/8/8/8/8 w - - bm Kc6; id "MES.0022";
+8/5p2/7k/6p1/5P1P/8/8/7K w - - bm hxg5+; id "MES.0023";
+4k3/8/3p4/p6K/P5P1/8/8/8 w - - bm Kg5; id "MES.0024";
+8/2p1Pk2/5P2/8/3p1K2/8/8/8 w - - bm Kf3; id "MES.0025";
+1k1K4/1p5P/1P6/8/8/8/p7/8 w - - bm h8=Q; id "MES.0026";
+k7/5K2/8/8/7p/p6P/P7/8 w - - bm Ke6; id "MES.0027";
+8/p2p4/8/8/8/k7/5P1P/7K w - - bm f4; id "MES.0028";
+8/8/1k1p4/8/P1P5/p7/8/3K4 w - - bm Kc2; id "MES.0029";
+8/K3p3/5p2/5P2/8/8/2k1P3/8 w - - bm Kb6; id "MES.0030";
+8/2K5/1p6/1P4k1/5p2/8/6P1/8 w - - bm Kc6; id "MES.0031";
+8/5p2/5p2/8/5KP1/8/6P1/3k4 w - - bm Kf5; id "MES.0032";
+8/8/4k1P1/4p1p1/4K3/3P4/8/8 w - - bm g7; id "MES.0033";
+8/8/7p/p7/k1P2K2/8/P7/8 w - - bm a3; id "MES.0034";
+8/8/1p1K4/Pp6/2k1p3/8/1P6/8 w - - bm a6; id "MES.0035";
+3k4/3p3p/3p4/PK6/4P3/8/8/8 w - - bm Kb6; id "MES.0036";
+7k/3p2p1/2p5/5P2/2P5/K7/8/8 w - - bm Kb4; id "MES.0037";
+8/7p/3p4/8/6pP/8/4PK2/7k w - - bm Kg3; id "MES.0038";
+8/8/K7/2p1k3/8/1p1p4/1P1P4/8 w - - bm Kb5; id "MES.0039";
+8/8/2p5/k1p1K3/p1P5/P7/8/8 w - - bm Kf5; id "MES.0040";
+8/8/1p1p3p/3P4/4K3/8/4P2k/8 w - - bm Kf3; id "MES.0041";
+6K1/8/pp5p/8/7k/3PP3/8/8 w - - bm d4; id "MES.0042";
+K7/8/k7/6p1/6Pp/7p/7P/8 w - - bm Kb8; id "MES.0043";
+2k5/3p2p1/2p5/2K5/5P2/8/2P5/8 w - - bm Kd6; id "MES.0044";
+6k1/p7/3K2p1/1P5p/7P/8/8/8 w - - bm Kd5; id "MES.0045";
+8/1K6/8/k4p2/4pp2/8/4PP2/8 w - - bm Kc6; id "MES.0046";
+8/6p1/4K3/6k1/6P1/6pP/6P1/8 w - - bm Ke5; id "MES.0047";
+8/K7/3pk3/8/p3P3/P7/1P6/8 w - - bm Kb8; id "MES.0048";
+1k6/1p6/3p4/1P6/1P6/1P6/8/7K w - - bm Kg2; id "MES.0049";
+8/6p1/8/5p1P/5P2/6P1/8/5K1k w - - bm Ke1; id "MES.0050";
+8/2p5/3k4/1p1p1K2/8/1P1P4/2P5/8 w - - bm b4; id "MES.0051";
+4K3/pk6/2p5/2P5/1pP4P/1P6/8/8 w - - bm Kd7; id "MES.0052";
+8/2p5/3k3P/5pp1/5p2/1p5K/8/8 w - - bm h7; id "MES.0053";
+8/8/6K1/k2p4/2p5/2P4p/3P3P/8 w - - bm Kf7; id "MES.0054";
+8/8/1p3P1k/4P3/8/1p6/pK2P3/8 w - - bm e6; id "MES.0055";
+8/4Pk2/5p2/8/K7/3p2p1/3P2P1/8 w - - bm Kb5; id "MES.0056";
+8/1p6/8/5k1p/P1P3p1/8/5PK1/8 w - - bm a5; id "MES.0057";
+4k3/5p1p/1p5P/6P1/P7/8/8/4K3 w - - bm Kd2; id "MES.0058";
+5k2/5p1p/7P/6P1/p7/P7/8/1K6 w - - bm Kc2; id "MES.0059";
+K7/3p3p/3k4/8/6pP/8/P5P1/8 w - - bm Kb7; id "MES.0060";
+1k6/1P6/2P5/P7/5ppp/8/6K1/8 w - - bm Kg1; id "MES.0061";
+8/6p1/6pp/8/k4P2/6K1/6PP/8 w - - bm f5; id "MES.0062";
+1k6/p3pp2/p7/P2KP3/P7/8/8/8 w - - bm e6; id "MES.0063";
+8/1p6/8/P7/7p/1P2p2P/4P1k1/4K3 w - - bm b4; id "MES.0064";
+k7/P2K4/p7/1p4p1/1P4P1/6P1/8/8 w - - bm Kd6; id "MES.0065";
+8/2p2p2/1p6/3P1k1K/P1P2P2/8/8/8 w - - bm c5; id "MES.0066";
+2k2K2/2p5/P7/Pp1P4/8/7p/7P/8 w - - bm Ke7; id "MES.0067";
+8/2pp4/8/2PP3k/4pPp1/4P1K1/8/8 w - - bm d6; id "MES.0068";
+8/3p4/3P4/3p2pp/3P4/k4K1P/7P/8 w - - bm h4; id "MES.0069";
+8/2p5/pp6/kP1P4/p3K3/P1P5/8/8 w - - bm d6; id "MES.0070";
+8/5pp1/8/k2p1Pp1/P5P1/3P4/8/3K4 w - - bm Kc2; id "MES.0071";
+8/2pp1k2/2p1pP2/4P3/5P2/6K1/5P2/8 w - - bm f5; id "MES.0072";
+8/8/7p/2p2PP1/p1P5/p1K5/k2P4/8 w - - bm Kc2; id "MES.0073";
+8/1p6/1p6/1k2K3/2p1p3/PpP1P3/1P6/8 w - - bm a4+; id "MES.0074";
+7k/8/5PpK/Pp1P2pp/3P4/8/5p2/8 w - - bm a6; id "MES.0075";
+8/1p5k/1P1p4/3p4/3Pp2p/2K1P2p/7P/8 w - - bm Kb2; id "MES.0076";
+8/2pp2pp/8/2PP1P2/1p5k/8/PP4p1/6K1 w - - bm f6; id "MES.0077";
+8/5k2/2p5/1pPp4/p2P2p1/P2P2P1/P5K1/8 w - - bm Kf1; id "MES.0078";
+8/4p1p1/1k2p1p1/p3P1P1/P1p2P2/2P5/5P2/4K3 w - - bm Kd1; id "MES.0079";
+3k4/1pp5/p4P1p/P1p1KP1P/2P4p/7P/2P5/8 w - - bm Ke6; id "MES.0080";
+8/pp1pppp1/3p2p1/PP2P1P1/K1P4P/8/k7/8 w - - bm h5; id "MES.0081";
+K7/8/8/7p/N2k4/8/8/8 w - - bm Nb2; id "MES.0082";
+7N/2K5/8/8/7p/2k5/8/8 w - - bm Nf7; id "MES.0083";
+8/4k2N/7p/8/1p6/8/4K3/8 w - - bm Kd3; id "MES.0084";
+7K/3k4/8/pN6/8/8/1P6/8 w - - bm Nd4; id "MES.0085";
+8/8/8/8/5p2/4k1p1/4N1P1/5K2 w - - bm Ng1; id "MES.0086";
+8/8/8/8/3p4/2k1p3/2N1P3/3K4 w - - bm Ne1; id "MES.0087";
+5K2/5P2/8/8/kp3n2/8/P7/8 w - - bm Ke7; id "MES.0088";
+8/8/8/4P3/3pp1K1/N2k4/8/8 w - - bm e6; id "MES.0089";
+8/7K/6p1/7P/p7/8/3kN3/8 w - - bm h6; id "MES.0090";
+8/8/5N2/6P1/5k2/5pp1/8/4K3 w - - bm g6; id "MES.0091";
+8/3p4/3k1Np1/P4p2/5K2/8/8/8 w - - bm a6; id "MES.0092";
+8/2p5/1p6/1K6/7k/7P/7P/6N1 w - - bm Kc6; id "MES.0093";
+8/2kp1K2/6N1/3P4/p6P/8/8/8 w - - bm d6+; id "MES.0094";
+4k3/7N/4P3/6P1/8/4p1p1/8/6K1 w - - bm Kf1; id "MES.0095";
+8/8/p6k/8/3N4/PP1K4/7p/8 w - - bm Nf5+; id "MES.0096";
+8/8/8/4N3/5p2/p4p2/5P1p/5K1k w - - bm Nd3; id "MES.0097";
+1k6/p7/8/1p5P/8/2pK4/1P5n/8 w - - bm h6; id "MES.0098";
+2k5/2P4K/1P3p2/6p1/6n1/8/5P2/8 w - - bm f3; id "MES.0099";
+2n5/1k6/4pP2/4P3/2K5/7p/6P1/8 w - - bm f7; id "MES.0100";
+2n5/8/1PkP4/P4p2/1K6/7P/8/8 w - - bm d7; id "MES.0101";
+4k3/4Pp1p/3P1K2/6P1/8/p2n4/8/8 w - - bm g6; id "MES.0102";
+8/6p1/6Pp/5p2/5P1K/2p5/3k3P/7N w - - bm Ng3; id "MES.0103";
+4n2k/7P/5P1p/6p1/2K3P1/5P2/8/8 w - - bm Kd5; id "MES.0104";
+6K1/p7/4ppkp/7p/2PP1P1p/7P/P2P4/4n3 w - - bm d5; id "MES.0105";
+8/7K/7P/1P6/2n4k/4n3/1P6/8 w - - bm Kg6; id "MES.0106";
+8/p2P4/k7/P4P2/nKPn4/8/8/8 w - - bm d8=N; id "MES.0107";
+8/5N1N/8/8/1P6/2K4k/6p1/8 w - - bm Nhg5+; id "MES.0108";
+1K6/N7/k7/8/6N1/1pp5/1P6/8 w - - bm Ne5; id "MES.0109";
+5K2/7k/8/6P1/8/pp1N3N/8/8 w - - bm Ndf4; id "MES.0110";
+8/3N4/5p2/8/4PK2/8/5Pp1/1N2k3 w - - bm Nd2; id "MES.0111";
+8/8/7p/3KNN1k/2p4p/8/3P2p1/8 w - - bm Kc6; id "MES.0112";
+8/6p1/7p/6PN/3NK1k1/6Pp/6p1/8 w - - bm gxh6; id "MES.0113";
+8/1p3p2/8/1KP1P3/3NkpP1/7p/2N2P2/8 w - - bm e6; id "MES.0114";
+8/8/8/6K1/8/4N2p/5n1k/8 w - - bm Kh4; id "MES.0115";
+K2n4/8/P7/8/2k5/8/2N5/8 w - - bm Ka7; id "MES.0116";
+8/1K6/P7/kn6/4N3/8/8/8 w - - bm Nc5; id "MES.0117";
+8/K7/8/2P1N3/n3k3/2p5/8/8 w - - bm c6; id "MES.0118";
+7k/4np2/8/4K2p/8/4N3/P7/8 w - - bm Kd6; id "MES.0119";
+8/N1k1n3/6P1/1P2K3/8/1p6/8/8 w - - bm b6+; id "MES.0120";
+8/2Pp4/1n1N4/8/8/K4Pk1/8/8 w - - bm Kb2; id "MES.0121";
+K7/8/1Np5/8/6k1/n7/P5P1/8 w - - bm Kb7; id "MES.0122";
+3n4/8/2P5/8/5p2/p2N3k/7p/5K2 w - - bm Nf2+; id "MES.0123";
+8/6N1/p5k1/3K4/1p1p4/1P6/8/2n5 w - - bm Ne6; id "MES.0124";
+2n5/8/Pp5p/5N2/8/5k2/3P4/7K w - - bm d4; id "MES.0125";
+7n/8/6pP/6P1/k1K5/p7/8/1N6 w - - bm Kd5; id "MES.0126";
+3n4/3K4/8/1p6/pkN5/1P6/PP6/8 w - - bm Ne5; id "MES.0127";
+4Nn2/8/3P4/kP2P3/5p2/5p2/8/2K5 w - - bm Kd1; id "MES.0128";
+4k3/2p2nKP/3p4/3Ppp1N/8/8/8/8 w - - bm Nf6+; id "MES.0129";
+1n4N1/8/4p1P1/kp2p3/p3P3/8/K7/8 w - - bm Ne7; id "MES.0130";
+n7/K5PP/2k5/8/8/1P1p2Np/6p1/8 w - - bm Ne2; id "MES.0131";
+6N1/8/3P4/3n1P2/5p2/3K1k2/6n1/8 w - - bm f6; id "MES.0132";
+4NN2/8/8/6Pk/8/5nK1/8/8 w - - bm g6; id "MES.0133";
+8/8/2n1n3/8/6N1/5N2/K3p3/5k2 w - - bm Nf6; id "MES.0134";
+7k/3NN3/8/4K3/8/nP1p4/1n4P1/8 w - - bm Kf6; id "MES.0135";
+6K1/3p4/7k/3N4/4N2P/5nP1/8/4n3 w - - bm Nf4; id "MES.0136";
+4k1N1/5n2/1P1p2P1/2n5/3N4/p7/8/3K4 w - - bm b7; id "MES.0137";
+8/8/8/2k5/p1b5/8/1P1K4/8 w - - bm Kc2; id "MES.0138";
+5K2/k7/4P1p1/8/8/8/4b3/8 w - - bm Ke7; id "MES.0139";
+8/6b1/5k2/8/P3K1P1/8/8/8 w - - bm a5; id "MES.0140";
+5K2/8/7P/5p2/1P6/8/3b4/k7 w - - bm h7; id "MES.0141";
+3b4/5k2/3P1p1P/3K4/8/8/8/8 w - - bm Kc6; id "MES.0142";
+8/8/1b5P/kP6/8/5K2/1P6/8 w - - bm Ke4; id "MES.0143";
+1b6/5K2/7P/1kp5/1p6/8/3P4/8 w - - bm Ke6; id "MES.0144";
+K7/1P6/1kP5/3P4/8/8/1p5b/8 w - - bm d6; id "MES.0145";
+8/1p6/8/P1K5/1P6/5b1P/4k3/8 w - - bm Kd4; id "MES.0146";
+8/p7/8/1P2K3/P6P/5b2/5k2/8 w - - bm Kf5; id "MES.0147";
+K7/2P5/b4k1p/3P4/6P1/8/8/8 w - - bm d6; id "MES.0148";
+8/p3p3/K2PkP2/1P6/5b2/8/8/8 w - - bm f7; id "MES.0149";
+8/3k2K1/2p1p3/b5P1/3P1P2/8/8/8 w - - bm Kf7; id "MES.0150";
+8/3Pb1p1/8/3P2P1/5P2/7k/4K3/8 w - - bm Kd3; id "MES.0151";
+8/2p1p3/4Pb2/1P1P3k/4K2P/8/8/8 w - - bm d6; id "MES.0152";
+8/b7/3K1p2/7P/1p5k/1P6/1PP4P/8 w - - bm h6; id "MES.0153";
+5k2/8/5PP1/8/1p3p2/6P1/P4PpK/7b w - - bm Kg1; id "MES.0154";
+4k1K1/3p2pP/p2P3P/P7/8/1p6/1p6/b7 w - - bm h8=R; id "MES.0155";
+8/8/2PK2p1/7p/p1b2P2/P5P1/2P2kP1/8 w - - bm g4; id "MES.0156";
+7k/3K2pP/pb4P1/8/P6p/2p1p3/2P1P1P1/8 w - - bm Kd6; id "MES.0157";
+8/5p1b/4pPkp/3pP2p/1p1P3P/1p2K2P/1P6/8 w - - bm Ke2; id "MES.0158";
+6k1/3p4/8/8/8/B7/P7/7K w - - bm Bb4; id "MES.0159";
+5k2/4p2p/6P1/3K4/8/4B3/8/8 w - - bm Bh6+; id "MES.0160";
+8/5p1B/7P/1K6/1p6/p7/1k6/8 w - - bm Bc2; id "MES.0161";
+5B2/p7/3p4/PPk5/8/8/4K3/8 w - - bm b6; id "MES.0162";
+8/2p2B2/5PK1/3Pk3/8/7p/8/8 w - - bm d6; id "MES.0163";
+8/B1p2p1P/8/4p3/8/k7/p2K4/8 w - - bm Bd4; id "MES.0164";
+8/8/3p4/8/3B4/p7/p1P4p/5K1k w - - bm Ba1; id "MES.0165";
+8/8/5p2/3P4/p1PK4/p7/k7/3B4 w - - bm Kc3; id "MES.0166";
+8/8/5p2/5p2/5P2/3p3B/5k1P/3K4 w - - bm Bg2; id "MES.0167";
+8/8/2pp4/2p2kp1/2K5/6P1/6P1/2B5 w - - bm Be3; id "MES.0168";
+8/7p/6pP/1B4P1/pp6/1k1K4/8/8 w - - bm Be8; id "MES.0169";
+k7/pp1K4/P2B4/p7/P7/P7/8/8 w - - bm Kc8; id "MES.0170";
+8/1p6/1P1p4/1K1p2B1/P2P4/6pp/1P6/5k2 w - - bm Bd2; id "MES.0171";
+1k6/1p1p4/PK2p3/5p1p/6pP/8/8/5B2 w - - bm a7+; id "MES.0172";
+5kB1/3p1P2/7K/2Pp1P1P/p6p/4P3/7P/8 w - - bm Kg6; id "MES.0173";
+3k4/3p4/3P1P2/P6B/1p1p4/1KPP3p/1P3p2/8 w - - bm a6; id "MES.0174";
+8/1p6/1P6/3p1p1p/p2PpPpk/2p1P2P/2P1B1P1/6K1 w - - bm Kf2; id "MES.0175";
+8/8/8/2P4B/8/5K2/3k4/5b2 w - - bm c6; id "MES.0176";
+8/8/2B5/7b/7k/2K5/1P6/8 w - - bm b4; id "MES.0177";
+8/8/8/1P6/7b/7k/7B/7K w - - bm b6; id "MES.0178";
+B3K3/8/8/P1p5/8/8/2b4k/8 w - - bm a6; id "MES.0179";
+8/8/B3P3/3k4/5K2/2P4b/8/8 w - - bm Bc8; id "MES.0180";
+1K6/3p4/3P4/8/k7/1p6/8/1b5B w - - bm Bc6+; id "MES.0181";
+8/8/7B/2P5/1p4p1/3k4/7K/4b3 w - - bm c6; id "MES.0182";
+k7/8/8/1p2P1p1/bK6/8/B7/8 w - - bm Bf7; id "MES.0183";
+3B4/6b1/6P1/2p5/P1k5/8/8/5K2 w - - bm Ba5; id "MES.0184";
+8/pB4Pb/4k3/8/K2P4/8/8/8 w - - bm Be4; id "MES.0185";
+8/8/p7/p3b1B1/8/p7/1p2k3/1K6 w - - bm Be7; id "MES.0186";
+k2K4/8/6P1/2B5/5P2/p7/4p2b/8 w - - bm g7; id "MES.0187";
+B6k/6p1/2K3PP/8/4p3/8/6b1/8 w - - bm Kd6; id "MES.0188";
+8/4k3/6b1/2p5/2BP4/p4K2/4P3/8 w - - bm Kf4; id "MES.0189";
+8/8/2p2K2/5B1p/k7/8/2P1P3/1b6 w - - bm e4; id "MES.0190";
+8/p7/P7/P7/P4B2/8/5k2/6bK w - - bm Bc7; id "MES.0191";
+8/KPb5/8/P5p1/5p2/3k4/7P/2B5 w - - bm Ba3; id "MES.0192";
+8/1k6/1b6/p3p2P/1B5p/P7/5P2/2K5 w - - bm h6; id "MES.0193";
+5k2/P4P1K/1Pb2PB1/8/3p3p/8/8/8 w - - bm Bf5; id "MES.0194";
+8/3p4/pp1B4/k7/p1P5/P1bp4/8/3K4 w - - bm Kc1; id "MES.0195";
+1B6/3k4/3p4/1P6/p4b2/Pp6/1P1pK3/8 w - - bm b6; id "MES.0196";
+1b6/3k3p/P1p5/2Pp3p/K2P3P/8/8/6B1 w - - bm a7; id "MES.0197";
+8/8/8/3pk1K1/1p1p4/1PpP3b/2P1B2P/8 w - - bm Bg4; id "MES.0198";
+7k/2b5/6P1/2p2P1K/2Pp4/p2P4/2p5/2B5 w - - bm f6; id "MES.0199";
+6k1/4b2p/7B/6p1/3p2P1/3Pp1p1/2K1P1P1/8 w - - bm Kb3; id "MES.0200";
+8/2p2b2/Pp1p4/4pp2/k7/2P5/1P2BPK1/8 w - - bm b3+; id "MES.0201";
+B4k1K/4pP1p/PP2P2P/8/8/p7/1p6/3b4 w - - bm Be4; id "MES.0202";
+5k1K/7p/1Pb2P2/5P1B/p2Pp3/4P3/4P3/8 w - - bm Be8; id "MES.0203";
+8/6p1/4ppb1/P1p1p3/1k6/3PP3/1PK3P1/5B2 w - - bm a6; id "MES.0204";
+8/p1p2pp1/1pP3p1/7k/3PPb2/5P1P/8/3K2B1 w - - bm d5; id "MES.0205";
+8/5b1P/8/4K1B1/1k6/8/p7/8 w - - bm Bd2+; id "MES.0206";
+5b2/1B6/1P4k1/4P3/8/8/8/K7 w - - bm Be4+; id "MES.0207";
+7B/7k/3p1Kp1/6P1/8/8/8/1b6 w - - bm Bg7; id "MES.0208";
+8/1p6/8/8/4p3/1k1P4/5b2/KB6 w - - bm Ba2+; id "MES.0209";
+3k4/1K6/1P6/5p2/B1p5/8/3b4/8 w - - bm Ka6; id "MES.0210";
+b7/8/3p4/P7/6p1/8/4KBk1/8 w - - bm Be3; id "MES.0211";
+8/pkP3P1/3B4/8/3K4/1b6/8/8 w - - bm Kc3; id "MES.0212";
+3k4/8/1p1P4/1B6/7b/5K2/7P/8 w - - bm Kf4; id "MES.0213";
+4B3/8/4k3/P5p1/1PK5/8/8/4b3 w - - bm Kc5; id "MES.0214";
+3K1k2/8/2P5/2p5/5P2/8/1B4p1/3b4 w - - bm c7; id "MES.0215";
+8/2B3k1/2P5/6P1/4b2p/7K/7P/8 w - - bm Be5+; id "MES.0216";
+8/1K6/1P6/8/4P3/1p1k4/5P2/6bB w - - bm Ka8; id "MES.0217";
+3K4/3P1p1B/4k1p1/7p/5P2/b7/8/8 w - - bm f5+; id "MES.0218";
+8/K3p3/8/1k1P1b2/1P6/BP6/1P6/8 w - - bm Kb8; id "MES.0219";
+8/3pk3/6P1/P5Pp/5B2/1p5b/pP6/K7 w - - bm a6; id "MES.0220";
+8/B4p2/2p5/P2p4/5P2/1K1k1P2/3P4/5b2 w - - bm a6; id "MES.0221";
+8/2KB4/5pp1/1Pk1p1p1/4p3/7P/4P3/2b5 w - - bm b6; id "MES.0222";
+8/3p3p/3B3k/P1Pp1p1P/8/8/5P2/1b5K w - - bm c6; id "MES.0223";
+8/3p2p1/3P4/p1PkpP1P/K7/6B1/8/5b2 w - - bm h6; id "MES.0224";
+8/5pp1/3k2p1/1p6/pPB5/P4Kb1/5PP1/8 w - - bm fxg3; id "MES.0225";
+7b/1K2p3/7P/p4P2/1pk5/4P2p/1PP5/3B4 w - - bm Kc6; id "MES.0226";
+8/pp3pb1/P1p5/2K1k2B/5p1p/3P4/3P2P1/8 w - - bm d4+; id "MES.0227";
+1b6/5p1p/3k4/8/2Bp1pP1/1p1P4/1KPP3P/8 w - - bm Ba6; id "MES.0228";
+8/p2p1Bp1/P2p4/1Pp3pP/4K1kp/8/6P1/6b1 w - - bm h6; id "MES.0229";
+8/4B1pp/8/pp1PppP1/b3p3/P7/P3KP1P/2k5 w - - bm g6; id "MES.0230";
+4B2K/6B1/8/8/8/8/2p5/3k4 w - - bm Bh5+; id "MES.0231";
+3k2B1/p7/1p2K3/8/6P1/2P1p2p/1B6/8 w - - bm c4; id "MES.0232";
+8/2B5/1p2p1B1/1P6/2K5/8/2p1pP2/2k5 w - - bm Kb3; id "MES.0233";
+Bk6/1Pp5/1p2p3/4P3/P7/1pK4p/8/B7 w - - bm a5; id "MES.0234";
+1K6/2Pb4/1B5k/7P/5b2/2p5/8/8 w - - bm Bd4; id "MES.0235";
+8/8/P2K1k2/7b/8/5B2/4P2p/2b5 w - - bm a7; id "MES.0236";
+b7/2k5/P5P1/8/8/b2B1p1K/7P/8 w - - bm g7; id "MES.0237";
+8/3PP1P1/2b3P1/8/8/5kPp/5p1p/5BbK w - - bm d8=N; id "MES.0238";
+8/8/7k/5K1P/8/B1b5/B7/8 w - - bm Bc1+; id "MES.0239";
+2b5/K7/4p1p1/1p6/1B2B3/8/8/3k4 w - - bm Kb8; id "MES.0240";
+8/2B5/7k/3p4/8/1p2P3/6K1/b6B w - - bm Bf4+; id "MES.0241";
+8/6p1/6p1/5k1P/3Bp3/4PPP1/3p1PBK/4b3 w - - bm h6; id "MES.0242";
+8/6k1/1B6/4n3/8/7p/8/3K4 w - - bm Bg1; id "MES.0243";
+n6k/8/8/6P1/3K4/3B4/8/8 w - - bm Kc5; id "MES.0244";
+6B1/5P2/5Knk/8/7P/8/8/8 w - - bm Ke6; id "MES.0245";
+4k1B1/8/4P2p/3K4/7P/6np/8/8 w - - bm e7; id "MES.0246";
+8/8/4p3/3k1P2/3p4/8/2P5/Bn3K2 w - - bm f6; id "MES.0247";
+8/b7/k7/2P3pP/4p3/3N4/2K5/8 w - - bm h6; id "MES.0248";
+K6k/1p5B/6P1/1p6/8/4n3/2P5/8 w - - bm c3; id "MES.0249";
+8/2P2n1B/8/5K2/8/3p4/3Pkp2/8 w - - bm Ke6; id "MES.0250";
+8/B1p4p/2p5/8/P6k/8/2n2pK1/8 w - - bm Bc5; id "MES.0251";
+6nk/2p4p/3B1P1P/5KpP/8/8/8/8 w - g6 bm hxg6; id "MES.0252";
+B1k5/5n1P/3P3P/4p2K/4p3/4p3/8/8 w - - bm Bb7+; id "MES.0253";
+3B4/pp6/5p2/1P5n/k1K1pp2/7p/1P6/8 w - - bm Be7; id "MES.0254";
+4nk2/2p2p2/7P/4B2p/2K2P1p/7p/5P2/8 w - - bm h7; id "MES.0255";
+8/2p1p1pp/2P1P2k/6pP/p7/P4Bp1/1P4P1/n5K1 w - - bm Bd1; id "MES.0256";
+3N4/8/8/3b3K/5p2/8/8/7k w - - bm Kg4; id "MES.0257";
+8/2K5/bP4k1/3p4/3N4/8/8/8 w - - bm Nc6; id "MES.0258";
+2b5/4N3/5P2/8/2k1K3/8/3p4/8 w - - bm Nd5; id "MES.0259";
+b7/2K5/8/N2P4/pk6/8/8/8 w - - bm d6; id "MES.0260";
+N2k4/p7/8/8/4K3/8/P7/6b1 w - - bm Kd5; id "MES.0261";
+5b1N/8/5k2/8/K1P1nP2/8/8/8 w - - bm f5; id "MES.0262";
+8/1p6/1Pb5/8/8/N5pk/8/6K1 w - - bm Nc2; id "MES.0263";
+8/8/4p3/2bP4/8/8/p7/k2KN3 w - - bm Kc1; id "MES.0264";
+8/8/2k4b/P7/8/8/2N2PKp/8 w - - bm Nd4+; id "MES.0265";
+4k3/3p1N2/8/P1P4b/8/8/7K/8 w - - bm c6; id "MES.0266";
+8/2k5/8/2P5/6N1/2K2p2/5P2/6b1 w - - bm Kd3; id "MES.0267";
+8/pk6/pp6/5b2/2P5/8/3N1K2/8 w - - bm Nb3; id "MES.0268";
+8/N4k2/2P2p1P/8/7p/5K2/2b5/8 w - - bm c7; id "MES.0269";
+K2b4/3P2pp/8/5PN1/8/6k1/8/8 w - - bm f6; id "MES.0270";
+8/1pN2p2/1P6/8/2P5/5k2/b7/6K1 w - - bm c5; id "MES.0271";
+8/8/8/P5PN/8/8/2bPK2p/6k1 w - - bm Ng3; id "MES.0272";
+7k/7b/1P5N/6P1/7p/6pp/8/6K1 w - - bm Nf7+; id "MES.0273";
+8/3k1p2/P1p4P/1p6/8/N1b5/5K2/8 w - - bm Nxb5; id "MES.0274";
+7N/1pp5/8/P1P1k3/1p6/4K3/8/1b6 w - - bm c6; id "MES.0275";
+8/2p3Kp/1p2P3/8/k7/8/1PN3b1/8 w - - bm b3+; id "MES.0276";
+8/3pk3/5p2/P1P1P3/8/1b6/N7/6K1 w - - bm c6; id "MES.0277";
+7k/7P/1p1P4/1p4pp/8/5P2/3N4/b1K5 w - - bm f4; id "MES.0278";
+5b1k/4p1pP/4P1P1/1p6/8/1N6/2pP4/2K5 w - - bm d4; id "MES.0279";
+8/5p2/p3p1P1/7b/Pk6/1p6/8/1KN5 w - - bm g7; id "MES.0280";
+8/3pPp2/3p1k1K/5p2/1b1P3N/2P5/5p2/8 w - - bm Ng6; id "MES.0281";
+8/8/P1p3N1/2Pb4/6p1/1P3pPp/8/2k2K2 w - - bm Ne5; id "MES.0282";
+8/8/5b1P/1p1Pk3/1Pp1P3/6p1/3N2p1/6K1 w - - bm h7; id "MES.0283";
+1k6/2p1NbP1/PpP5/1K6/2p3p1/3P4/8/8 w - - bm Nc8; id "MES.0284";
+8/2k4N/p6p/5p1P/5p2/2p1pP1b/2P1P2P/6K1 w - - bm Ng5; id "MES.0285";
+8/3k4/1K6/PP6/2b5/8/8/5n2 w - - bm Kb7; id "MES.0286";
+1b2K3/1P6/6n1/1P2k3/8/8/8/8 w - - bm Kd8; id "MES.0287";
+3n4/6k1/6P1/1KP5/8/8/8/3b4 w - - bm c6; id "MES.0288";
+1n6/2k4K/5P2/3P1P2/8/8/8/4b3 w - - bm d6+; id "MES.0289";
+8/P1n1kP2/4P3/2K5/8/8/8/3b4 w - - bm Kb6; id "MES.0290";
+8/3n4/P4P2/4p3/K1p5/8/2k4b/8 w - - bm a7; id "MES.0291";
+8/7P/2n1P1KP/3k4/8/3P4/1b6/8 w - - bm d4; id "MES.0292";
+8/4K3/8/3k4/8/1N1B4/6p1/8 w - - bm Bc4+; id "MES.0293";
+1NBk4/p2p4/8/3K4/8/8/8/8 w - - bm Bb7; id "MES.0294";
+8/6B1/8/8/8/2N1p3/p7/k5K1 w - - bm Kf1; id "MES.0295";
+8/6B1/8/1N6/8/4p3/p1k3K1/8 w - - bm Kf3; id "MES.0296";
+N7/1K6/8/8/2p5/5k1p/3B3P/8 w - - bm Kc6; id "MES.0297";
+8/8/5N2/B1pK4/1p6/k7/8/8 w - - bm Ke4; id "MES.0298";
+8/1p6/8/5N2/p1K4B/p7/2k5/8 w - - bm Nd4+; id "MES.0299";
+8/1B6/8/8/6pp/7p/4K2k/1N6 w - - bm Ke1; id "MES.0300";
+8/8/4k3/8/1p6/3BP3/2K3Np/8 w - - bm Nf4+; id "MES.0301";
+8/8/8/1p6/2k3N1/4B3/p2PK3/8 w - - bm d3+; id "MES.0302";
+8/8/8/3N4/8/p4K2/1pP5/3B2k1 w - - bm Nc3; id "MES.0303";
+8/8/2P5/p7/K2p4/3k2N1/B1p5/8 w - - bm Bc4+; id "MES.0304";
+8/1p1K4/1P4NB/6p1/8/4k3/6p1/8 w - - bm Bf8; id "MES.0305";
+1N6/8/K7/3k4/3p3B/p7/2PP4/8 w - - bm Nc6; id "MES.0306";
+2K2N2/2B5/p1p4p/2k5/2P5/7p/8/8 w - - bm Kb7; id "MES.0307";
+8/8/B7/4p2N/5pp1/1kpK4/6P1/8 w - - bm Ng3; id "MES.0308";
+8/8/8/4N3/8/B1k2p1p/4Pp1P/2K5 w - - bm Bb4+; id "MES.0309";
+8/4B2p/8/3p3P/8/3Pk1K1/p7/6N1 w - - bm Bf6; id "MES.0310";
+8/1kpB1p2/3p4/4pK2/N1P3p1/7p/5P2/8 w - - bm Nc5+; id "MES.0311";
+8/4KBp1/1pp3p1/4k1P1/PP3p1N/P2p4/3P1pPP/8 w - - bm Nf3+; id "MES.0312";
+7k/4p3/5p2/1p1p1p2/1PpP1PpB/1pP3P1/7P/6NK w - - bm Bxf6+; id "MES.0313";
+b7/7P/4P1kb/3PK3/8/n7/8/8 w - - bm h8=N+; id "MES.0314";
+1k1K2n1/2p5/2PP1P2/bP6/P7/2n5/8/8 w - - bm b6; id "MES.0315";
+4N3/2n5/1b6/8/k5p1/8/6P1/7K w - - bm Nf6; id "MES.0316";
+5k2/1K4b1/5np1/P7/8/8/8/6N1 w - - bm a6; id "MES.0317";
+b6k/4n3/5P1K/3p4/5N2/8/8/8 w - - bm f7; id "MES.0318";
+8/3b3p/pn2p3/6PP/PN3k1K/5P2/8/8 w - - bm g6; id "MES.0319";
+N7/P4n1P/p7/k4p2/1p2p1p1/7b/2P2K2/8 w - - bm Nb6; id "MES.0320";
+3n4/8/4P3/7p/P3PP1p/3Pbk1P/2p4P/2N1K3 w - - bm e7; id "MES.0321";
+8/8/8/7N/P5bb/K7/8/2k5 w - - bm Nf4; id "MES.0322";
+8/8/1p6/k5P1/1p6/1p1N2b1/bK6/8 w - - bm Ka1; id "MES.0323";
+8/4p3/P3p1NP/7p/K1kb4/7b/P4P2/8 w - - bm Nh4; id "MES.0324";
+8/8/b5pn/4K3/8/5k2/B7/8 w - - bm Kf6; id "MES.0325";
+K6b/8/8/k3P3/7B/8/4n3/8 w - - bm e6; id "MES.0326";
+5k2/3B2bK/6P1/8/2n5/8/6P1/8 w - - bm g3; id "MES.0327";
+1kb5/3p4/P6p/1KB5/8/7P/8/n7 w - - bm Bd6+; id "MES.0328";
+8/6p1/n4b1P/7P/p7/B3K3/8/4k3 w - - bm h7; id "MES.0329";
+8/1B3pk1/3P4/6pP/n7/5K2/8/2b5 w - - bm d7; id "MES.0330";
+B5k1/6P1/7P/n3K2p/2b4P/8/8/8 w - - bm Kf6; id "MES.0331";
+8/5P1K/3b4/8/6k1/1n4P1/1P4PB/8 w - - bm Kg8; id "MES.0332";
+7b/B7/p2P4/7P/7k/8/P1n2KP1/8 w - - bm d7; id "MES.0333";
+2b5/1pkp4/P1P1p3/1P3n2/8/6pp/6P1/6K1 w - - bm a7; id "MES.0334";
+7B/1p3p1P/7n/7p/3K2p1/1P2P1Pp/1k2b3/8 w - - bm Kc5+; id "MES.0335";
+8/pp5P/1p1p1P2/1K3b2/P2k4/8/p1pP4/1nB5 w - - bm f7; id "MES.0336";
+2b5/P1n1Ppp1/P2p4/3P2PK/5k1P/8/4B2P/8 w - - bm g6; id "MES.0337";
+8/2n2b1B/4p1pP/PP4p1/p5P1/3p2PK/3P4/7k w - - bm Bg8; id "MES.0338";
+6k1/6pb/N5p1/K5N1/8/8/8/8 w - - bm Kb4; id "MES.0339";
+8/8/N2b4/8/K2N4/pPk5/8/8 w - - bm Nb5+; id "MES.0340";
+K3b2N/8/2k3Np/7P/8/8/8/8 w - - bm Nf7; id "MES.0341";
+k4N2/8/1p3P2/pp6/8/K4b2/1N6/8 w - - bm Nc4; id "MES.0342";
+1k6/2b5/p1Kpp3/P3PN2/8/2N5/8/8 w - - bm exd6; id "MES.0343";
+8/7N/4p2P/p3p2P/P3P1k1/2p5/7p/2b1K2N w - - bm Nf6+; id "MES.0344";
+1k4B1/8/8/n1K3N1/8/8/8/8 w - - bm Kb6; id "MES.0345";
+8/8/8/8/1B2N3/8/k1K1n3/8 w - - bm Bc5; id "MES.0346";
+8/8/4N1k1/8/5K2/8/B2n4/8 w - - bm Nd4; id "MES.0347";
+8/8/7p/8/8/2N2K2/8/1B3nk1 w - - bm Ne2+; id "MES.0348";
+8/8/8/NB6/8/5k2/2np3K/8 w - - bm Be8; id "MES.0349";
+n7/7k/4p3/B7/6N1/8/8/6K1 w - - bm Ne5; id "MES.0350";
+8/8/8/8/8/p5pK/5B2/1Nn4k w - - bm Bd4; id "MES.0351";
+8/4K2p/6kP/8/4N3/7B/8/n7 w - - bm Be6; id "MES.0352";
+8/3N4/8/5K2/5B2/8/5Pp1/k3n3 w - - bm Bh2; id "MES.0353";
+3N2n1/4p3/3P4/4k3/6K1/8/2B5/8 w - - bm Nf7+; id "MES.0354";
+8/2N1k3/8/n7/B7/6p1/6Pp/7K w - - bm Ne8; id "MES.0355";
+5B1k/7p/6P1/4NnP1/8/8/K4p2/8 w - - bm g7+; id "MES.0356";
+8/8/p7/Pk6/p6p/3P1N2/8/K1n3B1 w - - bm Kb2; id "MES.0357";
+B7/1P1p2p1/k2n1P2/8/N5K1/8/6p1/8 w - - bm b8=N+; id "MES.0358";
+8/3pB3/n4K1k/6N1/1p2P2p/1p6/1P4Pp/8 w - - bm Bf8+; id "MES.0359";
+2n5/1P1p4/3P4/2B1P3/3P4/6p1/pp4P1/Nk5K w - - bm Ba3; id "MES.0360";
+nK6/2p3pk/1pp5/1P3NP1/5P2/1P4P1/p1B5/8 w - - bm Ne3+; id "MES.0361";
+8/6B1/8/8/3N4/4k3/8/2b1K3 w - - bm Kd1; id "MES.0362";
+1b5B/8/8/1N6/8/3k4/2p5/2K5 w - - bm Nc7; id "MES.0363";
+3K4/8/8/4k3/8/N2bB3/p7/8 w - - bm Nb5; id "MES.0364";
+1b6/8/1N4Pk/8/8/B6K/8/8 w - - bm Nd7; id "MES.0365";
+7K/1b6/8/8/3P4/4k3/1B1N2p1/8 w - - bm d5; id "MES.0366";
+b6k/7p/2p5/8/8/2N5/3B4/1K6 w - - bm Bh6; id "MES.0367";
+8/8/7k/8/7P/2p5/4KN2/3B2b1 w - - bm Nd3; id "MES.0368";
+8/6P1/8/8/4k2K/8/2b4p/2N1B3 w - - bm g8=Q; id "MES.0369";
+k7/8/B3P3/8/1K5b/8/4N2p/8 w - - bm Ng3; id "MES.0370";
+8/5b2/8/6B1/3k4/K7/1P4p1/1N6 w - - bm Nd2; id "MES.0371";
+1k6/2p5/B7/4Np2/8/8/6p1/6Kb w - - bm Nc6+; id "MES.0372";
+8/4K1p1/3N4/5P2/4B3/1k6/3pb3/8 w - - bm f6; id "MES.0373";
+K7/2b5/3p1p2/4k3/4P3/4N3/8/2B5 w - - bm Kb7; id "MES.0374";
+8/8/pp6/8/kb3Np1/7P/1K6/4B3 w - - bm Bxb4; id "MES.0375";
+8/5N2/5pP1/7b/p7/8/1Pk5/4BK2 w - - bm Nh8; id "MES.0376";
+8/8/6p1/7p/pb6/k6P/2P1pB2/NK6 w - - bm c3; id "MES.0377";
+4K3/2k1Bp1N/6p1/5PP1/8/7p/b7/8 w - - bm Bf6; id "MES.0378";
+4Bk2/1pp2p1K/3p4/P5Pb/4P3/5N2/8/8 w - - bm Bc6; id "MES.0379";
+1b6/4P3/1P2PN2/8/2P5/P1k5/P1p2P2/K5B1 w - - bm Ne4+; id "MES.0380";
+6b1/2p1B1P1/p1K5/k7/p6p/p1Np2p1/8/8 w - - bm Na2; id "MES.0381";
+3k4/3p4/P2P2P1/p1p1P3/K3p3/3P3B/P3p2P/3N3b w - - bm Nc3; id "MES.0382";
+8/1p1p4/1p1PPp2/1P1K1k1P/2PP4/4B2P/5pp1/6Nb w - - bm e7; id "MES.0383";
+8/5BK1/8/8/p7/4B3/pn6/1k6 w - - bm Bg6+; id "MES.0384";
+6K1/8/6B1/8/8/2B5/pP6/k2n4 w - - bm Bh8; id "MES.0385";
+8/8/8/3kp3/3p4/P2B4/K1N3Np/8 w - - bm Nf4+; id "MES.0386";
+8/B4p2/4Np2/8/3K1P2/7N/4p2k/8 w - - bm Ng1; id "MES.0387";
+2N1k3/4p3/3pKp2/5p2/4NB2/pp6/8/8 w - - bm Nexd6+; id "MES.0388";
+5N2/8/7B/8/2K5/1p1B4/p7/k7 w - - bm Bd2; id "MES.0389";
+8/8/6bk/8/4nP2/4K3/4N3/4n3 w - - bm f5; id "MES.0390";
+3kn1K1/1p6/P4b2/N2Pn3/8/6P1/8/8 w - - bm a7; id "MES.0391";
+8/8/7N/1k5b/3P4/K3P3/2P5/n5b1 w - - bm Kb2; id "MES.0392";
+8/8/P6P/5p2/8/1b6/nN4P1/k3b2K w - - bm Nd1; id "MES.0393";
+2N2n2/8/1P4P1/1P3KP1/1b6/p7/8/k6b w - - bm g7; id "MES.0394";
+2nn4/B7/KP1P4/8/3p3k/8/8/4b3 w - - bm b7; id "MES.0395";
+6K1/8/Pp3p1k/1Pb4P/p2p3N/3P1PP1/4P3/3b4 w - - bm Nf5+; id "MES.0396";
+b7/7P/2p3np/2P3p1/1P4PP/2B3Pk/7p/6bK w - - bm h5; id "MES.0397";
+3n2k1/3N4/7P/6N1/8/K7/7P/4b3 w - - bm Nf6+; id "MES.0398";
+8/8/p5Pb/1kpbP3/5p2/1N6/1KPN4/8 w - - bm c4+; id "MES.0399";
+2N5/5B2/8/4nk1K/6n1/4p3/8/8 w - - bm Ne7+; id "MES.0400";
diff --git a/tests/newiq.epd b/tests/newiq.epd
new file mode 100644
index 0000000..f14fdd5
--- /dev/null
+++ b/tests/newiq.epd
@@ -0,0 +1,360 @@
+r3rnk1/4qpp1/p5np/4pQ2/Pb2N3/1B5P/1P3PP1/R1BR2K1 w - - bm Bxh6; id "IQ.894";
+r1br2k1/p1q2pp1/4p1np/2ppP2Q/2n5/2PB1N2/2P2PPP/R1B1R1K1 w - - bm Bxh6; id "IQ.895";
+6rk/1p1br2p/pqp5/3pNP2/1P1Pp3/P5PR/5PKR/Q7 w - - bm Rxh7+; id "IQ.915";
+r4rk1/pb1q1ppp/2N1p3/2Rn4/3P4/3BPQ2/5PPP/2R3K1 w - - bm Bxh7+; id "IQ.916";
+3rk1nr/1p3q2/p1n2P1p/P1ppp3/3b4/2N2QPB/1PP4P/R1B2R1K w k - bm Nxd5; id "IQ.917";
+3rk1nr/1p3q2/p1n2P1p/P1ppp3/3b4/2N2QPB/1PP4P/R1B2R1K w k - bm Nxd5; id "IQ.918";
+6rk/2nbNq1p/3p1PpR/2pPp1P1/1nBbP3/2N3K1/1P6/2B4Q w - - bm Rxh7+; id "IQ.919";
+6rk/2nbNq1p/3p1PpR/2pPp1P1/1nBbP3/2N3K1/1P6/2B4Q w - - bm Rxh7+; id "IQ.920";
+6rk/2nbNq1p/3p1PpR/2pPp1P1/1nBbP3/2N3K1/1P6/2B4Q w - - bm Rxh7+; id "IQ.921";
+r4r2/2q2pkp/p3pnp1/1p1b2Q1/2nN1N2/P4P2/BPP3PP/R4R1K w - - bm Nf5+; id "IQ.922";
+r4r2/2q2pkp/p3pnp1/1p1b2Q1/2nN1N2/P4P2/BPP3PP/R4R1K w - - bm Nf5+; id "IQ.923";
+r4r2/2q2pkp/p3pnp1/1p1b2Q1/2nN1N2/P4P2/BPP3PP/R4R1K w - - bm Nf5+; id "IQ.924";
+3r2k1/5pp1/R2B3q/2Q5/1p2rP2/6Pp/1bP2K1P/3R4 w - - bm Be5; id "IQ.925";
+1rb2r2/1p1nppk1/2p1n1p1/p3P2p/2qP3R/2N3NP/PP1Q2B1/5RK1 w - - bm Bd5; id "IQ.926";
+3r4/p2nrpkp/2B1p3/2P2pP1/3R3Q/q7/6PP/6RK w - - bm g6; id "IQ.927";
+2qrrb2/pb3ppk/1npp3p/5N2/1p2n3/1P3NPB/PBPQ1P1P/3RR1K1 w - - bm Rxe4 Qf4; id "IQ.928";
+3r2k1/1p3pp1/1p6/7p/q2NP1P1/2Q2P1b/rP5P/2RR2K1 w - - bm Nf5; id "IQ.929";
+3r2k1/1p3pp1/1p6/7p/q2NP1P1/2Q2P1b/rP5P/2RR2K1 w - - bm Nf5; id "IQ.930";
+2q1r2k/5R1p/pp1B2pN/2p1P3/1n1b4/3P2Q1/1P4K1/8 w - - bm Qh4; id "IQ.931";
+2rr2k1/pb3p1p/1pq3p1/4R1N1/2n5/P4P2/BP2Q1PP/4R2K w - - bm Nxf7 Re7; id "IQ.932";
+2r1b1k1/p1q1brp1/1p2p1QB/4p3/4N3/2PBR3/P4PPP/6K1 w - - bm Qh7+; id "IQ.933";
+2r1b1k1/p1q1brp1/1p2p1QB/4p3/4N3/2PBR3/P4PPP/6K1 w - - bm Qh7+; id "IQ.934";
+r1b1rnk1/pp3ppp/3qp3/2pnNPB1/2BP4/2P5/P1P1Q1PP/3R1RK1 w - - bm Nxf7; id "IQ.935";
+2k1r2r/ppn3pq/b7/5p2/5Qn1/2N1B1P1/1P3PB1/2RR2K1 w - - bm Qxc7+; id "IQ.936";
+2k1r2r/ppn3pq/b7/5p2/5Qn1/2N1B1P1/1P3PB1/2RR2K1 w - - bm Qxc7+; id "IQ.937";
+2k1r2r/ppn3pq/b7/5p2/5Qn1/2N1B1P1/1P3PB1/2RR2K1 w - - bm Qxc7+; id "IQ.938";
+r1bq1rk1/pp1n1pp1/5n1p/2b1pN2/2B4B/2N1P3/PPQ2PPP/2KR3R w - - bm Nxh6+; id "IQ.939";
+5r1k/1p2qp1p/p4R1Q/P1p5/2Prp3/7P/1P4P1/5R1K w - - bm Re6; id "IQ.940";
+5r1k/1p2qp1p/p4R1Q/P1p5/2Prp3/7P/1P4P1/5R1K w - - bm Re6; id "IQ.941";
+5rk1/q5pp/4p3/r1bp1p2/1p1B1P2/1P1QP3/P4RPP/2R3K1 w - - bm Rxc5; id "IQ.943";
+5rk1/q5pp/4p3/r1bp1p2/1p1B1P2/1P1QP3/P4RPP/2R3K1 w - - bm Rxc5; id "IQ.944";
+2R4Q/pp1bkp2/4p1r1/qN1p4/Pb6/4B3/1P3PPP/6K1 w - - bm Bb6; id "IQ.945";
+2R4Q/pp1bkp2/4p1r1/qN1p4/Pb6/4B3/1P3PPP/6K1 w - - bm Bb6; id "IQ.946";
+6k1/6p1/p3br2/1p2Q3/5r2/1P1B2R1/1P3qPP/2R4K w - - bm Rc8+; id "IQ.947";
+6k1/6p1/p3br2/1p2Q3/5r2/1P1B2R1/1P3qPP/2R4K w - - bm Rc8+; id "IQ.948";
+5r1k/1b1P3p/4Q1pb/8/P7/4N1PP/1P2r3/R2R2K1 w - - bm Qf6+; id "IQ.949";
+5r1k/1b1P3p/4Q1pb/8/P7/4N1PP/1P2r3/R2R2K1 w - - bm Qf6+; id "IQ.950";
+4k3/1bQ3p1/pp2P3/2nP1qp1/8/2P3P1/P6P/5BK1 w - - bm Bd3; id "IQ.951";
+4k3/1bQ3p1/pp2P3/2nP1qp1/8/2P3P1/P6P/5BK1 w - - bm Bd3; id "IQ.952";
+4k3/1bQ3p1/pp2P3/2nP1qp1/8/2P3P1/P6P/5BK1 w - - bm Bd3; id "IQ.953";
+2rq1r2/pp1b1pkp/8/P2Q2P1/n1nN4/2P5/2P3BP/R1B2RK1 w - - bm Rxa4; id "IQ.954";
+2rq1r2/pp1b1pkp/8/P2Q2P1/n1nN4/2P5/2P3BP/R1B2RK1 w - - bm Rxa4; id "IQ.955";
+2qr1r2/p2n1ppk/1p2p2p/5b2/2PP2NQ/1B4R1/P4PPP/R5K1 w - - bm Bc2; id "IQ.956";
+2qr1r2/p2n1ppk/1p2p2p/5b2/2PP2NQ/1B4R1/P4PPP/R5K1 w - - bm Bc2; id "IQ.957";
+1r2q1k1/1p6/pN2p1p1/P3p3/2PbQ3/1P5P/6P1/5R1K w - - bm Nd7; id "IQ.958";
+1r2q1k1/1p6/pN2p1p1/P3p3/2PbQ3/1P5P/6P1/5R1K w - - bm Nd7; id "IQ.959";
+6k1/pp2q2r/2r1p3/1RPpPpp1/3P4/P5P1/3Q1PK1/7R w - - bm Rxb7; id "IQ.960";
+k7/p1r4p/1pP1bq2/1P4p1/1Qn1B3/2b1P2P/P1P2PP1/3R2K1 w - - bm Qxc3; id "IQ.961";
+k7/p1r4p/1pP1bq2/1P4p1/1Qn1B3/2b1P2P/P1P2PP1/3R2K1 w - - bm Qxc3; id "IQ.962";
+k7/p1r4p/1pP1bq2/1P4p1/1Qn1B3/2b1P2P/P1P2PP1/3R2K1 w - - bm Qxc3; id "IQ.963";
+2r1k1nr/3bbpp1/p2p2P1/4pP2/1pqNP3/2N1B3/PPP3Q1/1K1R2R1 w k - bm b3 Nd5; id "IQ.964";
+r6r/p1kn4/2p1b3/q3p1Qp/4P3/2PBB2P/P5P1/3R1RK1 w - - bm Bc4; id "IQ.965";
+1k1r2r1/pp3p1p/B2q1n2/8/3Pb1p1/2Q5/PR3PPP/2B1R1K1 w - - bm Bf4; id "IQ.966";
+4rk2/1p3r2/3q1nQp/1R1P2p1/P2pp3/3B2PP/1P3P2/2R3K1 w - - bm Qxh6+ Rxb7; id "IQ.967";
+r5k1/1p3pbp/2q1p1p1/p1p1P3/n1P5/P1B2N1P/1P2QPP1/3R2K1 w - - bm Bxa5; id "IQ.968";
+1rb1r2k/3nq1b1/2p2pp1/p3p2p/P1B1P3/1P1RB1N1/2P2QPP/3R3K w - - bm Nf5 Rd6; id "IQ.969";
+1rb1r2k/3nq1b1/2p2pp1/p3p2p/P1B1P3/1P1RB1N1/2P2QPP/3R3K w - - bm Nf5 Rd6; id "IQ.970";
+4q1k1/p6p/1p2n2B/2p2rp1/2P5/2P2P2/P2Q2PP/4R1K1 w - - bm Rxe6; id "IQ.971";
+4q1k1/p6p/1p2n2B/2p2rp1/2P5/2P2P2/P2Q2PP/4R1K1 w - - bm Rxe6; id "IQ.972";
+4rbk1/1q3ppp/2Rr4/1p1P1B2/2b1PR2/p5P1/5P1P/B1Q3K1 w - - bm Bxh7+ Rxd6 Rh4 Bxg7; id "IQ.973";
+6k1/p1p2pp1/2p1n1q1/1r2P3/4N1PQ/5P2/P6P/3R3K w - - bm Rd8+; id "IQ.974";
+r1b2r2/4ppkp/p2p1np1/qpn5/2PNP1P1/2N2P2/PP1QB2P/R3K2R w KQ - bm g5 cxb5; id "IQ.975";
+r2qrn2/1p2nbkp/2p1pp2/p7/3PP1BN/2N4R/PP1Q1P2/2KR4 w - - bm Qh6+; id "IQ.976";
+r2qrn2/1p2nbkp/2p1pp2/p7/3PP1BN/2N4R/PP1Q1P2/2KR4 w - - bm Qh6+; id "IQ.977";
+r2qrn2/1p2nbkp/2p1pp2/p7/3PP1BN/2N4R/PP1Q1P2/2KR4 w - - bm Qh6+; id "IQ.978";
+2r3k1/pR5p/2ppNb2/1Q1P1ppP/4q3/4P1P1/5P2/6K1 w - - bm Rg7+ Qa6; id "IQ.979";
+7R/5Q2/6pp/4rp1k/P3P3/5Pb1/4KPq1/3R4 w - - bm Rxh6+; id "IQ.980";
+rnb4r/p1pq1Pkp/1pn1p1p1/3p2N1/3P4/P1PB3Q/2P2PPP/R1B1K2R w KQ - bm Qh6+; id "IQ.981";
+r1r5/p2qnkbp/bp2ppp1/3p4/3P1P2/1Q1N1N1B/PP2PP1P/2R2RK1 w - - bm Nde5+; id "IQ.982";
+r1b2rk1/1p3pbn/p2p2p1/q1nPp2p/P3P3/2NBBPN1/1P1Q2PP/R4RK1 w - - bm b4; id "IQ.983";
+b3k3/2q1b1p1/p3p2r/1pPpP2p/1P1N3P/6P1/P3Q3/1BR3K1 w - - bm Bg6+; id "IQ.984";
+8/2bP1Q1p/6pk/p3p3/P1Bp4/1P1R2KP/5PP1/2q4r w - - bm Re3; id "IQ.985";
+8/2bP1Q1p/6pk/p3p3/P1Bp4/1P1R2KP/5PP1/2q4r w - - bm Re3; id "IQ.987";
+2b1rqk1/2R2ppp/1p1P4/p3Q3/7P/P7/B4PP1/6K1 w - - bm Qxe8; id "IQ.989";
+r3k2r/pppqnpbp/4p1p1/3nP1B1/Q2PN2P/5P2/PP2BP2/2R1K1R1 w - - bm Nd6+; id "IQ.990";
+r3r1k1/1p3pPp/p1p5/3bb2N/7q/1P1Q4/2PB2PP/4RRK1 w - - bm Rxe5; id "IQ.991";
+1q1rr1k1/pn5p/1p3pp1/1Q2b1B1/1P6/5B1P/P4PP1/2R1R1K1 w - - bm Rxe5 Bxf6; id "IQ.992";
+r2qrbk1/p2b2pp/1pn1pn2/3p4/2pP1P2/2P2NN1/PPQ3PP/RBB2RK1 w - - bm Ng5; id "IQ.993";
+r3r1k1/2qb1pbp/n1p2np1/N3p1B1/1P2P3/P1N5/2Q1BPPP/3R1RK1 w - - bm Bxa6 Bxf6; id "IQ.994";
+r3r1k1/2qb1pbp/n1p2np1/N3p1B1/1P2P3/P1N5/2Q1BPPP/3R1RK1 w - - bm Bxa6 Bxf6; id "IQ.995";
+r3r1k1/2qb1pbp/n1p2np1/N3p1B1/1P2P3/P1N5/2Q1BPPP/3R1RK1 w - - bm Bxa6 Bxf6; id "IQ.996";
+r3r1k1/2qb1pbp/n1p2np1/N3p1B1/1P2P3/P1N5/2Q1BPPP/3R1RK1 w - - bm Bxa6 Bxf6; id "IQ.997";
+r1b2rk1/1p2qppp/2pb1n2/p3n1N1/2BR4/1PN1P3/PBQ2PPP/2K4R w - - bm Rxd6; id "IQ.998";
+r1b2rk1/1p2qppp/2pb1n2/p3n1N1/2BR4/1PN1P3/PBQ2PPP/2K4R w - - bm Rxd6; id "IQ.999";
+r1b2rk1/1p2qppp/2pb1n2/p3n1N1/2BR4/1PN1P3/PBQ2PPP/2K4R w - - bm Rxd6; id "IQ.1000";
+r4rk1/5pp1/p2R1Bb1/1pq1Pp1p/7Q/1Bn5/P5PP/5R1K w - - bm Bxg7; id "IQ.1001";
+r4rk1/5pp1/p2R1Bb1/1pq1Pp1p/7Q/1Bn5/P5PP/5R1K w - - bm Bxg7; id "IQ.1002";
+5r2/p4pkp/3bpNp1/q3n3/1r3B1Q/3p4/PPP2PPP/R4K1R w - - bm Qh6+; id "IQ.1003";
+r3r3/pp2bBkp/6p1/q3p2Q/4n3/2N2R2/PPP3PP/2KR4 w - - bm Bxg6; id "IQ.1005";
+r3r3/pp2bBkp/6p1/q3p2Q/4n3/2N2R2/PPP3PP/2KR4 w - - bm Bxg6; id "IQ.1006";
+5n2/3bp1r1/1r1p3k/p1p2pNp/1nP2P1P/1PN1PB1K/P5R1/6R1 w - - bm Nf7+; id "IQ.1007";
+r2q1rk1/1p1bbppp/p1n1p3/2p1P2Q/4N3/6P1/PPPB1PBP/3RR1K1 w - - bm Nf6+; id "IQ.1008";
+r2q1rk1/1p1bbppp/p1n1p3/2p1P2Q/4N3/6P1/PPPB1PBP/3RR1K1 w - - bm Nf6+; id "IQ.1009";
+r5k1/pq2pn2/3pN1pp/n2P4/1rp1PQ2/1P3PP1/PN4K1/2R4R w - - bm Rxh6 Nd3; id "IQ.1010";
+r5k1/pq2pn2/3pN1pp/n2P4/1rp1PQ2/1P3PP1/PN4K1/2R4R w - - bm Rxh6 Nd3; id "IQ.1011";
+r5k1/pq2pn2/3pN1pp/n2P4/1rp1PQ2/1P3PP1/PN4K1/2R4R w - - bm Rxh6 Nd3; id "IQ.1012";
+r1b1rb2/1p3kpQ/p1p1p3/q1P1P3/3P4/4P1R1/PP4PP/R1B3K1 w - - bm Bd2; id "IQ.1013";
+3r1r2/p4pk1/bp2p1P1/4P2p/Pq1N1P2/2p4Q/2P3P1/3RK2R w - - bm Qxh5; id "IQ.1014";
+4Q2r/1b4pk/p1n1pr1p/1p2P2B/1qn5/5N2/PPP2PP1/2KRR3 w - - bm Ng5+; id "IQ.1015";
+3q1rk1/p1r2pp1/1p2p2p/6bn/3PNn2/1B2BP2/PP1Q1P1R/6RK w - - bm Rxh5; id "IQ.1016";
+rr4k1/2q2ppp/p1b1p3/2b1pPPN/1p2P1R1/3B3Q/PPP4P/1K1R4 w - - bm Nf6+; id "IQ.1017";
+4r3/1r2ppk1/p2p1np1/2qP4/PpP5/1P1Q4/2B1R1PP/5R1K w - - bm Rxf6; id "IQ.1018";
+4r3/1r2ppk1/p2p1np1/2qP4/PpP5/1P1Q4/2B1R1PP/5R1K w - - bm Rxf6; id "IQ.1019";
+r4rk1/1nqb1pbn/6pB/pppPp2p/8/1PP2NNP/P1BQ2P1/R4RK1 w - - bm Nxh5; id "IQ.1020";
+2r1qrk1/3n3p/b3pPp1/4P3/1pp1nBN1/pP4PQ/P1P2PK1/3RR3 w - - bm Qxh7+; id "IQ.1021";
+r1r2k2/1q1n1p2/3PpPp1/4P2p/pbpN3R/2N3K1/1P2Q2P/3R4 w - - bm Rxh5; id "IQ.1022";
+6k1/1p3r1p/r2q1Pp1/2p1n1P1/p1PpP3/P2P2Q1/1P4B1/4RRK1 w - - bm Rf5; id "IQ.1023";
+6k1/1p3r1p/r2q1Pp1/2p1n1P1/p1PpP3/P2P2Q1/1P4B1/4RRK1 w - - bm Rf5; id "IQ.1024";
+6k1/1p3r1p/r2q1Pp1/2p1n1P1/p1PpP3/P2P2Q1/1P4B1/4RRK1 w - - bm Rf5; id "IQ.1025";
+4rrk1/1b3p1p/pp2p1p1/2qnN1Pn/3N1P2/2P4R/PPB1Q2P/5RK1 w - - bm Rxh5; id "IQ.1026";
+4rrk1/1b3p1p/pp2p1p1/2qnN1Pn/3N1P2/2P4R/PPB1Q2P/5RK1 w - - bm Rxh5; id "IQ.1027";
+4rrk1/1b3p1p/pp2p1p1/2qnN1Pn/3N1P2/2P4R/PPB1Q2P/5RK1 w - - bm Rxh5; id "IQ.1028";
+4rrk1/1b3p1p/pp2p1p1/2qnN1Pn/3N1P2/2P4R/PPB1Q2P/5RK1 w - - bm Rxh5; id "IQ.1029";
+4rrk1/1b3p1p/pp2p1p1/2qnN1Pn/3N1P2/2P4R/PPB1Q2P/5RK1 w - - bm Rxh5; id "IQ.1030";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "IQ.1031";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "IQ.1032";
+2rq1rk1/pp1bnpbp/4p1p1/3pP1N1/3P2Q1/2PB4/P4PPP/R1B1R1K1 w - - bm Nxh7; id "IQ.1033";
+r2qrnk1/1b2bppp/2p5/1p1pN1Pn/p2P1B2/3BP2P/PPQ2P2/2K3RR w - - bm Bxh7+; id "IQ.1034";
+3r2k1/2nqprb1/1p2p1Np/p2nP3/3pBP2/PP4RQ/1B5P/6RK w - - bm Nf8 Nh8; id "IQ.1035";
+r4rk1/pppq2pp/1nbpp3/6B1/2PP2P1/3B3P/P1P2P2/1R1QR1K1 w - - bm d5; id "IQ.1036";
+r4rk1/pppq2pp/1nbpp3/6B1/2PP2P1/3B3P/P1P2P2/1R1QR1K1 w - - bm d5; id "IQ.1037";
+r1r1q2k/pp3pbp/4p3/2npPp1Q/3P1P1N/2P2RR1/P1P3PP/6K1 w - - bm Rxg7; id "IQ.1038";
+r1r1q2k/pp3pbp/4p3/2npPp1Q/3P1P1N/2P2RR1/P1P3PP/6K1 w - - bm Rxg7; id "IQ.1039";
+r4r1k/pbpq1p1B/1p2pp2/8/1b1P2Q1/8/PPP2PPP/2KR3R w - - bm d5; id "IQ.1040";
+r4r1k/pbpq1p1B/1p2pp2/8/1b1P2Q1/8/PPP2PPP/2KR3R w - - bm d5; id "IQ.1041";
+2R5/r3b1k1/p2p4/P1pPp2p/6q1/2P2N1r/4Q1P1/5RK1 w - - bm Nxe5; id "IQ.1042";
+rq6/1r1k4/1pRp1p1p/1P1Pp1pP/p1R1P1P1/PpQ2P2/1K6/8 w - - bm f4; id "IQ.1043";
+rq6/1r1k4/1pRp1p1p/1P1Pp1pP/p1R1P1P1/PpQ2P2/1K6/8 w - - bm f4; id "IQ.1044";
+rq6/1r1k4/1pRp1p1p/1P1Pp1pP/p1R1P1P1/PpQ2P2/1K6/8 w - - bm f4; id "IQ.1045";
+rq6/1r1k4/1pRp1p1p/1P1Pp1pP/p1R1P1P1/PpQ2P2/1K6/8 w - - bm f4; id "IQ.1046";
+2q3k1/1p3pp1/4rbn1/r1pp1Np1/p2P4/4PN1R/PPQ2PP1/2K4R w - - bm Ne7+; id "IQ.1047";
+2q3k1/1p3pp1/4rbn1/r1pp1Np1/p2P4/4PN1R/PPQ2PP1/2K4R w - - bm Ne7+; id "IQ.1048";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm Rxh7+ e6; id "IQ.1049";
+r2q1rnk/1p1bb1pp/p2p4/3NP1P1/P2Bp3/3Q3R/1PP1B2P/6RK w - - bm Rxh7+ e6; id "IQ.1050";
+4r3/pbrq1p1k/1p3Bpp/3pPn2/5PQ1/P6R/1P4PP/1B3RK1 w - - bm Rh5 Qg5; id "IQ.1051";
+r1bn1r2/1pp3k1/p2p3p/6p1/2qNB3/2P2PP1/P1Q2KP1/1R5R w - - bm Rxh6; id "IQ.1052";
+r1bn1r2/1pp3k1/p2p3p/6p1/2qNB3/2P2PP1/P1Q2KP1/1R5R w - - bm Rxh6; id "IQ.1053";
+r4rk1/3bpp1p/pqp3p1/4P2n/2B5/1P6/PBPbQ1PP/4RR1K w - - bm e6; id "IQ.1054";
+r4rk1/3bpp1p/pqp3p1/4P2n/2B5/1P6/PBPbQ1PP/4RR1K w - - bm e6; id "IQ.1055";
+2br1rk1/2qnQ2p/p4pp1/4p3/P1p1P1N1/2Pn1N1P/2B2PP1/1R1R1K2 w - - bm Rxd3; id "IQ.1056";
+r3qrk1/1b3p2/1p1npnp1/2b1N1N1/p1P5/P1B5/1PB1QP1P/R2R2K1 w - - bm Nd7; id "IQ.1057";
+r3nrk1/pp1q2pp/4R3/6p1/2PP4/1B3Q2/P4P1P/3R2K1 w - - bm c5; id "IQ.1058";
+r5k1/4p2p/pp1qNnp1/2pPb3/2P1p1P1/4B3/PP1Q2P1/5R1K w - - bm Bxc5; id "IQ.1059";
+r7/pp2pkbp/2pq2p1/8/2P2N2/1P2R1PP/P3QPK1/8 w - - bm c5; id "IQ.1060";
+2krb2r/p1q5/np2pPpp/n2pP3/2pP2P1/2P1N1B1/2P1Q1BK/RR6 w - - bm Nxd5; id "IQ.1061";
+2krb2r/p1q5/np2pPpp/n2pP3/2pP2P1/2P1N1B1/2P1Q1BK/RR6 w - - bm Nxd5; id "IQ.1062";
+r7/1pqbr1pk/p1n4p/5p1P/2P1p3/2B3R1/PP1Q1PP1/1B2R1K1 w - - bm Rxe4; id "IQ.1063";
+2rq1r2/pb4k1/1p1p1p1p/n1pP1RpQ/2P1P2B/P1PB4/6PP/R5K1 w - - bm e5; id "IQ.1064";
+r1r3k1/1p1b1nq1/6p1/pN1p4/P2Np2R/1P2P3/1Q3PP1/1K5R w - - bm Nd6; id "IQ.1065";
+r1r3k1/1p1b1nq1/6p1/pN1p4/P2Np2R/1P2P3/1Q3PP1/1K5R w - - bm Nd6; id "IQ.1066";
+5Bk1/pr2pp1p/2b3pQ/2p1q3/8/2P4P/PP4P1/1B1Rb1K1 w - - bm Bg7; id "IQ.1067";
+5qk1/2p2r1p/p1p4P/1p6/3P4/1Q6/P1P3P1/5RK1 w - - bm Qg3+; id "IQ.1068";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "IQ.1069";
+r2r3k/ppq3pp/2p1n3/4NQ2/3P4/1B6/PP3PPP/6K1 w - - bm Ng6+; id "IQ.1070";
+r3b1rk/1p1qn1p1/p3p1np/3pPpBQ/3P4/3B1N1P/PP3PP1/2R2RK1 w - - bm Bf6; id "IQ.1071";
+r3b1rk/1p1qn1p1/p3p1np/3pPpBQ/3P4/3B1N1P/PP3PP1/2R2RK1 w - - bm Bf6; id "IQ.1072";
+r3b1rk/1p1qn1p1/p3p1np/3pPpBQ/3P4/3B1N1P/PP3PP1/2R2RK1 w - - bm Bf6; id "IQ.1073";
+2b2rk1/pp2R1bp/1qpp2p1/6N1/2P2PP1/3Q1B2/PP4PK/8 w - - bm Bd5+; id "IQ.1074";
+1q3rnk/5p2/3p1P1p/p3n3/Np1r2P1/1P1B4/1PP4Q/1K1R3R w - - bm Qxh6+; id "IQ.1075";
+2r3k1/1rq2p1p/pp1p1bp1/2pP2N1/2P1R3/1Q6/PP3PP1/4R1K1 w - - bm Nxh7; id "IQ.1076";
+3r3k/p5qp/bp2B1p1/n2P1p2/5N2/Q1R5/P4PPP/6K1 w - - bm Qb2; id "IQ.1077";
+3r3k/p5qp/bp2B1p1/n2P1p2/5N2/Q1R5/P4PPP/6K1 w - - bm Qb2; id "IQ.1078";
+4r1kb/5p1p/6pB/3Np3/4n3/P3Q1PP/2q2P2/R5K1 w - - bm Rc1; id "IQ.1079";
+4r1kb/5p1p/6pB/3Np3/4n3/P3Q1PP/2q2P2/R5K1 w - - bm Rc1; id "IQ.1080";
+4k3/pp2pp2/4n1p1/3RP1P1/2r1N3/P1P5/1P2q3/1K5Q w - - bm Nc5; id "IQ.1081";
+5rk1/1b3p1p/4pb2/2p1N2Q/1pP2p2/1P1R3P/qB3PP1/6K1 w - - bm Rd8; id "IQ.1082";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "IQ.1083";
+5r1k/pb2r1bp/1p2B1p1/n7/4qNQ1/4B3/P4PPP/2RR2K1 w - - bm Rd4; id "IQ.1084";
+k1n1r3/p2R2bb/2p2qpp/4pp2/2P5/2B1Q1P1/PP3PBP/6K1 w - - bm Qc5 Bxe5; id "IQ.1085";
+rr4k1/3nbp1p/p3p1p1/q2pPPP1/bp1B3R/1B2Q3/PPP4P/2K3R1 w - - bm fxe6; id "IQ.1086";
+7k/p2rq2p/1p3R1P/2p5/2P2P1Q/8/6PK/8 w - - bm Qe1; id "IQ.1087";
+7k/p2rq2p/1p3R1P/2p5/2P2P1Q/8/6PK/8 w - - bm Qe1; id "IQ.1088";
+b1R2nk1/5ppp/1p3n2/5N2/1b2p3/1P2BP2/q3BQPP/6K1 w - - bm Bc5; id "IQ.1089";
+6k1/1p3ppp/1PbNp3/3rP1q1/2Q5/8/5PPP/1R4K1 w - - bm Qxc6; id "IQ.1090";
+6k1/1p3ppp/1PbNp3/3rP1q1/2Q5/8/5PPP/1R4K1 w - - bm Qxc6; id "IQ.1091";
+3r2k1/pqrP1p1p/6p1/1p6/n2Qp3/B1P1P3/P5PP/3R1RK1 w - - bm Qf6 Bf8; id "IQ.1092";
+4rrk1/4Qppp/p2P1n2/1p6/3p4/PB6/1PP3Pq/1K1RR3 w - - bm Bxf7+; id "IQ.1093";
+4rrk1/4Qppp/p2P1n2/1p6/3p4/PB6/1PP3Pq/1K1RR3 w - - bm Bxf7+; id "IQ.1094";
+4rrk1/4Qppp/p2P1n2/1p6/3p4/PB6/1PP3Pq/1K1RR3 w - - bm Bxf7+; id "IQ.1095";
+2b1r1k1/1r1n1pp1/q2p3p/1p1P4/1P1N1RPP/2Q1P3/5PBK/2R5 w - - bm Qxc8; id "IQ.1096";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6 Kg2; id "IQ.1097";
+b1n1r1k1/2q2p1p/p4Pp1/1pBP4/4B1P1/2P1Q3/P4K1P/4R3 w - - bm Qh6 Kg2; id "IQ.1098";
+4r1k1/p4ppp/1p2q3/n2R4/2r1p3/Pn2B1P1/1Q2PPBP/3R2K1 w - - bm Re5; id "IQ.1099";
+rnb3k1/6pp/p4q2/3p1N2/1p3Q2/1P6/1PP3PP/5R1K w - - bm Nh6+; id "IQ.1100";
+r1b2r1k/2q2pp1/2pb3p/p1n1NB2/1pP5/1P5P/PBQ2PP1/3RR1K1 w - - bm Rxd6; id "IQ.1101";
+r1b2r1k/2q2pp1/2pb3p/p1n1NB2/1pP5/1P5P/PBQ2PP1/3RR1K1 w - - bm Rxd6; id "IQ.1102";
+2k1r2r/2p2pb1/1pN4p/1P2P1p1/R1N5/2n5/5PPP/3R2K1 w - - bm Ra8+; id "IQ.1103";
+2k1r2r/2p2pb1/1pN4p/1P2P1p1/R1N5/2n5/5PPP/3R2K1 w - - bm Ra8+; id "IQ.1104";
+2k1r2r/2p2pb1/1pN4p/1P2P1p1/R1N5/2n5/5PPP/3R2K1 w - - bm Ra8+; id "IQ.1105";
+1q4r1/3Q1Npk/p6p/1p5N/8/7P/Pn3PP1/6K1 w - - bm Qf5+; id "IQ.1106";
+1q4r1/3Q1Npk/p6p/1p5N/8/7P/Pn3PP1/6K1 w - - bm Qf5+; id "IQ.1107";
+r1q1r1k1/p1n1R1bp/1pp2pp1/5b2/2P2P1Q/P4NN1/1P1B2PP/2KR4 w - - bm Nxf5; id "IQ.1108";
+r1q1r1k1/p1n1R1bp/1pp2pp1/5b2/2P2P1Q/P4NN1/1P1B2PP/2KR4 w - - bm Nxf5; id "IQ.1109";
+2r1k2r/1p2pp1p/2bp1p1b/p1qN4/4P3/6Q1/PPPR1PPP/1K3B1R w k - bm Qh3; id "IQ.1110";
+2r1k2r/1p2pp1p/2bp1p1b/p1qN4/4P3/6Q1/PPPR1PPP/1K3B1R w k - bm Qh3; id "IQ.1111";
+r1br2k1/1pq2ppp/p3pP2/8/1n3PP1/1NpB4/PPP2Q1P/2KR2R1 w - - bm Bxh7+; id "IQ.1112";
+5k2/1pp2b1p/2p5/r3PPR1/pr6/2N5/1PP4P/2KR4 w - - bm f6; id "IQ.1113";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "IQ.1114";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "IQ.1115";
+r1b5/p2k1r1p/3P2pP/1ppR4/2P2p2/2P5/P1B4P/4R1K1 w - - bm Bxg6; id "IQ.1116";
+8/8/pp1pPkpp/3P4/2P1K1P1/8/P7/8 w - - bm g5+; id "IQ.1117";
+8/8/pp1pPkpp/3P4/2P1K1P1/8/P7/8 w - - bm g5+; id "IQ.1118";
+8/8/pp1pPkpp/3P4/2P1K1P1/8/P7/8 w - - bm g5+; id "IQ.1119";
+8/8/pp1pPkpp/3P4/2P1K1P1/8/P7/8 w - - bm g5+; id "IQ.1120";
+8/8/pp1pPkpp/3P4/2P1K1P1/8/P7/8 w - - bm g5+; id "IQ.1121";
+6k1/p4pp1/Pp2r3/1QPq3p/8/6P1/2P2P1P/1R4K1 w - - bm cxb6; id "IQ.1122";
+5b2/pr4pk/4P1Rp/1pppBPP1/8/1P2P3/P6K/8 w - - bm Rxh6+ gxh6; id "IQ.1123";
+5b2/pr4pk/4P1Rp/1pppBPP1/8/1P2P3/P6K/8 w - - bm Rxh6+ gxh6; id "IQ.1124";
+8/kp6/4R3/1P2K3/8/3pp3/8/8 w - - bm Kd6; id "IQ.1125";
+5rk1/2rnqp1p/b3p1pP/2ppP3/1p3QN1/pP1P1BP1/P1P2P2/R3R1K1 w - - bm Bxd5; id "IQ.1126";
+5r1k/p5bp/1p6/4P3/P2B4/3n2PB/1PR4K/8 w - - bm e6; id "IQ.1127";
+4R3/5Bq1/7p/5p2/1n3k1B/7P/6PK/8 w - - bm g3+; id "IQ.1128";
+8/8/8/P2k1p2/2N5/1pb2P2/4P3/2K5 w - - bm a6; id "IQ.1129";
+1r1q1rk1/Nb1n1pbp/p5p1/3P4/PPB2p2/4B3/6PP/2RQ1RK1 w - - bm Nc6; id "IQ.1130";
+b2rr1k1/P3pp2/3p2p1/1Q1Pb2p/2P4P/1R2B1P1/4qPBK/1R6 w - - bm Qxe8+; id "IQ.1131";
+8/5pk1/3P2p1/pQ6/P2p4/5pP1/3rqP1P/5RK1 w - - bm d7; id "IQ.1132";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1133";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1134";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1135";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1136";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1137";
+3n4/8/1P6/4k2P/n2p4/4pB2/1B6/3K4 w - - bm Bxd4+; id "IQ.1138";
+8/5p1p/1n2p2P/1k1pPpP1/3K4/4N3/2P5/8 w - - bm Nxf5; id "IQ.1139";
+8/1p1b4/4p1k1/1PPp4/P4P1p/4n1p1/8/4BBK1 w - - bm a5; id "IQ.1140";
+8/1p1b4/4p1k1/1PPp4/P4P1p/4n1p1/8/4BBK1 w - - bm a5; id "IQ.1141";
+2q1n1kr/6b1/1r1p2B1/2p2pP1/2P1bP1N/1P1QB2P/6RK/1R6 w - - bm Qxe4; id "IQ.1142";
+5brk/2q2p1p/p3pP1B/4Pp2/8/1P1R1Q1K/P6P/8 w - - bm Bxf8; id "IQ.1143";
+1q4rk/6r1/2RP3p/1NR3p1/p3Qn2/P6P/6P1/6K1 w - - bm d7; id "IQ.1144";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1145";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1146";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1147";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1148";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1149";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1150";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1151";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1152";
+r3k2r/1nqb1pp1/p3p3/1p1pP1P1/3R1P2/2N2Q2/PPP3B1/2KR4 w kq - bm Nxd5; id "IQ.1153";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1154";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1155";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1156";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1157";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1158";
+8/1b6/p2k2P1/2Rp1B2/PKp5/2P5/6r1/8 w - - bm Bc8; id "IQ.1159";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1160";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1163";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1164";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1165";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1166";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1168";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1169";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1170";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1171";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1172";
+k5r1/p5Qp/8/3q4/8/8/P4NPP/1R4K1 w - - bm Rb5; id "IQ.1173";
+3r2k1/pp2qppp/4bn2/4p3/4P3/P1Nr4/1PQN1PPP/R4RK1 w - - am Nd5; id "IQ.1175";
+3r2k1/pp2qppp/4bn2/4p3/4P3/P1Nr4/1PQN1PPP/R4RK1 w - - am Nd5; id "IQ.1178";
+r2q1rk1/3nbppp/p1bpp3/6PQ/1p1BP3/1BN5/PPP2P1P/2KR2R1 w - - bm Rd3; id "IQ.1179";
+r3r1k1/1pq2pp1/p2pbb1p/P3n3/3NP3/2N5/1PP1B1PP/R2Q1R1K w - - bm Rxf6; id "IQ.1180";
+r3r1k1/1pq2pp1/p2pbb1p/P3n3/3NP3/2N5/1PP1B1PP/R2Q1R1K w - - bm Rxf6; id "IQ.1181";
+1rb1r1k1/3n1ppp/p1p1p3/q3P3/7P/2N1Q1R1/PPP3P1/2KR1B2 w - - bm Rxd7; id "IQ.1182";
+r2q1rk1/pp1n1p1p/2p2np1/4bQB1/3pNP2/1B5P/PP4P1/R3R1K1 w - - bm Qxe5; id "IQ.1183";
+2rnr2k/2qbp3/pp1p2p1/3P1p1p/1PPN1P2/5B1P/P2Q2P1/2R1R1K1 w - - bm Bxh5; id "IQ.1184";
+2r1r3/3qppkp/pp1p2p1/3PnP2/2PN4/1P5P/P2Q2P1/4RRK1 w - - bm Rxe5; id "IQ.1185";
+1n2rk2/1qr1pp2/pp1p1npp/3P4/1PPN1P2/P2QR1P1/7P/4RBK1 w - - bm Ne6+; id "IQ.1186";
+1r1r1n2/5pkp/4pNp1/2PpP1P1/p1bP1PP1/1qB1K3/p2Q4/3R3R w - - bm f5; id "IQ.1187";
+1r1r1n2/5pkp/4pNp1/2PpP1P1/p1bP1PP1/1qB1K3/p2Q4/3R3R w - - bm f5; id "IQ.1188";
+3r2k1/3rppb1/p1R1b1p1/qp1NP3/8/1P2QB2/P5PP/5RK1 w - - bm Rxe6; id "IQ.1190";
+r2qnrk1/pp2ppb1/3p3B/2p5/7Q/1PNP3b/1PP3PP/R4RK1 w - - bm Ne4; id "IQ.1191";
+r4bk1/pbq2pp1/1pn1p2p/8/4N3/1P2P1P1/PB2QPBP/3R2K1 w - - bm Nf6+; id "IQ.1192";
+r4bk1/pbq2pp1/1pn1p2p/8/4N3/1P2P1P1/PB2QPBP/3R2K1 w - - bm Nf6+; id "IQ.1194";
+rq2r1k1/pp2RNp1/1bp2n1p/8/1Q6/7P/PPB2PP1/5RK1 w - - bm Nxh6+; id "IQ.1195";
+r4rk1/p1p2pp1/1bp1b2p/3q2B1/Pn1PN3/5N2/1P1Q1PPP/R3R1K1 w - - bm Bxh6 Be7; id "IQ.1196";
+r4rk1/p1p2pp1/1bp1b2p/3q2B1/Pn1PN3/5N2/1P1Q1PPP/R3R1K1 w - - bm Bxh6 Be7; id "IQ.1197";
+r1b2rk1/2q1bppp/p2pp3/2n3PQ/1p1BP3/1BN5/PPP2P1P/2KR2R1 w - - bm Bf6; id "IQ.1198";
+r3k2r/1bqnBppp/p3p3/1p2P3/3N2Q1/3B4/PPP3PP/2KnR3 w kq - bm Nxe6; id "IQ.1199";
+r1bqkn1r/p3bpp1/1p2pn1p/2pPN1B1/2P5/3B2N1/PP3PPP/R2QR1K1 w kq - bm Nf5 Nh5 dxe6; id "IQ.1200";
+r3kb1r/2q2ppp/pn2p3/4P3/pPPN4/P3BQ2/6PP/R4RK1 w kq - bm Nxe6 Rf2 Rad1; id "IQ.1201";
+r4k1r/pp3pb1/2p3p1/3nNb1q/7p/1BB1Q2P/PP3PP1/3RR1K1 w - - bm Rxd5 Bxd5 Qc5+; id "IQ.1202";
+4k1r1/1q1r1p2/4pQp1/3pP1B1/2p3P1/1nP2BP1/1P5K/3R4 w - - bm Bxd5; id "IQ.1203";
+4k1r1/1q1r1p2/4pQp1/3pP1B1/2p3P1/1nP2BP1/1P5K/3R4 w - - bm Bxd5; id "IQ.1204";
+2b2k1r/5ppp/1b6/q1p1PP2/3Np1Q1/1PP5/6PP/1N3RK1 w - - bm Ne6+; id "IQ.1205";
+1r5r/p2bbk1p/4pnp1/q1ppQ1B1/7P/2N3P1/PPP2PB1/1K1R3R w - - bm Nxd5; id "IQ.1206";
+r2qk2r/1b1n1p2/p6n/1pp1p1Np/4P2P/2QBNP2/PPP5/2KR2R1 w kq - bm Bxb5 Bc4 Bf1; id "IQ.1210";
+rn1qk2r/pbp2p2/1p3ppb/7p/2BP1N1P/2N1P3/PP3PP1/R2QK2R w KQkq - bm Bxf7+; id "IQ.1211";
+r1b2k1r/p2n1pp1/1q2p3/2ppP1B1/1b1N1Q1P/2N5/PPP2P2/R3K1R1 w Q - bm Bd8; id "IQ.1212";
+r4b1r/pp3kpp/1qp1Rn2/8/8/5Q1P/PPPB1PP1/2KR4 w - - bm Rxf6+; id "IQ.1213";
+7r/1Qrk1pbp/p2pp1p1/6P1/5PB1/1P6/q1P4P/2KR2BR w - - bm Rxd6+; id "IQ.1214";
+r3k2r/2pb1npp/ppp5/2q1p3/2N1P3/1QP2N1P/PP3PP1/R2R2K1 w kq - bm Rxd7 Qb4; id "IQ.1215";
+r3kb1r/pp3p1p/4pp2/q2pN3/2P5/8/PP3PPP/R2QR1K1 w kq - bm Nxf7; id "IQ.1216";
+r3kbnr/p4p2/1p2p2p/3qP1p1/3Nn1QB/8/PP2NPPP/R4RK1 w kq - bm Nxe6; id "IQ.1217";
+r1b1k1nr/2R1b1pp/1p2pp2/1N2p3/q3P3/3Q1N2/PP3PPP/3R2K1 w kq - bm b3 Nd6+; id "IQ.1218";
+r1b1k1nr/2R1b1pp/1p2pp2/1N2p3/q3P3/3Q1N2/PP3PPP/3R2K1 w kq - bm b3 Nd6+; id "IQ.1219";
+r1b1k1nr/2R1b1pp/1p2pp2/1N2p3/q3P3/3Q1N2/PP3PPP/3R2K1 w kq - bm b3 Nd6+; id "IQ.1221";
+r1bqr1k1/1p1nbppp/p1n1p3/3pP2Q/3N1P2/1BN1B3/PPP3PP/R4RK1 w - - bm Nxd5; id "IQ.1222";
+2r1r1k1/5ppp/pq3b2/2pB1P2/2p2B2/5Q1P/Pn3PP1/2R1R1K1 w - - bm Bxf7+; id "IQ.1223";
+rn1q1rk1/1b2bppp/p3p3/1pn1P2Q/3N4/1BN1B3/PPP3PP/R4RK1 w - - bm Rxf7; id "IQ.1224";
+2r1r3/pbq1bpk1/1pn3p1/6Bp/4Q3/PB3N2/1P3PPP/R3R1K1 w - - bm Bxf7; id "IQ.1225";
+2rq1rk1/1b3pb1/5np1/1pn1p1Np/4P2Q/2N1B3/BPP3PP/R4R1K w - - bm Nxf7; id "IQ.1226";
+4r3/p2qppkp/3p2b1/1p1N4/2r1P1RQ/2P4P/PP4P1/5RK1 w - - bm Rxg6+; id "IQ.1227";
+4r3/p2qppkp/3p2b1/1p1N4/2r1P1RQ/2P4P/PP4P1/5RK1 w - - bm Rxg6+; id "IQ.1228";
+4r3/p2qppkp/3p2b1/1p1N4/2r1P1RQ/2P4P/PP4P1/5RK1 w - - bm Rxg6+; id "IQ.1229";
+r5k1/1p3p1p/p1pqrPp1/3bN3/8/P1P3Q1/1P4PP/4RRK1 w - - bm Nxf7; id "IQ.1231";
+rnb2rk1/pp3p1p/3q2pQ/3pN3/2pP4/2PB4/P1P2PPP/4RRK1 w - - bm Nxf7; id "IQ.1232";
+r2r1bk1/1ppq2pp/2p2B2/p1n2N1b/P3P1R1/3PN3/2P3PP/R2Q2K1 w - - bm Ne7+; id "IQ.1233";
+r2r1bk1/1ppq2pp/2p2B2/p1n2N1b/P3P1R1/3PN3/2P3PP/R2Q2K1 w - - bm Ne7+; id "IQ.1234";
+r4rk1/pp2bpp1/1qp1b2p/4B2Q/n7/3B4/PPP2PPP/3RR1K1 w - - bm Bxg7; id "IQ.1236";
+r4rk1/pp2bpp1/1qp1b2p/4B2Q/n7/3B4/PPP2PPP/3RR1K1 w - - bm Bxg7; id "IQ.1237";
+5Q2/pp1b2pk/1n1p2rp/2pP1p2/2P2P2/q1BB4/6PP/4R1K1 w - - bm Bxg7; id "IQ.1238";
+5Q2/pp1b2pk/1n1p2rp/2pP1p2/2P2P2/q1BB4/6PP/4R1K1 w - - bm Bxg7; id "IQ.1239";
+1nb2r1k/2r1qppp/p3p2n/1p1BP3/3N1Q2/2N5/PPP4P/2KR2R1 w - - bm Rxg7; id "IQ.1240";
+1nb2r1k/2r1qppp/p3p2n/1p1BP3/3N1Q2/2N5/PPP4P/2KR2R1 w - - bm Rxg7; id "IQ.1241";
+1nb2r1k/2r1qppp/p3p2n/1p1BP3/3N1Q2/2N5/PPP4P/2KR2R1 w - - bm Rxg7; id "IQ.1242";
+1nb2r1k/2r1qppp/p3p2n/1p1BP3/3N1Q2/2N5/PPP4P/2KR2R1 w - - bm Rxg7; id "IQ.1243";
+r1b2k1r/1p4pp/p4B2/2bpN3/8/q2n4/P1P2PPP/1R1QR1K1 w - - bm Bxg7+ Qh5; id "IQ.1244";
+1r3r1k/1b2bppp/p1qp4/5PP1/1p1B3Q/1PN2R2/1PP4P/5RK1 w - - bm Bxg7+; id "IQ.1245";
+r2b1rk1/2q2ppp/p3b3/1pn1pNB1/4Pn1Q/P1NB4/1PP3PP/R4R1K w - - bm Nxg7; id "IQ.1246";
+6k1/5rpp/8/2Np4/1Pn3R1/4Q2P/q2r1PP1/5RK1 w - - bm Qe8+; id "IQ.1247";
+r4rk1/1bpq1ppp/3p1b2/2nP1N2/8/1p3Q1P/PPB2PP1/R1B1R1K1 w - - bm Nxg7; id "IQ.1248";
+r2q1rk1/pp1b1Rp1/4p2p/4PnNQ/2pP4/2P1B3/P5PP/5RK1 w - - bm R1xf5; id "IQ.1249";
+r4r1k/pbq2pp1/1p2p2p/4P3/2pP3Q/P1P3RP/R4P1P/1B4K1 w - - bm Rxg7; id "IQ.1250";
+2r2bk1/1bq1rppp/pp1p4/4n1P1/Pn1BP1N1/2N3Q1/1PP2RBP/5RK1 w - - bm Bxe5; id "IQ.1251";
+r1b2rk1/pppn2bp/3p1qp1/3p2N1/3P4/3BB3/PPP2PPP/R2QR1K1 w - - bm Nxh7; id "IQ.1252";
+rnb3kr/1p1nqppp/p3p3/2ppP3/3P1N2/2NB1Q2/PPP2PP1/R3K2R w KQ - bm Bxh7+; id "IQ.1253";
+r1qr2k1/p3bppp/b1p5/3nN3/NP1P4/P3B3/5PPP/1B1QR1K1 w - - bm Bxh7+; id "IQ.1254";
+3r1rk1/1bq1bp1p/p3p1p1/3pP3/3N1P2/2PBB2R/n1P1Q1PP/5RK1 w - - bm Rxh7; id "IQ.1255";
+r1qb1rk1/5ppp/p1n5/1ppNP1P1/2p2P1P/P4Q2/1P6/1B1R1RK1 w - - bm Bxh7+; id "IQ.1256";
+2r1r1k1/pbq2ppp/1p2pn2/2b1N3/2P5/2B5/PPB1QPPP/3RR1K1 w - - bm Bxh7+; id "IQ.1257";
+1q1r2k1/pb2b1pp/1p3p2/3P4/1n1QB3/5N2/PB3PPP/2R4K w - - bm Bxh7+; id "IQ.1258";
+1q1r2k1/pb2b1pp/1p3p2/3P4/1n1QB3/5N2/PB3PPP/2R4K w - - bm Bxh7+; id "IQ.1259";
+2r5/3nr1pk/p2qpp1p/1p5Q/3P1PN1/2P3RP/P5PK/4R3 w - - bm Nxh6; id "IQ.1260";
+r1q2r1k/p1ppb1p1/1p2p1Qp/3n3P/3PN3/2P1B3/PP3PP1/3R1RK1 w - - bm Bxh6; id "IQ.1261";
+r2qrn2/1p2nbkp/2p1pp2/p7/3PP1BN/2N4R/PP1Q1P2/2KR4 w - - bm Qh6+; id "IQ.1262";
+r4rk1/pp2qpp1/2p1bn1p/8/1bP4Q/5N1P/PPB2PP1/R1BR2K1 w - - bm Bxh6; id "IQ.1263";
+2r5/1p4bk/3p2rp/4pN2/1P2P1pR/2P2q2/QP6/1K5R w - - bm Rxh6+; id "IQ.1264";
+2r2rk1/1bq1bpp1/pn2p2p/1pn3P1/3NNP1Q/P6R/1PP3BP/R1B4K w - - bm Nf6+; id "IQ.1265";
+4rb2/1p1q1ppk/p1n1p2p/2p1Pn2/3PNR2/2P2K2/P2QBP2/6R1 w - - bm Rxf5; id "IQ.1266";
+r6r/pb1R1pk1/1p2p1pp/3nP3/4N2Q/4B3/P3qPPP/3R2K1 w - - bm Bxh6+; id "IQ.1267";
+rq1n1bk1/3b1pp1/3p3p/pppP3N/8/1P4PP/PBPQ1PB1/4R1K1 w - - bm Qxh6; id "IQ.1268";
+2rq1rk1/pp3pp1/4pb1p/3bN3/3P4/PnPB3R/2Q2PPP/R1B3K1 w - - bm Bh7+; id "IQ.1269";
+2r2rk1/p1n3pp/1p2p3/1q1pQP2/3Pn3/6N1/PP4PP/R1B2RK1 w - - bm Bh6; id "IQ.1270";
+4rr1k/pp4b1/4P2p/5p1R/3q4/3B2P1/PP1R4/1K5Q w - - bm Rxh6+; id "IQ.1271";
+1r2b3/pp1rqppk/3b3p/3Bp2Q/4P1N1/5R1P/PP3PP1/3R2K1 w - - bm Rf6; id "IQ.1272";
+r2qr3/2p1b1pk/p5pp/1p2p3/nP2P1P1/1BP2RP1/P3QPK1/R1B5 w - - bm Bxh6; id "IQ.1273";
+r2q1rk1/3nbpp1/4p2p/p1p1P3/1p1P3P/3B1b1R/PPQB1PP1/R3K3 w - - bm Bxh6; id "IQ.1274";
+r1r1n3/5p1k/1n1P2pp/ppq1pN2/2p1P3/1PP1R2P/P1B2QPK/5R2 w - - bm Nxh6; id "IQ.1275";
+r1n1nrk1/p4p1p/1q4pQ/2p1pN2/1pB1P1P1/5P2/PPP4P/1K1R3R w - - bm Rd6 Rhg1; id "IQ.1276";
+r3r3/2qn1Qbk/b2p2pp/1npP4/1p6/3NB1NP/1P1R2P1/1B2R1K1 w - - bm Qxg6+; id "IQ.1277";
+1b4k1/1pnq1r1p/4p1p1/1pPpP2Q/1P5B/3BPP2/7P/6RK w - - bm Bxg6; id "IQ.1278";
+2r2rn1/p3q1bk/n2p2pp/1b1PPp2/1pp2P1N/1P2N1P1/P1QB2BP/4RRK1 w - - bm Nxg6; id "IQ.1279";
+r2q1r1k/p3pn1p/3p2pQ/1ppP1p1n/4P3/2N2P2/PPP1BP2/2K3RR w - - bm Qxg6; id "IQ.1280";
+4Q3/p4pk1/2p3p1/8/3P1N2/4PBR1/q4P1K/r3r3 w - - bm Rxg6+ Qe5+; id "IQ.1281";
+2r1r1k1/4qpb1/p2p2p1/1p1Pn1P1/3BB3/P1P5/1P4Q1/1K2R2R w - - bm Bxg6 Qh2 Qh3; id "IQ.1282";
+2r1r1k1/4qpb1/p2p2p1/1p1Pn1P1/3BB3/P1P5/1P4Q1/1K2R2R w - - bm Bxg6 Qh2 Qh3; id "IQ.1283";
+5r2/1pr1ppk1/1n1q2p1/p2P3p/5R2/1BP1RQ2/5PP1/6K1 w - - bm Re6; id "IQ.1284";
+4rbk1/n2n3p/b1q1p1p1/1p1pP1B1/1PrP1N2/1R3NP1/3Q1PB1/R5K1 w - - bm Nxg6 Bf1; id "IQ.1285";
+4rbk1/n2n3p/b1q1p1p1/1p1pP1B1/1PrP1N2/1R3NP1/3Q1PB1/R5K1 w - - bm Nxg6 Bf1; id "IQ.1286";
+r3r1k1/bpp1q1pp/p3bp2/2p4Q/4N3/1P2PP2/PB3P1P/R2R3K w - - bm Nxf6+ Rg1; id "IQ.1287";
+r3r1k1/bpp1q1pp/p3bp2/2p4Q/4N3/1P2PP2/PB3P1P/R2R3K w - - bm Nxf6+ Rg1; id "IQ.1288";
+r3r1k1/bpp1q1pp/p3bp2/2p4Q/4N3/1P2PP2/PB3P1P/R2R3K w - - bm Nxf6+ Rg1; id "IQ.1289";
+r3r1k1/bpp1q1pp/p3bp2/2p4Q/4N3/1P2PP2/PB3P1P/R2R3K w - - bm Nxf6+ Rg1; id "IQ.1290";
diff --git a/tests/quick.epd b/tests/quick.epd
new file mode 100644
index 0000000..fb9eee2
--- /dev/null
+++ b/tests/quick.epd
@@ -0,0 +1,24 @@
+1n1r1rk1/ppq2ppp/3p2b1/3B1NP1/4PB1R/bP2P2P/P1P5/3KQ1R1 w - - bm Qc3; id "Quick-01";
+1n1r1rk1/ppq2ppp/3p2b1/3B1NP1/4PB1R/bP2P2P/P1P5/3KQ1R1 w - - bm Qc3; id "Quick-02";
+3Q4/3p4/P2p4/N2b4/8/4P3/5p1p/5Kbk w - - bm Qa8; id "Quick-03";
+4qrk1/3nppb1/R1Np2p1/3P2P1/1Pr5/4B3/5Q1P/5R1K w - - bm Ra8; id "Quick-04";
+r3r3/2R2pk1/p2p1bpp/3P4/q2pQ3/5N1P/5PP1/1R4K1 w - - bm Rxf7+; id "Quick-05";
+r3r3/2R2pk1/p2p1bpp/3P4/q2pQ3/5N1P/5PP1/1R4K1 w - - bm Rxf7+; id "Quick-06";
+r5k1/Rb4p1/2q2pBp/1pp5/1b4QN/1P2P2P/5PP1/6K1 w - - bm Rxb7; id "Quick-07";
+3R4/5r1p/5ppk/8/1Q3PPq/5P2/6K1/8 w - - bm Rg8; id "Quick-08";
+2kr3r/ppp3pp/2pbbn2/4N3/3Pp3/2P3Pq/PP1NQP1P/R1B2RK1 w - - am Nxe4; id "Quick-09";
+2r3k1/pp1bpp1p/3p1npQ/q1r5/4P1P1/2NR1P2/PPP1N3/2K4R w - - bm g5; id "Quick-10";
+r1b2rk1/pp3p2/2p2bpQ/8/1q1P4/2N2N2/Pn3PPP/1B1RR1K1 w - - bm Bxg6; id "Quick-11";
+r2qk2r/1p1bbp2/1P2p3/p2pPp2/n2N1N1p/3PB3/5QPP/R4RK1 w kq - bm Rxa4; id "Quick-12";
+3r1n1r/1p2q1k1/p1p1P1p1/3n4/5Pp1/P5N1/1P3QP1/1BR1R1K1 w - - bm Bxg6; id "Quick-13";
+r2q1rk1/p1p3pp/b2bp3/2pp4/6p1/2NPPN2/PPP2PP1/R1BQR1K1 w - - bm Ne5; id "Quick-14";
+r2q1rk1/p1p3pp/b2bp3/2pp4/6p1/2NPPN2/PPP2PP1/R1BQR1K1 w - - bm Ne5; id "Quick-15";
+3k4/p7/K3BP2/8/7p/8/2P4P/8 w - - bm Kb7; id "Quick-16";
+rq4k1/pp1nrppp/4bn2/6R1/3QP3/P4PN1/4B1PP/2B2RK1 w - - bm Rxg7+; id "Quick-17";
+2r4k/pb2q2P/1p6/3Pp3/4p3/1P2R3/PBrQ2PP/5RK1 w - - bm Qb4; id "Quick-18";
+2r4k/pb2q2P/1p6/3Pp3/4p3/1P2R3/PBrQ2PP/5RK1 w - - bm Qb4; id "Quick-19";
+2r4k/pb2q2P/1p6/3Pp3/4p3/1P2R3/PBrQ2PP/5RK1 w - - bm Qb4; id "Quick-20";
+r1b1kb1r/2q2ppp/p2ppP2/1pn3P1/3NP3/2N2Q2/PPP4P/2KR1B1R w kq - bm Bxb5+; id "Quick-21";
+r1b1kb1r/2q2ppp/p2ppP2/1pn3P1/3NP3/2N2Q2/PPP4P/2KR1B1R w kq - bm Bxb5+; id "Quick-22";
+r1b1kb1r/2q2ppp/p2ppP2/1pn3P1/3NP3/2N2Q2/PPP4P/2KR1B1R w kq - bm Bxb5+; id "Quick-23";
+3B4/1R3p1k/2p4p/2Pp3r/3P4/4Q1K1/6P1/3b1q2 w - - bm Bf6; id "Quick-24";
diff --git a/tests/swiss.epd b/tests/swiss.epd
new file mode 100644
index 0000000..36bf03f
--- /dev/null
+++ b/tests/swiss.epd
@@ -0,0 +1,60 @@
+r2qr1k1/pp3pbp/2n3p1/1N1p4/2P2Pb1/5N2/PP1QBPPP/2KR3R w - - am cxd5; id "ST3_05 - Koenigssicherheit";
+r2qr1k1/pp3pbp/2n3p1/1N1p4/2P2Pb1/5N2/PP1QBPPP/2KR3R w - - am cxd5; id "ST3_06 - Koenigssicherheit";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_07 - Koenigssicherheit";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_08 - Koenigssicherheit";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_09 - Koenigssicherheit";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_10 - Trojaner";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_11 - Trojaner";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_12 - Vergifteter Bauer";
+2kr1nr1/pbp1qp2/1p2pn1p/8/3Pp2Q/P1P3N1/2PBBPPP/R3K2R w KQ - am O-O; id "ST3_13 - Vergifteter Bauer";
+3r1rk1/4bppp/p1pq1n2/3p1P2/4p2B/2N5/PPP1QPPP/R3R1K1 w - - am Qxa6; id "ST3_14 - Vergifteter Bauer";
+r2q1r1k/1p2b1pp/p3Bn2/3N4/P2pP3/4p3/1PP3PP/R2Q1RK1 w - - am Qxd4; id "ST3_15 - Vergifteter Bauer";
+r2q1r1k/1p2b1pp/p3Bn2/3N4/P2pP3/4p3/1PP3PP/R2Q1RK1 w - - am Qxd4; id "ST3_16 - Vergifteter Bauer";
+r2q1r1k/1p2b1pp/p3Bn2/3N4/P2pP3/4p3/1PP3PP/R2Q1RK1 w - - am Qxd4; id "ST3_17 - Vergifteter Bauer";
+r2q1r1k/1p2b1pp/p3Bn2/3N4/P2pP3/4p3/1PP3PP/R2Q1RK1 w - - am Qxd4; id "ST3_18 - Vergifteter Bauer";
+r1bq1rk1/ppp1n1bp/3p4/3Ppnp1/2P1N3/1Q4BP/PP1NBPP1/R3K2R w KQ - am Nxg5; id "ST3_19 - Vergifteter Bauer";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_20 - Dame vs Tuerme";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_21 - Dame vs Tuerme";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_22 - Laeuferopfer";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_23 - Laeuferopfer";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_24 - Springeropfer";
+rn2r1k1/p1pq2pp/bp2p3/5p2/2PPQ3/B1PB4/P4PPP/R3K2R w KQ f6 am Qxa8; id "ST3_25 - Springeropfer";
+r5k1/1qr1bpp1/3pb1n1/4p1Pp/Np2P2P/1P1B1P2/P1P1Q3/BK1R3R w - - am Qe3; id "ST3_26 - Qualitaetsopfer";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_27 - Qualitaetsopfer";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_28 - Qualitaetsopfer";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_29 - Verteidigung";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_30 - Verteidigung";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_31 - Verteidigung";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_32 - Verteidigung";
+rn2kb1r/pp3p1p/2p2np1/3p1b2/3q1B2/1QN5/PP1NPPPP/R3KB1R w KQkq - am Qxb7; id "ST3_33 - Verteidigung";
+2r1qrk1/p3b1pp/4b3/1pP5/PQpP1p2/4B3/4BPPP/R4RK1 w - - am Bd2; id "ST3_34 - Verteidigung";
+1r5r/4qp1k/pn2p1b1/4P3/P4Q2/1R5P/1P2NPP1/3R2K1 w - - am Nd4 Qg4; id "ST3_35 - Verteidigung";
+r1bqkb1r/ppp2p1p/2n3p1/3np1NQ/2B5/8/PPPP1PPP/RNB1K2R w KQkq - am Qf3; id "ST3_36 - Verteidigung";
+N4bk1/5pp1/6qp/2n5/6b1/6P1/PP3KBP/2R1Q3 w - - am Qe3; id "ST3_37 - Verteidigung";
+4rrk1/q6p/8/p2P1p2/2PbB3/8/PPQ2N1P/5RK1 w - - am Bd3; id "ST3_38 - Verteidigung";
+2kr1b1r/pp1b3p/1qn1pp2/3p3n/2pPP1p1/2P2NB1/PPBN1PPP/RQ2K2R w KQ - am Nh4; id "ST3_39 - Verteidigung";
+3r1rk1/2q3p1/8/1p1bp3/8/PP4P1/4Q2P/R1B1R1K1 w - - am Bg5; id "ST3_40 - Verteidigung";
+1r2r1k1/Nb1n1ppp/4q3/8/2p1n3/P4Q2/BB3PPP/1R1R2K1 w - - am Nb5; id "ST3_41 - Verteidigung";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_42 - Verteidigung";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_43 - Verteidigung";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_44 - Endspiel B vs B";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_45 - Endspiel B vs B";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_46 - Endspiel B vs S";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_47 - Endspiel D vs D";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_48 - Endspiel D vs D";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_49 - Endspiel D&T vs D&T";
+r2qr1k1/pp3pp1/5n1p/2pPn3/2b5/1QP1B1PP/P3NPB1/R3R1K1 w - - am Qa3; id "ST3_50 - Endspiel L vs B";
+8/8/2p1K1p1/2k5/p7/P4BpP/1Pb3P1/8 w - - am Kd7; id "ST3_51 - Endspiel L vs L";
+8/8/2p1K1p1/2k5/p7/P4BpP/1Pb3P1/8 w - - am Kd7; id "ST3_52 - Endspiel L vs L";
+8/8/2p1K1p1/2k5/p7/P4BpP/1Pb3P1/8 w - - am Kd7; id "ST3_53 - Endspiel L vs L";
+6k1/4b3/4p1p1/8/6pP/4PN2/5K2/8 w - - am Ng5; id "ST3_54 - Endspiel S vs L";
+6k1/4b3/4p1p1/8/6pP/4PN2/5K2/8 w - - am Ng5; id "ST3_55 - Endspiel S&B vs L&S";
+6k1/4b3/4p1p1/8/6pP/4PN2/5K2/8 w - - am Ng5; id "ST3_56 - Endspiel T vs T";
+8/4k3/1R6/5p1p/3K1Pp1/P5r1/1P6/8 w - - am Rh6; id "ST3_57 - Endspiel T vs T";
+8/4k3/1R6/5p1p/3K1Pp1/P5r1/1P6/8 w - - am Rh6; id "ST3_58 - Endspiel T vs T";
+8/4k3/1R6/5p1p/3K1Pp1/P5r1/1P6/8 w - - am Rh6; id "ST3_59 - Endspiel T vs T";
+2r5/1R3PK1/p7/7p/8/1pk4P/8/8 w - - am f8=Q; id "ST3_60 - Endspiel T vs T";
+2r5/1R3PK1/p7/7p/8/1pk4P/8/8 w - - am f8=Q; id "ST3_61 - Endspiel T vs T";
+2r5/1R3PK1/p7/7p/8/1pk4P/8/8 w - - am f8=Q; id "ST3_62 - Endspiel T&L vs T&L";
+8/3b1p2/3Pk3/R1K4p/8/6r1/8/2B5 w - - am Ra3; id "ST3_63 - Endspiel T&L vs T&L";
+8/3b1p2/3Pk3/R1K4p/8/6r1/8/2B5 w - - am Ra3; id "ST3_64 - Endspiel T&L vs T&S";
diff --git a/tests/wac.epd b/tests/wac.epd
new file mode 100644
index 0000000..524ead7
--- /dev/null
+++ b/tests/wac.epd
@@ -0,0 +1,300 @@
+2rr3k/pp3pp1/1nnqbN1p/3pN3/2pP4/2P3Q1/PPB4P/R4RK1 w - - bm Qg6; id "WAC.001";
+8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - bm Rxb2; id "WAC.002";
+5rk1/1ppb3p/p1pb4/6q1/3P1p1r/2P1R2P/PP1BQ1P1/5RKN w - - bm Rg3; id "WAC.003";
+r1bq2rk/pp3pbp/2p1p1pQ/7P/3P4/2PB1N2/PP3PPR/2KR4 w - - bm Qxh7+; id "WAC.004";
+5k2/6pp/p1qN4/1p1p4/3P4/2PKP2Q/PP3r2/3R4 b - - bm Qc4+; id "WAC.005";
+7k/p7/1R5K/6r1/6p1/6P1/8/8 w - - bm Rb7; id "WAC.006";
+rnbqkb1r/pppp1ppp/8/4P3/6n1/7P/PPPNPPP1/R1BQKBNR b KQkq - bm Ne3; id "WAC.007";
+r4q1k/p2bR1rp/2p2Q1N/5p2/5p2/2P5/PP3PPP/R5K1 w - - bm Rf7; id "WAC.008";
+3q1rk1/p4pp1/2pb3p/3p4/6Pr/1PNQ4/P1PB1PP1/4RRK1 b - - bm Bh2+; id "WAC.009";
+2br2k1/2q3rn/p2NppQ1/2p1P3/Pp5R/4P3/1P3PPP/3R2K1 w - - bm Rxh7; id "WAC.010";
+r1b1kb1r/3q1ppp/pBp1pn2/8/Np3P2/5B2/PPP3PP/R2Q1RK1 w kq - bm Bxc6; id "WAC.011";
+4k1r1/2p3r1/1pR1p3/3pP2p/3P2qP/P4N2/1PQ4P/5R1K b - - bm Qxf3+; id "WAC.012";
+5rk1/pp4p1/2n1p2p/2Npq3/2p5/6P1/P3P1BP/R4Q1K w - - bm Qxf8+; id "WAC.013";
+r2rb1k1/pp1q1p1p/2n1p1p1/2bp4/5P2/PP1BPR1Q/1BPN2PP/R5K1 w - - bm Qxh7+; id "WAC.014";
+1R6/1brk2p1/4p2p/p1P1Pp2/P7/6P1/1P4P1/2R3K1 w - - bm Rxb7; id "WAC.015";
+r4rk1/ppp2ppp/2n5/2bqp3/8/P2PB3/1PP1NPPP/R2Q1RK1 w - - bm Nc3; id "WAC.016";
+1k5r/pppbn1pp/4q1r1/1P3p2/2NPp3/1QP5/P4PPP/R1B1R1K1 w - - bm Ne5; id "WAC.017";
+R7/P4k2/8/8/8/8/r7/6K1 w - - bm Rh8; id "WAC.018";
+r1b2rk1/ppbn1ppp/4p3/1QP4q/3P4/N4N2/5PPP/R1B2RK1 w - - bm c6; id "WAC.019";
+r2qkb1r/1ppb1ppp/p7/4p3/P1Q1P3/2P5/5PPP/R1B2KNR b kq - bm Bb5; id "WAC.020";
+5rk1/1b3p1p/pp3p2/3n1N2/1P6/P1qB1PP1/3Q3P/4R1K1 w - - bm Qh6; id "WAC.021";
+r1bqk2r/ppp1nppp/4p3/n5N1/2BPp3/P1P5/2P2PPP/R1BQK2R w KQkq - bm Ba2 Nxf7; id "WAC.022";
+r3nrk1/2p2p1p/p1p1b1p1/2NpPq2/3R4/P1N1Q3/1PP2PPP/4R1K1 w - - bm g4; id "WAC.023";
+6k1/1b1nqpbp/pp4p1/5P2/1PN5/4Q3/P5PP/1B2B1K1 b - - bm Bd4; id "WAC.024";
+3R1rk1/8/5Qpp/2p5/2P1p1q1/P3P3/1P2PK2/8 b - - bm Qh4+; id "WAC.025";
+3r2k1/1p1b1pp1/pq5p/8/3NR3/2PQ3P/PP3PP1/6K1 b - - bm Bf5; id "WAC.026";
+7k/pp4np/2p3p1/3pN1q1/3P4/Q7/1r3rPP/2R2RK1 w - - bm Qf8+; id "WAC.027";
+1r1r2k1/4pp1p/2p1b1p1/p3R3/RqBP4/4P3/1PQ2PPP/6K1 b - - bm Qe1+; id "WAC.028";
+r2q2k1/pp1rbppp/4pn2/2P5/1P3B2/6P1/P3QPBP/1R3RK1 w - - bm c6; id "WAC.029";
+1r3r2/4q1kp/b1pp2p1/5p2/pPn1N3/6P1/P3PPBP/2QRR1K1 w - - bm Nxd6; id "WAC.030";
+rb3qk1/pQ3ppp/4p3/3P4/8/1P3N2/1P3PPP/3R2K1 w - - bm Qxa8 d6 dxe6; id "WAC.031";
+6k1/p4p1p/1p3np1/2q5/4p3/4P1N1/PP3PPP/3Q2K1 w - - bm Qd8+; id "WAC.032";
+8/p1q2pkp/2Pr2p1/8/P3Q3/6P1/5P1P/2R3K1 w - - bm Qe5+ Qf4; id "WAC.033";
+7k/1b1r2p1/p6p/1p2qN2/3bP3/3Q4/P5PP/1B1R3K b - - bm Bg1; id "WAC.034";
+r3r2k/2R3pp/pp1q1p2/8/3P3R/7P/PP3PP1/3Q2K1 w - - bm Rxh7+; id "WAC.035";
+3r4/2p1rk2/1pQq1pp1/7p/1P1P4/P4P2/6PP/R1R3K1 b - - bm Re1+; id "WAC.036";
+2r5/2rk2pp/1pn1pb2/pN1p4/P2P4/1N2B3/nPR1KPPP/3R4 b - - bm Nxd4+; id "WAC.037";
+4k3/p4prp/1p6/2b5/8/2Q3P1/P2R1PKP/4q3 w - - bm Rd8+; id "WAC.038";
+r1br2k1/pp2bppp/2nppn2/8/2P1PB2/2N2P2/PqN1B1PP/R2Q1R1K w - - bm Na4; id "WAC.039";
+3r1r1k/1p4pp/p4p2/8/1PQR4/6Pq/P3PP2/2R3K1 b - - bm Rc8; id "WAC.040";
+1k6/5RP1/1P6/1K6/6r1/8/8/8 w - - bm Ka5 Kc5; id "WAC.041";
+r1b1r1k1/pp1n1pbp/1qp3p1/3p4/1B1P4/Q3PN2/PP2BPPP/R4RK1 w - - bm Ba5; id "WAC.042";
+r2q3k/p2P3p/1p3p2/3QP1r1/8/B7/P5PP/2R3K1 w - - bm Be7 Qxa8; id "WAC.043";
+3rb1k1/pq3pbp/4n1p1/3p4/2N5/2P2QB1/PP3PPP/1B1R2K1 b - - bm dxc4; id "WAC.044";
+7k/2p1b1pp/8/1p2P3/1P3r2/2P3Q1/1P5P/R4qBK b - - bm Qxa1; id "WAC.045";
+r1bqr1k1/pp1nb1p1/4p2p/3p1p2/3P4/P1N1PNP1/1PQ2PP1/3RKB1R w K - bm Nb5; id "WAC.046";
+r1b2rk1/pp2bppp/2n1pn2/q5B1/2BP4/2N2N2/PP2QPPP/2R2RK1 b - - bm Nxd4; id "WAC.047";
+1rbq1rk1/p1p1bppp/2p2n2/8/Q1BP4/2N5/PP3PPP/R1B2RK1 b - - bm Rb4; id "WAC.048";
+2b3k1/4rrpp/p2p4/2pP2RQ/1pP1Pp1N/1P3P1P/1q6/6RK w - - bm Qxh7+; id "WAC.049";
+k4r2/1R4pb/1pQp1n1p/3P4/5p1P/3P2P1/r1q1R2K/8 w - - bm Rxb6+; id "WAC.050";
+r1bq1r2/pp4k1/4p2p/3pPp1Q/3N1R1P/2PB4/6P1/6K1 w - - bm Rg4+; id "WAC.051";
+r1k5/1p3q2/1Qpb4/3N1p2/5Pp1/3P2Pp/PPPK3P/4R3 w - - bm Re7; id "WAC.052";
+6k1/6p1/p7/3Pn3/5p2/4rBqP/P4RP1/5QK1 b - - bm Re1; id "WAC.053";
+r3kr2/1pp4p/1p1p4/7q/4P1n1/2PP2Q1/PP4P1/R1BB2K1 b q - bm Qh1+; id "WAC.054";
+r3r1k1/pp1q1pp1/4b1p1/3p2B1/3Q1R2/8/PPP3PP/4R1K1 w - - bm Qxg7+; id "WAC.055";
+r1bqk2r/pppp1ppp/5n2/2b1n3/4P3/1BP3Q1/PP3PPP/RNB1K1NR b KQkq - bm Bxf2+; id "WAC.056";
+r3q1kr/ppp5/3p2pQ/8/3PP1b1/5R2/PPP3P1/5RK1 w - - bm Rf8+; id "WAC.057";
+8/8/2R5/1p2qp1k/1P2r3/2PQ2P1/5K2/8 w - - bm Qd1+; id "WAC.058";
+r1b2rk1/2p1qnbp/p1pp2p1/5p2/2PQP3/1PN2N1P/PB3PP1/3R1RK1 w - - bm Nd5; id "WAC.059";
+rn1qr1k1/1p2np2/2p3p1/8/1pPb4/7Q/PB1P1PP1/2KR1B1R w - - bm Qh8+; id "WAC.060";
+3qrbk1/ppp1r2n/3pP2p/3P4/2P4P/1P3Q2/PB6/R4R1K w - - bm Qf7+; id "WAC.061";
+6r1/3Pn1qk/p1p1P1rp/2Q2p2/2P5/1P4P1/P3R2P/5RK1 b - - bm Rxg3+; id "WAC.062";
+r1brnbk1/ppq2pp1/4p2p/4N3/3P4/P1PB1Q2/3B1PPP/R3R1K1 w - - bm Nxf7; id "WAC.063";
+8/6pp/3q1p2/3n1k2/1P6/3NQ2P/5PP1/6K1 w - - bm g4+; id "WAC.064";
+1r1r1qk1/p2n1p1p/bp1Pn1pQ/2pNp3/2P2P1N/1P5B/P6P/3R1RK1 w - - bm Ne7+; id "WAC.065";
+1k1r2r1/ppq5/1bp4p/3pQ3/8/2P2N2/PP4P1/R4R1K b - - bm Qxe5; id "WAC.066";
+3r2k1/p2q4/1p4p1/3rRp1p/5P1P/6PK/P3R3/3Q4 w - - bm Rxd5; id "WAC.067";
+6k1/5ppp/1q6/2b5/8/2R1pPP1/1P2Q2P/7K w - - bm Qxe3; id "WAC.068";
+2k5/pppr4/4R3/4Q3/2pp2q1/8/PPP2PPP/6K1 w - - bm f3 h3; id "WAC.069";
+2kr3r/pppq1ppp/3p1n2/bQ2p3/1n1PP3/1PN1BN1P/1PP2PP1/2KR3R b - - bm Na2+; id "WAC.070";
+2kr3r/pp1q1ppp/5n2/1Nb5/2Pp1B2/7Q/P4PPP/1R3RK1 w - - bm Nxa7+; id "WAC.071";
+r3r1k1/pp1n1ppp/2p5/4Pb2/2B2P2/B1P5/P5PP/R2R2K1 w - - bm e6; id "WAC.072";
+r1q3rk/1ppbb1p1/4Np1p/p3pP2/P3P3/2N4R/1PP1Q1PP/3R2K1 w - - bm Qd2; id "WAC.073";
+5r1k/pp4pp/2p5/2b1P3/4Pq2/1PB1p3/P3Q1PP/3N2K1 b - - bm Qf1+; id "WAC.074";
+r3r1k1/pppq1ppp/8/8/1Q4n1/7P/PPP2PP1/RNB1R1K1 b - - bm Qd6; id "WAC.075";
+r1b1qrk1/2p2ppp/pb1pnn2/1p2pNB1/3PP3/1BP5/PP2QPPP/RN1R2K1 w - - bm Bxf6; id "WAC.076";
+3r2k1/ppp2ppp/6q1/b4n2/3nQB2/2p5/P4PPP/RN3RK1 b - - bm Ng3; id "WAC.077";
+r2q3r/ppp2k2/4nbp1/5Q1p/2P1NB2/8/PP3P1P/3RR1K1 w - - bm Ng5+; id "WAC.078";
+r3k2r/pbp2pp1/3b1n2/1p6/3P3p/1B2N1Pq/PP1PQP1P/R1B2RK1 b kq - bm Qxh2+; id "WAC.079";
+r4rk1/p1B1bpp1/1p2pn1p/8/2PP4/3B1P2/qP2QP1P/3R1RK1 w - - bm Ra1; id "WAC.080";
+r4rk1/1bR1bppp/4pn2/1p2N3/1P6/P3P3/4BPPP/3R2K1 b - - bm Bd6; id "WAC.081";
+3rr1k1/pp3pp1/4b3/8/2P1B2R/6QP/P3q1P1/5R1K w - - bm Bh7+; id "WAC.082";
+3rr1k1/ppqbRppp/2p5/8/3Q1n2/2P3N1/PPB2PPP/3R2K1 w - - bm Qxd7; id "WAC.083";
+r2q1r1k/2p1b1pp/p1n5/1p1Q1bN1/4n3/1BP1B3/PP3PPP/R4RK1 w - - bm Qg8+; id "WAC.084";
+kr2R3/p4r2/2pq4/2N2p1p/3P2p1/Q5P1/5P1P/5BK1 w - - bm Na6; id "WAC.085";
+8/p7/1ppk1n2/5ppp/P1PP4/2P1K1P1/5N1P/8 b - - bm Ng4+; id "WAC.086";
+8/p3k1p1/4r3/2ppNpp1/PP1P4/2P3KP/5P2/8 b - - bm Rxe5; id "WAC.087";
+r6k/p1Q4p/2p1b1rq/4p3/B3P3/4P3/PPP3P1/4RRK1 b - - bm Rxg2+; id "WAC.088";
+1r3b1k/p4rpp/4pp2/3q4/2ppbPPQ/6RK/PP5P/2B1NR2 b - - bm g5; id "WAC.089";
+3qrrk1/1pp2pp1/1p2bn1p/5N2/2P5/P1P3B1/1P4PP/2Q1RRK1 w - - bm Nxg7; id "WAC.090";
+2qr2k1/4b1p1/2p2p1p/1pP1p3/p2nP3/PbQNB1PP/1P3PK1/4RB2 b - - bm Be6; id "WAC.091";
+r4rk1/1p2ppbp/p2pbnp1/q7/3BPPP1/2N2B2/PPP4P/R2Q1RK1 b - - bm Bxg4; id "WAC.092";
+r1b1k1nr/pp3pQp/4pq2/3pn3/8/P1P5/2P2PPP/R1B1KBNR w KQkq - bm Bh6; id "WAC.093";
+8/k7/p7/3Qp2P/n1P5/3KP3/1q6/8 b - - bm e4+; id "WAC.094";
+2r5/1r6/4pNpk/3pP1qp/8/2P1QP2/5PK1/R7 w - - bm Ng4+; id "WAC.095";
+r1b4k/ppp2Bb1/6Pp/3pP3/1qnP1p1Q/8/PPP3P1/1K1R3R w - - bm Qd8+; id "WAC.096";
+6k1/5p2/p5np/4B3/3P4/1PP1q3/P3r1QP/6RK w - - bm Qa8+; id "WAC.097";
+1r3rk1/5pb1/p2p2p1/Q1n1q2p/1NP1P3/3p1P1B/PP1R3P/1K2R3 b - - bm Nxe4; id "WAC.098";
+r1bq1r1k/1pp1Np1p/p2p2pQ/4R3/n7/8/PPPP1PPP/R1B3K1 w - - bm Rh5; id "WAC.099";
+8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; id "WAC.100";
+5rk1/p5pp/8/8/2Pbp3/1P4P1/7P/4RN1K b - - bm Bc3; id "WAC.101";
+2Q2n2/2R4p/1p1qpp1k/8/3P3P/3B2P1/5PK1/r7 w - - bm Qxf8+; id "WAC.102";
+6k1/2pb1r1p/3p1PpQ/p1nPp3/1q2P3/2N2P2/PrB5/2K3RR w - - bm Qxg6+; id "WAC.103";
+b4r1k/pq2rp2/1p1bpn1p/3PN2n/2P2P2/P2B3K/1B2Q2N/3R2R1 w - - bm Qxh5; id "WAC.104";
+r2r2k1/pb3ppp/1p1bp3/7q/3n2nP/PP1B2P1/1B1N1P2/RQ2NRK1 b - - bm Qxh4; id "WAC.105";
+4rrk1/pppb4/7p/3P2pq/3Qn3/P5P1/1PP4P/R3RNNK b - - bm Nf2+; id "WAC.106";
+5n2/pRrk2p1/P4p1p/4p3/3N4/5P2/6PP/6K1 w - - bm Nb5; id "WAC.107";
+r5k1/1q4pp/2p5/p1Q5/2P5/5R2/4RKPP/r7 w - - bm Qe5; id "WAC.108";
+rn2k1nr/pbp2ppp/3q4/1p2N3/2p5/QP6/PB1PPPPP/R3KB1R b KQkq - bm c3; id "WAC.109";
+2kr4/bp3p2/p2p2b1/P7/2q5/1N4B1/1PPQ2P1/2KR4 b - - bm Be3; id "WAC.110";
+6k1/p5p1/5p2/2P2Q2/3pN2p/3PbK1P/7P/6q1 b - - bm Qf1+; id "WAC.111";
+r4kr1/ppp5/4bq1b/7B/2PR1Q1p/2N3P1/PP3P1P/2K1R3 w - - bm Rxe6; id "WAC.112";
+rnbqkb1r/1p3ppp/5N2/1p2p1B1/2P5/8/PP2PPPP/R2QKB1R b KQkq - bm Qxf6; id "WAC.113";
+r1b1rnk1/1p4pp/p1p2p2/3pN2n/3P1PPq/2NBPR1P/PPQ5/2R3K1 w - - bm Bxh7+; id "WAC.114";
+4N2k/5rpp/1Q6/p3q3/8/P5P1/1P3P1P/5K2 w - - bm Nd6; id "WAC.115";
+r2r2k1/2p2ppp/p7/1p2P1n1/P6q/5P2/1PB1QP1P/R5RK b - - bm Rd2; id "WAC.116";
+3r1rk1/q4ppp/p1Rnp3/8/1p6/1N3P2/PP3QPP/3R2K1 b - - bm Ne4; id "WAC.117";
+r5k1/pb2rpp1/1p6/2p4q/5R2/2PB2Q1/P1P3PP/5R1K w - - bm Rh4; id "WAC.118";
+r2qr1k1/p1p2ppp/2p5/2b5/4nPQ1/3B4/PPP3PP/R1B2R1K b - - bm Qxd3; id "WAC.119";
+r4rk1/1bn2qnp/3p1B1Q/p2P1pP1/1pp5/5N1P/PPB2P2/2KR3R w - - bm g6; id "WAC.120";
+6k1/5p1p/2bP2pb/4p3/2P5/1p1pNPPP/1P1Q1BK1/1q6 b - - bm Bxf3+; id "WAC.121";
+1k6/ppp4p/1n2pq2/1N2Rb2/2P2Q2/8/P4KPP/3r1B2 b - - bm Rxf1+; id "WAC.122";
+6k1/1b2rp2/1p4p1/3P4/PQ4P1/2N2q2/5P2/3R2K1 b - - bm Bxd5 Rc7; id "WAC.123";
+6k1/3r4/2R5/P5P1/1P4p1/8/4rB2/6K1 b - - bm g3; id "WAC.124";
+r1bqr1k1/pp3ppp/1bp5/3n4/3B4/2N2P1P/PPP1B1P1/R2Q1RK1 b - - bm Bxd4+; id "WAC.125";
+r5r1/pQ5p/1qp2R2/2k1p3/4P3/2PP4/P1P3PP/6K1 w - - bm Rxc6+; id "WAC.126";
+2k4r/1pr1n3/p1p1q2p/5pp1/3P1P2/P1P1P3/1R2Q1PP/1RB3K1 w - - bm Rxb7; id "WAC.127";
+6rk/1pp2Qrp/3p1B2/1pb1p2R/3n1q2/3P4/PPP3PP/R6K w - - bm Qg6; id "WAC.128";
+3r1r1k/1b2b1p1/1p5p/2p1Pp2/q1B2P2/4P2P/1BR1Q2K/6R1 b - - bm Bf3; id "WAC.129";
+6k1/1pp3q1/5r2/1PPp4/3P1pP1/3Qn2P/3B4/4R1K1 b - - bm Qh6 Qh8; id "WAC.130";
+2rq1bk1/p4p1p/1p4p1/3b4/3B1Q2/8/P4PpP/3RR1K1 w - - bm Re8; id "WAC.131";
+4r1k1/5bpp/2p5/3pr3/8/1B3pPq/PPR2P2/2R2QK1 b - - bm Re1; id "WAC.132";
+r1b1k2r/1pp1q2p/p1n3p1/3QPp2/8/1BP3B1/P5PP/3R1RK1 w kq - bm Bh4; id "WAC.133";
+3r2k1/p6p/2Q3p1/4q3/2P1p3/P3Pb2/1P3P1P/2K2BR1 b - - bm Rd1+; id "WAC.134";
+3r1r1k/N2qn1pp/1p2np2/2p5/2Q1P2N/3P4/PP4PP/3R1RK1 b - - bm Nd4; id "WAC.135";
+6kr/1q2r1p1/1p2N1Q1/5p2/1P1p4/6R1/7P/2R3K1 w - - bm Rc8+; id "WAC.136";
+3b1rk1/1bq3pp/5pn1/1p2rN2/2p1p3/2P1B2Q/1PB2PPP/R2R2K1 w - - bm Rd7; id "WAC.137";
+r1bq3r/ppppR1p1/5n1k/3P4/6pP/3Q4/PP1N1PP1/5K1R w - - bm h5; id "WAC.138";
+rnb3kr/ppp2ppp/1b6/3q4/3pN3/Q4N2/PPP2KPP/R1B1R3 w - - bm Nf6+; id "WAC.139";
+r2b1rk1/pq4p1/4ppQP/3pB1p1/3P4/2R5/PP3PP1/5RK1 w - - bm Rc7; id "WAC.140";
+4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/1B3P2/PP3PK1/2Q4R w - - bm Qxf4; id "WAC.141";
+r2q3n/ppp2pk1/3p4/5Pr1/2NP1Qp1/2P2pP1/PP3K2/4R2R w - - bm Re8 f6+; id "WAC.142";
+5b2/pp2r1pk/2pp1pRp/4rP1N/2P1P3/1P4QP/P3q1P1/5R1K w - - bm Rxh6+; id "WAC.143";
+r2q1rk1/pp3ppp/2p2b2/8/B2pPPb1/7P/PPP1N1P1/R2Q1RK1 b - - bm d3; id "WAC.144";
+r1bq4/1p4kp/3p1n2/p4pB1/2pQ4/8/1P4PP/4RRK1 w - - bm Re8; id "WAC.145";
+8/8/2Kp4/3P1B2/2P2k2/5p2/8/8 w - - bm Bc8; id "WAC.146";
+r2r2k1/ppqbppbp/2n2np1/2pp4/6P1/1P1PPNNP/PBP2PB1/R2QK2R b KQ - bm Nxg4; id "WAC.147";
+2r1k3/6pr/p1nBP3/1p3p1p/2q5/2P5/P1R4P/K2Q2R1 w - - bm Rxg7; id "WAC.148";
+6k1/6p1/2p4p/4Pp2/4b1qP/2Br4/1P2RQPK/8 b - - bm Bxg2; id "WAC.149";
+r3r1k1/5p2/pQ1b2pB/1p6/4p3/6P1/Pq2BP1P/2R3K1 b - - bm Ba3 Bf8 e3; id "WAC.150";
+8/3b2kp/4p1p1/pr1n4/N1N4P/1P4P1/1K3P2/3R4 w - - bm Nc3; id "WAC.151";
+1br2rk1/1pqb1ppp/p3pn2/8/1P6/P1N1PN1P/1B3PP1/1QRR2K1 w - - bm Ne4; id "WAC.152";
+2r3k1/q4ppp/p3p3/pnNp4/2rP4/2P2P2/4R1PP/2R1Q1K1 b - - bm Nxd4; id "WAC.153";
+r1b2rk1/2p2ppp/p7/1p6/3P3q/1BP3bP/PP3QP1/RNB1R1K1 w - - bm Qxf7+; id "WAC.154";
+5bk1/1rQ4p/5pp1/2pP4/3n1PP1/7P/1q3BB1/4R1K1 w - - bm d6; id "WAC.155";
+r1b1qN1k/1pp3p1/p2p3n/4p1B1/8/1BP4Q/PP3KPP/8 w - - bm Qxh6+; id "WAC.156";
+5rk1/p4ppp/2p1b3/3Nq3/4P1n1/1p1B2QP/1PPr2P1/1K2R2R w - - bm Ne7+; id "WAC.157";
+5rk1/n1p1R1bp/p2p4/1qpP1QB1/7P/2P3P1/PP3P2/6K1 w - - bm Rxg7+; id "WAC.158";
+r1b2r2/5P1p/ppn3pk/2p1p1Nq/1bP1PQ2/3P4/PB4BP/1R3RK1 w - - bm Ne6+; id "WAC.159";
+qn1kr2r/1pRbb3/pP5p/P2pP1pP/3N1pQ1/3B4/3B1PP1/R5K1 w - - bm Qxd7+; id "WAC.160";
+3r3k/3r1P1p/pp1Nn3/2pp4/7Q/6R1/Pq4PP/5RK1 w - - bm Qxd8+; id "WAC.161";
+r3kbnr/p4ppp/2p1p3/8/Q1B3b1/2N1B3/PP3PqP/R3K2R w KQkq - bm Bd5; id "WAC.162";
+5rk1/2p4p/2p4r/3P4/4p1b1/1Q2NqPp/PP3P1K/R4R2 b - - bm Qg2+; id "WAC.163";
+8/6pp/4p3/1p1n4/1NbkN1P1/P4P1P/1PR3K1/r7 w - - bm Rxc4+; id "WAC.164";
+1r5k/p1p3pp/8/8/4p3/P1P1R3/1P1Q1qr1/2KR4 w - - bm Re2; id "WAC.165";
+r3r1k1/5pp1/p1p4p/2Pp4/8/q1NQP1BP/5PP1/4K2R b K - bm d4; id "WAC.166";
+7Q/ppp2q2/3p2k1/P2Ppr1N/1PP5/7R/5rP1/6K1 b - - bm Rxg2+; id "WAC.167";
+r3k2r/pb1q1p2/8/2p1pP2/4p1p1/B1P1Q1P1/P1P3K1/R4R2 b kq - bm Qd2+; id "WAC.168";
+5rk1/1pp3bp/3p2p1/2PPp3/1P2P3/2Q1B3/4q1PP/R5K1 b - - bm Bh6; id "WAC.169";
+5r1k/6Rp/1p2p3/p2pBp2/1qnP4/4P3/Q4PPP/6K1 w - - bm Qxc4; id "WAC.170";
+2rq4/1b2b1kp/p3p1p1/1p1nNp2/7P/1B2B1Q1/PP3PP1/3R2K1 w - - bm Bh6+; id "WAC.171";
+5r1k/p5pp/8/1P1pq3/P1p2nR1/Q7/5BPP/6K1 b - - bm Qe1+; id "WAC.172";
+2r1b3/1pp1qrk1/p1n1P1p1/7R/2B1p3/4Q1P1/PP3PP1/3R2K1 w - - bm Qh6+; id "WAC.173";
+2r2rk1/6p1/p3pq1p/1p1b1p2/3P1n2/PP3N2/3N1PPP/1Q2RR1K b - - bm Nxg2; id "WAC.174";
+r5k1/pppb3p/2np1n2/8/3PqNpP/3Q2P1/PPP5/R4RK1 w - - bm Nh5; id "WAC.175";
+r1bq3r/ppp2pk1/3p1pp1/8/2BbPQ2/2NP2P1/PPP4P/R4R1K b - - bm Rxh2+; id "WAC.176";
+r1b3r1/4qk2/1nn1p1p1/3pPp1P/p4P2/1p3BQN/PKPBN3/3R3R b - - bm Qa3+; id "WAC.177";
+3r2k1/p1rn1p1p/1p2pp2/6q1/3PQNP1/5P2/P1P4R/R5K1 w - - bm Nxe6; id "WAC.178";
+r1b2r1k/pp4pp/3p4/3B4/8/1QN3Pn/PP3q1P/R3R2K b - - bm Qg1+; id "WAC.179";
+r1q2rk1/p3bppb/3p1n1p/2nPp3/1p2P1P1/6NP/PP2QPB1/R1BNK2R b KQ - bm Nxd5; id "WAC.180";
+r3k2r/2p2p2/p2p1n2/1p2p3/4P2p/1PPPPp1q/1P5P/R1N2QRK b kq - bm Ng4; id "WAC.181";
+r1b2rk1/ppqn1p1p/2n1p1p1/2b3N1/2N5/PP1BP3/1B3PPP/R2QK2R w KQ - bm Qh5; id "WAC.182";
+1r2k1r1/5p2/b3p3/1p2b1B1/3p3P/3B4/PP2KP2/2R3R1 w - - bm Bf6; id "WAC.183";
+4kn2/r4p1r/p3bQ2/q1nNP1Np/1p5P/8/PPP3P1/2KR3R w - - bm Qe7+; id "WAC.184";
+1r1rb1k1/2p3pp/p2q1p2/3PpP1Q/Pp1bP2N/1B5R/1P4PP/2B4K w - - bm Qxh7+; id "WAC.185";
+r5r1/p1q2p1k/1p1R2pB/3pP3/6bQ/2p5/P1P1NPPP/6K1 w - - bm Bf8+; id "WAC.186";
+6k1/5p2/p3p3/1p3qp1/2p1Qn2/2P1R3/PP1r1PPP/4R1K1 b - - bm Nh3+; id "WAC.187";
+3RNbk1/pp3p2/4rQpp/8/1qr5/7P/P4P2/3R2K1 w - - bm Qg7+; id "WAC.188";
+3r1k2/1ppPR1n1/p2p1rP1/3P3p/4Rp1N/5K2/P1P2P2/8 w - - bm Re8+; id "WAC.189";
+8/p2b2kp/1q1p2p1/1P1Pp3/4P3/3B2P1/P2Q3P/2Nn3K b - - bm Bh3; id "WAC.190";
+2r1Rn1k/1p1q2pp/p7/5p2/3P4/1B4P1/P1P1QP1P/6K1 w - - bm Qc4; id "WAC.191";
+r3k3/ppp2Npp/4Bn2/2b5/1n1pp3/N4P2/PPP3qP/R2QKR2 b Qq - bm Nd3+; id "WAC.192";
+5bk1/p4ppp/Qp6/4B3/1P6/Pq2P1P1/2rr1P1P/R4RK1 b - - bm Qxe3; id "WAC.193";
+5rk1/ppq2ppp/2p5/4bN2/4P3/6Q1/PPP2PPP/3R2K1 w - - bm Nh6+; id "WAC.194";
+3r1rk1/1p3p2/p3pnnp/2p3p1/2P2q2/1P5P/PB2QPPN/3RR1K1 w - - bm g3; id "WAC.195";
+rr4k1/p1pq2pp/Q1n1pn2/2bpp3/4P3/2PP1NN1/PP3PPP/R1B1K2R b KQ - bm Nb4; id "WAC.196";
+7k/1p4p1/7p/3P1n2/4Q3/2P2P2/PP3qRP/7K b - - bm Qf1+; id "WAC.197";
+2br2k1/ppp2p1p/4p1p1/4P2q/2P1Bn2/2Q5/PP3P1P/4R1RK b - - bm Rd3; id "WAC.198";
+r1br2k1/pp2nppp/2n5/1B1q4/Q7/4BN2/PP3PPP/2R2RK1 w - - bm Bxc6 Rfd1; id "WAC.199";
+2rqrn1k/pb4pp/1p2pp2/n2P4/2P3N1/P2B2Q1/1B3PPP/2R1R1K1 w - - bm Bxf6; id "WAC.200";
+2b2r1k/4q2p/3p2pQ/2pBp3/8/6P1/1PP2P1P/R5K1 w - - bm Ra7; id "WAC.201";
+QR2rq1k/2p3p1/3p1pPp/8/4P3/8/P1r3PP/1R4K1 b - - bm Rxa2; id "WAC.202";
+r4rk1/5ppp/p3q1n1/2p2NQ1/4n3/P3P3/1B3PPP/1R3RK1 w - - bm Qh6; id "WAC.203";
+r1b1qrk1/1p3ppp/p1p5/3Nb3/5N2/P7/1P4PQ/K1R1R3 w - - bm Rxe5; id "WAC.204";
+r3rnk1/1pq2bb1/p4p2/3p1Pp1/3B2P1/1NP4R/P1PQB3/2K4R w - - bm Qxg5; id "WAC.205";
+1Qq5/2P1p1kp/3r1pp1/8/8/7P/p4PP1/2R3K1 b - - bm Rc6; id "WAC.206";
+r1bq2kr/p1pp1ppp/1pn1p3/4P3/2Pb2Q1/BR6/P4PPP/3K1BNR w - - bm Qxg7+; id "WAC.207";
+3r1bk1/ppq3pp/2p5/2P2Q1B/8/1P4P1/P6P/5RK1 w - - bm Bf7+; id "WAC.208";
+4kb1r/2q2p2/r2p4/pppBn1B1/P6P/6Q1/1PP5/2KRR3 w k - bm Rxe5+; id "WAC.209";
+3r1rk1/pp1q1ppp/3pn3/2pN4/5PP1/P5PQ/1PP1B3/1K1R4 w - - bm Rh1; id "WAC.210";
+r1bqrk2/pp1n1n1p/3p1p2/P1pP1P1Q/2PpP1NP/6R1/2PB4/4RBK1 w - - bm Qxf7+; id "WAC.211";
+rn1qr2Q/pbppk1p1/1p2pb2/4N3/3P4/2N5/PPP3PP/R4RK1 w - - bm Qxg7+; id "WAC.212";
+3r1r1k/1b4pp/ppn1p3/4Pp1R/Pn5P/3P4/4QP2/1qB1NKR1 w - - bm Rxh7+; id "WAC.213";
+r2r2k1/1p2qpp1/1np1p1p1/p3N3/2PPN3/bP5R/4QPPP/4R1K1 w - - bm Ng5; id "WAC.214";
+3r2k1/pb1q1pp1/1p2pb1p/8/3N4/P2QB3/1P3PPP/1Br1R1K1 w - - bm Qh7+; id "WAC.215";
+r2qr1k1/1b1nbppp/p3pn2/1p1pN3/3P1B2/2PB1N2/PP2QPPP/R4RK1 w - - bm Nxf7; id "WAC.216";
+r3kb1r/1pp3p1/p3bp1p/5q2/3QN3/1P6/PBP3P1/3RR1K1 w kq - bm Qd7+; id "WAC.217";
+6k1/pp5p/2p3q1/6BP/2nPr1Q1/8/PP3R1K/8 w - - bm Bh6; id "WAC.218";
+7k/p4q1p/1pb5/2p5/4B2Q/2P1B3/P6P/7K b - - bm Qf1+; id "WAC.219";
+3rr1k1/ppp2ppp/8/5Q2/4n3/1B5R/PPP1qPP1/5RK1 b - - bm Qxf1+; id "WAC.220";
+r3k3/P5bp/2N1bp2/4p3/2p5/6NP/1PP2PP1/3R2K1 w q - bm Rd8+; id "WAC.221";
+2r1r2k/1q3ppp/p2Rp3/2p1P3/6QB/p3P3/bP3PPP/3R2K1 w - - bm Bf6; id "WAC.222";
+r1bqk2r/pp3ppp/5n2/8/1b1npB2/2N5/PP1Q2PP/1K2RBNR w kq - bm Nxe4; id "WAC.223";
+5rk1/p1q3pp/1p1r4/2p1pp1Q/1PPn1P2/3B3P/P2R2P1/3R2K1 b - - bm Rh6 e4; id "WAC.224";
+4R3/4q1kp/6p1/1Q3b2/1P1b1P2/6KP/8/8 b - - bm Qh4+; id "WAC.225";
+2b2rk1/p1p4p/2p1p1p1/br2N1Q1/1p2q3/8/PB3PPP/3R1RK1 w - - bm Nf7; id "WAC.226";
+2k1rb1r/ppp3pp/2np1q2/5b2/2B2P2/2P1BQ2/PP1N1P1P/2KR3R b - - bm d5; id "WAC.227";
+r4rk1/1bq1bp1p/4p1p1/p2p4/3BnP2/1N1B3R/PPP3PP/R2Q2K1 w - - bm Bxe4; id "WAC.228";
+8/8/8/1p5r/p1p1k1pN/P2pBpP1/1P1K1P2/8 b - - bm Rxh4 b4; id "WAC.229";
+2b5/1r6/2kBp1p1/p2pP1P1/2pP4/1pP3K1/1R3P2/8 b - - bm Rb4; id "WAC.230";
+r4rk1/1b1nqp1p/p5p1/1p2PQ2/2p5/5N2/PP3PPP/R1BR2K1 w - - bm Bg5; id "WAC.231";
+1R2rq1k/2p3p1/Q2p1pPp/8/4P3/8/P1r3PP/1R4K1 w - - bm Qb5 Rxe8; id "WAC.232";
+5rk1/p1p2r1p/2pp2p1/4p3/PPPnP3/3Pq1P1/1Q1R1R1P/4NK2 b - - bm Nb3; id "WAC.233";
+2kr1r2/p6p/5Pp1/2p5/1qp2Q1P/7R/PP6/1KR5 w - - bm Rb3; id "WAC.234";
+5r2/1p1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+ Rxf7+; id "WAC.235";
+1R6/p5pk/4p2p/4P3/8/2r3qP/P3R1b1/4Q1K1 b - - bm Rc1; id "WAC.236";
+r5k1/pQp2qpp/8/4pbN1/3P4/6P1/PPr4P/1K1R3R b - - bm Rc1+; id "WAC.237";
+1k1r4/pp1r1pp1/4n1p1/2R5/2Pp1qP1/3P2QP/P4PB1/1R4K1 w - - bm Bxb7; id "WAC.238";
+8/6k1/5pp1/Q6p/5P2/6PK/P4q1P/8 b - - bm Qf1+; id "WAC.239";
+2b4k/p1b2p2/2p2q2/3p1PNp/3P2R1/3B4/P1Q2PKP/4r3 w - - bm Qxc6; id "WAC.240";
+2rq1rk1/pp3ppp/2n2b2/4NR2/3P4/PB5Q/1P4PP/3R2K1 w - - bm Qxh7+; id "WAC.241";
+r1b1r1k1/pp1nqp2/2p1p1pp/8/4N3/P1Q1P3/1P3PPP/1BRR2K1 w - - bm Rxd7; id "WAC.242";
+1r3r1k/3p4/1p1Nn1R1/4Pp1q/pP3P1p/P7/5Q1P/6RK w - - bm Qe2; id "WAC.243";
+r6r/pp3ppp/3k1b2/2pb4/B4Pq1/2P1Q3/P5PP/1RBR2K1 w - - bm Qxc5+; id "WAC.244";
+4rrn1/ppq3bk/3pPnpp/2p5/2PB4/2NQ1RPB/PP5P/5R1K w - - bm Qxg6+; id "WAC.245";
+6R1/4qp1p/ppr1n1pk/8/1P2P1QP/6N1/P4PP1/6K1 w - - bm Qh5+; id "WAC.246";
+2k1r3/1p2Bq2/p2Qp3/Pb1p1p1P/2pP1P2/2P5/2P2KP1/1R6 w - - bm Rxb5; id "WAC.247";
+5r1k/1p4pp/3q4/3Pp1R1/8/8/PP4PP/4Q1K1 b - - bm Qc5+; id "WAC.248";
+r4rk1/pbq2pp1/1ppbpn1p/8/2PP4/1P1Q1N2/PBB2PPP/R3R1K1 w - - bm c5 d5; id "WAC.249";
+1b5k/7P/p1p2np1/2P2p2/PP3P2/4RQ1R/q2r3P/6K1 w - - bm Re8+; id "WAC.250";
+k7/p4p2/P1q1b1p1/3p3p/3Q4/7P/5PP1/1R4K1 w - - bm Qe5 Qf4; id "WAC.251";
+1rb1r1k1/p1p2ppp/5n2/2pP4/5P2/2QB4/qNP3PP/2KRB2R b - - bm Re2; id "WAC.252";
+k5r1/p4b2/2P5/5p2/3P1P2/4QBrq/P5P1/4R1K1 w - - bm Qe8+; id "WAC.253";
+r6k/pp3p1p/2p1bp1q/b3p3/4Pnr1/2PP2NP/PP1Q1PPN/R2B2RK b - - bm Nxh3; id "WAC.254";
+3r3r/p4pk1/5Rp1/3q4/1p1P2RQ/5N2/P1P4P/2b4K w - - bm Rfxg6+; id "WAC.255";
+3r1rk1/1pb1qp1p/2p3p1/p7/P2Np2R/1P5P/1BP2PP1/3Q1BK1 w - - bm Nf5; id "WAC.256";
+4r1k1/pq3p1p/2p1r1p1/2Q1p3/3nN1P1/1P6/P1P2P1P/3RR1K1 w - - bm Rxd4; id "WAC.257";
+r3brkn/1p5p/2p2Ppq/2Pp3B/3Pp2Q/4P1R1/6PP/5R1K w - - bm Bxg6; id "WAC.258";
+r1bq1rk1/ppp2ppp/2np4/2bN1PN1/2B1P3/3p4/PPP2nPP/R1BQ1K1R w - - bm Qh5; id "WAC.259";
+2r2b1r/p1Nk2pp/3p1p2/N2Qn3/4P3/q6P/P4PP1/1R3K1R w - - bm Qe6+; id "WAC.260";
+r5k1/1bp3pp/p2p4/1p6/5p2/1PBP1nqP/1PP3Q1/R4R1K b - - bm Nd4; id "WAC.261";
+6k1/p1B1b2p/2b3r1/2p5/4p3/1PP1N1Pq/P2R1P2/3Q2K1 b - - bm Rh6; id "WAC.262";
+rnbqr2k/pppp1Qpp/8/b2NN3/2B1n3/8/PPPP1PPP/R1B1K2R w KQ - bm Qg8+; id "WAC.263";
+r2r2k1/1R2qp2/p5pp/2P5/b1PN1b2/P7/1Q3PPP/1B1R2K1 b - - bm Rab8; id "WAC.264";
+2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 w k - bm exf6; id "WAC.265";
+r3q2r/2p1k1p1/p5p1/1p2Nb2/1P2nB2/P7/2PNQbPP/R2R3K b - - bm Rxh2+; id "WAC.266";
+2r1kb1r/pp3ppp/2n1b3/1q1N2B1/1P2Q3/8/P4PPP/3RK1NR w Kk - bm Nc7+; id "WAC.267";
+2r3kr/ppp2n1p/7B/5q1N/1bp5/2Pp4/PP2RPPP/R2Q2K1 w - - bm Re8+; id "WAC.268";
+2kr2nr/pp1n1ppp/2p1p3/q7/1b1P1B2/P1N2Q1P/1PP1BPP1/R3K2R w KQ - bm axb4; id "WAC.269";
+2r1r1k1/pp1q1ppp/3p1b2/3P4/3Q4/5N2/PP2RPPP/4R1K1 w - - bm Qg4; id "WAC.270";
+2kr4/ppp3Pp/4RP1B/2r5/5P2/1P6/P2p4/3K4 w - - bm Rd6; id "WAC.271";
+nrq4r/2k1p3/1p1pPnp1/pRpP1p2/P1P2P2/2P1BB2/1R2Q1P1/6K1 w - - bm Bxc5; id "WAC.272";
+2k4B/bpp1qp2/p1b5/7p/1PN1n1p1/2Pr4/P5PP/R3QR1K b - - bm Ng3+; id "WAC.273";
+8/1p6/p5R1/k7/Prpp4/K7/1NP5/8 w - - bm Rb6; id "WAC.274";
+r1b2rk1/1p1n1ppp/p1p2q2/4p3/P1B1Pn2/1QN2N2/1P3PPP/3R1RK1 b - - bm Nxg2 b5; id "WAC.275";
+r5k1/pp1RR1pp/1b6/6r1/2p5/B6P/P4qPK/3Q4 w - - bm Qd5+; id "WAC.276";
+1r4r1/p2kb2p/bq2p3/3p1p2/5P2/2BB3Q/PP4PP/3RKR2 b - - bm Rg3 Rxg2; id "WAC.277";
+r2qkb1r/pppb2pp/2np1n2/5pN1/2BQP3/2N5/PPP2PPP/R1B1K2R w KQkq - bm Bf7+; id "WAC.278";
+r7/4b3/2p1r1k1/1p1pPp1q/1P1P1P1p/PR2NRpP/2Q3K1/8 w - - bm Nxf5; id "WAC.279";
+r1r2bk1/5p1p/pn4p1/N2b4/3Pp3/B3P3/2q1BPPP/RQ3RK1 b - - bm Bxa3; id "WAC.280";
+2R5/2R4p/5p1k/6n1/8/1P2QPPq/r7/6K1 w - - bm Rxh7+; id "WAC.281";
+6k1/2p3p1/1p1p1nN1/1B1P4/4PK2/8/2r3b1/7R w - - bm Rh8+; id "WAC.282";
+3q1rk1/4bp1p/1n2P2Q/3p1p2/6r1/Pp2R2N/1B4PP/7K w - - bm Ng5; id "WAC.283";
+3r3k/pp4pp/8/1P6/3N4/Pn2P1qb/1B1Q2B1/2R3K1 w - - bm Nf5; id "WAC.284";
+2rr3k/1b2bppP/p2p1n2/R7/3P4/1qB2P2/1P4Q1/1K5R w - - bm Qxg7+; id "WAC.285";
+3r1k2/1p6/p4P2/2pP2Qb/8/1P1KB3/P6r/8 b - - bm Rxd5+; id "WAC.286";
+rn3k1r/pp2bBpp/2p2n2/q5N1/3P4/1P6/P1P3PP/R1BQ1RK1 w - - bm Qh5; id "WAC.287";
+r1b2rk1/p4ppp/1p1Qp3/4P2N/1P6/8/P3qPPP/3R1RK1 w - - bm Nf6+; id "WAC.288";
+2r3k1/5p1p/p3q1p1/2n3P1/1p1QP2P/1P4N1/PK6/2R5 b - - bm Qe5; id "WAC.289";
+2k2r2/2p5/1pq5/p1p1n3/P1P2n1B/1R4Pp/2QR4/6K1 b - - bm Ne2+; id "WAC.290";
+5r1k/3b2p1/p6p/1pRpR3/1P1P2q1/P4pP1/5QnP/1B4K1 w - - bm h3; id "WAC.291";
+4r3/1Q1qk2p/p4pp1/3Pb3/P7/6PP/5P2/4R1K1 w - - bm d6+; id "WAC.292";
+1nbq1r1k/3rbp1p/p1p1pp1Q/1p6/P1pPN3/5NP1/1P2PPBP/R4RK1 w - - bm Nfg5; id "WAC.293";
+3r3k/1r3p1p/p1pB1p2/8/p1qNP1Q1/P6P/1P4P1/3R3K w - - bm Bf8 Nf5 Qf4; id "WAC.294";
+4r3/p4r1p/R1p2pp1/1p1bk3/4pNPP/2P1K3/2P2P2/3R4 w - - bm Rxd5+; id "WAC.295";
+3r4/1p2k2p/p1b1p1p1/4Q1Pn/2B3KP/4pP2/PP2R1N1/6q1 b - - bm Rd4+ Rf8; id "WAC.296";
+3r1rk1/p3qp1p/2bb2p1/2p5/3P4/1P6/PBQN1PPP/2R2RK1 b - - bm Bxg2 Bxh2+; id "WAC.297";
+3Q4/p3b1k1/2p2rPp/2q5/4B3/P2P4/7P/6RK w - - bm Qh8+; id "WAC.298";
+1n2rr2/1pk3pp/pNn2p2/2N1p3/8/6P1/PP2PPKP/2RR4 w - - bm Nca4; id "WAC.299";
+b2b1r1k/3R1ppp/4qP2/4p1PQ/4P3/5B2/4N1K1/8 w - - bm g6; id "WAC.300";
diff --git a/tests/zugzwang.epd b/tests/zugzwang.epd
new file mode 100644
index 0000000..df86e39
--- /dev/null
+++ b/tests/zugzwang.epd
@@ -0,0 +1,5 @@
+8/8/p1p5/1p5p/1P5p/8/PPP2K1p/4R1rk w - - 0 1 bm Rf1; id "zugzwang.001";
+1q1k4/2Rr4/8/2Q3K1/8/8/8/8 w - - 0 1 bm Kh6; id "zugzwang.002";
+7k/5K2/5P1p/3p4/6P1/3p4/8/8 w - - 0 1 bm g5; id "zugzwang.003";
+8/6B1/p5p1/Pp4kp/1P5r/5P1Q/4q1PK/8 w - - 0 32 bm Qxh4; id "zugzwang.004";
+8/8/1p1r1k2/p1pPN1p1/P3KnP1/1P6/8/3R4 b - - 0 1 bm Nxd5; id "zugzwang.005";