import std.algorithm, std.conv, std.stdio, std.string, std.digest.md; immutable I_USED_THIS_SHELL_SCRIPT = q"EOS numbers=(17 18 11 19 14 24 25 26 28 29 30 34 37 38 39 42 61 59 62 64) for i in $(seq 1 20); do wget http://yukicoder.me/problems/${numbers[$(($i - 1))]}/testcase.zip -O $i.zip done for i in $(seq 1 20); do unzip $i.zip for f in $(ls test_*/*); do echo $(md5sum $f) $i done rm -r test_* done EOS"; immutable DATA = q"EOS 6652370b32194cf3a793dd95f0213160 test_in/01.txt 1 a0ff11074dd38e1dabcead1ccb08d258 test_in/02.txt 1 07b1242b82b8498105dc3c020787bcf4 test_in/03.txt 1 05ea0e7b9a059297769052a695994824 test_in/04.txt 1 044ca7878819b25e0b3b2cbcda77a3bb test_in/05.txt 1 19ce0b06739d3e5b904042ab27ba2cc0 test_in/06.txt 1 27c81e809a4c58edcbbaf31d0f0af41c test_in/07.txt 1 5ce4c31c5433a857d6930cfd1133ed7e test_in/08.txt 1 f9cfb69f810087cdd68fad217ec8b141 test_in/09.txt 1 6df45e4bf6afca75da7a79690165e91b test_in/10.txt 1 dbbf8220893d497d403bb9cdf49db7a4 test_out/01.txt 1 6eb5cefde6fcb8463cea70880a44eb98 test_out/02.txt 1 eb844645e8e61de0a4cf4b991e65e63e test_out/03.txt 1 84bc3da1b3e33a18e8d5e1bdd7a18d7a test_out/04.txt 1 26ab0db90d72e28ad0ba1e22ee510510 test_out/05.txt 1 0f0254a21dc87e8fc35a9c2402db93b6 test_out/06.txt 1 3bb50ff8eeb7ad116724b56a820139fa test_out/07.txt 1 eb844645e8e61de0a4cf4b991e65e63e test_out/08.txt 1 f0810a231ce25a35e0b225652e9e54ed test_out/09.txt 1 1ff1f1079687389af8322c6035ce3ba5 test_out/10.txt 1 48a24b70a0b376535542b996af517398 test_in/01.txt 2 166d77ac1b46a1ec38aa35ab7e628ab5 test_in/02.txt 2 7c67493bd72ceff21059c3d924d17518 test_in/03.txt 2 412009a52065c979bb390cf7defec31c test_in/04.txt 2 2260241c53ee2ec4f3ce5bffbbaca0c1 test_in/05.txt 2 77a319564621b96fa0656e24c67960ef test_in/06.txt 2 d38ce094b8ba92f37f97d681659bd1bc test_in/07.txt 2 42c464c02bc6377b92670ce79d63dbc4 test_in/08.txt 2 2523a81a95406a47b0d10fe37d3a7367 test_in/09.txt 2 ce5fa3a1754527bb45a2156001356651 test_in/10.txt 2 9265043d3ed60c298bf724d7bfede7e6 test_out/01.txt 2 9265043d3ed60c298bf724d7bfede7e6 test_out/02.txt 2 9265043d3ed60c298bf724d7bfede7e6 test_out/03.txt 2 a2eae7400008e77790c3272f754a14db test_out/04.txt 2 a2eae7400008e77790c3272f754a14db test_out/05.txt 2 9265043d3ed60c298bf724d7bfede7e6 test_out/06.txt 2 a2eae7400008e77790c3272f754a14db test_out/07.txt 2 9265043d3ed60c298bf724d7bfede7e6 test_out/08.txt 2 a2eae7400008e77790c3272f754a14db test_out/09.txt 2 a2eae7400008e77790c3272f754a14db test_out/10.txt 2 1dcca23355272056f04fe8bf20edfce0 test_in/1.txt 3 2cf2c17644d5bfc8aa0e1b4086172632 test_in/10.txt 3 65b6d8eb5086144489b00ce3565d47c1 test_in/11.txt 3 24b4973dc22412630432ce254a72e5a1 test_in/12.txt 3 636534c069c5939bae82fe746ad223fe test_in/13.txt 3 f760ff3894d8b6c7583306926bf4b37f test_in/14.txt 3 7bcceb8a9d3595e980190e2fee303ae9 test_in/15.txt 3 341f9041b1ba9a11317cc6eb2bddb055 test_in/16.txt 3 23d7a42110e7261c1349df9b9f022d32 test_in/17.txt 3 7a94fb5edbc2e8aedb3be36daaaf354b test_in/18.txt 3 831b2a2769ffdb16b9f4cfe8193d2b66 test_in/19.txt 3 166d77ac1b46a1ec38aa35ab7e628ab5 test_in/2.txt 3 d00e27d3fcfc6165d3e3f998d4218866 test_in/20.txt 3 48a24b70a0b376535542b996af517398 test_in/3.txt 3 0cd148eadafd85228b59bcd35237a594 test_in/4.txt 3 2f0b1cf366e0c7a3025a955ad7e4143d test_in/5.txt 3 9b668c9eb33ebf0cf3ad8f84c1f46bc8 test_in/6.txt 3 9104df7d35553828d0f7fd3560857c6b test_in/7.txt 3 0afe2e990f8f7ba1a137789c3c6b7f5d test_in/8.txt 3 7b79aca0f34c64fab64cb38d4dd8b9e2 test_in/9.txt 3 48a24b70a0b376535542b996af517398 test_out/1.txt 3 c2676d1aaf1ade280ebfe10526e16c24 test_out/10.txt 3 117796bc7e35da47adac8f9ad8f1dd7d test_out/11.txt 3 8f43fe94579c8e2e530fffa03fd41b76 test_out/12.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/13.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/14.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/15.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/16.txt 3 13e5e996cd65561509a70844b258b974 test_out/17.txt 3 11cf4a625d9b305981b8a85a4ae387f2 test_out/18.txt 3 cf8d7b68cb9a2f36671bd973a5a328d7 test_out/19.txt 3 7c5aba41f53293b712fd86d08ed5b36e test_out/2.txt 3 a25e229991ab7b8c6ab5414ff586346b test_out/20.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/3.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/4.txt 3 63cf7c8db392ec220067e32694368210 test_out/5.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/6.txt 3 eb844645e8e61de0a4cf4b991e65e63e test_out/7.txt 3 0d96f49fdbbfecd236f36b3df4608c69 test_out/8.txt 3 fb69a746ba497a69ef57c1f704c8f4e3 test_out/9.txt 3 e06f49bab0dc706353c3eac8515a0c6d test_in/01.txt 4 63fcd32a7cc5c631821b552f823b69c7 test_in/02.txt 4 a95436eaf70f13d462f56edadcec60c4 test_in/03.txt 4 814256effae8c30132d485646b461054 test_in/04.txt 4 62366b47f0deb3023b82d2a5e4dd7681 test_in/05.txt 4 1226dda25a718c5fc8c5682bc9affe6f test_in/06.txt 4 52a541324ad29578fddcb0db2217db6e test_in/07.txt 4 cfd2cbf37ce05dd875b01ded08f2c93b test_in/08.txt 4 4c96e76f1a379a3f07d72b4b1006e4dd test_in/09.txt 4 f32c53d700e5240e7b18c59296172796 test_in/10.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/01.txt 4 182f893f1518ca161126bd42f8a051e4 test_out/02.txt 4 182f893f1518ca161126bd42f8a051e4 test_out/03.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/04.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/05.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/06.txt 4 182f893f1518ca161126bd42f8a051e4 test_out/07.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/08.txt 4 182f893f1518ca161126bd42f8a051e4 test_out/09.txt 4 8d014a8b61c251bc6cf9fd8e33ec606c test_out/10.txt 4 9a112ddb8e7ed6fcc4a7edcab6d0f183 test_in/1.txt 5 8e8d20fede3050ed3d7e2a7feb3f7305 test_in/10.txt 5 5a65ad55ad9b045de482639b3e1d0e28 test_in/11.txt 5 903363a17e8c209f8c2d40a899c6c7e7 test_in/12.txt 5 dcd4429b510b763465b3be3692a254b6 test_in/13.txt 5 e2fa60b0465c5403aef5948029358278 test_in/14.txt 5 25837dd4e89cb880953db777a9f8ef64 test_in/15.txt 5 112c6762489cf067891d8811542db463 test_in/16.txt 5 57ce7afa7dff3b83425bba9b3eae4fac test_in/17.txt 5 1560d4323fa3900c1521117fb356641e test_in/18.txt 5 a04515fedb908363f860a7ceabb31c7e test_in/19.txt 5 639e27317ecb73ca5c925130ecf4cf45 test_in/2.txt 5 897bd0ac6d88cc34834f9f70dcb46a43 test_in/20.txt 5 280262bb00bfccfa4c24774d8faccde2 test_in/3.txt 5 71d44ee4b6bfd933b5f3a6d734e4779c test_in/4.txt 5 57bcb37b063bbbe7aac77a75649f85b5 test_in/5.txt 5 20dec015c383f62d1294bb3932783780 test_in/6.txt 5 e2ba7028637aa03b08e0ecdbe3b673b0 test_in/7.txt 5 4cf27ed0c222e2ad1926b5bef5ec3de4 test_in/8.txt 5 c322bc20762ac095f73e927908a72a15 test_in/9.txt 5 26ab0db90d72e28ad0ba1e22ee510510 test_out/1.txt 5 6ae2481905403d48e262774919e04927 test_out/10.txt 5 83de9f8ad800dc61db7810021d57f37a test_out/11.txt 5 071867626474acbe0af380ca62c1e98f test_out/12.txt 5 f3527f99cc6f600235ae6b562d3980d9 test_out/13.txt 5 969049573085c71a5d6dc034e34b56bf test_out/14.txt 5 cf4278314ef8e4b996e1b798d8eb92cf test_out/15.txt 5 fe9d26c3e620eeb69bd166c8be89fb8f test_out/16.txt 5 12fc54257f1ae2301d3f9db906d7f414 test_out/17.txt 5 f52f163317380a912b84fa81a69c6d6e test_out/18.txt 5 52ee216e7ea72db74e87cc1819fc6c59 test_out/19.txt 5 1dcca23355272056f04fe8bf20edfce0 test_out/2.txt 5 fca54b184f3da329ae09e8978790ded4 test_out/20.txt 5 b026324c6904b2a9cb4b88d6d61c81d1 test_out/3.txt 5 0a5ec754e3041febfcc17fffbb892d75 test_out/4.txt 5 54a24082cfebcd031ae7d0275379511e test_out/5.txt 5 0a5ec754e3041febfcc17fffbb892d75 test_out/6.txt 5 2fe51daae840593fb0f4076b307ccefb test_out/7.txt 5 d02a55da8edcc7ec95a59ce5c8a93f5b test_out/8.txt 5 919d117956d3135c4c683ff021352f5c test_out/9.txt 5 67b658cd26e2686929146241849276bf test_in/01.txt 6 3256f7590ddb45e4de2516f5fae95396 test_in/02.txt 6 12d1b73586d2f1a300f1ce6cc63edfab test_in/03.txt 6 889e77df1791d0a410a93947efc15fe7 test_in/04.txt 6 0a70991fbdf912c2eebed27e8abcafd2 test_in/05.txt 6 3f40c7b729fbd6be4ade89664ce30c6f test_in/06.txt 6 753ae3dc34f7b1f3933de4283d8509c9 test_in/07.txt 6 ab09c2523f5cad11cdd9e3378ed480ed test_in/08.txt 6 1646f815e617a1506c3e57a26c158fb7 test_in/09.txt 6 a1a5eac67c41f1354e4d7e50ba16ad78 test_in/10.txt 6 6d7fce9fee471194aa8b5b6e47267f03 test_out/01.txt 6 4f89a0f6c113ae3ff279af1e6c6286bb test_out/02.txt 6 6d7fce9fee471194aa8b5b6e47267f03 test_out/03.txt 6 ba8e026107b5c34d93391f64ea5b8b5b test_out/04.txt 6 40c114657016e0d701408eb5c11c9e7f test_out/05.txt 6 f2ca4241d0525d3601deeb62adc69afb test_out/06.txt 6 a7051e28bbcf02eb611bf8025f8e51ef test_out/07.txt 6 5c963cb01a25fffe54b459f7dc10c310 test_out/08.txt 6 fdb363807c64cbd35a49c568430f99ad test_out/09.txt 6 938ae0b427d42a72d585c8234aec22c9 test_out/10.txt 6 1dcca23355272056f04fe8bf20edfce0 test_in/01.txt 7 2737b49252e2a4c0fe4c342e92b13285 test_in/02.txt 7 154773ae5dc2d36d8b9747e5d3dbfc36 test_in/03.txt 7 ea19a0aa2adcf89283def6d8e8e12f15 test_in/04.txt 7 9c3c5c2435f8cd250da195e192eb88b7 test_in/05.txt 7 ea3bd91b35832daeb93799e030601a7a test_in/06.txt 7 3586677e327b69ba5ce5a7eff989cc13 test_in/07.txt 7 f3f445bcd060de295eb489d0232d1a31 test_in/08.txt 7 7714e8d6873173aa18bb3a91390ed0e6 test_in/09.txt 7 73a3e00facac0425e3a14ff87e2cb6f0 test_in/10.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/01.txt 7 fc07e56c1012af450b912af02f1e7c30 test_out/02.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/03.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/04.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/05.txt 7 fc07e56c1012af450b912af02f1e7c30 test_out/06.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/07.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/08.txt 7 92289ff0469cfacb19a2809e6b44b93a test_out/09.txt 7 fc07e56c1012af450b912af02f1e7c30 test_out/10.txt 7 04e90eb0c4a65eefa084dfea8e89de9f test_in/01.txt 8 e867414a12769d8adc9086093620b4a3 test_in/02.txt 8 c15d6580553f2be2c4b133441da760f3 test_in/03.txt 8 e28f58da56e572f4f27f9b837a4fe8c5 test_in/04.txt 8 d04e3cd98784a870b8dae31ab8e2c935 test_in/05.txt 8 897059f9374e64ed03e09a5b5044794c test_in/06.txt 8 69d224c83e03e0c3f6ff466fa06bc7dc test_in/07.txt 8 de61c37c042526933ac9ff5c99dd8681 test_in/08.txt 8 b627b556c53cb20b9ae8fa4665925aa9 test_in/09.txt 8 735f5246a7bde15f85ae368917eee087 test_in/10.txt 8 fc07e56c1012af450b912af02f1e7c30 test_out/01.txt 8 92289ff0469cfacb19a2809e6b44b93a test_out/02.txt 8 5ff2d623f9ec55b7207a0e15f076a511 test_out/03.txt 8 b9d27fd37514d704abe776e239029fae test_out/04.txt 8 559ffd2e020994c7117fdc38da1dd97d test_out/05.txt 8 a3d50a58dc67267b5e4619ecf73b2dcc test_out/06.txt 8 a3d50a58dc67267b5e4619ecf73b2dcc test_out/07.txt 8 a3d50a58dc67267b5e4619ecf73b2dcc test_out/08.txt 8 a3d50a58dc67267b5e4619ecf73b2dcc test_out/09.txt 8 a3d50a58dc67267b5e4619ecf73b2dcc test_out/10.txt 8 d9bc5bd50f7d4175f08955d629eb9cc9 test_in/01.txt 9 10f17e9e1e939fdedb8c97943d2502a8 test_in/02.txt 9 ce4f6cff52f7d4ad5304feb27a9ec734 test_in/03.txt 9 b2daf9bfbd08127bd85360ff51251500 test_in/04.txt 9 4d67ab951f390c4d58f87fcff508936a test_in/05.txt 9 06e4c6deb83d037c8e657a3a3b0f97e7 test_in/06.txt 9 295cb3d456c8af79901d0a3ec953b0c9 test_in/07.txt 9 cba60ca2c46c12714192c1247aa61d72 test_in/08.txt 9 1f13cd7b4c0c6d016de7d378ec965916 test_in/09.txt 9 78eda977b71d73abe019c283f3e46007 test_in/10.txt 9 26ab0db90d72e28ad0ba1e22ee510510 test_out/01.txt 9 26ab0db90d72e28ad0ba1e22ee510510 test_out/02.txt 9 1dcca23355272056f04fe8bf20edfce0 test_out/03.txt 9 48a24b70a0b376535542b996af517398 test_out/04.txt 9 1dcca23355272056f04fe8bf20edfce0 test_out/05.txt 9 1dcca23355272056f04fe8bf20edfce0 test_out/06.txt 9 48a24b70a0b376535542b996af517398 test_out/07.txt 9 6d7fce9fee471194aa8b5b6e47267f03 test_out/08.txt 9 48a24b70a0b376535542b996af517398 test_out/09.txt 9 1dcca23355272056f04fe8bf20edfce0 test_out/10.txt 9 6937d293db46952863894ffaea18f99b test_in/01.txt 10 a7afcf80942e478e802916baafcc50bf test_in/02.txt 10 b34fdcc268ba7c2a6c7dd7a06862b4fc test_in/03.txt 10 c5605a6eccd1e3cb802334b854f88613 test_in/04.txt 10 542f99fda489cdf19d1572e76a8be4f3 test_in/05.txt 10 bed95ecb7d0c1ea9894e19cd39eff0b7 test_in/06.txt 10 5a5277a7263c3b11d0559a95d55404fa test_in/07.txt 10 36c7943a67d5fb10cd92e9da6d4dbd06 test_in/08.txt 10 70db4655dca83a9646dcec64e6a7a47a test_in/09.txt 10 b3075c073d857fbaeea5cb02e955585e test_in/10.txt 10 62f76ed64ab8574e4818253d3197acaf test_out/01.txt 10 cad6e9f5464156c7f7120a2088e7bdae test_out/02.txt 10 9307070f7f02d59e01e5132a86e219d6 test_out/03.txt 10 d375aa5ac2fd2c8dd5e9b320bb86c06b test_out/04.txt 10 8337cdc20a473048fff4b5f23082b5d2 test_out/05.txt 10 bd16940c302ef9ed31400029db66775a test_out/06.txt 10 d56c49f6f3ad58f6711275781d9cdbb9 test_out/07.txt 10 db67058a98ec542c1f34bb0de89f82a2 test_out/08.txt 10 d2b27a7515e422d0aadaf56d2476624d test_out/09.txt 10 faa9ce1d2d9a0fed127723ea737ef113 test_out/10.txt 10 1654a8c8c9a701d9af1d3225f806c8ea test_in/01.txt 11 cb22401e804a0f9f8a2b4cd1148cdb59 test_in/02.txt 11 5a1d23af7e280fd3311db856a09d1589 test_in/03.txt 11 953bda33c0737b70e0ebfd7a62eff011 test_in/04.txt 11 fb4801ff7e42a6ab32df6121833402f8 test_in/05.txt 11 769a804887b4cd8531d7a260e62e1e15 test_in/06.txt 11 02e391672b973f45ad99d5c39f489c08 test_in/07.txt 11 516d0754abe4ed0519ecdef06ac691ba test_in/08.txt 11 1e105907749179a4091d813c2ee8e98d test_in/09.txt 11 1683c60e44aa346186f06a3f1fc29340 test_in/10.txt 11 1dcca23355272056f04fe8bf20edfce0 test_out/01.txt 11 66a7c1d5cb75ef2542524d888fd32f4a test_out/02.txt 11 08c61f3fd48f12fa7c88a7f5fd01df3d test_out/03.txt 11 6d7fce9fee471194aa8b5b6e47267f03 test_out/04.txt 11 31071d3c9c5921b209385052ece41603 test_out/05.txt 11 897316929176464ebc9ad085f31e7284 test_out/06.txt 11 7da9bb030980c58adb5b185eb9b0ae88 test_out/07.txt 11 18f13f82a879537984457c7124c7d61e test_out/08.txt 11 92f10d5bc80abba38aeb83e8a707c144 test_out/09.txt 11 19c08777e82490aae73c102ca116b5db test_out/10.txt 11 bff03983d6adf93605e5627d535108fe test_in/01.txt 12 63fcd32a7cc5c631821b552f823b69c7 test_in/02.txt 12 0a1a4402784a4f0d9b0a5dbda86bfc0b test_in/03.txt 12 14e6469a6cbe01e2d14788323cda5278 test_in/04.txt 12 8fbdf6ae76ffc51b09ce4972da1b9819 test_in/05.txt 12 1484f8f594234ef7b119f953de149356 test_in/06.txt 12 631cf67970a7299a92d5ef63a4b45ba4 test_in/07.txt 12 502081f9875f784ace998491e4cca783 test_in/08.txt 12 a5133e8758226b016795d3a3f8ff0b86 test_in/09.txt 12 a9f25ae34090d314b42ff6cc2557430d test_in/10.txt 12 26ab0db90d72e28ad0ba1e22ee510510 test_out/01.txt 12 dc35b9fd881cc59bf54338af51a41c6e test_out/02.txt 12 eb844645e8e61de0a4cf4b991e65e63e test_out/03.txt 12 6cb1b6668270637a22383684af1a2d06 test_out/04.txt 12 c1cc2eeb27a86f85032b210ff5ef5d02 test_out/05.txt 12 1ad002f8afb2fb847d201f7bf00505be test_out/06.txt 12 7b121a83eeb91db8b2b7274cf6d4cde8 test_out/07.txt 12 abdb4c506487142d1b65ef22d96b1872 test_out/08.txt 12 b17bf99d69b88017a7af6c7029c2db25 test_out/09.txt 12 dc35b9fd881cc59bf54338af51a41c6e test_out/10.txt 12 26c5eab8b115230d36e4cfe4a2ec3fae test_in/01.txt 13 e7e4e926175b077ed98ef043a04b21ff test_in/02.txt 13 af9a6e22b3c5e46b39fea26ecd4123b7 test_in/03.txt 13 1f93e77bd74fe00832863dca8a6ad586 test_in/04.txt 13 04719acbd396685f7b3803715233610e test_in/05.txt 13 03d75a9d6beffdb64beabb3ce8eea295 test_in/06.txt 13 1b2d2f8297e503bb4d78fbeed22d2581 test_in/07.txt 13 18925ed4c02e665f2aa4097896c62760 test_in/08.txt 13 92db00c00a2dc592678787afc29dadd1 test_in/09.txt 13 d5950720b9fced80f43dad6451ef2cad test_in/10.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/01.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/02.txt 13 182f893f1518ca161126bd42f8a051e4 test_out/03.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/04.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/05.txt 13 182f893f1518ca161126bd42f8a051e4 test_out/06.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/07.txt 13 182f893f1518ca161126bd42f8a051e4 test_out/08.txt 13 182f893f1518ca161126bd42f8a051e4 test_out/09.txt 13 8d014a8b61c251bc6cf9fd8e33ec606c test_out/10.txt 13 63fcd32a7cc5c631821b552f823b69c7 test_in/01.txt 14 9b52ac72a1db8a58c15ab3c013e20d5f test_in/02.txt 14 d25689411714f9dfcdde9bc3a0f6dfb4 test_in/03.txt 14 941e03e434437de0999391da8916aacb test_in/04.txt 14 901d8a50d703d2c7a43285a948f791cf test_in/05.txt 14 024d41b22e39d226935e0f25945d36b4 test_in/06.txt 14 a19bf635399e04bbcb02121cc2214356 test_in/07.txt 14 6300ac99d05f38004a5bec39e1648c74 test_in/08.txt 14 1e0a5907cb9eabfa9ab761f54eb57254 test_in/09.txt 14 78bfeba3c23fbbee3dd8f3f782c83e6e test_in/10.txt 14 19c5ef6f216e26efa6273cdba2f3fa1d test_out/01.txt 14 48c7b28995c126707b8331c5fc5273b9 test_out/02.txt 14 222042044c4c6499d012669316f484d5 test_out/03.txt 14 30aeb4ef442481f4138b059ff783b9ee test_out/04.txt 14 37a0748e714d4dd6f051ed93863b6a76 test_out/05.txt 14 3abaf9c3d2d66f7fd5c96af468090650 test_out/06.txt 14 d4502bbc31ad2250640407831f41f81c test_out/07.txt 14 dcfce7cb505ad93308b5285099ba1b94 test_out/08.txt 14 cd04592d12f742e29ab14b5a2d5651af test_out/09.txt 14 2b2cd550c81d61ce8a85d06e5a866722 test_out/10.txt 14 7347952976c1f8076ea0e520403aa8b1 test_in/01.txt 15 69a73db785317c02e06eda369a3f197f test_in/02.txt 15 7f8b9844442ba115d092834b8787fe25 test_in/03.txt 15 d25873c6c96c491a7e4f1c4a4d2aacfc test_in/04.txt 15 3e47105edbc4b6153045c7da5bb59d0a test_in/05.txt 15 6285d23c98f0e51ce3a202f05132b5b3 test_in/06.txt 15 c1e6ce0ebfa550d2ea8d07ab3d77368e test_in/07.txt 15 f2586ffb82eb999f8f362d8bdbe5926e test_in/08.txt 15 f2ca8ea3e2f284ec039142843391f597 test_in/09.txt 15 ca1f07875076db079bb589ecf063ff35 test_in/10.txt 15 26ab0db90d72e28ad0ba1e22ee510510 test_out/01.txt 15 9f96ef92fe742165873c313662f1f2b8 test_out/02.txt 15 ea797ee5112b9d2e745c4e984b7290fa test_out/03.txt 15 7c140c860cfc9868b7ab135b1fe7b613 test_out/04.txt 15 f451728cf7150852ec6e6c501165db5d test_out/05.txt 15 c24b57c73a0a33bb2503e5971f7264d5 test_out/06.txt 15 e8ee19320f9e192b4d6486b11ea2b4a9 test_out/07.txt 15 984684b7e26ac8db7c7573513fc7c3c3 test_out/08.txt 15 885d615b190bf1835055dc1868af3399 test_out/09.txt 15 2031603524de12cc0b02755da91ee4d3 test_out/10.txt 15 25b08a7ba235e4f3fe3621346ecf96d6 test_in/01.txt 16 bb7863245578f9ed7e403cd69ac542e0 test_in/02.txt 16 a2221079a65f6e48e307d906dffa8c98 test_in/03.txt 16 66b1df50081bf00dfacde3eba29ca26a test_in/04.txt 16 c7c00fb91cbda76c360e8cd4603f2546 test_in/05.txt 16 30fe40e854265fe512ae41632aaf5461 test_in/06.txt 16 0962913387147a026853df3656384267 test_in/07.txt 16 f551e1f383fe62bb5433406515a4044d test_in/08.txt 16 41ce28cbc8ae6b8c38e207dbfa8e864d test_in/09.txt 16 40c5903f2ac38f537153456623ae8c6b test_in/10.txt 16 367764329430db34be92fd14a7a770ee test_out/01.txt 16 cb7eacc9fa7201d1af8723566f394ac8 test_out/02.txt 16 30a1bd0141b3dc3708eaea9892e5acce test_out/03.txt 16 7556589f870e2b034ebef1fd1e6fc787 test_out/04.txt 16 1f29bb47016cc760cdf6f1c33e865444 test_out/05.txt 16 71900fb92f3348e5e9cbabf3ad8d6a7f test_out/06.txt 16 d408cbfd0a385ed618ec7b48ebeb1982 test_out/07.txt 16 83b171deb2ae3232b67496f43502d512 test_out/08.txt 16 3c0af8346278e863581d3dac8df80204 test_out/09.txt 16 47a055bad840aaffb64a9b46a54f2d36 test_out/10.txt 16 379a6ea076a2c2e45179e0295e841c1a test_in/01.txt 17 04527639dfe5c71ca0e8929364359042 test_in/02.txt 17 58a1449661dd9f1d1e84af0c46089b0a test_in/03.txt 17 2da4ef6354830f897df20f31b1575e46 test_in/04.txt 17 154c3f67019f857ac1aa2cc34ba51944 test_in/05.txt 17 07fc8d70b6cbb95549225d2695877d1c test_in/06.txt 17 4a2150eb720a644dc8b6876aa6a666d0 test_in/07.txt 17 1c0b2a5b7cf19bda5cb140b3a268ad8d test_in/08.txt 17 1d81ac157b0da870c333a69b3ce5570f test_in/09.txt 17 0da7211eb512f022cbd1dad72482c485 test_in/10.txt 17 4df9699916cff49b080f7ce773e9aab7 test_out/01.txt 17 4d095eeac8ed659b1ce69dcef32ed0dc test_out/02.txt 17 ad865d2f63b9feb2552c220385fbb7e3 test_out/03.txt 17 e68237b6bff98e89da4936ddb0ae19a3 test_out/04.txt 17 f498cc98ded256b5044b61b48fb6b642 test_out/05.txt 17 2eb5afb64fcc4eae09db82b522f20219 test_out/06.txt 17 4479235f75efaad02357cbffd0fa0ec1 test_out/07.txt 17 e216f4b5fa1e845be11bd0eb9b35d4f9 test_out/08.txt 17 cd0a54e70051990d13f1fec4a08aa0f6 test_out/09.txt 17 f7d4d644b2a1d3736cf19168cb891beb test_out/10.txt 17 e8c7a1827eafd0c6559fae70c10811ec test_in/01.txt 18 1d238b74da513ce35e129e7dc07060ad test_in/02.txt 18 3a0f87b466cf09effd45e034b87c2ca7 test_in/03.txt 18 32e84f6f705d0d73a3fd81b8fe969d3c test_in/04.txt 18 926a0b18b732d780705990d67bcb2fa3 test_in/05.txt 18 7028aa6d2e9a0ec8bbf5c1ed08e3902c test_in/06.txt 18 9384be8512f8aec7aa4fa37bf86f9bce test_in/07.txt 18 05ca2465e53ec613e2bc48a86e0cc224 test_in/08.txt 18 d230988d1775cfee8c3f0c9cc8423580 test_in/09.txt 18 9a0fd8539b6a8f4bede138f7722f64b7 test_in/10.txt 18 8880cd8c1fb402585779766f681b868b test_out/01.txt 18 3816b9455bff65c0d6781e29ac4fb689 test_out/02.txt 18 bcf38dfb00f290d54875b906201d2da4 test_out/03.txt 18 100316529dff2c4163d6ce61d978c5e8 test_out/04.txt 18 6461377af21d6ec4c0988c8997f45440 test_out/05.txt 18 1130804af1c01f2d3a4469a629ffaccb test_out/06.txt 18 2ce28647fca9d87eeab80511e9995812 test_out/07.txt 18 4fd7da007a3a1d3b8fa014f1ac52c14c test_out/08.txt 18 100f8eece8c0754e51f3bade762f106f test_out/09.txt 18 7371adbd93c94881d999c233ef971ace test_out/10.txt 18 35da554db44d0d55ea70e1623d70ec5f test_in/01.txt 19 59e51a952057d16aa0298e280ec8c4ec test_in/02.txt 19 4202100d69b7ccbf990d1cbcd2952386 test_in/03.txt 19 539e7acc618a252803e7b78531eac3c9 test_in/04.txt 19 5378c0f1c438a3582e7f48c1e0001bf0 test_in/05.txt 19 fb3d71da7d47e45e016ce8ad024277d5 test_in/06.txt 19 3ca3ddafc377ef4fd5e9e6939bb3caad test_in/07.txt 19 25c33d89a305bb3860f2e2fb3c15a7af test_in/08.txt 19 c793747d888343a444e3eb2f2d67d649 test_in/09.txt 19 cda9be8c6418bc5dd0648f8917d5f04b test_in/10.txt 19 6aaf9da96067c818ca7a682984fc1579 test_out/01.txt 19 f54b71b1e792aa205d057a7c19cb3043 test_out/02.txt 19 c2f228cef99be772288471fdb164ed95 test_out/03.txt 19 f21193a5437fc27dc01adb9710f862c5 test_out/04.txt 19 32816721eb19267cf54b42422c7c683e test_out/05.txt 19 1f31df214ebf967c0b58d3a9b69a5a55 test_out/06.txt 19 7c06336c0dcf3e484d1483d57a6359af test_out/07.txt 19 df08d1d77a759a0da5ed5f7820c28565 test_out/08.txt 19 562d53bc81bc702b24b076936b3c63c5 test_out/09.txt 19 6ba7a46b681801a9fbf3215f45ac7a16 test_out/10.txt 19 4c364b8caeb9c56abc9a03bc63c5959a test_in/01.txt 20 7b2379be46b7f29487cba1a07b0c186d test_in/02.txt 20 b5504429e5c2a7916646067dfa47a920 test_in/03.txt 20 3dc31179cfa2da90e6a47f68486a132e test_in/04.txt 20 2a6e56572624997949ef6425ac80ee88 test_in/05.txt 20 7987075cad4cd0f132504bfee43824b5 test_in/06.txt 20 6dc97ae26910c63d16220b23bf2b0358 test_in/07.txt 20 968b17fad55dd5d4e7e524f97d7c30a8 test_in/08.txt 20 b2d6365384b82ad797b6936d8c40ab63 test_in/09.txt 20 82b6dcdb2898a06ffb1bb38bc8fe4ecb test_in/10.txt 20 21da93069c74dfbc3c02999e8f27a712 test_out/01.txt 20 21da93069c74dfbc3c02999e8f27a712 test_out/02.txt 20 19541a2746e08a6b8f5145bdbaa23e45 test_out/03.txt 20 19541a2746e08a6b8f5145bdbaa23e45 test_out/04.txt 20 21da93069c74dfbc3c02999e8f27a712 test_out/05.txt 20 21da93069c74dfbc3c02999e8f27a712 test_out/06.txt 20 19541a2746e08a6b8f5145bdbaa23e45 test_out/07.txt 20 21da93069c74dfbc3c02999e8f27a712 test_out/08.txt 20 19541a2746e08a6b8f5145bdbaa23e45 test_out/09.txt 20 19541a2746e08a6b8f5145bdbaa23e45 test_out/10.txt 20 EOS"; void main(string[] args) { bool[int][string] ids; foreach (datum; DATA.split("\n")) { const tokens = datum.split(" "); if (tokens.length == 3) { if (tokens[0] !in ids) { ids[tokens[0]] = null; } ids[tokens[0]][tokens[2].to!int] = true; } } string input; for (string line; (line = readln) != null; ) { input ~= line; } const md5 = input.md5Of.toHexString!(LetterCase.lower); // writeln(ids[md5.to!string].keys.sort.to!string.removechars("[],")); import std.array; const ans = ids[md5.to!string].keys.sort.array; writeln(ans.length); foreach (index, i; ans) { if (index > 0) write(" "); write(i); } writeln(); }