heh
| -rw-r--r-- | lut | 2 | ||||
| -rw-r--r-- | lut2 | 2 | ||||
| -rw-r--r-- | src/inp.txt | 5800 | ||||
| -rw-r--r-- | src/main.rs | 187 |
4 files changed, 3485 insertions, 2506 deletions
@@ -1 +1 @@ -{l[0x313030]=0x12d50fe222;l[0x323030]=0x1be99d58d8;l[0x333030]=0x2f01b8a0a0;l[0x343030]=0x4b543f8890;l[0x353030]=0x45c8095e26;l[0x363030]=0x5e0371414c;l[0x373030]=0x83d36f2f0a;l[0x383030]=0x6fa6756380;l[0x393030]=0x8d0529e204;l[0x303130]=0xdd96e52be8;l[0x313130]=0xcf27aeb776;l[0x323130]=0xfdf6b4fc50;l[0x333130]=0x10d1c6e5a40;l[0x343130]=0x137bd68f344;l[0x353130]=0x15fb5735d0a;l[0x363130]=0x16fc05b13a0;l[0x373130]=0x17a8a91b9d0;l[0x383130]=0x1a60cf0d630;l[0x393130]=0x1b4b46c2774;l[0x303230]=0x1506734d768;l[0x313230]=0x1a78f8e4488;l[0x323230]=0x13309c2d148;l[0x333230]=0x182dd165e1e;l[0x343230]=0x2042a112050;l[0x353230]=0x1b2c74ae158;l[0x363230]=0x1f0b2af3038;l[0x373230]=0x244af534490;l[0x383230]=0x1e6f3b006d8;l[0x393230]=0x22a0260f116;l[0x303330]=0x26997489aec;l[0x313330]=0x2b4b1c39d46;l[0x323330]=0x2ab3090fe00;l[0x333330]=0x20512eee6e0;l[0x343330]=0x3253273a080;l[0x353330]=0x31a0b351d62;l[0x363330]=0x2afbc5507b0;l[0x373330]=0x36c3e6ec58a;l[0x383330]=0x35e1acbf450;l[0x393330]=0x2e90c06c8a2;l[0x303430]=0x3765b94aff0;l[0x313430]=0x3ca96f99750;l[0x323430]=0x3cbe5af6368;l[0x333430]=0x3cf233a4598;l[0x343430]=0x33c9ebade30;l[0x353430]=0x3b85d26b286;l[0x363430]=0x3b83d37b5dc;l[0x373430]=0x4168e297a30;l[0x383430]=0x46577d79080;l[0x393430]=0x4663d16ec7c;l[0x303530]=0x34902041ae8;l[0x313530]=0x44288a4615e;l[0x323530]=0x3d170ac7948;l[0x333530]=0x3e43cafca62;l[0x343530]=0x44128001e5c;l[0x353530]=0x2ff98670ba2;l[0x363530]=0x3adedc72860;l[0x373530]=0x4c9e3e8ad30;l[0x383530]=0x3f0afa37be4;l[0x393530]=0x4671f5277ba;l[0x303630]=0x4d32e913650;l[0x313630]=0x59d108564cc;l[0x323630]=0x576ea0caf1c;l[0x333630]=0x50c1a19b3f2;l[0x343630]=0x59614287f00;l[0x353630]=0x56bbaa68472;l[0x363630]=0x40a25ddce44;l[0x373630]=0x632b63e3546;l[0x383630]=0x606b6b056e0;l[0x393630]=0x52628f84f46;l[0x303730]=0x60f20443470;l[0x313730]=0x690c701643e;l[0x323730]=0x6821c0818b0;l[0x333730]=0x6777757059a;l[0x343730]=0x6d7cbcef8b4;l[0x353730]=0x6c787ddc462;l[0x363730]=0x6bb7fc04bf8;l[0x373730]=0x5aa15c7056e;l[0x383730]=0x672c3986940;l[0x393730]=0x6635e0111fc;l[0x303830]=0x5419cd35ee0;l[0x313830]=0x6c4063240ec;l[0x323830]=0x605590ffaf8;l[0x333830]=0x61825134c14;l[0x343830]=0x7042c5a0a70;l[0x353830]=0x63dbd19ee4c;l[0x363830]=0x650891d3f68;l[0x373830]=0x6dac071f8b4;l[0x383830]=0x4cc270b4680;l[0x393830]=0x5d8fe77f326;l[0x303930]=0x73cc5d9d22c;l[0x313930]=0x85fd14d4b8a;l[0x323930]=0x81bcee988b0;l[0x333930]=0x773637b4750;l[0x343930]=0x8a67e2e15c4;l[0x353930]=0x85f7f6604cc;l[0x363930]=0x7b0ead1d600;l[0x373930]=0x877768d613e;l[0x383930]=0x82c44bc0b68;l[0x393930]=0x60f38ccb62c;l[0x303031]=0x69e18ab6488;l[0x313031]=0xabe165cbb82;l[0x323031]=0x8e7f6e60d58;l[0x333031]=0x9aeb7c510a8;l[0x343031]=0xb0fc5eae560;l[0x353031]=0x92b05b09616;l[0x363031]=0x9f6e9dc34c4;l[0x373031]=0xb6175790f4a;l[0x383031]=0x96e147b1ee0;l[0x393031]=0xa3f1bf358ec;l[0x303131]=0x747818954fc;l[0x313131]=0x5e72fc5f8d0;l[0x323131]=0x6f9ea03ee60;l[0x333131]=0x6d5907d3f6e;l[0x343131]=0x7979a87cdf8;l[0x353131]=0x8305dcbf2ec;l[0x363131]=0x80ce9739ca0;l[0x373131]=0x7cac0480376;l[0x383131]=0x8670de0db04;l[0x393131]=0x842361c1f66;l[0x303231]=0x8d125174b80;l[0x313231]=0xa793b6e9436;l[0x323231]=0x7995ee8da84;l[0x333231]=0x90992d17a30;l[0x343231]=0xb6188539b50;l[0x353231]=0x97690b9bdbe;l[0x363231]=0xa61bcb529ec;l[0x373231]=0xba8056e6852;l[0x383231]=0x9b0b4f78c00;l[0x393231]=0xaa1043f938c;l[0x303331]=0xa5c0aeb9b30;l[0x313331]=0xb56d253c138;l[0x323331]=0xae999c6d878;l[0x333331]=0x80b38c9c986;l[0x343331]=0xc4c7eacef14;l[0x353331]=0xbdda014227c;l[0x363331]=0xa0ccfbfbcd0;l[0x373331]=0xc92fbc7bc30;l[0x383331]=0xc2120caa17c;l[0x393331]=0xa45909125d4;l[0x303431]=0xb249d8cfc68;l[0x313431]=0xc0e764859e8;l[0x323431]=0xbd8bc3c0688;l[0x333431]=0xbabe9d9e680;l[0x343431]=0x9971409dbc0;l[0x353431]=0xafa2d006b76;l[0x363431]=0xac9fd246c94;l[0x373431]=0xbc326793118;l[0x383431]=0xc864ab40d40;l[0x393431]=0xc5700066704;l[0x303531]=0xc5bf9086edc;l[0x313531]=0xf220eb1b1e0;l[0x323531]=0xdb2a0ba3180;l[0x333531]=0xdc9b2a07890;l[0x343531]=0xeb42745edc0;l[0x353531]=0xb09898d528c;l[0x363531]=0xcda881d4018;l[0x373531]=0xfcf6f60e1ce;l[0x383531]=0xd5eeee2cfe0;l[0x393531]=0xe84e7c3a6fc;l[0x303631]=0xe2d6e277b40;l[0x313631]=0x10229e13ee62;l[0x323631]=0xf9b08dbad30;l[0x333631]=0xe64f648685c;l[0x343631]=0xfa8943686c8;l[0x353631]=0xf1ccbf500b8;l[0x363631]=0xb853c6c10b0;l[0x373631]=0x10d13bc5a198;l[0x383631]=0x1043cd7837b0;l[0x393631]=0xdff06e69e14;l[0x303731]=0xd87e3e20f40;l[0x313731]=0xe9f27f5b52e;l[0x323731]=0xe59743a4a28;l[0x333731]=0xe1ebf9c34da;l[0x343731]=0xee0d353d7cc;l[0x353731]=0xe9986a08402;l[0x363731]=0xe5d6e960960;l[0x373731]=0xbc9b34c1f7e;l[0x383731]=0xd79bba83eb0;l[0x393731]=0xd3a4623e534;l[0x303831]=0xed4c4708670;l[0x313831]=0x1223bcd8650a;l[0x323831]=0x1066b9b686cc;l[0x333831]=0x107dcb9ccdde;l[0x343831]=0x1270b4a91070;l[0x353831]=0x10abef695c02;l[0x363831]=0x10c3014fa314;l[0x373831]=0x11dac1f97d96;l[0x383831]=0xd631a7342e8;l[0x393831]=0xf929b0fc05c;l[0x303931]=0x10d5f2cee3d8;l[0x313931]=0x13244c3aa1dc;l[0x323931]=0x127edb175380;l[0x333931]=0x110b2d08c876;l[0x343931]=0x1371440b4d48;l[0x353931]=0x12c8d683b0ce;l[0x363931]=0x114eff4f3858;l[0x373931]=0x12cf2eea16f4;l[0x383931]=0x12228e59359c;l[0x393931]=0xdcf87a9a686;l[0x303032]=0xb8084431a60;l[0x313032]=0x13a30d3948b4;l[0x323032]=0xfe31c61d82c;l[0x333032]=0x1152e8a7f986;l[0x343032]=0x13ee15101d88;l[0x353032]=0x101f83750be0;l[0x363032]=0x11947307c898;l[0x373032]=0x14391ce6f268;l[0x383032]=0x105bea883fa0;l[0x393032]=0x11d5fd6797b6;l[0x303132]=0x118db7bc33c8;l[0x313132]=0xee53064c5a6;l[0x323132]=0x10e582d341b0;l[0x333132]=0x109757055ba0;l[0x343132]=0x11fa7718b574;l[0x353132]=0x130db28f6b5a;l[0x363132]=0x12c06befddf0;l[0x373132]=0x123afc5adb30;l[0x383132]=0x1351c22643b0;l[0x393132]=0x1303181a50f4;l[0x303232]=0xca6f7e369d0;l[0x313232]=0xf99e8ad7dba;l[0x323232]=0xa48a1e26d34;l[0x333232]=0xcd322d50f54;l[0x343232]=0x10fbad537f00;l[0x353232]=0xd710d5af272;l[0x363232]=0xf0366626b8c;l[0x373232]=0x1135e7a5c39e;l[0x383232]=0xd9eeed03850;l[0x393232]=0xf366b244cc8;l[0x303332]=0x11a535957004;l[0x313332]=0x134f16e8a12a;l[0x323332]=0x127d93ff5660;l[0x333332]=0xd665ca5370c;l[0x343332]=0x14c835e4aff8;l[0x353332]=0x13f50cef8156;l[0x363332]=0x10bd2824b320;l[0x373332]=0x150c6b18db76;l[0x383332]=0x143645bf5eb8;l[0x393332]=0x10f3a10f7a86;l[0x303432]=0x1550a04d0160;l[0x313432]=0x16d43b09ffb4;l[0x323432]=0x166b9ce6b790;l[0x333432]=0x1612df42c004;l[0x343432]=0x127fdccd3ca0;l[0x353432]=0x14ce74f9b26a;l[0x363432]=0x147259dbdc04;l[0x373432]=0x160a803ecb6c;l[0x383432]=0x174603b19820;l[0x393432]=0x16eacdc21a60;l[0x303532]=0x11bb5c6c4cf0;l[0x313532]=0x1646cbb10ada;l[0x323532]=0x13d1d24c7088;l[0x333532]=0x13e5f4a82be6;l[0x343532]=0x1556bd3540a4;l[0x353532]=0xf3bdbef9b4e;l[0x363532]=0x12284e41d800;l[0x373532]=0x16eef13a14f4;l[0x383532]=0x12dfef15a0bc;l[0x393532]=0x14ae3bbad176;l[0x303632]=0x164426412dc0;l[0x313632]=0x1961c8890f00;l[0x323632]=0x1875e8f46bc4;l[0x333632]=0x1671b82406be;l[0x343632]=0x186c1e54a200;l[0x353632]=0x177c0bb6b9e6;l[0x363632]=0x11aba5d0b97c;l[0x373632]=0x1a1838869dc2;l[0x383632]=0x19267fdcd1d0;l[0x393632]=0x157aa4d4cfaa;l[0x303732]=0x17fab456a3a8;l[0x313732]=0x19abba6bea6a;l[0x323732]=0x193322998aa0;l[0x333732]=0x18cc82b99dce;l[0x343732]=0x19f47a5c1b4c;l[0x353732]=0x197a4991d2be;l[0x363732]=0x191246458098;l[0x373732]=0x15005e561e12;l[0x383732]=0x179be5e82358;l[0x393732]=0x17308521f258;l[0x303832]=0x13dc15980670;l[0x313832]=0x18f0679b5ff0;l[0x323832]=0x162dd90c67c0;l[0x333832]=0x1641fb682320;l[0x343832]=0x193490cc6840;l[0x353832]=0x166a401f99e0;l[0x363832]=0x167e627b5540;l[0x373832]=0x181c770ccf50;l[0x383832]=0x11348bf98a80;l[0x393832]=0x147f8058571a;l[0x303932]=0x18d5dbe63f24;l[0x313932]=0x1c4ca7ad6b46;l[0x323932]=0x1b42ec2dbae0;l[0x333932]=0x19011fe20fa4;l[0x343932]=0x1c975797744c;l[0x353932]=0x1b8a9fb375c8;l[0x363932]=0x1942aa41dd20;l[0x373932]=0x1b79a21f3892;l[0x383932]=0x1a68b731f530;l[0x393932]=0x13dcda2555b8;l[0x303033]=0xf75e3b8ce88;l[0x313033]=0x1b9ba8468df6;l[0x323033]=0x15f2966114d0;l[0x333033]=0x180c1e610df4;l[0x343033]=0x1be2195e3b00;l[0x353033]=0x162a66b520ba;l[0x363033]=0x18491201b53c;l[0x373033]=0x1c288a75e816;l[0x383033]=0x166237092cb0;l[0x393033]=0x188605a25c90;l[0x303133]=0x162241f0ced0;l[0x313133]=0x1229f107195a;l[0x323133]=0x151047a7e680;l[0x333133]=0x1490b59493f4;l[0x343133]=0x168d57b283b4;l[0x353133]=0x1813775d952e;l[0x363133]=0x1794ca789b48;l[0x373133]=0x16c4807bf994;l[0x383133]=0x184e2a7bbda8;l[0x393133]=0x17ce1a2a5e70;l[0x303233]=0x1506734d7680;l[0x313233]=0x194a6dc7ce68;l[0x323233]=0x118debf4dfd8;l[0x333233]=0x1538e92efd36;l[0x343233]=0x1b3837e73438;l[0x353233]=0x16141ecd7178;l[0x363233]=0x1853d41e7048;l[0x373233]=0x1b78bd295ad0;l[0x383233]=0x16484b329950;l[0x393233]=0x188d23d0337e;l[0x303333]=0x1101adb1affc;l[0x313333]=0x1354f91e9a92;l[0x323333]=0x12197c079c10;l[0x333333]=0xac3be7f1aac;l[0x343333]=0x15407b499548;l[0x353333]=0x14035826b2ee;l[0x363333]=0xf5eaf142a80;l[0x373333]=0x157159232a1e;l[0x383333]=0x1431399bf9a8;l[0x393333]=0xf81d0a45b3e;l[0x303433]=0x1a0d48543958;l[0x313433]=0x1c252a0f4388;l[0x323433]=0x1b842cd171a8;l[0x333433]=0x1afa08e80da0;l[0x343433]=0x15e35ec97ca0;l[0x353433]=0x1917fb284386;l[0x363433]=0x188a79c500a4;l[0x373433]=0x1abc223285f8;l[0x383433]=0x1c6a89d9ae40;l[0x393433]=0x1bddeda4c404;l[0x303533]=0x18d31afe0550;l[0x313533]=0x1f26d368c9d2;l[0x323533]=0x1baf3e21a140;l[0x333533]=0x1bc3607d5c9e;l[0x343533]=0x1dbd6c7c9c9c;l[0x353533]=0x1535373478d6;l[0x363533]=0x19400cd39060;l[0x373533]=0x1fdb5b0af444;l[0x383533]=0x1a30c6caa974;l[0x393533]=0x1caa56bebf7e;l[0x303633]=0x176204719350;l[0x313633]=0x1ba38ffbddb2;l[0x323633]=0x1a4edcf1d370;l[0x333633]=0x177804cb493c;l[0x343633]=0x1a24aa255c58;l[0x353633]=0x18cbc4120d38;l[0x363633]=0x10bdfeb5f770;l[0x373633]=0x1c469baf2a18;l[0x383633]=0x1aec0f8ff720;l[0x393633]=0x15d496f88774;l[0x303733]=0x1c59bfa6f600;l[0x313733]=0x1e9f0cba489e;l[0x323733]=0x1dee15cd5f18;l[0x333733]=0x1d560fa805ca;l[0x343733]=0x1ede7031c8dc;l[0x353733]=0x1e2be04cf692;l[0x363733]=0x1d9276bb37f0;l[0x373733]=0x17fce722c7ce;l[0x383733]=0x1b7e72e71e30;l[0x393733]=0x1ae1abdb80b4;l[0x303833]=0x1af3d429bf98;l[0x313833]=0x21d06f531fb0;l[0x323833]=0x1e0b44e19940;l[0x333833]=0x1e1f673d54a0;l[0x343833]=0x221498842800;l[0x353833]=0x1e47abf4cb60;l[0x363833]=0x1e5bce5086c0;l[0x373833]=0x208326542c10;l[0x383833]=0x172de73e68d0;l[0x393833]=0x1b973eea1042;l[0x303933]=0x1954da25b7f8;l[0x313933]=0x1def8f2f4d3c;l[0x323933]=0x1c7d003a35d0;l[0x333933]=0x19688c986566;l[0x343933]=0x1e2a5be7a4e8;l[0x353933]=0x1cb4d08e3f5e;l[0x363933]=0x199a33c68188;l[0x373933]=0x1c836acd54d4;l[0x383933]=0x1b09ac6aaa6c;l[0x393933]=0x12406fe7f596;l[0x303034]=0x1a7862ad9540;l[0x313034]=0x2aa6a9e4c81c;l[0x323034]=0x2319be0328ac;l[0x333034]=0x25e248cedbee;l[0x343034]=0x2af85972f458;l[0x353034]=0x235ccccdb3c8;l[0x363034]=0x262a7ae60268;l[0x373034]=0x2b4a090120a0;l[0x383034]=0x239fdb983ef0;l[0x393034]=0x2672acfd28ee;l[0x303134]=0x22e275db4140;l[0x313134]=0x1da0fb0e646a;l[0x323134]=0x2173f590a2a0;l[0x333134]=0x20c99ce7038c;l[0x343134]=0x236660bea92c;l[0x353134]=0x2566044d362e;l[0x363134]=0x24bc90d1efc0;l[0x373134]=0x23a80c1ccf0c;l[0x383134]=0x25ab3a000ea8;l[0x393134]=0x2500631862e8;l[0x303234]=0x221a3feceb60;l[0x313234]=0x27b122729866;l[0x323234]=0x1d8b43f2dcec;l[0x333234]=0x22589bcf86a8;l[0x343234]=0x2a308d1c9620;l[0x353234]=0x2374d93cae4e;l[0x363234]=0x2663c93243f4;l[0x373234]=0x2a7cf85fd212;l[0x383234]=0x23b4eba2eb80;l[0x393234]=0x26a8fee51c84;l[0x303334]=0x259626c123c0;l[0x313334]=0x28a27dde8710;l[0x323334]=0x270ca8309420;l[0x333334]=0x1d8806106ff6;l[0x343334]=0x2b2f47fcab8c;l[0x353334]=0x2997cc42d4c4;l[0x363334]=0x2396007f5168;l[0x373334]=0x2b7bb33fe798;l[0x383334]=0x29e13b21c2b4;l[0x393334]=0x23d4af79295c;l[0x303434]=0x1d1e06255760;l[0x313434]=0x1fcaa1007e6e;l[0x323434]=0x1ef1b6ca33d4;l[0x333434]=0x1e369ebd7452;l[0x343434]=0x179cbf17e6b8;l[0x353434]=0x1bb7d1cb0fbc;l[0x363434]=0x1af95c447160;l[0x373434]=0x1dc4f8de9da2;l[0x383434]=0x1fe6b6dc3280;l[0x393434]=0x1f292683ecca;l[0x303534]=0x21104b175ea4;l[0x313534]=0x292cf397f778;l[0x323534]=0x24b3695e0e60;l[0x333534]=0x24c832a99778;l[0x343534]=0x274c290ad070;l[0x353534]=0x1c5746affbf4;l[0x363534]=0x2181268bbc10;l[0x373534]=0x29f1c6f2149e;l[0x383534]=0x22ac4785c0f0;l[0x393534]=0x25d1c1b88a04;l[0x303634]=0x24a826a428b8;l[0x313634]=0x2a16aceecaa2;l[0x323634]=0x286237ed47c0;l[0x333634]=0x24c1c9ee86c4;l[0x343634]=0x2829bff00020;l[0x353634]=0x267117e53860;l[0x363634]=0x1c2f0490fba0;l[0x373634]=0x2adcbd4b6b10;l[0x383634]=0x29226f34bf78;l[0x393634]=0x22a86a8bd0ac;l[0x303734]=0x2568a334c0c0;l[0x313734]=0x284618bb3ae6;l[0x323734]=0x2760a428e350;l[0x333734]=0x269b19333932;l[0x343734]=0x2887c4195d84;l[0x353734]=0x27a0b68f1d2a;l[0x363734]=0x26d9c82d0db8;l[0x373734]=0x1fc47260aba6;l[0x383734]=0x242fe3cc6ed0;l[0x393734]=0x236597f08084;l[0x303834]=0x278cb6816680;l[0x313834]=0x30348a5b58e2;l[0x323834]=0x2b6fb391cfe4;l[0x333834]=0x2b86c57816f6;l[0x343834]=0x3081822c0448;l[0x353834]=0x2bb4e944a51a;l[0x363834]=0x2bcbfb2aec2c;l[0x373834]=0x2e7f862b486e;l[0x383834]=0x22bfe29d9270;l[0x393834]=0x284a8d20a06c;l[0x303934]=0x2b6b2158ed48;l[0x313934]=0x313519bd980c;l[0x323934]=0x2f65116bc5f8;l[0x333934]=0x2b89508c7cbe;l[0x343934]=0x3182118e4378;l[0x353934]=0x2faf0cd82346;l[0x363934]=0x2bcd22d2eca0;l[0x373934]=0x2f73f31be424;l[0x383934]=0x2d9cbb5c7f14;l[0x393934]=0x22a1797c613e;l[0x303035]=0x1cc14aa7c5d8;l[0x313035]=0x30f21d23d00e;l[0x323035]=0x277b5fe16e40;l[0x333035]=0x2aecf6143f8c;l[0x343035]=0x313d24faa740;l[0x353035]=0x27b7c6f4a452;l[0x363035]=0x2b2e807410fc;l[0x373035]=0x31882cd17e7e;l[0x383035]=0x27f42e07da70;l[0x393035]=0x2b700ad3e278;l[0x303135]=0x2d0c2d2381f4;l[0x313135]=0x267edc32e53c;l[0x323135]=0x2b3bce55fc00;l[0x333135]=0x2a6402d577e2;l[0x343135]=0x2d9e3c263ae0;l[0x353135]=0x3014b757aae8;l[0x363135]=0x2f3dd1057f70;l[0x373135]=0x2de26557473a;l[0x383135]=0x305c6add69dc;l[0x393135]=0x2f84211ed912;l[0x303235]=0x27bce13692d0;l[0x313235]=0x2ea17b563630;l[0x323235]=0x220d0fb84f08;l[0x333235]=0x27f791c6265e;l[0x343235]=0x31a2f536af88;l[0x353235]=0x294a761f43e0;l[0x363235]=0x2ce370481198;l[0x373235]=0x31ebb526e488;l[0x383235]=0x2986dd327a20;l[0x393235]=0x2d24faa7e336;l[0x303335]=0x2cc0e89701dc;l[0x313335]=0x307c599f704a;l[0x323335]=0x2e8239951b50;l[0x333335]=0x22c4c117e6c4;l[0x343335]=0x338c966075b8;l[0x353335]=0x3190d04a3ce6;l[0x363335]=0x2a27f0105100;l[0x373335]=0x33d6b9bd1026;l[0x383335]=0x31d7f7428938;l[0x393335]=0x2a6457238756;l[0x303435]=0x2d23462d1ba8;l[0x313435]=0x306bbc0483f0;l[0x323435]=0x2f6206b1e4f8;l[0x333435]=0x2e7d1c5dee58;l[0x343435]=0x2667290d8880;l[0x353435]=0x2b6fd3f137fe;l[0x363435]=0x2a878c236284;l[0x373435]=0x2df43ec65a10;l[0x383435]=0x309074f67fe0;l[0x393435]=0x2fa91257030c;l[0x303535]=0x1fa16bb88cd4;l[0x313535]=0x2982471c53dc;l[0x323535]=0x24020abd0420;l[0x333535]=0x2412bdc5b4d4;l[0x343535]=0x271be15640a8;l[0x353535]=0x19b594b61558;l[0x363535]=0x1ff9c19bd7e8;l[0x373535]=0x2a3af6fe7f02;l[0x383535]=0x2155cf337c58;l[0x393535]=0x252276725258;l[0x303635]=0x2af66c343680;l[0x313635]=0x318d64da4688;l[0x323635]=0x2f74a57c619c;l[0x333635]=0x2b061940806e;l[0x343635]=0x2f24d78476a0;l[0x353635]=0x2d07e51d4cd6;l[0x363635]=0x208cfb6bffb4;l[0x373635]=0x325b4782c282;l[0x383635]=0x303caf0fb4e0;l[0x393635]=0x285b95f05d8a;l[0x303735]=0x329f7cb6e7b8;l[0x313735]=0x3616b43f02b2;l[0x323735]=0x34fe5b95b658;l[0x333735]=0x340ce55e34b6;l[0x343735]=0x365f742f3394;l[0x353735]=0x3545828dfe76;l[0x363735]=0x3452a8ea1780;l[0x373735]=0x2bbf26783cca;l[0x383735]=0x31161719e608;l[0x393735]=0x301fdffc2038;l[0x303835]=0x2923514d31e8;l[0x313835]=0x33907ec29f30;l[0x323835]=0x2dc61c8bfc40;l[0x333835]=0x2dda3ee7b7a0;l[0x343835]=0x33d4a7f3a780;l[0x353835]=0x2e02839f2e60;l[0x363835]=0x2e16a5fae9c0;l[0x373835]=0x315084e2e590;l[0x383835]=0x23209dc82570;l[0x393835]=0x29c6bc0d8292;l[0x303935]=0x3286f458d8bc;l[0x313935]=0x39795f18f19e;l[0x323935]=0x37450c6abd80;l[0x333935]=0x329b2d4e5414;l[0x343935]=0x39c40f02faa4;l[0x353935]=0x378cbff07868;l[0x363935]=0x32dcb7ae2190;l[0x373935]=0x373a503995ea;l[0x383935]=0x34fece1dced0;l[0x393935]=0x27cab5e0a098;l[0x303036]=0x1eebc771a1c0;l[0x313036]=0x371fd5853d10;l[0x323036]=0x2bbff734d2a4;l[0x333036]=0x2fdb49217bba;l[0x343036]=0x3766469cec78;l[0x353036]=0x2bf7c788e0ec;l[0x363036]=0x30183cc22560;l[0x373036]=0x37acb7b49bec;l[0x383036]=0x2c2f97dcef40;l[0x393036]=0x30553062cf12;l[0x303136]=0x2e71f0a380b4;l[0x313136]=0x2694d6209ca8;l[0x323136]=0x2c37cc760488;l[0x333136]=0x2b2e9ab013ee;l[0x343136]=0x2f02560b6cd8;l[0x353136]=0x31ebb5713874;l[0x363136]=0x30e368d9a080;l[0x373136]=0x2f3d22c3c956;l[0x383136]=0x322a0c7e478c;l[0x393136]=0x31205c7a4a46;l[0x303236]=0x2bacd6ebb370;l[0x313236]=0x33deda2bece2;l[0x323236]=0x24db92f679c4;l[0x333236]=0x2be2f0bc1e6c;l[0x343236]=0x376177d6c100;l[0x353236]=0x2d6bdf0e713a;l[0x363236]=0x31ae94f116bc;l[0x373236]=0x37a5a107ce36;l[0x383236]=0x2da3af627fb0;l[0x393236]=0x31eb8891c090;l[0x303336]=0x2c612cf7c2b8;l[0x313336]=0x30c8e54115bc;l[0x323336]=0x2e67a8303830;l[0x333336]=0x206e86abccba;l[0x343336]=0x34541ca68884;l[0x353336]=0x31f13989c720;l[0x363336]=0x291e722f4c28;l[0x373336]=0x3493801e0dbc;l[0x383336]=0x322da09cfe3c;l[0x393336]=0x2950195d6d48;l[0x303436]=0x2db21485d100;l[0x313436]=0x318ed15b4524;l[0x323436]=0x304cbcee1c70;l[0x333436]=0x2f366c54b954;l[0x343436]=0x259cd15b45e0;l[0x353436]=0x2b8b8071467a;l[0x363436]=0x2a71d25e0484;l[0x373436]=0x2e78070b91fc;l[0x383436]=0x318721701360;l[0x393436]=0x306e588b2a10;l[0x303536]=0x2ab51a355dc8;l[0x313536]=0x366057b9cbce;l[0x323536]=0x2fdf98728e38;l[0x333536]=0x2ff26475df52;l[0x343536]=0x3386e47336cc;l[0x353536]=0x23b55ccb2d72;l[0x363536]=0x2b1a05f86b40;l[0x373536]=0x3731ff94d9b0;l[0x383536]=0x2cb35ea8a0d4;l[0x393536]=0x312d6230fc8a;l[0x303636]=0x22035b636520;l[0x313636]=0x29bd16939198;l[0x323636]=0x273a5d07f8f4;l[0x333636]=0x21f802bda5e6;l[0x343636]=0x26c7d972c740;l[0x353636]=0x2440ecdde9be;l[0x363636]=0x15877cfe3a8c;l[0x373636]=0x2a70ac9fff0a;l[0x383636]=0x27e819ff3db0;l[0x393636]=0x1e9a3c982c22;l[0x303736]=0x335668e23a00;l[0x313736]=0x3761e76860d6;l[0x323736]=0x36112fa48ac0;l[0x333736]=0x34ee53279ca2;l[0x343736]=0x37a14adfe114;l[0x353736]=0x364efa24223a;l[0x363736]=0x352aba3acec8;l[0x373736]=0x2b13901fe676;l[0x383736]=0x315084f3e0d0;l[0x393736]=0x3028e790ae84;l[0x303836]=0x303b0fdeeb10;l[0x313836]=0x3c70867a5ef0;l[0x323836]=0x35a388612dc0;l[0x333836]=0x35b7aabce920;l[0x343836]=0x3cb4afab6740;l[0x353836]=0x35dfef745fe0;l[0x363836]=0x35f411d01b40;l[0x373836]=0x39b7342a4250;l[0x383836]=0x2919f90d03c0;l[0x393836]=0x30de7a9f3bba;l[0x303936]=0x2cd1332f0a68;l[0x313936]=0x34e787318c6c;l[0x323936]=0x324a610df148;l[0x333936]=0x2ccdda9b62ae;l[0x343936]=0x352253e9e418;l[0x353936]=0x32823161fad6;l[0x363936]=0x2cff81c97ed0;l[0x373936]=0x320f597e6b04;l[0x383936]=0x2f6b03ed3ce4;l[0x393936]=0x1ff98c39f94e;l[0x303037]=0x2e52acafcaa8;l[0x313037]=0x4a8f3d6cd966;l[0x323037]=0x3d4b852048b0;l[0x333037]=0x4215d9d8abe4;l[0x343037]=0x4ae0ecfb0800;l[0x353037]=0x3d8e93ead62a;l[0x363037]=0x425e0befd4bc;l[0x373037]=0x4b329c8936a6;l[0x383037]=0x3dd1a2b563b0;l[0x393037]=0x42a63e06fda0;l[0x303137]=0x3c68f18e704c;l[0x313137]=0x334176836e20;l[0x323137]=0x39cfda155050;l[0x333137]=0x389aab141c6e;l[0x343137]=0x3d0d51843478;l[0x353137]=0x406efe2884dc;l[0x363137]=0x3f3ab455a9a0;l[0x373137]=0x3d4efce25cb6;l[0x383137]=0x40b433db5fb4;l[0x393137]=0x3f7e869c1f26;l[0x303237]=0x3a7624719920;l[0x313237]=0x43f9d91830f0;l[0x323237]=0x328bfe90fa28;l[0x333237]=0x3ab48054346e;l[0x343237]=0x480a735eb8b8;l[0x353237]=0x3c7c092b4d20;l[0x363237]=0x416cc30d92b8;l[0x373237]=0x4856dea1f708;l[0x383237]=0x3cbc1b918cb0;l[0x393237]=0x41b1f8c06da6;l[0x303337]=0x3fcf47befaf4;l[0x313337]=0x44eb34842206;l[0x323337]=0x422ac7a7ab60;l[0x333337]=0x31fdea56f878;l[0x343337]=0x49092e3ed090;l[0x353337]=0x46471b567612;l[0x363337]=0x3c125a165b80;l[0x373337]=0x495599820efa;l[0x383337]=0x46908a356660;l[0x393337]=0x3c51091035d2;l[0x303437]=0x3ef664538e48;l[0x313437]=0x436e07d62e3c;l[0x323437]=0x41fa33fd9bc0;l[0x333437]=0x40b91ccdec1c;l[0x343437]=0x35a279da8b00;l[0x353437]=0x3c7dccd1fcaa;l[0x363437]=0x3b3958286e2c;l[0x373437]=0x3fdfae8fb184;l[0x383437]=0x43684cd7ae70;l[0x393437]=0x4224bd5c7898;l[0x303537]=0x3ce5bb4baa2c;l[0x313537]=0x4a5d394bd050;l[0x323537]=0x42ddd577b600;l[0x333537]=0x42f498d0b8a0;l[0x343537]=0x47165395ece0;l[0x353537]=0x34db6f41169c;l[0x363537]=0x3d627310e0c8;l[0x373537]=0x4b530f4227ae;l[0x383537]=0x3f3cd38fc9c0;l[0x393537]=0x446611bcbc4c;l[0x303637]=0x426e97d85cf0;l[0x313637]=0x4b5ab7296522;l[0x323637]=0x487da506d810;l[0x333637]=0x42771e44d26c;l[0x343637]=0x4807af01de38;l[0x353637]=0x452669d60c48;l[0x363637]=0x343e155eba50;l[0x373637]=0x4c51ca223fc8;l[0x383637]=0x496edeea8a00;l[0x393637]=0x3ec3ded27d84;l[0x303737]=0x32f48ac15eec;l[0x313737]=0x3794c267a2a0;l[0x323737]=0x360c1dab53d0;l[0x333737]=0x34b84d0b0a38;l[0x343737]=0x37cc1fcca540;l[0x353737]=0x3641e2186dac;l[0x363737]=0x34ecae0bbec0;l[0x373737]=0x29524e69d9d4;l[0x383737]=0x3075b992364c;l[0x393737]=0x2f1d280ba886;l[0x303837]=0x394f711776f0;l[0x313837]=0x474dd7c8bf22;l[0x323837]=0x3f7ee4bccd6c;l[0x333837]=0x3f93ae085686;l[0x343837]=0x4793f5c930a0;l[0x353837]=0x3fbd409f68ba;l[0x363837]=0x3fd209eaf1d4;l[0x373837]=0x441f16a711de;l[0x383837]=0x31152e772298;l[0x393837]=0x39f8ba460324;l[0x303937]=0x3ef4425cbb68;l[0x313937]=0x4837911f94f4;l[0x323937]=0x453aa9048130;l[0x333937]=0x3ef48cb9bbce;l[0x343937]=0x487daf200678;l[0x353937]=0x457dcaa0a496;l[0x363937]=0x3f31852ff1c8;l[0x373937]=0x44fcad8c443c;l[0x383937]=0x41f896039d7c;l[0x393937]=0x3052d05832ee;l[0x303038]=0x2e02110c7600;l[0x313038]=0x4e412d0e5c18;l[0x323038]=0x3f13a3610904;l[0x333038]=0x448703808a42;l[0x343038]=0x4e8c34e535a8;l[0x353038]=0x3f500a744174;l[0x363038]=0x44c88de05e10;l[0x373038]=0x4ed73cbc0f44;l[0x383038]=0x3f8c718779f0;l[0x393038]=0x450a184031ea;l[0x303138]=0x478bcf386b50;l[0x313138]=0x3d187e09a942;l[0x323138]=0x4490d93c6400;l[0x333138]=0x432e37644b14;l[0x343138]=0x483e534d807c;l[0x353138]=0x4c16d794b3e6;l[0x363138]=0x4ab51aeaf3a0;l[0x373138]=0x48827c7e8f34;l[0x383138]=0x4c5e8b1a7538;l[0x393138]=0x4afb6b044fa0;l[0x303238]=0x3ea9d94c3cb0;l[0x313238]=0x497b458ccada;l[0x323238]=0x359edde76864;l[0x333238]=0x3ee489dbd044;l[0x343238]=0x4e0def09ce40;l[0x353238]=0x40e2b99eded2;l[0x363238]=0x467d7db45c7c;l[0x373238]=0x4e56aefa059e;l[0x383238]=0x411f20b21770;l[0x393238]=0x46bf08143078;l[0x303338]=0x4615f37d6a00;l[0x313338]=0x4be0fa2d9c30;l[0x323338]=0x48bc42f4c380;l[0x333338]=0x36568f470036;l[0x343338]=0x5082668b2bac;l[0x353338]=0x4d5c09466f24;l[0x363338]=0x41c0338fec08;l[0x373338]=0x50cc89e7c878;l[0x383338]=0x4da3303ebdd4;l[0x393338]=0x41fc9aa324bc;l[0x303438]=0x4a322c3a8240;l[0x313438]=0x4f420a29b582;l[0x323438]=0x4d99caa520bc;l[0x333438]=0x4c2b409e8c0e;l[0x343438]=0x3f94e970a4c8;l[0x353438]=0x475a3408ef00;l[0x363438]=0x45e84c887b78;l[0x373438]=0x4b2c1868dc2e;l[0x383438]=0x4f2b8e53bc20;l[0x393438]=0x4dba8c01a13e;l[0x303538]=0x40f4bee80078;l[0x313538]=0x50334cf27ff6;l[0x323538]=0x47b014202a28;l[0x333538]=0x47c59e5d7f8a;l[0x343538]=0x4c6f637931cc;l[0x353538]=0x37c5f2062fda;l[0x363538]=0x416a200727a0;l[0x373538]=0x512e2e5be838;l[0x383538]=0x437b27720674;l[0x393538]=0x494e6fd23112;l[0x303638]=0x489e74947400;l[0x313638]=0x52b30640ea50;l[0x323638]=0x4f71a9c1fb34;l[0x333638]=0x489d04c2d55e;l[0x343638]=0x4ee45dc25e00;l[0x353638]=0x4b9ece3a2a06;l[0x363638]=0x387da365c7ac;l[0x373638]=0x53b1eb85a082;l[0x383638]=0x506ab5f188b0;l[0x393638]=0x4458a16313aa;l[0x303738]=0x48b8d49e08b0;l[0x313738]=0x4df4e7408d9e;l[0x323738]=0x4c3b7767ea70;l[0x333738]=0x4abdd48069ba;l[0x343738]=0x4e39a4277fb4;l[0x353738]=0x4c7e9b56f3c2;l[0x363738]=0x4aff95030db8;l[0x373738]=0x3de921b6508e;l[0x383738]=0x45fa250f3380;l[0x393738]=0x4477c1416e9c;l[0x303838]=0x329bdf8db500;l[0x313838]=0x425e79222b66;l[0x323838]=0x3988d3f0d30c;l[0x333838]=0x399986f983c2;l[0x343838]=0x4298545a13b8;l[0x353838]=0x39baed0ae52e;l[0x363838]=0x39cba01395e4;l[0x373838]=0x3e9dd9ff08ca;l[0x383838]=0x29228789c2b0;l[0x393838]=0x33206062a5b0;l[0x303938]=0x4447a2d30224;l[0x313938]=0x4eb363f149ce;l[0x323938]=0x4b523179d400;l[0x333938]=0x443df6f1ee6c;l[0x343938]=0x4ef73a0b18ec;l[0x353938]=0x4b930b2f5500;l[0x363938]=0x4478a7818200;l[0x373938]=0x4afa9820514a;l[0x383938]=0x4792363b4880;l[0x393938]=0x33b39a32cd90;l[0x303039]=0x2e61ab2a79a8;l[0x313039]=0x52a402c3f0da;l[0x323039]=0x418d58089528;l[0x333039]=0x47aa73e1ee30;l[0x343039]=0x52ea73dba2a0;l[0x353039]=0x41c5285ca5ce;l[0x363039]=0x47e767829a34;l[0x373039]=0x5330e4f35472;l[0x383039]=0x41fcf8b0b680;l[0x393039]=0x48245b234644;l[0x303139]=0x454973936ac8;l[0x313139]=0x398658d26166;l[0x323139]=0x41e4b8376d40;l[0x333139]=0x4050b019e7d8;l[0x343139]=0x45fa4e0db32c;l[0x353139]=0x4a45b689422a;l[0x363139]=0x48b2939a1568;l[0x373139]=0x46351ac61208;l[0x383139]=0x4a840d9653a0;l[0x393139]=0x48ef873ac18c;l[0x303239]=0x40ceec558510;l[0x313239]=0x4cedc1b6a94c;l[0x323239]=0x36a27e79bae0;l[0x333239]=0x41050625f012;l[0x343239]=0x52018efe0778;l[0x353239]=0x43393fe233ec;l[0x363239]=0x497dbfb18960;l[0x373239]=0x5245b82f170c;l[0x383239]=0x4371103644c0;l[0x393239]=0x49bab3523592;l[0x303339]=0x41834261946c;l[0x313339]=0x47fa9052ab32;l[0x323339]=0x446ebc1349f0;l[0x333339]=0x2fcd5f5e4fbc;l[0x343339]=0x4d16f754a808;l[0x353339]=0x49897d0962ee;l[0x363339]=0x3c83c03250c0;l[0x373339]=0x4d565acc2f9e;l[0x383339]=0x49c5e41c9c68;l[0x393339]=0x3cb56760743e;l[0x303439]=0x479233de9b50;l[0x313439]=0x4d3658cbda6e;l[0x323439]=0x4b55ba2cbbec;l[0x333439]=0x49b5c9e0bac2;l[0x343439]=0x3b9bcb09c5e0;l[0x353439]=0x444719d46134;l[0x363439]=0x42a3cc0e8130;l[0x373439]=0x488119f977d2;l[0x383439]=0x4cf37418b358;l[0x393439]=0x4b510b812bfa;l[0x303539]=0x42ebee79b324;l[0x313539]=0x53f13e152bb4;l[0x323539]=0x4a69e1cb3a20;l[0x333539]=0x4a7de47381fc;l[0x343539]=0x4faf656c51f8;l[0x353539]=0x38971861c410;l[0x363539]=0x4358221a8928;l[0x373539]=0x54ef5419632a;l[0x383539]=0x459f337e9d48;l[0x393539]=0x4c1c37989fb0;l[0x303639]=0x43a04485c280;l[0x313639]=0x4eda75e38066;l[0x323639]=0x4b31fc5e08b8;l[0x333639]=0x438c66779c28;l[0x343639]=0x4a87b50f7b18;l[0x353639]=0x46db0880be8c;l[0x363639]=0x317e34a52548;l[0x373639]=0x4fd03d772af4;l[0x383639]=0x4c21eadc8a90;l[0x393639]=0x3ea5ef2d8678;l[0x303739]=0x4541e71ad858;l[0x313739]=0x4b1240bb6922;l[0x323739]=0x492071c83c38;l[0x333739]=0x4771689b4f06;l[0x343739]=0x4b4da129aa94;l[0x353739]=0x495a393e94e6;l[0x363739]=0x47a9cca54260;l[0x373739]=0x390fb1af779a;l[0x383739]=0x4206b93aaba8;l[0x393739]=0x4052ef277a48;l[0x303839]=0x4063c11d4a38;l[0x313839]=0x51f0bcd2679c;l[0x323839]=0x481a94b92168;l[0x333839]=0x482d60bc7284;l[0x343839]=0x5230e2fa3120;l[0x353839]=0x4852f8c314bc;l[0x363839]=0x4865c4c665d8;l[0x373839]=0x4dc35b1ea464;l[0x383839]=0x35dccda18040;l[0x393839]=0x40fb22c1de7e;l[0x303939]=0x330509151f6c;l[0x313939]=0x3e938cbd8386;l[0x323939]=0x3ac860185a00;l[0x333939]=0x32e05782028c;l[0x343939]=0x3ec40b7cbb34;l[0x353939]=0x3af5e2734390;l[0x363939]=0x3307b0b6feb0;l[0x373939]=0x3a3ab9c6f922;l[0x383939]=0x36685db43ca0;l[0x393939]=0x204b3b7d5fa0;} +{l[2619] = 0;l[2645] = 1;l[2671] = 2;l[2697] = 3;l[2723] = 4;l[2749] = 5;l[2775] = 6;l[2801] = 7;l[2827] = 8;l[2853] = 9;l[2879] = 10;l[2905] = 11;l[2931] = 12;l[2957] = 13;l[2983] = 14;l[3009] = 15;l[3035] = 16;l[3061] = 17;l[3087] = 18;l[3113] = 19;l[3139] = 20;l[3165] = 21;l[3191] = 22;l[3217] = 23;l[3243] = 24;l[3269] = 25;l[2620] = 26;l[2646] = 27;l[2672] = 28;l[2698] = 29;l[2724] = 30;l[2750] = 31;l[2776] = 32;l[2802] = 33;l[2828] = 34;l[2854] = 35;l[2880] = 36;l[2906] = 37;l[2932] = 38;l[2958] = 39;l[2984] = 40;l[3010] = 41;l[3036] = 42;l[3062] = 43;l[3088] = 44;l[3114] = 45;l[3140] = 46;l[3166] = 47;l[3192] = 48;l[3218] = 49;l[3244] = 50;l[3270] = 51;l[2621] = 52;l[2647] = 53;l[2673] = 54;l[2699] = 55;l[2725] = 56;l[2751] = 57;l[2777] = 58;l[2803] = 59;l[2829] = 60;l[2855] = 61;l[2881] = 62;l[2907] = 63;l[2933] = 64;l[2959] = 65;l[2985] = 66;l[3011] = 67;l[3037] = 68;l[3063] = 69;l[3089] = 70;l[3115] = 71;l[3141] = 72;l[3167] = 73;l[3193] = 74;l[3219] = 75;l[3245] = 76;l[3271] = 77;l[2622] = 78;l[2648] = 79;l[2674] = 80;l[2700] = 81;l[2726] = 82;l[2752] = 83;l[2778] = 84;l[2804] = 85;l[2830] = 86;l[2856] = 87;l[2882] = 88;l[2908] = 89;l[2934] = 90;l[2960] = 91;l[2986] = 92;l[3012] = 93;l[3038] = 94;l[3064] = 95;l[3090] = 96;l[3116] = 97;l[3142] = 98;l[3168] = 99;l[3194] = 100;l[3220] = 101;l[3246] = 102;l[3272] = 103;l[2623] = 104;l[2649] = 105;l[2675] = 106;l[2701] = 107;l[2727] = 108;l[2753] = 109;l[2779] = 110;l[2805] = 111;l[2831] = 112;l[2857] = 113;l[2883] = 114;l[2909] = 115;l[2935] = 116;l[2961] = 117;l[2987] = 118;l[3013] = 119;l[3039] = 120;l[3065] = 121;l[3091] = 122;l[3117] = 123;l[3143] = 124;l[3169] = 125;l[3195] = 126;l[3221] = 127;l[3247] = 128;l[3273] = 129;l[2624] = 130;l[2650] = 131;l[2676] = 132;l[2702] = 133;l[2728] = 134;l[2754] = 135;l[2780] = 136;l[2806] = 137;l[2832] = 138;l[2858] = 139;l[2884] = 140;l[2910] = 141;l[2936] = 142;l[2962] = 143;l[2988] = 144;l[3014] = 145;l[3040] = 146;l[3066] = 147;l[3092] = 148;l[3118] = 149;l[3144] = 150;l[3170] = 151;l[3196] = 152;l[3222] = 153;l[3248] = 154;l[3274] = 155;l[2625] = 156;l[2651] = 157;l[2677] = 158;l[2703] = 159;l[2729] = 160;l[2755] = 161;l[2781] = 162;l[2807] = 163;l[2833] = 164;l[2859] = 165;l[2885] = 166;l[2911] = 167;l[2937] = 168;l[2963] = 169;l[2989] = 170;l[3015] = 171;l[3041] = 172;l[3067] = 173;l[3093] = 174;l[3119] = 175;l[3145] = 176;l[3171] = 177;l[3197] = 178;l[3223] = 179;l[3249] = 180;l[3275] = 181;l[2626] = 182;l[2652] = 183;l[2678] = 184;l[2704] = 185;l[2730] = 186;l[2756] = 187;l[2782] = 188;l[2808] = 189;l[2834] = 190;l[2860] = 191;l[2886] = 192;l[2912] = 193;l[2938] = 194;l[2964] = 195;l[2990] = 196;l[3016] = 197;l[3042] = 198;l[3068] = 199;l[3094] = 200;l[3120] = 201;l[3146] = 202;l[3172] = 203;l[3198] = 204;l[3224] = 205;l[3250] = 206;l[3276] = 207;l[2627] = 208;l[2653] = 209;l[2679] = 210;l[2705] = 211;l[2731] = 212;l[2757] = 213;l[2783] = 214;l[2809] = 215;l[2835] = 216;l[2861] = 217;l[2887] = 218;l[2913] = 219;l[2939] = 220;l[2965] = 221;l[2991] = 222;l[3017] = 223;l[3043] = 224;l[3069] = 225;l[3095] = 226;l[3121] = 227;l[3147] = 228;l[3173] = 229;l[3199] = 230;l[3225] = 231;l[3251] = 232;l[3277] = 233;l[2628] = 234;l[2654] = 235;l[2680] = 236;l[2706] = 237;l[2732] = 238;l[2758] = 239;l[2784] = 240;l[2810] = 241;l[2836] = 242;l[2862] = 243;l[2888] = 244;l[2914] = 245;l[2940] = 246;l[2966] = 247;l[2992] = 248;l[3018] = 249;l[3044] = 250;l[3070] = 251;l[3096] = 252;l[3122] = 253;l[3148] = 254;l[3174] = 255;l[3200] = 256;l[3226] = 257;l[3252] = 258;l[3278] = 259;l[2629] = 260;l[2655] = 261;l[2681] = 262;l[2707] = 263;l[2733] = 264;l[2759] = 265;l[2785] = 266;l[2811] = 267;l[2837] = 268;l[2863] = 269;l[2889] = 270;l[2915] = 271;l[2941] = 272;l[2967] = 273;l[2993] = 274;l[3019] = 275;l[3045] = 276;l[3071] = 277;l[3097] = 278;l[3123] = 279;l[3149] = 280;l[3175] = 281;l[3201] = 282;l[3227] = 283;l[3253] = 284;l[3279] = 285;l[2630] = 286;l[2656] = 287;l[2682] = 288;l[2708] = 289;l[2734] = 290;l[2760] = 291;l[2786] = 292;l[2812] = 293;l[2838] = 294;l[2864] = 295;l[2890] = 296;l[2916] = 297;l[2942] = 298;l[2968] = 299;l[2994] = 300;l[3020] = 301;l[3046] = 302;l[3072] = 303;l[3098] = 304;l[3124] = 305;l[3150] = 306;l[3176] = 307;l[3202] = 308;l[3228] = 309;l[3254] = 310;l[3280] = 311;l[2631] = 312;l[2657] = 313;l[2683] = 314;l[2709] = 315;l[2735] = 316;l[2761] = 317;l[2787] = 318;l[2813] = 319;l[2839] = 320;l[2865] = 321;l[2891] = 322;l[2917] = 323;l[2943] = 324;l[2969] = 325;l[2995] = 326;l[3021] = 327;l[3047] = 328;l[3073] = 329;l[3099] = 330;l[3125] = 331;l[3151] = 332;l[3177] = 333;l[3203] = 334;l[3229] = 335;l[3255] = 336;l[3281] = 337;l[2632] = 338;l[2658] = 339;l[2684] = 340;l[2710] = 341;l[2736] = 342;l[2762] = 343;l[2788] = 344;l[2814] = 345;l[2840] = 346;l[2866] = 347;l[2892] = 348;l[2918] = 349;l[2944] = 350;l[2970] = 351;l[2996] = 352;l[3022] = 353;l[3048] = 354;l[3074] = 355;l[3100] = 356;l[3126] = 357;l[3152] = 358;l[3178] = 359;l[3204] = 360;l[3230] = 361;l[3256] = 362;l[3282] = 363;l[2633] = 364;l[2659] = 365;l[2685] = 366;l[2711] = 367;l[2737] = 368;l[2763] = 369;l[2789] = 370;l[2815] = 371;l[2841] = 372;l[2867] = 373;l[2893] = 374;l[2919] = 375;l[2945] = 376;l[2971] = 377;l[2997] = 378;l[3023] = 379;l[3049] = 380;l[3075] = 381;l[3101] = 382;l[3127] = 383;l[3153] = 384;l[3179] = 385;l[3205] = 386;l[3231] = 387;l[3257] = 388;l[3283] = 389;l[2634] = 390;l[2660] = 391;l[2686] = 392;l[2712] = 393;l[2738] = 394;l[2764] = 395;l[2790] = 396;l[2816] = 397;l[2842] = 398;l[2868] = 399;l[2894] = 400;l[2920] = 401;l[2946] = 402;l[2972] = 403;l[2998] = 404;l[3024] = 405;l[3050] = 406;l[3076] = 407;l[3102] = 408;l[3128] = 409;l[3154] = 410;l[3180] = 411;l[3206] = 412;l[3232] = 413;l[3258] = 414;l[3284] = 415;l[2635] = 416;l[2661] = 417;l[2687] = 418;l[2713] = 419;l[2739] = 420;l[2765] = 421;l[2791] = 422;l[2817] = 423;l[2843] = 424;l[2869] = 425;l[2895] = 426;l[2921] = 427;l[2947] = 428;l[2973] = 429;l[2999] = 430;l[3025] = 431;l[3051] = 432;l[3077] = 433;l[3103] = 434;l[3129] = 435;l[3155] = 436;l[3181] = 437;l[3207] = 438;l[3233] = 439;l[3259] = 440;l[3285] = 441;l[2636] = 442;l[2662] = 443;l[2688] = 444;l[2714] = 445;l[2740] = 446;l[2766] = 447;l[2792] = 448;l[2818] = 449;l[2844] = 450;l[2870] = 451;l[2896] = 452;l[2922] = 453;l[2948] = 454;l[2974] = 455;l[3000] = 456;l[3026] = 457;l[3052] = 458;l[3078] = 459;l[3104] = 460;l[3130] = 461;l[3156] = 462;l[3182] = 463;l[3208] = 464;l[3234] = 465;l[3260] = 466;l[3286] = 467;l[2637] = 468;l[2663] = 469;l[2689] = 470;l[2715] = 471;l[2741] = 472;l[2767] = 473;l[2793] = 474;l[2819] = 475;l[2845] = 476;l[2871] = 477;l[2897] = 478;l[2923] = 479;l[2949] = 480;l[2975] = 481;l[3001] = 482;l[3027] = 483;l[3053] = 484;l[3079] = 485;l[3105] = 486;l[3131] = 487;l[3157] = 488;l[3183] = 489;l[3209] = 490;l[3235] = 491;l[3261] = 492;l[3287] = 493;l[2638] = 494;l[2664] = 495;l[2690] = 496;l[2716] = 497;l[2742] = 498;l[2768] = 499;l[2794] = 500;l[2820] = 501;l[2846] = 502;l[2872] = 503;l[2898] = 504;l[2924] = 505;l[2950] = 506;l[2976] = 507;l[3002] = 508;l[3028] = 509;l[3054] = 510;l[3080] = 511;l[3106] = 512;l[3132] = 513;l[3158] = 514;l[3184] = 515;l[3210] = 516;l[3236] = 517;l[3262] = 518;l[3288] = 519;l[2639] = 520;l[2665] = 521;l[2691] = 522;l[2717] = 523;l[2743] = 524;l[2769] = 525;l[2795] = 526;l[2821] = 527;l[2847] = 528;l[2873] = 529;l[2899] = 530;l[2925] = 531;l[2951] = 532;l[2977] = 533;l[3003] = 534;l[3029] = 535;l[3055] = 536;l[3081] = 537;l[3107] = 538;l[3133] = 539;l[3159] = 540;l[3185] = 541;l[3211] = 542;l[3237] = 543;l[3263] = 544;l[3289] = 545;l[2640] = 546;l[2666] = 547;l[2692] = 548;l[2718] = 549;l[2744] = 550;l[2770] = 551;l[2796] = 552;l[2822] = 553;l[2848] = 554;l[2874] = 555;l[2900] = 556;l[2926] = 557;l[2952] = 558;l[2978] = 559;l[3004] = 560;l[3030] = 561;l[3056] = 562;l[3082] = 563;l[3108] = 564;l[3134] = 565;l[3160] = 566;l[3186] = 567;l[3212] = 568;l[3238] = 569;l[3264] = 570;l[3290] = 571;l[2641] = 572;l[2667] = 573;l[2693] = 574;l[2719] = 575;l[2745] = 576;l[2771] = 577;l[2797] = 578;l[2823] = 579;l[2849] = 580;l[2875] = 581;l[2901] = 582;l[2927] = 583;l[2953] = 584;l[2979] = 585;l[3005] = 586;l[3031] = 587;l[3057] = 588;l[3083] = 589;l[3109] = 590;l[3135] = 591;l[3161] = 592;l[3187] = 593;l[3213] = 594;l[3239] = 595;l[3265] = 596;l[3291] = 597;l[2642] = 598;l[2668] = 599;l[2694] = 600;l[2720] = 601;l[2746] = 602;l[2772] = 603;l[2798] = 604;l[2824] = 605;l[2850] = 606;l[2876] = 607;l[2902] = 608;l[2928] = 609;l[2954] = 610;l[2980] = 611;l[3006] = 612;l[3032] = 613;l[3058] = 614;l[3084] = 615;l[3110] = 616;l[3136] = 617;l[3162] = 618;l[3188] = 619;l[3214] = 620;l[3240] = 621;l[3266] = 622;l[3292] = 623;l[2643] = 624;l[2669] = 625;l[2695] = 626;l[2721] = 627;l[2747] = 628;l[2773] = 629;l[2799] = 630;l[2825] = 631;l[2851] = 632;l[2877] = 633;l[2903] = 634;l[2929] = 635;l[2955] = 636;l[2981] = 637;l[3007] = 638;l[3033] = 639;l[3059] = 640;l[3085] = 641;l[3111] = 642;l[3137] = 643;l[3163] = 644;l[3189] = 645;l[3215] = 646;l[3241] = 647;l[3267] = 648;l[3293] = 649;l[2644] = 650;l[2670] = 651;l[2696] = 652;l[2722] = 653;l[2748] = 654;l[2774] = 655;l[2800] = 656;l[2826] = 657;l[2852] = 658;l[2878] = 659;l[2904] = 660;l[2930] = 661;l[2956] = 662;l[2982] = 663;l[3008] = 664;l[3034] = 665;l[3060] = 666;l[3086] = 667;l[3112] = 668;l[3138] = 669;l[3164] = 670;l[3190] = 671;l[3216] = 672;l[3242] = 673;l[3268] = 674;l[3294] = 675;}
\ No newline at end of file @@ -1 +1 @@ -{l[3223600]=66;l[3289136]=96;l[3354672]=162;l[3420208]=272;l[3485744]=250;l[3551280]=336;l[3616816]=490;l[3682352]=416;l[3747888]=522;l[3158320]=740;l[3223856]=726;l[3289392]=840;l[3354928]=910;l[3420464]=1092;l[3486000]=1200;l[3551536]=1280;l[3617072]=1360;l[3682608]=1476;l[3748144]=1558;l[3158576]=1120;l[3224112]=1470;l[3289648]=1056;l[3355184]=1288;l[3420720]=1776;l[3486256]=1500;l[3551792]=1716;l[3617328]=2052;l[3682864]=1736;l[3748400]=1972;l[3158832]=2040;l[3224368]=2418;l[3289904]=2304;l[3355440]=1782;l[3420976]=2788;l[3486512]=2660;l[3552048]=2376;l[3617584]=3108;l[3683120]=2964;l[3748656]=2652;l[3159088]=3040;l[3224624]=3362;l[3290160]=3276;l[3355696]=3354;l[3421232]=2992;l[3486768]=3240;l[3552304]=3312;l[3617840]=3760;l[3683376]=3936;l[3748912]=4018;l[3159344]=2900;l[3224880]=3774;l[3290416]=3328;l[3355952]=3392;l[3421488]=3888;l[3487024]=2750;l[3552560]=3248;l[3618096]=4332;l[3683632]=3596;l[3749168]=4012;l[3159600]=4200;l[3225136]=5002;l[3290672]=4712;l[3356208]=4410;l[3421744]=5120;l[3487280]=4810;l[3552816]=3696;l[3618352]=5628;l[3683888]=5304;l[3749424]=4692;l[3159856]=5460;l[3225392]=5964;l[3290928]=5760;l[3356464]=5840;l[3422000]=6216;l[3487536]=6000;l[3553072]=6080;l[3618608]=5390;l[3684144]=5772;l[3749680]=5846;l[3160112]=4800;l[3225648]=6156;l[3291184]=5412;l[3356720]=5478;l[3422256]=6384;l[3487792]=5610;l[3553328]=5676;l[3618864]=6438;l[3684400]=4576;l[3749936]=5340;l[3160368]=6480;l[3225904]=7644;l[3291440]=7176;l[3356976]=6696;l[3422512]=7896;l[3488048]=7410;l[3553584]=6912;l[3619120]=7954;l[3684656]=7448;l[3750192]=5742;l[3158065]=5800;l[3223601]=9494;l[3289137]=7752;l[3354673]=8446;l[3420209]=9984;l[3485745]=8190;l[3551281]=8904;l[3616817]=10486;l[3682353]=8640;l[3747889]=9374;l[3158321]=6380;l[3223857]=5550;l[3289393]=6048;l[3354929]=6102;l[3420465]=7068;l[3486001]=7360;l[3551537]=7424;l[3617073]=7488;l[3682609]=7788;l[3748145]=7854;l[3158577]=7440;l[3224113]=9196;l[3289649]=6588;l[3355185]=7626;l[3420721]=9920;l[3486257]=8250;l[3551793]=9072;l[3617329]=10414;l[3682865]=8704;l[3748401]=9546;l[3158833]=8840;l[3224369]=10218;l[3289905]=9504;l[3355441]=7182;l[3420977]=10988;l[3486513]=10260;l[3552049]=8976;l[3617585]=11508;l[3683121]=10764;l[3748657]=9452;l[3159089]=9800;l[3224625]=10716;l[3290161]=10224;l[3355697]=10296;l[3421233]=8928;l[3486769]=9570;l[3552305]=9636;l[3617841]=10878;l[3683377]=11248;l[3748913]=11324;l[3159345]=10800;l[3224881]=13288;l[3290417]=11856;l[3355953]=11934;l[3421489]=13244;l[3487025]=9920;l[3552561]=11232;l[3618097]=14130;l[3683633]=12008;l[3749169]=13038;l[3159601]=12480;l[3225137]=14490;l[3290673]=13608;l[3356209]=12714;l[3421745]=14432;l[3487281]=13530;l[3552817]=10624;l[3618353]=15364;l[3683889]=14448;l[3749425]=12844;l[3159857]=12240;l[3225393]=13338;l[3290929]=12728;l[3356465]=12802;l[3422001]=13572;l[3487537]=12950;l[3553073]=13024;l[3618609]=11328;l[3684145]=12104;l[3749681]=12172;l[3160113]=13320;l[3225649]=16290;l[3291185]=14560;l[3356721]=14640;l[3422257]=16560;l[3487793]=14800;l[3553329]=14880;l[3618865]=16456;l[3684401]=12408;l[3749937]=13986;l[3160369]=15200;l[3225905]=17572;l[3291441]=16512;l[3356977]=15440;l[3422513]=17848;l[3488049]=16770;l[3553585]=15680;l[3619121]=17730;l[3684657]=16632;l[3750193]=13134;l[3158066]=9600;l[3223602]=16884;l[3289138]=13332;l[3354674]=14616;l[3420210]=17544;l[3485746]=13940;l[3551282]=15244;l[3616818]=18216;l[3682354]=14560;l[3747890]=15884;l[3158322]=14700;l[3223858]=13082;l[3289394]=13992;l[3354930]=14058;l[3420466]=15836;l[3486002]=16340;l[3551538]=16416;l[3617074]=16492;l[3682610]=17004;l[3748146]=17082;l[3158578]=10560;l[3224114]=13702;l[3289650]=8880;l[3355186]=10704;l[3420722]=14784;l[3486258]=11700;l[3551794]=13108;l[3617330]=15436;l[3682866]=12312;l[3748402]=13740;l[3158834]=14260;l[3224370]=16632;l[3289906]=15312;l[3355442]=11184;l[3420978]=17784;l[3486514]=16450;l[3552050]=14160;l[3617586]=18486;l[3683122]=17136;l[3748658]=14818;l[3159090]=17760;l[3224626]=19280;l[3290162]=18392;l[3355698]=18468;l[3421234]=16104;l[3486770]=17150;l[3552306]=17220;l[3617842]=19266;l[3683378]=19840;l[3748914]=19920;l[3159346]=15000;l[3224882]=19076;l[3290418]=16632;l[3355954]=16698;l[3421490]=18796;l[3487026]=13260;l[3552562]=15360;l[3618098]=20046;l[3683634]=16512;l[3749170]=18130;l[3159602]=18720;l[3225138]=21924;l[3290674]=20436;l[3356210]=18936;l[3421746]=21648;l[3487282]=20140;l[3552818]=15428;l[3618354]=22962;l[3683890]=21440;l[3749426]=18830;l[3159858]=20520;l[3225394]=22222;l[3290930]=21216;l[3356466]=21294;l[3422002]=22468;l[3487538]=21450;l[3553074]=21528;l[3618610]=18836;l[3684146]=20016;l[3749682]=20088;l[3160114]=17360;l[3225650]=21918;l[3291186]=19176;l[3356722]=19244;l[3422258]=22152;l[3487794]=19380;l[3553330]=19448;l[3618866]=21812;l[3684402]=15552;l[3749938]=17918;l[3160370]=21460;l[3225906]=25026;l[3291442]=23360;l[3356978]=21682;l[3422514]=25284;l[3488050]=23600;l[3553586]=21904;l[3619122]=24948;l[3684658]=23244;l[3750194]=17940;l[3158067]=13200;l[3223603]=24080;l[3289139]=18724;l[3354675]=20604;l[3420211]=24928;l[3485747]=19520;l[3551283]=21420;l[3616819]=25788;l[3682355]=20328;l[3747891]=22248;l[3158323]=19220;l[3223859]=16794;l[3289395]=18096;l[3354931]=18154;l[3420467]=20724;l[3486003]=21420;l[3551539]=21488;l[3617075]=21556;l[3682611]=22260;l[3748147]=22330;l[3158579]=17920;l[3224115]=22470;l[3289651]=15456;l[3355187]=18088;l[3420723]=23976;l[3486259]=19500;l[3551795]=21516;l[3617331]=24852;l[3682867]=20336;l[3748403]=22372;l[3158835]=14520;l[3224371]=17874;l[3289907]=15936;l[3355443]=9990;l[3420979]=19372;l[3486515]=17420;l[3552051]=14112;l[3617587]=20220;l[3683123]=18252;l[3748659]=14916;l[3159091]=22440;l[3224627]=24552;l[3290163]=23256;l[3355699]=23324;l[3421235]=19952;l[3486771]=21390;l[3552307]=21452;l[3617843]=24290;l[3683379]=25056;l[3748915]=25128;l[3159347]=21000;l[3224883]=26676;l[3290419]=23232;l[3355955]=23298;l[3421491]=26196;l[3487027]=18460;l[3552563]=21360;l[3618099]=27846;l[3683635]=22912;l[3749171]=25130;l[3159603]=20160;l[3225139]=24548;l[3290675]=22444;l[3356211]=20328;l[3421747]=24024;l[3487283]=21900;l[3552819]=15372;l[3618355]=25690;l[3683891]=23552;l[3749427]=19926;l[3159859]=25160;l[3225395]=27454;l[3290931]=26040;l[3356467]=26110;l[3422003]=27676;l[3487539]=26250;l[3553075]=26320;l[3618611]=22620;l[3684147]=24192;l[3749683]=24256;l[3160115]=23560;l[3225651]=29718;l[3291187]=25976;l[3356723]=26044;l[3422259]=29952;l[3487795]=26180;l[3553331]=26248;l[3618867]=29412;l[3684403]=20952;l[3749939]=24118;l[3160371]=22620;l[3225907]=27370;l[3291443]=25088;l[3356979]=22794;l[3422515]=27580;l[3488051]=25280;l[3553587]=22968;l[3619123]=26996;l[3684659]=24676;l[3750195]=17556;l[3158068]=24000;l[3223604]=38496;l[3289140]=31356;l[3354676]=33852;l[3420212]=39592;l[3485748]=32400;l[3551284]=34916;l[3616820]=40700;l[3682356]=33456;l[3747892]=35992;l[3158324]=30340;l[3223860]=27126;l[3289396]=28840;l[3354932]=28910;l[3420468]=32292;l[3486004]=33200;l[3551540]=33280;l[3617076]=33360;l[3682612]=34276;l[3748148]=34358;l[3158580]=29400;l[3224116]=35364;l[3289652]=26164;l[3355188]=29610;l[3420724]=37312;l[3486260]=31450;l[3551796]=34080;l[3617332]=38430;l[3682868]=32528;l[3748404]=35178;l[3158836]=32680;l[3224372]=37066;l[3289908]=34560;l[3355444]=26846;l[3420980]=39060;l[3486516]=36540;l[3552052]=32264;l[3617588]=40204;l[3683124]=37668;l[3748660]=33364;l[3159092]=26400;l[3224628]=29106;l[3290164]=27404;l[3355700]=27466;l[3421236]=23088;l[3486772]=24920;l[3552308]=24976;l[3617844]=28608;l[3683380]=29568;l[3748916]=29634;l[3159348]=28800;l[3224884]=36080;l[3290420]=31640;l[3355956]=31710;l[3421492]=35412;l[3487028]=25480;l[3552564]=29184;l[3618100]=37474;l[3683636]=31144;l[3749172]=33966;l[3159604]=32200;l[3225140]=37802;l[3290676]=35112;l[3356212]=32410;l[3421748]=37120;l[3487284]=34410;l[3552820]=26096;l[3618356]=39228;l[3683892]=36504;l[3749428]=31892;l[3159860]=33840;l[3225396]=36738;l[3290932]=34928;l[3356468]=35002;l[3422004]=36972;l[3487540]=35150;l[3553076]=35224;l[3618612]=30528;l[3684148]=32504;l[3749684]=32572;l[3160116]=35520;l[3225652]=43290;l[3291188]=38560;l[3356724]=38640;l[3422260]=43560;l[3487796]=38800;l[3553332]=38880;l[3618868]=42856;l[3684404]=32208;l[3749940]=36186;l[3160372]=39200;l[3225908]=45172;l[3291444]=42312;l[3356980]=39440;l[3422516]=45448;l[3488052]=42570;l[3553588]=39680;l[3619124]=44730;l[3684660]=41832;l[3750196]=32934;l[3158069]=25000;l[3223605]=43086;l[3289141]=34136;l[3354677]=37222;l[3420213]=44352;l[3485749]=35350;l[3551285]=38456;l[3616821]=45630;l[3682357]=36576;l[3747893]=39702;l[3158325]=37740;l[3223861]=33726;l[3289397]=35840;l[3354933]=35910;l[3420469]=40092;l[3486005]=41200;l[3551541]=41280;l[3617077]=41360;l[3682613]=42476;l[3748149]=42558;l[3158581]=33280;l[3224117]=40638;l[3289653]=29232;l[3355189]=33472;l[3420725]=42968;l[3486261]=35700;l[3551797]=38924;l[3617333]=44268;l[3682869]=36960;l[3748405]=40204;l[3158837]=37100;l[3224373]=42480;l[3289909]=39368;l[3355445]=29848;l[3420981]=44856;l[3486517]=41730;l[3552053]=36448;l[3617589]=46182;l[3683125]=43040;l[3748661]=37730;l[3159093]=38880;l[3224629]=42198;l[3290165]=40108;l[3355701]=40182;l[3421237]=34816;l[3486773]=37060;l[3552309]=37128;l[3617845]=41572;l[3683381]=42744;l[3748917]=42822;l[3159349]=27500;l[3224885]=36366;l[3290421]=30912;l[3355957]=30968;l[3421493]=35456;l[3487029]=23310;l[3552565]=27800;l[3618101]=37876;l[3683637]=30132;l[3749173]=33540;l[3159605]=35840;l[3225141]=42636;l[3290677]=39340;l[3356213]=36032;l[3421749]=41736;l[3487285]=38420;l[3552821]=28300;l[3618357]=44226;l[3683893]=40896;l[3749429]=35278;l[3159861]=43320;l[3225397]=46822;l[3290933]=44616;l[3356469]=44694;l[3422005]=47068;l[3487541]=44850;l[3553077]=44928;l[3618613]=39236;l[3684149]=41616;l[3749685]=41688;l[3160117]=35960;l[3225653]=45318;l[3291189]=39576;l[3356725]=39644;l[3422261]=45552;l[3487797]=39780;l[3553333]=39848;l[3618869]=44612;l[3684405]=31752;l[3749941]=36518;l[3160373]=43660;l[3225909]=50826;l[3291445]=47360;l[3356981]=43882;l[3422517]=51084;l[3488053]=47600;l[3553589]=44104;l[3619125]=50148;l[3684661]=46644;l[3750197]=35940;l[3158070]=27600;l[3223606]=49282;l[3289142]=38528;l[3354678]=42210;l[3420214]=50736;l[3485750]=39930;l[3551286]=43632;l[3616822]=52202;l[3682358]=41344;l[3747894]=45066;l[3158326]=40260;l[3223862]=35438;l[3289398]=37944;l[3354934]=38006;l[3420470]=42980;l[3486006]=44280;l[3551542]=44352;l[3617078]=44424;l[3682614]=45732;l[3748150]=45806;l[3158582]=37200;l[3224118]=45954;l[3289654]=32344;l[3355190]=37380;l[3420726]=48672;l[3486262]=40000;l[3551798]=43820;l[3617334]=50160;l[3682870]=41448;l[3748406]=45288;l[3158838]=37800;l[3224374]=44170;l[3289910]=40448;l[3355446]=29118;l[3420982]=46916;l[3486518]=43180;l[3552054]=36888;l[3617590]=48412;l[3683126]=44660;l[3748662]=38340;l[3159094]=40960;l[3224630]=44870;l[3290166]=42372;l[3355702]=42438;l[3421238]=36064;l[3486774]=38700;l[3552310]=38760;l[3617846]=43996;l[3683382]=45360;l[3748918]=45430;l[3159350]=37700;l[3224886]=48174;l[3290422]=41728;l[3355958]=41792;l[3421494]=47088;l[3487030]=32750;l[3552566]=38048;l[3618102]=49932;l[3683638]=40796;l[3749174]=44812;l[3159606]=30360;l[3225142]=38338;l[3290678]=34424;l[3356214]=30498;l[3421750]=37184;l[3487286]=33250;l[3552822]=21312;l[3618358]=40020;l[3683894]=36072;l[3749430]=29436;l[3159862]=45560;l[3225398]=49654;l[3290934]=47040;l[3356470]=47110;l[3422006]=49876;l[3487542]=47250;l[3553078]=47320;l[3618614]=40620;l[3684150]=43392;l[3749686]=43456;l[3160118]=42160;l[3225654]=53118;l[3291190]=46376;l[3356726]=46444;l[3422262]=53352;l[3487798]=46580;l[3553334]=46648;l[3618870]=52212;l[3684406]=37152;l[3749942]=42718;l[3160374]=40020;l[3225910]=48370;l[3291446]=44288;l[3356982]=40194;l[3422518]=48580;l[3488054]=44480;l[3553590]=40368;l[3619126]=47396;l[3684662]=43276;l[3750198]=30756;l[3158071]=43400;l[3223607]=68698;l[3289143]=56160;l[3354679]=60458;l[3420215]=70400;l[3485751]=57810;l[3551287]=62128;l[3616823]=72114;l[3682359]=59472;l[3747895]=63810;l[3158327]=53960;l[3223863]=48348;l[3289399]=51264;l[3354935]=51336;l[3420471]=57120;l[3486007]=58630;l[3551543]=58712;l[3617079]=58794;l[3682615]=60312;l[3748151]=60396;l[3158583]=51840;l[3224119]=62006;l[3289655]=46208;l[3355191]=52056;l[3420727]=65160;l[3486263]=55100;l[3551799]=59532;l[3617335]=66884;l[3682871]=56784;l[3748407]=61236;l[3158839]=56940;l[3224375]=64328;l[3289911]=60024;l[3355447]=46912;l[3420983]=67528;l[3486519]=63210;l[3552055]=55936;l[3617591]=69278;l[3683127]=64944;l[3748663]=57642;l[3159095]=56240;l[3224631]=60762;l[3290167]=57876;l[3355703]=57954;l[3421239]=50592;l[3486775]=53640;l[3552311]=53712;l[3617847]=59760;l[3683383]=61336;l[3748919]=61418;l[3159351]=54000;l[3224887]=66088;l[3290423]=58656;l[3355959]=58734;l[3421495]=64844;l[3487031]=48320;l[3552567]=54432;l[3618103]=68130;l[3683639]=57608;l[3749175]=62238;l[3159607]=59280;l[3225143]=68490;l[3290679]=64008;l[3356215]=59514;l[3421751]=67232;l[3487287]=62730;l[3552823]=49024;l[3618359]=70564;l[3683895]=66048;l[3749431]=58444;l[3159863]=47740;l[3225399]=52428;l[3290935]=49408;l[3356471]=49472;l[3422007]=52632;l[3487543]=49600;l[3553079]=49664;l[3618615]=41958;l[3684151]=45124;l[3749687]=45182;l[3160119]=51480;l[3225655]=64042;l[3291191]=56304;l[3356727]=56376;l[3422263]=64288;l[3487799]=56520;l[3553335]=56592;l[3618871]=62960;l[3684407]=45704;l[3749943]=52074;l[3160375]=56880;l[3225911]=66444;l[3291447]=61776;l[3356983]=57096;l[3422519]=66696;l[3488055]=62010;l[3553591]=57312;l[3619127]=65354;l[3684663]=60648;l[3750199]=46342;l[3158072]=41600;l[3223608]=70488;l[3289144]=56140;l[3354680]=61028;l[3420216]=72360;l[3485752]=57960;l[3551288]=62868;l[3616824]=74244;l[3682360]=59792;l[3747896]=64720;l[3158328]=61560;l[3223864]=55148;l[3289400]=58464;l[3354936]=58536;l[3420472]=65120;l[3486008]=66830;l[3551544]=66912;l[3617080]=66994;l[3682616]=68712;l[3748152]=68796;l[3158584]=54120;l[3224120]=65680;l[3289656]=47676;l[3355192]=54318;l[3420728]=69216;l[3486264]=57750;l[3551800]=62776;l[3617336]=71122;l[3682872]=59616;l[3748408]=64662;l[3158840]=59760;l[3224376]=68142;l[3289912]=63232;l[3355448]=48314;l[3420984]=71724;l[3486520]=66800;l[3552056]=58520;l[3617592]=73656;l[3683128]=68716;l[3748664]=60408;l[3159096]=63840;l[3224632]=68962;l[3290168]=65676;l[3355704]=65754;l[3421240]=57392;l[3486776]=60840;l[3552312]=60912;l[3617848]=67760;l[3683384]=69536;l[3748920]=69618;l[3159352]=56100;l[3224888]=69782;l[3290424]=61344;l[3355960]=61416;l[3421496]=68320;l[3487032]=49590;l[3552568]=56496;l[3618104]=71988;l[3683640]=60060;l[3749176]=65284;l[3159608]=61920;l[3225144]=72324;l[3290680]=67236;l[3356216]=62136;l[3421752]=70848;l[3487288]=65740;l[3552824]=50228;l[3618360]=74562;l[3683896]=69440;l[3749432]=60830;l[3159864]=64380;l[3225400]=69680;l[3290936]=66272;l[3356472]=66348;l[3422008]=69920;l[3487544]=66500;l[3553080]=66576;l[3618616]=57882;l[3684152]=61460;l[3749688]=61530;l[3160120]=45760;l[3225656]=59908;l[3291192]=51156;l[3356728]=51214;l[3422264]=60112;l[3487800]=51330;l[3553336]=51388;l[3618872]=58542;l[3684408]=39072;l[3749944]=46228;l[3160376]=58740;l[3225912]=69498;l[3291448]=64224;l[3356984]=58938;l[3422520]=69732;l[3488056]=64440;l[3553592]=59136;l[3619128]=68172;l[3684664]=62860;l[3750200]=46748;l[3158073]=43200;l[3223609]=75684;l[3289145]=59532;l[3354681]=65016;l[3420217]=77744;l[3485753]=61540;l[3551289]=67044;l[3616825]=79816;l[3682361]=63560;l[3747897]=69084;l[3158329]=61880;l[3223865]=54660;l[3289401]=58368;l[3354937]=58432;l[3420473]=65808;l[3486009]=67710;l[3551545]=67784;l[3617081]=67858;l[3682617]=69768;l[3748153]=69844;l[3158585]=57040;l[3224121]=69996;l[3289657]=49788;l[3355193]=57226;l[3420729]=73920;l[3486265]=61050;l[3551801]=66672;l[3617337]=76014;l[3682873]=63104;l[3748409]=68746;l[3158841]=57660;l[3224377]=67032;l[3289913]=61512;l[3355449]=44784;l[3420985]=70984;l[3486521]=65450;l[3552057]=56160;l[3617593]=73086;l[3683129]=67536;l[3748665]=58218;l[3159097]=63920;l[3224633]=69634;l[3290169]=65940;l[3355705]=66010;l[3421241]=56640;l[3486777]=60480;l[3552313]=60544;l[3617849]=68184;l[3683385]=70152;l[3748921]=70226;l[3159353]=58900;l[3224889]=74178;l[3290425]=64736;l[3355961]=64804;l[3421497]=72504;l[3487033]=51570;l[3552569]=59272;l[3618105]=76560;l[3683641]=63228;l[3749177]=69048;l[3159609]=59520;l[3225145]=71114;l[3290681]=65416;l[3356217]=59706;l[3421753]=69408;l[3487289]=63690;l[3552825]=46368;l[3618361]=73492;l[3683897]=67760;l[3749433]=58140;l[3159865]=64020;l[3225401]=69912;l[3290937]=66096;l[3356473]=66164;l[3422009]=70128;l[3487545]=66300;l[3553081]=66368;l[3618617]=56666;l[3684153]=60636;l[3749689]=60698;l[3160121]=58800;l[3225657]=74556;l[3291193]=64812;l[3356729]=64878;l[3422265]=74784;l[3487801]=65010;l[3553337]=65076;l[3618873]=73038;l[3684409]=51376;l[3749945]=59340;l[3160377]=47520;l[3225913]=59460;l[3291449]=53568;l[3356985]=47664;l[3422521]=59640;l[3488057]=53730;l[3553593]=47808;l[3619129]=57826;l[3684665]=51896;l[3750201]=33966;} +[*b"aa",*b"ab",*b"ac",*b"ad",*b"ae",*b"af",*b"ag",*b"ah",*b"ai",*b"aj",*b"ak",*b"al",*b"am",*b"an",*b"ao",*b"ap",*b"aq",*b"ar",*b"as",*b"at",*b"au",*b"av",*b"aw",*b"ax",*b"ay",*b"az",*b"ba",*b"bb",*b"bc",*b"bd",*b"be",*b"bf",*b"bg",*b"bh",*b"bi",*b"bj",*b"bk",*b"bl",*b"bm",*b"bn",*b"bo",*b"bp",*b"bq",*b"br",*b"bs",*b"bt",*b"bu",*b"bv",*b"bw",*b"bx",*b"by",*b"bz",*b"ca",*b"cb",*b"cc",*b"cd",*b"ce",*b"cf",*b"cg",*b"ch",*b"ci",*b"cj",*b"ck",*b"cl",*b"cm",*b"cn",*b"co",*b"cp",*b"cq",*b"cr",*b"cs",*b"ct",*b"cu",*b"cv",*b"cw",*b"cx",*b"cy",*b"cz",*b"da",*b"db",*b"dc",*b"dd",*b"de",*b"df",*b"dg",*b"dh",*b"di",*b"dj",*b"dk",*b"dl",*b"dm",*b"dn",*b"do",*b"dp",*b"dq",*b"dr",*b"ds",*b"dt",*b"du",*b"dv",*b"dw",*b"dx",*b"dy",*b"dz",*b"ea",*b"eb",*b"ec",*b"ed",*b"ee",*b"ef",*b"eg",*b"eh",*b"ei",*b"ej",*b"ek",*b"el",*b"em",*b"en",*b"eo",*b"ep",*b"eq",*b"er",*b"es",*b"et",*b"eu",*b"ev",*b"ew",*b"ex",*b"ey",*b"ez",*b"fa",*b"fb",*b"fc",*b"fd",*b"fe",*b"ff",*b"fg",*b"fh",*b"fi",*b"fj",*b"fk",*b"fl",*b"fm",*b"fn",*b"fo",*b"fp",*b"fq",*b"fr",*b"fs",*b"ft",*b"fu",*b"fv",*b"fw",*b"fx",*b"fy",*b"fz",*b"ga",*b"gb",*b"gc",*b"gd",*b"ge",*b"gf",*b"gg",*b"gh",*b"gi",*b"gj",*b"gk",*b"gl",*b"gm",*b"gn",*b"go",*b"gp",*b"gq",*b"gr",*b"gs",*b"gt",*b"gu",*b"gv",*b"gw",*b"gx",*b"gy",*b"gz",*b"ha",*b"hb",*b"hc",*b"hd",*b"he",*b"hf",*b"hg",*b"hh",*b"hi",*b"hj",*b"hk",*b"hl",*b"hm",*b"hn",*b"ho",*b"hp",*b"hq",*b"hr",*b"hs",*b"ht",*b"hu",*b"hv",*b"hw",*b"hx",*b"hy",*b"hz",*b"ia",*b"ib",*b"ic",*b"id",*b"ie",*b"if",*b"ig",*b"ih",*b"ii",*b"ij",*b"ik",*b"il",*b"im",*b"in",*b"io",*b"ip",*b"iq",*b"ir",*b"is",*b"it",*b"iu",*b"iv",*b"iw",*b"ix",*b"iy",*b"iz",*b"ja",*b"jb",*b"jc",*b"jd",*b"je",*b"jf",*b"jg",*b"jh",*b"ji",*b"jj",*b"jk",*b"jl",*b"jm",*b"jn",*b"jo",*b"jp",*b"jq",*b"jr",*b"js",*b"jt",*b"ju",*b"jv",*b"jw",*b"jx",*b"jy",*b"jz",*b"ka",*b"kb",*b"kc",*b"kd",*b"ke",*b"kf",*b"kg",*b"kh",*b"ki",*b"kj",*b"kk",*b"kl",*b"km",*b"kn",*b"ko",*b"kp",*b"kq",*b"kr",*b"ks",*b"kt",*b"ku",*b"kv",*b"kw",*b"kx",*b"ky",*b"kz",*b"la",*b"lb",*b"lc",*b"ld",*b"le",*b"lf",*b"lg",*b"lh",*b"li",*b"lj",*b"lk",*b"ll",*b"lm",*b"ln",*b"lo",*b"lp",*b"lq",*b"lr",*b"ls",*b"lt",*b"lu",*b"lv",*b"lw",*b"lx",*b"ly",*b"lz",*b"ma",*b"mb",*b"mc",*b"md",*b"me",*b"mf",*b"mg",*b"mh",*b"mi",*b"mj",*b"mk",*b"ml",*b"mm",*b"mn",*b"mo",*b"mp",*b"mq",*b"mr",*b"ms",*b"mt",*b"mu",*b"mv",*b"mw",*b"mx",*b"my",*b"mz",*b"na",*b"nb",*b"nc",*b"nd",*b"ne",*b"nf",*b"ng",*b"nh",*b"ni",*b"nj",*b"nk",*b"nl",*b"nm",*b"nn",*b"no",*b"np",*b"nq",*b"nr",*b"ns",*b"nt",*b"nu",*b"nv",*b"nw",*b"nx",*b"ny",*b"nz",*b"oa",*b"ob",*b"oc",*b"od",*b"oe",*b"of",*b"og",*b"oh",*b"oi",*b"oj",*b"ok",*b"ol",*b"om",*b"on",*b"oo",*b"op",*b"oq",*b"or",*b"os",*b"ot",*b"ou",*b"ov",*b"ow",*b"ox",*b"oy",*b"oz",*b"pa",*b"pb",*b"pc",*b"pd",*b"pe",*b"pf",*b"pg",*b"ph",*b"pi",*b"pj",*b"pk",*b"pl",*b"pm",*b"pn",*b"po",*b"pp",*b"pq",*b"pr",*b"ps",*b"pt",*b"pu",*b"pv",*b"pw",*b"px",*b"py",*b"pz",*b"qa",*b"qb",*b"qc",*b"qd",*b"qe",*b"qf",*b"qg",*b"qh",*b"qi",*b"qj",*b"qk",*b"ql",*b"qm",*b"qn",*b"qo",*b"qp",*b"qq",*b"qr",*b"qs",*b"qt",*b"qu",*b"qv",*b"qw",*b"qx",*b"qy",*b"qz",*b"ra",*b"rb",*b"rc",*b"rd",*b"re",*b"rf",*b"rg",*b"rh",*b"ri",*b"rj",*b"rk",*b"rl",*b"rm",*b"rn",*b"ro",*b"rp",*b"rq",*b"rr",*b"rs",*b"rt",*b"ru",*b"rv",*b"rw",*b"rx",*b"ry",*b"rz",*b"sa",*b"sb",*b"sc",*b"sd",*b"se",*b"sf",*b"sg",*b"sh",*b"si",*b"sj",*b"sk",*b"sl",*b"sm",*b"sn",*b"so",*b"sp",*b"sq",*b"sr",*b"ss",*b"st",*b"su",*b"sv",*b"sw",*b"sx",*b"sy",*b"sz",*b"ta",*b"tb",*b"tc",*b"td",*b"te",*b"tf",*b"tg",*b"th",*b"ti",*b"tj",*b"tk",*b"tl",*b"tm",*b"tn",*b"to",*b"tp",*b"tq",*b"tr",*b"ts",*b"tt",*b"tu",*b"tv",*b"tw",*b"tx",*b"ty",*b"tz",*b"ua",*b"ub",*b"uc",*b"ud",*b"ue",*b"uf",*b"ug",*b"uh",*b"ui",*b"uj",*b"uk",*b"ul",*b"um",*b"un",*b"uo",*b"up",*b"uq",*b"ur",*b"us",*b"ut",*b"uu",*b"uv",*b"uw",*b"ux",*b"uy",*b"uz",*b"va",*b"vb",*b"vc",*b"vd",*b"ve",*b"vf",*b"vg",*b"vh",*b"vi",*b"vj",*b"vk",*b"vl",*b"vm",*b"vn",*b"vo",*b"vp",*b"vq",*b"vr",*b"vs",*b"vt",*b"vu",*b"vv",*b"vw",*b"vx",*b"vy",*b"vz",*b"wa",*b"wb",*b"wc",*b"wd",*b"we",*b"wf",*b"wg",*b"wh",*b"wi",*b"wj",*b"wk",*b"wl",*b"wm",*b"wn",*b"wo",*b"wp",*b"wq",*b"wr",*b"ws",*b"wt",*b"wu",*b"wv",*b"ww",*b"wx",*b"wy",*b"wz",*b"xa",*b"xb",*b"xc",*b"xd",*b"xe",*b"xf",*b"xg",*b"xh",*b"xi",*b"xj",*b"xk",*b"xl",*b"xm",*b"xn",*b"xo",*b"xp",*b"xq",*b"xr",*b"xs",*b"xt",*b"xu",*b"xv",*b"xw",*b"xx",*b"xy",*b"xz",*b"ya",*b"yb",*b"yc",*b"yd",*b"ye",*b"yf",*b"yg",*b"yh",*b"yi",*b"yj",*b"yk",*b"yl",*b"ym",*b"yn",*b"yo",*b"yp",*b"yq",*b"yr",*b"ys",*b"yt",*b"yu",*b"yv",*b"yw",*b"yx",*b"yy",*b"yz",*b"za",*b"zb",*b"zc",*b"zd",*b"ze",*b"zf",*b"zg",*b"zh",*b"zi",*b"zj",*b"zk",*b"zl",*b"zm",*b"zn",*b"zo",*b"zp",*b"zq",*b"zr",*b"zs",*b"zt",*b"zu",*b"zv",*b"zw",*b"zx",*b"zy",*b"zz"]
\ No newline at end of file diff --git a/src/inp.txt b/src/inp.txt index ee8350a..3cfb7c6 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1,2420 +1,3380 @@ -6484081 -5518665 -2322188 -13185644 -11468151 -1388284 -9636611 -3226171 -4010520 -8704480 -8603118 -5393150 -11154621 -9110158 -812162 -634804 -4383310 -5434726 -3752432 -9818491 -4361825 -9025210 -3871007 -10667352 -11122865 -14451457 -15751654 -10320206 -10046084 -12577654 -850564 -10599745 -1032478 -1574517 -3132722 -7005554 -2919364 -9825687 -4766896 -11811510 -8473498 -2522971 -3151141 -4511254 -1409422 -6355072 -7271377 -4798227 -11661738 -7863190 -16405311 -2952065 -2292618 -12148074 -5078742 -7193248 -3290183 -5919755 -9837278 -12058888 -7307001 -6737369 -6062325 -169199 -7470332 -7745517 -15747152 -10793045 -8369756 -2461828 -13334496 -11785677 -5014608 -16569510 -8870587 -7850718 -14959435 -11575634 -341997 -3808582 -378657 -3449264 -5536239 -7423175 -4364753 -8758928 -5114592 -4878041 -7130098 -11147610 -1700987 -14461437 -1678372 -2637595 -4819360 -11463002 -9470187 -13502683 -13145643 -9339881 -3288352 -5011100 -13767816 -11209365 -9630342 -5424038 -4504131 -15405927 -9559902 -13379213 -15862165 -8174396 -11666081 -9467754 -8155277 -8966250 -15222332 -2405421 -8979251 -10411311 -3645173 -5332901 -8744876 -11238922 -1064373 -2356494 -7177688 -11455393 -16629166 -3412283 -778935 -8466252 -12172658 -11406706 -14782001 -8528436 -10362399 -10106875 -2384775 -16471659 -13138647 -9098513 -5270815 -1783178 -10548040 -2421119 -8496846 -9364986 -10730879 -12302479 -7227964 -10284389 -4207932 -10580561 -9142872 -15837342 -16406773 -8070955 -3375394 -5514702 -351752 -16700356 -199050 -3555762 -14073362 -9463292 -1694007 -1139307 -3853877 -13159020 -7503752 -2475681 -5408203 -12458815 -9392943 -226418 -11205762 -12359325 -14537227 -15437379 -8435418 -15666689 -11531029 -2406749 -2878452 -7586273 -11481943 -8368390 -1070876 -1535940 -11503859 -15781343 -10824401 -3747286 -4144478 -16040495 -13605112 -16748357 -13370883 -521762 -15324335 -563796 -16698232 -8226816 -337070 -15273250 -15492985 -9572847 -4634911 -1645135 -10251198 -255511 -8035573 -4297847 -8629188 -5159081 -16179240 -8384609 -2223219 -14994107 -11898290 -14922539 -12362345 -14094032 -666907 -3865955 -11279755 -6405511 -2781999 -1816339 -8565320 -12323830 -10409956 -5786891 -16343478 -6794005 -4880305 -11366049 -5303670 -10436035 -13294708 -2579948 -8330748 -11384603 -9954489 -13915447 -7468408 -2267666 -2250591 -15500243 -12352096 -11811757 -988391 -1707234 -12865034 -894893 -12783173 -3486944 -15743364 -4958711 -5108407 -15405207 -12699711 -6367938 -6822450 -11088727 -3518665 -15908422 -12107804 -7816100 -2599718 -8951685 -14733687 -6182785 -11935219 -1664664 -3801648 -1404038 -4729539 -14930727 -632373 -8994457 -11909817 -11131020 -12254194 -15319752 -13277567 -5390488 -8304160 -15750443 -9765456 -2597122 -10494554 -7242008 -4099042 -1424427 -11288475 -14062802 -5677151 -8058148 -3761068 -15197767 -12116426 -13172390 -8853463 -9952954 -10318949 -6765119 -1637213 -11090263 -10245079 -9889225 -1611003 -3022306 -6944765 -5543708 -8706924 -4734526 -3129166 -15291863 -8791810 -6966653 -7678475 -9400124 -9073548 -2626204 -14087721 -6737200 -6492514 -1384795 -7267399 -15459763 -3853805 -8495873 -7951518 -9787525 -4087579 -16539604 -16659493 -11989754 -7837978 -5821170 -7456962 -1334199 -2900557 -13762072 -14283656 -11155063 -4638125 -1051482 -10769561 -10918114 -11704298 -11190609 -16413020 -6388248 -15720005 -14560409 -16473671 -11732145 -12992422 -4556927 -8027501 -5430202 -8531864 -187089 -13065624 -16075893 -14049214 -8287365 -6594192 -16039351 -472567 -3720355 -7053736 -5404694 -12288947 -13624649 -5676437 -1899873 -11638053 -4251153 -15140058 -12109676 -3722391 -8434772 -10740473 -15170483 -10362592 -16028319 -14250211 -15585280 -1384704 -12924649 -4876501 -573963 -269293 -764779 -11866147 -15660492 -6386251 -5858027 -15480334 -424500 -15739663 -12914536 -2356483 -5414661 -4572221 -13235089 -12745523 -9604751 -6527163 -11246947 -11066266 -13105265 -13675429 -7642188 -4816153 -10818718 -2167284 -14035202 -15562070 -5096808 -12611611 -1980871 -5602458 -2662865 -4785169 -8199524 -3828185 -2788335 -11920504 -2851443 -3194505 -12605387 -10869482 -5599639 -1237979 -2716448 -7561499 -13171087 -1555014 -15258357 -12754472 -10450052 -3349557 -13459266 -13636267 -9820427 -11946232 -2569134 -9514543 -688007 -7135463 -5717179 -11994965 -2050108 -16085735 -11515870 -15896680 -1366110 -6721859 -10289245 -2886721 -1148617 -10824685 -4966461 -13195863 -6354065 -9729028 -11708692 -9208893 -242886 -7861120 -6027795 -3955283 -1108493 -4564879 -3507342 -9431124 -9474644 -778320 -7689156 -14031927 -6038036 -16726023 -14294498 -1350231 -15921866 -9380597 -14032882 -13031410 -12344627 -1122960 -13013691 -14686472 -5484742 -1670816 -3917952 -14399304 -3391593 -8927324 -7311652 -10452205 -13283857 -8690270 -6590528 -4206509 -12451109 -11595730 -12580211 -12610684 -9370571 -6054101 -10063773 -13528194 -11317076 -6569357 -4973921 -14642611 -10156223 -1501190 -1644044 -13137319 -2934305 -7637591 -14703328 -3449517 -2221397 -10784259 -1539976 -1105325 -7353744 -16762624 -16340668 -15701611 -3790347 -4660007 -9874163 -10441355 -14436524 -2521647 -11888774 -2082384 -7012066 -2739634 -11701146 -15690545 -13874540 -5664752 -16572137 -5508222 -5030814 -9188961 -7851442 -15498196 -3149048 -5533261 -10340579 -13694635 -13871717 -12108010 -10892056 -13638226 -16272518 -9895314 -11531765 -2583690 -15764349 -5088994 -15280918 -11684744 -11414636 -12119696 -13326560 -249953 -11094719 -1302273 -2373007 -14160369 -2446495 -6476934 -13473252 -1178607 -5114000 -14507598 -7724865 -14239093 -3987267 -730116 -15407907 -15213366 -4655571 -10925080 -10326662 -8207290 -11549568 -13701996 -16049962 -12435020 -10590151 -7449942 -16258378 -13555674 -10746943 -11318622 -6297388 -5645003 -13027889 -6242127 -5528204 -5248978 -894976 -594112 -11107325 -15101178 -11833290 -11173138 -3951412 -3614098 -12306551 -1783209 -3918424 -16760916 -11622999 -3722941 -1529746 -13586681 -9921048 -2456034 -10649724 -3653245 -11113808 -12780807 -12124218 -9775025 -7877949 -15082295 -7229616 -6773575 -5078930 -12662544 -9048749 -3677990 -5633050 -11850082 -8242607 -9563115 -9839103 -7773166 -8131446 -1045659 -9787932 -12055740 -13233049 -15431420 -10284653 -13550834 -6503718 -7997078 -13269750 -887417 -1379682 -8905294 -7279600 -2146606 -2529505 -8878740 -12826860 -10891948 -13700185 -2270030 -3524285 -15910431 -5571299 -15728987 -8166303 -2064323 -752849 -16518656 -2071493 -12844307 -8874665 -13007812 -7420413 -13114060 -7833711 -6440495 -5810501 -9439284 -11815979 -7250270 -14422912 -12583721 -6462517 -5254646 -14507867 -15644088 -6175964 -7936443 -9899620 -15780861 -4660684 -2389043 -1899762 -9317177 -881856 -11417816 -11196945 -7292169 -1952033 -8789260 -1976074 -10131113 -1603955 -2014818 -4075087 -14252089 -9759963 -11699734 -8550829 -1189344 -1605202 -6264648 -674176 -16601235 -3965372 -4915014 -10152847 -9349442 -12233391 -4829294 -8759683 -3906260 -11734635 -3512635 -12488390 -11655546 -15352902 -3893467 -13321330 -13523809 -11235024 -12697866 -7838329 -15580097 -5159373 -12853573 -7307234 -10006760 -4647782 -2337054 -2079482 -1577902 -4437726 -15320655 -13291224 -7317058 -15045301 -8738381 -6055743 -14562579 -5949464 -7471709 -12072981 -12612098 -3570791 -10579905 -4615181 -16112600 -3515311 -11338576 -3936234 -12954945 -5931790 -4368321 -851686 -7992150 -6940748 -290836 -8186440 -3802883 -14554920 -6470418 -11959292 -14117424 -12521845 -16271690 -4993831 -2614499 -14816101 -13868016 -15823934 -8409881 -10190423 -15007742 -7927040 -2506043 -7729094 -15885641 -14410186 -2270878 -16364859 -9571506 -9969275 -16106141 -14636696 -14166618 -8534719 -7994699 -11373421 -15777963 -1708550 -6173624 -12973019 -11050554 -568290 -4754763 -14649060 -13494988 -3109751 -12078723 -12082467 -648836 -8390127 -3512808 -1420410 -12597481 -11993456 -12550355 -12330358 -9155493 -1563156 -2774762 -15465213 -196068 -3002789 -11467818 -13997633 -14807296 -8774516 -14026080 -266468 -12399735 -11174076 -15879662 -6626275 -15664758 -12463401 -15647414 -1370101 -4797953 -4116460 -6817995 -6633954 -6995055 -5989803 -15476399 -8073131 -4762678 -1295365 -2582389 -5361747 -10574600 -10715658 -16605226 -13016228 -2868239 -8037143 -14163093 -6857087 -955513 -15742180 -3408949 -13140194 -8820687 -8333139 -8896263 -9395287 -13578838 -12635785 -13186674 -667186 -13772165 -7399274 -15756604 -15529406 -15553728 -1957169 -16397628 -131450 -12383956 -14241277 -7495143 -10145845 -1923626 -13260216 -10332051 -13534027 -13295228 -6062937 -12197824 -7083768 -2309574 -6434506 -6835778 -6276970 -4644692 -3958313 -10175896 -16566036 -8217150 -8595936 -11267401 -2630327 -8810564 -13441353 -7153515 -10233483 -11556303 -6293265 -15885810 -11037739 -8380395 -9094753 -12139710 -8773376 -13837407 -3838473 -15666594 -15158081 -1874544 -4980346 -1728514 -6002446 -5194682 -12441638 -14897367 -14848915 -5079881 -891709 -6817320 -4373189 -6819195 -15165727 -12035403 -14506746 -16741462 -11414777 -13115707 -5974363 -3281362 -10929433 -11579848 -873726 -148274 -5233454 -4718625 -11514791 -11294132 -10292397 -15361431 -12323799 -11234572 -4204217 -3148124 -11975786 -7390873 -2402478 -7961872 -10538203 -13416690 -996953 -10594795 -13099244 -16242017 -3469618 -5481540 -4754332 -6602713 -14434228 -6044956 -12015119 -13451650 -16178368 -592964 -1809538 -743759 -16136328 -593279 -14195522 -1811725 -8745483 -8641263 -8123694 -11430691 -11093300 -16374458 -4999814 -14764467 -12916789 -1204443 -12295794 -16288239 -7754560 -11832188 -5775862 -15939177 -8909555 -2913346 -10760495 -1325007 -981030 -1433159 -977121 -16596144 -10172816 -10269559 -4822234 -13655604 -15467999 -11536208 -1673234 -8459325 -1829159 -14796000 -11387902 -3858203 -1003664 -6894895 -14389824 -4672259 -3560473 -13233644 -9115778 -3328407 -16177628 -16052636 -10194751 -16316234 -6939152 -12750341 -2395909 -9493750 -3866650 -12467958 -5415409 -13807843 -9491863 -6761978 -12160523 -6198645 -11168029 -2043597 -5740178 -15883815 -2039189 -6612954 -10160998 -15989958 -12396972 -14121262 -11603037 -14276806 -10295984 -16576191 -2779009 -12904535 -15017060 -5265389 -3228450 -11032088 -14406137 -258438 -9110525 -1912491 -5489706 -14587045 -400080 -3528183 -2836431 -6026984 -14186573 -13020332 -2822100 -7492526 -9373825 -14197463 -11775837 -15017211 -13128888 -11907903 -2465349 -7516617 -9382427 -12526875 -6339763 -11512208 -12427640 -12494089 -9579407 -15320493 -11876102 -14676829 -8632525 -6007917 -2864461 -7875520 -13924707 -11534921 -13226508 -6496436 -5830794 -12703709 -15440974 -11828175 -13745768 -6312423 -5289455 -15880604 -8390894 -13735826 -857410 -9936069 -4272549 -14847466 -9329596 -13571995 -11486378 -15184214 -16001361 -4889687 -6895801 -4731506 -6557541 -11041591 -5478468 -15224460 -11308880 -6549849 -11888890 -11491475 -2485436 -3371885 -2227168 -11596014 -1730950 -12460942 -6350140 -3939681 -717896 -4084011 -9149190 -8462487 -11565597 -16190618 -11119444 -14854035 -5983505 -7134458 -8766552 -7595206 -3319842 -2340366 -4857365 -6027497 -11132384 -3411061 -5082268 -2509921 -3447888 -4650955 -3310064 -4826147 -14200334 -9751709 -12882458 -3436202 -6380159 -1411502 -5389277 -3955641 -10023775 -3761585 -8027808 -5922857 -3541496 -15416029 -12610491 -2169110 -5789701 -13792415 -9685031 -9280325 -15965308 -10121348 -10286295 -1988494 -5167426 -8740270 -13353351 -10440586 -5550418 -9104756 -16003268 -1739212 -7447759 -13923200 -1199647 -10022415 -978722 -16462697 -4612655 -7900154 -10195070 -972026 -9075933 -4332808 -1907938 -10784355 -7636695 -16408660 -2698540 -7158851 -10023060 -15990766 -15826867 -11209196 -11034974 -1179497 -9636754 -4038757 -14372116 -4027721 -6189285 -2895771 -2194716 -4944075 -6983419 -2073264 -6218206 -7114384 -1817858 -10190275 -14714776 -2145370 -696172 -1656963 -14843123 -13572628 -5384730 -4457625 -2598113 -10588149 -1946188 -10910090 -10989979 -15112837 -6783277 -10323892 -10313058 -4829389 -14808607 -16392732 -1896602 -8747770 -8299497 -15655240 -11431280 -8944390 -8581960 -12693699 -12292283 -9810437 -824745 -10040302 -11212846 -6737397 -9546111 -5172636 -11491354 -13523397 -10939353 -10467164 -3188990 -16633515 -464621 -12771745 -14170149 -8914554 -1693612 -12491749 -15042592 -6546961 -8334215 -15379319 -11714475 -7788690 -3532897 -14327844 -11645113 -936774 -11628718 -12105444 -13125627 -2452147 -12305125 -689055 -6975456 -11421323 -4006564 -775044 -8852340 -8703916 -14833946 -8356054 -8068583 -402534 -15474399 -3415770 -15234415 -3004385 -9480347 -11036795 -3210375 -16550987 -11984842 -15703382 -13348085 -6342938 -10401338 -5101393 -15896093 -4954484 -4178939 -15578482 -12148017 -4364093 -10770706 -3100527 -8033188 -6926395 -13833325 -12027778 -10584060 -4423657 -15037808 -12369241 -12740758 -13800854 -3121866 -15422534 -4739195 -1617520 -689498 -9969856 -11709791 -2214415 -2190927 -15518702 -2358586 -4931883 -1423896 -5353544 -7084695 -11113684 -8684375 -12924570 -848553 -13413545 -1220456 -9035570 -10809508 -3311420 -9322269 -14348035 -5980272 -12651693 -6682310 -14822205 -15319284 -3116132 -8406716 -4169557 -982393 -1406585 -9666187 -5867692 -3426171 -2937898 -5690869 -11802601 -1941553 -6607723 -10585637 -10461624 -1881254 -14685250 -13602771 -6516466 -6619603 -2174551 -13798978 -12381785 -15802726 -10401182 -8564914 -352179 -8402239 -12693938 -12173621 -11724987 -15855746 -14323694 -5400240 -11769708 -6716214 -8706025 -15453531 -4149823 -4626915 -11522142 -12397342 -1230210 -15429499 -16417543 -13277402 -13737051 -12502523 -6853742 -15613177 -3595288 -2034610 -8311806 -14508916 -12458058 -16103677 -5283077 -6083058 -1570208 -15486580 -8170936 -4470985 -2461642 -907017 -4671876 -2046235 -6474631 -14562948 -5362498 -9245392 -11491547 -4948990 -13223452 -13434809 -8163740 -4608905 -8160305 -3193291 -4576729 -14535456 -8717336 -14298704 -4481357 -159555 -11230632 -6638731 -14262973 -2364466 -11710048 -14150010 -8267598 -15975331 -5511681 -14838098 -5140470 -4896065 -1300452 -1714046 -5127634 -2872233 -4623508 -7023895 -12696228 -11168194 -7707971 -6209871 -14910692 -2051722 -16575132 -8170612 -3092894 -12362023 -7036492 -912112 -11657742 -11298288 -2823599 -14952226 -697880 -9187502 -16748459 -8721604 -12097496 -1552849 -5517263 -590893 -12707397 -6897026 -15954039 -12934376 -4250949 -13573578 -5653633 -15704778 -6934490 -13381082 -5581532 -8129810 -2327786 -16215385 -13714933 -3356935 -6375357 -10754390 -16454300 -16131847 -1465013 -2663924 -10944696 -10901291 -1610698 -11504174 -15978409 -4699960 -13444873 -8658792 -16317404 -13841424 -14668555 -4090475 -7097993 -15764107 -11074881 -4070488 -4816688 -11052100 -11796532 -5091801 -7818193 -4061667 -9216829 -3972708 -10628196 -13011763 -4524483 -840404 -10173279 -2147179 -16545553 -2468559 -703406 -3584825 -1645225 -12189092 -12461982 -2514743 -1785724 -15492633 -12812250 -13715161 -9514442 -3873682 -14282890 -9626180 -16370476 -14175865 -5462352 -2269926 -10188349 -15588448 -9702833 -2316388 -2435719 -2125471 -9810691 -9758452 -8193437 -2054736 -10396140 -6718242 -4499205 -7185324 -11470784 -5146319 -11495757 -12956268 -11094800 -14098724 -615091 -2163409 -737771 -12856660 -16168716 -9533488 -6988615 -1132325 -639498 -7212153 -1248017 -8486503 -14856368 -13116751 -4318565 -7727360 -15493548 -10071144 -16503901 -2470750 -12732011 -1937333 -13930710 -15103728 -10334496 -16582606 -5243998 -12102316 -11259499 -10029427 -16663931 -10119286 -2159414 -15846303 -10570274 -577808 -9553984 -7804872 -5593894 -6796293 -15277086 -9506607 -7903519 -5392415 -9171412 -3450861 -10548207 -3377144 -14630112 -14807162 -640234 -4840297 -7132002 -1855951 -10974245 -794338 -15254334 -5099776 -661297 -10924819 -7255860 -6263398 -10642966 -13188797 -16223138 -12946938 -540705 -4997527 -16576731 -16702308 -12376075 -14107267 -7282033 -1946527 -171090 -5541081 -15907606 -743718 -15880049 -16733384 -134358 -865672 -9471165 -2804902 -10514425 -5523352 -3621339 -12714271 -4348924 -1606170 -16200732 -10881964 -14747356 -14924169 -12454068 -11057671 -8914167 -13617622 -4959989 -169440 -1314188 -7547726 -13691192 -9583304 -8773499 -7717677 -9998717 -13373746 -1773415 -2724979 -6205308 -1325974 -14967213 -12747772 -9116796 -7284261 -10215883 -12440284 -10517277 -13799689 -5435098 -11708204 -16522237 -14412044 -12274561 -1118634 -7518534 -13080957 -9132192 -3328121 -10047512 -15922271 -1443408 -11032961 -14068982 -12653196 -13555803 -8135637 -2375075 -8147953 -3036008 -1569673 -10517542 -7804962 -9443407 -2414954 -6797843 -1114228 -4080836 -6206410 -13467099 -6891100 -5694842 -9894572 -2892631 -5356057 -816966 -3316538 -6912676 -3964616 -10343542 -4003975 -11207174 -11309233 -8929949 -3509538 -3389088 -14305563 -13927775 -3771920 -5362071 -9787174 -482748 -15732519 -6680962 -10104582 -13124631 -4011729 -6477823 -9478061 -2727928 -12793508 -3280574 -13109814 -8422386 -11838216 -4739971 -11054467 -2220169 -9830819 -6081864 -9863983 -16197394 -3158011 -16241398 -14026914 -6881166 -13067549 -10279954 -472842 -3384192 -12168642 -13191752 -12324664 -15457608 -6247886 -14134710 -9904573 -14412119 -9662345 -9265825 -10551365 -8678840 -3406925 -7385974 -12821002 -552697 -9225940 -8692443 -15370814 -11087940 -8462510 -3153157 -16085929 -10877366 -1244585 -1661601 -8513548 -10034326 -566621 -2744370 -8614866 -498381 -15722288 -11843599 -6227522 -7507812 -10200192 -2662661 -7138239 -15591999 -9834944 -6823171 -5179889 -6810435 -14577290 -13506628 -1209406 -16501332 -11569356 -1484552 -5497315 -14056246 -10503237 -10865681 -12537075 -9367615 -13822134 -3533335 -6179504 -15576618 -4469262 -11752320 -1259884 -13307866 -16271878 -16391162 -1826158 -9042948 -7400830 -1242076 -5938586 -5495250 -9321715 -13589415 -6512760 -2469486 -3539515 -3943304 -14789317 -13499711 -15774150 -12148047 -7381256 -549137 -11859501 -6403093 -12187057 -12848910 -3554838 -1610112 -6462486 -5789291 -8476884 -3386013 -14271983 -2464553 -4960841 -11918103 -12233813 -5945315 -11332864 -15786722 -14407182 -7910601 -10511977 -12981588 -7852696 -15696210 -13191064 -8908616 -4002751 -16194780 -11667638 -11995356 -1572250 -6631848 -16144832 -10558773 -931466 -10716914 -16714757 -4586484 -6845799 -10838998 -6383626 -7244506 -5552935 -1287832 -5511001 -6080450 -4079188 -5254323 -9825266 -13799675 -13236524 -14319750 -5573556 -8997345 -3630812 -6587384 -5752940 -4128962 -9674769 -6159519 -15161510 -13641484 -10797889 -530452 -11539885 -4926237 -10285120 -4253465 -16477064 -11870523 -3578183 -6993386 -6132730 -10046658 -11762745 -1536202 -16124138 -1884398 -7482862 -15263556 -13471922 -905053 -1385841 -9031676 -2511659 -8437503 -5244537 -6460421 -6009939 -10606068 -2449410 -14083257 -4203702 -11172285 -1375666 -1002472 -9620400 -11714573 -4952017 -10335479 -3946469 -10014115 -8064438 -8153051 -14690847 -5616811 -5474616 -12727959 -8149507 -15525748 -10739239 -12938164 -3718603 -14474136 -10610401 -11808412 -10197601 -8655624 -10143277 -13695588 -13130482 -5353770 -9436632 -6811266 -15534608 -2828182 -6291732 -4081754 -4660816 -11589096 -9748621 -3566132 -2438176 -12124102 -4019173 -9453882 -12063324 -9822522 -10410179 -3703414 -6486518 -14444895 -14242268 -6852507 -5340846 -9376673 -13936674 -13136192 -7336618 -15803851 -15715609 -12148469 -5665850 -1002122 -3716724 -10356457 -11063279 -4649558 -12177494 -9505131 -11551899 -7490873 -1465401 -4905113 -13213304 -15408217 -3522073 -7662750 -6004282 -15495158 -339875 -1090025 -10353504 -320308 -2285862 -4217394 -8651381 -10395617 -2744732 -10218779 -3574671 -2021205 -3070363 -3932727 -14759579 -2961309 -14471148 -11114206 -4924817 -13468447 -1368461 -5328667 -7547873 -9712200 -6789413 -8844283 -930272 -1701877 -10544004 -6812761 -9283107 -12179409 -6125156 -3424487 -12437795 -12277571 -7523502 -6843015 -16098456 -6951741 -7734929 -2200736 -1313615 -9641151 -15557677 -14957813 -7551817 -2283744 -16617003 -9818559 -10096185 -10800320 -7553104 -2287246 -2566003 -489501 -15103565 -7143975 -365953 -5945063 -143903 -754972 -14415008 -12450228 -6425844 -2239309 -8227169 -8698609 -10071824 -11068320 -5178284 -14614822 -5517370 -2882160 -16373080 -11234044 -7430209 -14960112 -5255281 -12547403 -7775624 -3516863 -12647209 -15959046 -10227221 -9697594 -13315673 -2959764 -14116207 -929998 -3160623 -11240184 -4890249 -7534244 -7470995 -9889547 -9903164 -1913925 -3845754 -2169346 -12504114 -3333808 -15738398 -12093859 -2131685 -12663367 -16006853 -16545695 -3644187 -10042768 -11426168 -9268194 -14560101 -3762780 -15242143 -13610498 -9199754 -11166230 -16164629 -13111395 -6828845 -9474417 -15771113 -11736892 -553443 -14097002 -12644211 -10214993 -4318655 -13321143 -14071305 -6442984 -16072354 -9659195 -3779826 -11721567 -2189583 -7981030 -15642840 -1855407 -13154477 -16416650 -8445239 -13210428 -3212492 -16120000 -8399566 -13780057 -4488693 -15009985 -3588442 -2806313 -1518887 -752461 -13970773 -1974748 -15545770 -6115404 -9434251 -10714527 -13898034 -12945838 -8918490 -3495696 -6357748 -7595336 -2757754 -5417904 -5132414 -6497281 -9746810 -2999403 -3657334 -6896270 -13886008 -9641747 -2544391 -5945909 -11002846 -2944911 -6453132 -4604596 -2710987 -2196345 -16352788 -1790792 -1973052 -883684 -6339987 -8020282 -13756978 -2894642 -6944798 -8968139 -218863 -5582375 -6611226 -8604041 -1442584 -10855593 -3634532 -16611114 -11471280 -14167582 -12688475 -4935157 -5339376 -11486157 -14704193 -8593549 -5276646 -10934098 -1253846 -13384294 -14320564 -3518697 -7075810 -14268890 -1394178 -2242317 -6573929 -8396767 -15026184 -6665212 -11595636 -6234286 -10182259 -4215662 -7353282 -2912138 -12756467 -9750818 -9121650 -12784317 -9658912 -427235 -3892099 -1600876 -5002233 -8359946 -5078558 -9493647 -7598568 -2328776 -13134593 -16538752 -13853898 -10870294 -9085905 -10034943 -11670312 -9732490 -8841449 -12111700 -10576180 -11214895 -15241011 -11607393 -13493437 -14145028 -13602227 -8208858 -8985529 -3002054 -12850428 -11589580 -1338756 -15650679 -9460533 -3443359 -16076374 -9567279 -12943448 -1947236 -484557 -193242 -5508929 -13945606 -6024929 -11238075 -2830477 -14859290 -190661 -15097812 -3646363 -11096004 -12579232 -14007750 -5502969 -4790468 -11082313 -4259117 -1654055 -14109754 -14675288 -7892511 -7395343 -7111691 -8161582 -1370114 -1098675 -3179748 -2408357 -6270962 -8326493 -14552066 -409443 -1013885 -12036911 -13031039 -8252337 -8277428 -10233420 -5764074 -13700353 -10959989 -734897 -15274268 -2488624 -16408853 -11277993 -16113918 -10844851 -6718886 -10136874 -13817799 -15963324 -5679263 -10281361 -7070908 -1866620 -7313124 -13866775 -14687980 -2924129 -10976745 -2788072 -16709014 -3447379 -5445893 -6630430 -3112233 -4501127 -10638861 -14321898 -13113456 -3142546 -13323734 -7837410 -2149305 -7791877 -908116 -2352638 -3333856 -6868404 -13137130 -7447793 -14781735 -10949000 -14353584 -14854746 -11530140 -13441116 -9634690 -15194156 +qn-ub +ra-sg +zx-kx +go-xf +kz-fc +vb-sp +mt-oc +da-xb +hu-gq +cg-nn +le-lw +zk-uf +ss-wn +yg-mf +vw-pe +bc-jp +xb-qi +jd-fj +en-os +du-ha +zo-rx +ss-jf +xs-zt +an-wj +ua-pj +am-tq +ae-pb +gy-ce +yp-qk +qs-cw +da-qi +nu-cr +wp-ui +jn-im +zm-pq +gc-yl +cs-xs +wo-xx +bo-cg +nu-nt +pr-op +ha-bm +qm-ld +go-ef +wo-jp +cq-sf +dh-sm +wy-bl +av-wg +fa-ue +eo-qz +fk-mj +mh-bi +ui-lt +ep-og +jg-oa +yb-ft +sz-oo +jl-yu +cb-lo +ln-hu +ak-ou +yx-gg +cr-ag +pj-al +kl-os +hl-zp +yj-lp +li-rz +qr-uh +qs-tx +mj-eq +bd-ev +jm-kh +et-oy +br-ku +na-em +mw-rn +sx-fw +og-wq +rs-bu +bl-tt +hg-ba +qs-sb +la-tu +ab-ma +eq-ca +ex-uz +iz-we +kn-of +nd-jf +wh-gb +pj-gz +et-lz +xq-ga +tw-ew +sv-im +uv-xl +ud-hx +jf-eo +kd-xo +jb-sa +og-vz +jm-sg +cg-lg +ol-vd +dm-qv +vq-mw +id-pr +tk-cp +dw-hn +ai-oy +rm-xe +vy-xb +gx-rw +di-to +fl-gc +vm-go +db-kh +ap-vm +nv-ua +eu-zi +gt-la +df-xa +xz-ig +lv-bs +ch-mj +za-bz +mh-vz +ta-wc +qp-qv +gv-mw +ju-xo +tt-sa +pc-js +cc-vn +ca-it +hw-mc +qy-rq +iw-xg +di-if +an-gf +gi-wj +yn-rk +sp-fz +ps-fq +gy-zp +hq-fc +uw-jx +pd-zm +ho-uo +gm-ni +ei-wv +vj-gn +dt-de +ss-ys +oc-jy +bw-nm +hl-ci +uv-ry +jn-bb +vn-yz +sg-ms +jf-dr +ox-dp +pe-yy +he-dd +ei-gw +fr-ic +ag-qw +ht-pa +sf-gl +hq-ea +xx-rs +bc-fh +uf-yu +bf-qz +pl-ye +dg-xo +rf-ui +uu-xc +gi-xp +yt-ll +qm-zc +zp-yy +qf-sa +sq-od +rz-yg +gh-sp +ui-rx +lp-qk +jb-hf +fp-ru +xv-gy +uo-un +dm-ug +ln-hx +ux-zc +zr-ic +tv-jz +kz-wx +xx-ed +ld-ij +ab-yt +wm-vx +rv-ww +tn-ym +fj-vm +se-sp +yy-mz +ds-qq +nd-od +tl-jc +ym-xz +ro-ql +vj-jh +fj-zv +yv-kh +zb-ff +lv-tq +nc-dp +mp-ko +aj-hk +yx-ch +vx-hn +vh-zw +py-xk +ue-rg +ek-ma +co-ed +ll-qn +ox-nc +lo-tw +uw-as +sk-sv +at-bi +cj-rx +bi-wq +za-fx +ui-zo +di-qp +fq-sp +bf-dq +vo-gb +lk-yd +gp-mp +zu-jk +ch-je +sm-rh +gm-fm +nq-gl +ig-aa +vd-sp +zt-cs +dx-uy +ld-uo +sk-wx +ka-pl +jh-ht +ha-yk +wu-xz +hm-fk +tl-xf +io-uf +jj-yb +zd-lz +fq-je +ht-kl +ee-le +qf-bl +yn-xp +mb-nv +xa-nz +ji-sb +gb-jl +nx-vv +ff-bb +vr-ow +rs-sr +ok-nc +cw-gx +wy-hf +dn-sp +cc-mw +ou-gw +ep-dy +rb-ld +sf-nq +rg-kc +qy-sw +eu-nh +yp-ij +py-ah +bz-zb +ai-ul +ga-rn +mp-nn +wp-sn +cu-as +jf-aw +ky-ze +eu-bp +hm-zb +wl-bf +yt-xa +pc-ao +az-ty +pq-kx +lw-kd +jh-pd +qr-nh +qs-ou +by-bu +wu-so +fm-ve +kd-ok +ds-yg +eq-it +ix-nx +bc-jj +uy-zm +mc-sx +av-yk +bt-uz +mj-gg +cb-me +ul-oy +fu-vt +ro-cr +lv-oj +ng-rr +rs-gn +xs-hk +dt-zb +ah-at +xq-dx +gx-ak +ca-er +qw-yq +dw-vv +rq-yb +ps-ab +nh-uh +vn-as +zo-sn +bq-pl +lw-dp +fj-ap +rv-nm +se-fz +du-va +vn-zu +fz-it +ti-gi +ze-jm +cx-bt +rz-ow +wi-gm +at-xh +xe-sa +or-ub +dm-qp +sj-zu +en-qn +ng-df +ab-xc +gf-uu +tk-no +nz-jk +od-dr +qk-fa +jx-cc +ka-oj +er-yx +ph-vc +pk-vj +yw-jr +xo-ok +rv-zd +we-bl +pd-pq +bu-iv +yc-mp +zu-vh +dm-oc +hu-ht +la-iw +kh-sg +pb-yk +nd-aw +qj-aj +uz-qf +bz-jn +ic-nu +wg-yk +ix-dw +qm-rw +ye-dl +df-iq +iz-gg +jp-by +mn-hk +id-uq +kc-td +xp-hf +yp-sl +aj-nq +ry-go +kv-ed +iz-ca +aa-fu +sz-hw +li-hy +gy-or +cj-sn +sg-gz +lv-kh +io-jl +yz-rg +ao-hz +tq-bs +iw-oo +ot-gw +rm-ak +zt-qj +ol-gh +ky-fx +lt-zo +fu-hq +or-yy +mu-kk +vm-zv +hk-qb +iv-ed +dr-nd +ym-fn +rn-dx +zd-ww +se-vb +sx-iw +cx-ex +ow-mf +kv-gn +ux-fa +ek-xa +bt-bl +vc-vo +xw-cv +sw-pm +ga-hv +mc-in +yz-ux +bo-ao +rl-sw +wl-cp +qz-ba +oa-yr +yg-jg +ow-li +gp-nn +as-jx +wc-uz +xv-yy +rf-kp +dp-ee +vw-ce +ds-li +rg-fi +br-fn +rh-nv +ln-nx +hm-iz +un-gy +xh-ep +in-iw +ou-tx +ba-oq +mc-iw +bb-im +xo-st +jh-pq +ng-mb +zc-kc +od-ss +we-mj +nv-sm +mb-cb +sw-jj +sx-oo +vr-of +jk-as +yp-lp +pd-sl +sg-db +wh-vl +kq-tq +yo-co +ou-xe +ve-rw +rb-hx +jq-uu +zm-pk +mx-vb +or-tj +rl-rq +vx-jh +bi-xh +fy-hf +py-ru +kr-lg +in-xo +fr-hl +os-ev +aw-lq +cb-tr +uu-yn +qk-wk +du-av +uu-uf +kc-au +vq-vh +ra-jm +gt-hw +wj-rk +hq-tb +jg-sm +im-yf +tr-mb +qk-yj +wq-ep +sk-su +et-nm +fo-ot +ea-gd +jh-sl +sq-dr +if-qh +dm-di +lr-rn +av-ha +an-uu +gb-cq +ul-jn +wp-lt +zs-nc +kd-nc +gc-ff +hz-to +bp-qr +sa-ex +cc-pd +bd-uw +ak-gw +gm-da +gv-uw +jd-ap +lc-vy +mq-iv +gz-jm +yf-xa +bx-uv +mu-oo +dy-wu +nb-eg +ai-bw +sx-la +nx-em +mw-uw +rf-ty +gc-zb +cw-ak +yk-pr +qf-cx +bo-lg +lm-sn +fk-ca +lo-me +ha-fc +ef-ap +rb-qm +fd-pq +xv-jz +ae-av +hs-xp +sn-ui +sz-la +gq-ev +hb-dd +hq-aa +fu-kz +zx-sl +zv-ef +nj-wp +nq-hk +er-ch +hw-sx +ox-kd +vq-gv +fy-uz +xe-ak +vr-rz +iz-eq +oq-tk +kp-ui +cj-ty +tn-ku +no-dq +ib-il +wv-pj +le-zs +hn-sl +te-ds +vw-or +sd-ys +nn-lg +nb-sp +zt-mn +qd-mp +ig-ku +eo-oq +gm-vy +lq-jf +xp-xc +og-mh +zi-xq +tn-xz +cz-ba +as-sj +ro-nu +ia-hl +ae-op +cd-ps +tt-jb +to-dm +bu-hg +yf-dq +fp-ls +dl-oj +nj-ui +st-ee +mc-kk +ix-bh +vd-gh +sm-yr +st-zs +sb-ak +ue-ux +it-yx +jg-yr +lp-il +zw-vq +dd-rw +zb-fl +gx-gw +gv-vh +dh-pj +ot-cw +xk-xh +la-mc +ql-ww +fk-me +iv-lg +qf-hf +lv-cn +zs-ye +ah-bi +wk-lk +to-ml +rq-fp +vb-vd +bo-gp +vw-gs +yv-fx +ka-bs +vb-pi +rv-ai +fw-mu +zd-ac +vy-ni +nq-cs +tj-ce +mu-hu +ul-ac +dt-jn +po-tq +py-bi +zw-on +dg-st +xu-nx +lr-bj +hb-he +ze-ra +ws-yw +no-cz +xf-fj +hg-cp +eq-er +kc-bj +pq-wm +bs-bq +ew-iq +ah-xk +zb-im +ql-et +cq-yu +wu-tn +fz-ol +ng-ew +fd-pl +on-dn +ys-wg +qn-bd +ju-lw +iw-fw +yr-fg +az-rx +zx-vx +pi-sp +ib-wk +zk-po +sc-ij +ua-jg +ty-rx +ek-cd +gd-kz +du-bm +os-am +rl-bc +wa-ij +ca-mj +lg-ko +aj-gl +lr-ux +nj-sn +dl-ji +ot-tx +zv-do +ru-og +vt-jj +tn-fn +uh-vl +rs-wo +gn-th +wi-qi +yw-jk +oy-lz +rg-td +ds-mf +gy-yy +ta-ps +no-bf +jd-do +jg-pj +lr-zc +xe-ff +vd-nb +yv-gx +cu-pm +gn-ed +wk-yj +yl-qw +id-yk +go-jd +vb-eg +vw-gy +xs-nq +az-lt +bd-en +vt-fp +ht-gq +qi-jr +lt-lm +ff-ol +jl-cq +tq-pl +pg-bl +ah-ep +ma-wc +jg-zz +vy-jr +ai-nm +il-ph +cx-tt +hv-eu +hy-te +am-pl +ku-dy +so-tn +tk-hg +tj-vw +ex-fy +jl-wh +xx-th +qi-ws +vi-ti +uw-vq +dz-mf +pc-kr +tj-tv +js-sb +le-xo +tt-bt +hg-eo +dr-ss +dt-gc +ei-pj +ef-do +dl-ka +ow-hy +kv-wo +en-kl +yu-vo +hs-an +bs-oj +zv-xf +ka-am +xb-yw +nt-ir +sj-uw +dm-hz +hv-dx +pc-qd +pe-gy +ua-ei +yw-wi +er-fk +cb-iq +bo-qd +tz-tl +bf-tk +rn-eu +ft-bc +og-hi +ey-fa +nn-kr +yc-bo +fi-kc +sx-sz +ro-fr +tl-go +bt-ex +fy-cx +mt-ba +qw-ff +ox-le +ps-xa +mu-hw +yr-rh +ag-ia +ld-ve +tz-sz +am-kq +jc-zv +il-wk +sn-kp +nh-xq +ds-rz +bf-cp +jj-rq +sm-wv +wv-rh +ds-hy +xh-yu +sb-tx +xu-vv +vm-xf +vl-cq +dz-te +dz-rz +le-st +eq-ch +zi-bp +wa-yp +ir-ro +jz-tj +po-cq +jy-mt +yq-bb +zk-vo +ku-xl +td-xm +dg-ju +oo-kk +tb-sv +go-ap +gi-vi +xj-qm +au-yv +tz-zv +ze-fx +pc-gp +if-ug +qy-zg +vy-wi +qk-sc +tk-qz +sr-cr +hn-pq +ve-uo +lz-ac +vc-io +wm-hn +nz-ta +fj-rl +lv-ye +wq-py +id-va +dl-tq +bh-nx +jy-if +dd-xj +cd-yf +at-nj +hk-qj +kk-hw +nz-ps +uo-rw +en-pn +mx-dw +iw-mu +py-hi +ud-ix +fs-bf +uv-tn +ij-lk +vc-zk +ub-os +wn-co +ng-te +tq-mi +eo-tk +if-hz +je-cd +os-ll +vi-xp +pf-hx +aa-ea +rv-oy +zm-hn +lo-ng +pn-hu +he-ve +bu-gn +if-mt +sz-fw +as-zw +fi-ey +jr-da +pq-vj +cz-cp +vr-ds +qq-vr +al-dh +uh-rn +cq-vc +bs-ye +lt-sn +vr-li +ok-ox +wn-dr +mt-qh +no-qz +xw-cb +ao-nn +gg-ca +mw-jx +oo-gt +dy-so +at-wq +yd-eq +gt-gd +gq-qn +ef-tl +nx-mx +lt-rf +su-tb +jp-xx +tv-or +xe-fo +hn-xj +wk-yp +cd-xa +xj-hb +vh-mw +ta-xa +ze-za +qb-zt +tv-mz +fz-vb +nc-ee +oc-ml +df-lo +tx-ak +st-ok +li-yg +xt-ij +ym-ku +yl-fl +ka-tq +hn-kx +qi-lc +id-av +lr-xm +wj-yn +dq-oq +ic-ro +fi-lr +gi-uu +ef-vm +fe-zi +dy-ym +gb-vw +hw-oo +jd-xf +kp-az +vc-gb +ix-mx +od-aw +yf-ps +kk-sz +rg-ey +jc-ef +ro-ia +ql-ai +qp-ml +bw-ql +yu-zk +bg-er +pq-vx +ww-ny +le-dp +cc-vq +po-gb +ty-zo +cv-tr +eu-kl +dl-bq +pi-dn +kv-by +by-th +fo-tx +ek-fq +cz-bf +zr-cr +uv-so +wy-qf +ng-xw +da-vy +yb-fh +rr-tw +dp-kd +ue-td +he-ld +sl-pk +jq-ti +kv-di +xv-mz +uy-eu +lc-xb +ql-rv +am-dl +qw-fl +wm-zm +kl-gq +ek-ab +jg-al +vq-kk +re-vz +ag-ci +ft-qy +wc-ab +df-tr +rg-bj +dt-bz +br-xl +fe-uh +cb-ng +oq-wl +xh-ah +or-jz +zc-ey +rf-wp +su-fc +cd-wc +xz-uv +qq-yg +fx-tn +po-uf +xv-gs +ry-jc +se-on +nj-az +qf-ex +ev-pa +wm-ta +pm-xs +wg-du +fn-so +mc-tu +ga-bp +rq-sw +yd-ib +nd-yo +vt-ft +wp-ty +wx-tb +te-rz +yy-ce +kz-sk +in-la +jc-tz +ty-lm +rm-tx +pk-wm +zu-uw +fz-oz +ua-yr +eu-fe +hg-dq +jj-fp +oz-pi +sx-tk +to-ug +pr-wg +lo-xw +pf-ud +de-ff +ah-mh +jp-mq +dw-pf +gd-wx +jm-mo +pi-se +hz-jy +va-bm +pg-uz +dm-if +zk-gb +rm-fo +wg-ae +dh-ua +wl-hg +dx-fe +lr-kc +qm-ve +ab-fq +fi-yz +gh-fz +uo-kn +ew-mb +yu-ph +jb-fy +it-iz +ue-xm +os-ht +td-ey +fk-we +em-hx +dh-jg +fd-pk +mj-hm +vt-sw +tv-xv +xp-gf +sm-zz +mn-pm +le-ok +su-sv +jj-qy +br-uv +ix-hx +ok-zs +ch-iz +gw-xe +fm-yw +yc-nn +rq-bc +bc-ls +li-dz +am-cn +ni-qi +nb-pi +il-wa +xw-tr +wo-xg +aj-sf +wj-ti +co-ys +qk-ij +ot-gx +fw-in +ed-mq +jq-gf +sr-nt +yz-td +qs-me +pa-en +xv-or +xz-qy +or-pe +cw-ji +kk-in +ng-iq +gq-ll +se-oz +uf-wh +jz-gy +on-gh +qm-ms +do-ry +ga-qr +tz-fj +uh-bp +qd-cg +hv-fe +jk-vq +oz-dn +ho-qm +uq-ha +mj-bg +hs-rk +et-ai +th-rs +cw-tx +yj-yp +xj-un +rb-uo +qp-to +sk-kp +qd-ko +fy-pg +wu-xl +yg-ow +qb-cb +bx-ku +az-ui +dq-fs +fc-ea +pm-hk +oy-nm +xh-mh +bw-lz +xl-xz +na-xu +au-fx +uw-vn +ds-kn +rf-zo +gg-it +jh-zm +ek-cs +sj-gv +bw-ww +dd-ve +yj-wv +cp-qz +zi-uy +wu-ig +gp-js +rq-vt +ew-xw +wh-po +jq-hs +fn-xz +tj-gs +un-ho +za-ra +an-ti +vo-cq +xm-wh +fl-bz +ju-ee +sz-gt +bl-sa +na-ix +ux-ey +lk-qk +mq-kv +bx-tn +fl-nq +sq-lz +ug-oc +lq-sd +jb-cx +ga-dx +rh-zz +ze-db +by-aa +ul-bw +ul-nm +ub-hu +tq-oj +fk-iz +fl-dt +ru-at +ud-em +gb-yu +vt-rl +cg-mp +xe-cw +hf-cx +gv-jx +jx-vh +bj-tv +kd-xl +by-iv +mf-fk +zw-sj +fl-ff +of-dz +ef-xf +sq-nd +ju-dp +ug-qp +xt-yd +lc-wi +pk-pd +eg-vd +qy-bc +ot-ia +av-pb +ko-js +tb-fu +zd-bw +tn-br +kh-ky +gn-xg +fo-gw +zi-rn +er-we +xb-gm +fh-zg +ao-cg +gn-xx +xm-fi +vb-nb +oo-in +gh-eg +eq-yx +ha-pb +qf-fy +vr-te +wl-cz +ce-gs +kl-qn +dr-vm +cw-rm +wl-dz +aj-xs +wx-su +av-op +js-bo +vt-ls +ps-ek +op-pb +ei-oa +rg-ux +pf-xu +zz-oa +yz-ue +oa-dh +qj-gl +wg-id +gq-pn +zz-dh +un-he +lk-ib +bz-de +tw-ng +wy-bt +sk-hq +gz-kh +ds-dz +ln-ix +pa-bd +hz-ls +fk-yx +ug-qv +uz-qh +na-hx +cs-aj +vi-yn +yv-sg +qi-hy +ci-ic +lc-en +he-qm +ao-ko +un-ld +sx-ah +fn-dy +ba-dq +xq-eu +kh-mo +hn-zx +ny-zd +lk-sc +ma-yt +gh-ny +vy-gs +du-uq +nn-pc +mz-pe +kd-ju +qy-fp +sc-lp +pe-ce +il-lk +za-db +iq-xw +cb-df +rr-iq +fq-xa +ew-df +hl-ic +oo-fw +ao-qd +ca-hm +zd-ql +ee-zs +je-ma +ep-at +vm-ry +xo-nc +mz-vw +qi-fm +za-iz +uy-ga +rb-he +ko-nn +rq-ls +nq-mn +bm-wu +zi-ma +uv-ig +hf-sa +st-ju +ol-eg +on-pi +xt-lp +hq-su +ox-lw +et-ul +dn-fz +pl-oj +ug-qh +sl-vx +bd-gq +fa-rg +ji-tx +ny-ql +xl-ga +bj-yz +ln-ud +mh-ep +hs-yn +kh-za +oo-la +og-xh +wl-eo +nc-dg +rb-hb +bm-wg +vr-ey +pg-qf +ah-hi +fd-hn +nv-dh +oz-vb +dq-wl +by-mq +iz-er +go-jc +bb-yl +bz-gc +it-er +if-to +wp-rx +qn-yp +mf-hy +as-vh +qb-xs +lp-jd +fc-sv +ba-tk +lo-iq +zt-aj +nd-if +we-yx +ni-wi +jb-wy +tt-pg +cz-oq +xf-qp +mh-wq +hm-gg +jl-vl +kn-ow +ia-ic +je-ab +fi-bj +yj-il +sl-fd +we-bg +tv-pe +sd-co +lg-pe +gx-ou +ae-du +ju-ok +xl-so +dl-kq +sv-re +ux-fi +im-fl +ab-nz +pf-na +wa-ib +am-bq +dm-qh +hi-mh +ed-by +kn-yg +fs-ku +tj-it +zz-nm +hw-la +bi-ru +al-nv +ms-xj +pe-zp +zv-go +ky-ra +nn-js +rk-uu +ws-wi +il-yd +ey-lr +py-mh +av-pr +ib-xt +dx-eu +cj-lt +de-qw +bi-tw +dx-ac +di-ug +ra-mo +bm-pr +zu-jx +sb-fo +jy-to +cw-zp +ga-zi +ea-tb +eq-gg +ry-zv +xv-tj +xj-kl +tv-zp +tv-gs +pd-vj +yj-sc +ex-pg +rm-sb +fu-sk +jd-zv +jy-qv +xo-dp +ef-jd +ji-gw +mb-iq +am-ye +nh-zi +ta-yf +na-dw +qq-rz +wa-xt +fg-qi +yw-ni +lg-js +re-kz +tl-ap +wq-pb +fy-sa +yo-ss +di-ml +fi-rq +he-xj +aw-ys +zo-az +dm-ml +ei-zz +uq-pb +ho-dd +fq-nz +po-vc +lw-ee +sk-gd +du-pr +am-mi +fg-fm +kp-rx +ql-lz +zm-vx +vo-vl +de-yl +pr-oq +co-jf +an-vi +ft-rq +cr-ia +ro-nt +nd-ys +by-wo +nv-ei +gf-xc +eq-hm +yb-zg +ig-ym +gy-tv +hg-fs +vo-wh +rg-xm +ru-vz +jk-sj +ud-zk +fh-ls +rx-lt +gg-ch +st-ox +cw-sb +xw-mb +bd-ub +ev-ht +qv-to +ir-ua +ea-sv +va-av +fg-gm +wn-yo +cz-dq +su-ea +al-wv +ea-re +qq-li +jm-yv +bq-ye +fg-xb +aw-kz +fu-fc +ta-cd +tu-gt +aa-gd +fr-nu +dt-im +oc-qp +zp-ce +ag-ro +bw-ny +mq-wo +xg-jp +cx-pg +rb-rw +ry-tl +of-yg +mp-kr +uu-hs +sn-az +pm-aj +ms-rw +xo-ee +qh-ml +wa-db +mz-gy +dy-ig +no-oq +eu-uh +jp-gn +zr-ag +qi-gm +rn-bp +yu-po +ys-wn +jb-pg +iv-xx +so-ig +jp-kv +bo-pc +oo-mc +rx-nj +ky-jm +cd-ma +ci-nt +mu-la +yk-uq +tw-tr +jm-fx +sb-ou +cp-oq +wn-aw +tz-xf +aa-sk +so-fw +nz-ek +xb-ws +zc-fi +gs-rz +ul-ww +lz-ny +gf-zw +ma-xa +wx-hq +yq-pf +fu-re +yx-mj +ic-ir +au-mo +sk-tb +gd-sv +iz-mj +jx-vq +dh-jb +vn-mw +tb-kz +og-py +xb-ni +cq-wh +ao-gp +wv-ua +qk-xt +qm-un +pk-jh +ag-sr +bg-ch +xf-ap +og-at +pj-yr +xj-rb +xc-vi +xm-yz +xq-qr +uf-jl +lp-ij +lw-dg +tt-hf +ht-bd +xk-ep +gv-as +pb-wg +yp-lk +wc-xa +dt-bb +xw-df +xk-mh +ps-ma +fx-gz +rf-lm +jc-jd +rl-fp +dl-lv +gw-tx +qy-ls +kx-fd +wj-gf +pn-bd +wj-ai +ag-nu +de-zb +lq-ys +rm-qs +pj-rh +zg-bf +ac-ww +so-br +kc-yz +pm-qj +bl-cx +vl-gb +nb-se +of-mf +fh-sw +jx-jk +sd-jf +hs-vi +yl-zb +nj-lm +mo-ze +qp-hz +so-bx +ib-li +cd-ab +cp-ba +va-pr +ry-ap +jz-rh +an-gi +ic-nt +op-wg +pe-tj +pf-nx +mx-ud +yl-jn +au-za +su-kz +ma-ta +xq-fe +rn-xq +fs-tk +ub-pn +tv-vw +yp-ib +hq-gd +pr-ae +ww-iq +co-od +de-ds +ci-fr +mi-pl +pb-du +db-au +ye-kq +wg-ha +di-qv +qp-mt +db-mo +cz-eo +cu-sf +rv-bw +ev-pn +bi-hi +da-vo +mu-tu +sc-il +kd-st +we-hm +qs-ji +ew-me +do-ap +xb-jr +bu-wo +na-oy +dd-qm +tr-rr +yz-zc +dx-qr +hy-yg +qs-xe +za-jm +fu-su +fx-db +ed-jp +bx-br +mf-qq +su-aa +yo-ys +cq-uf +mq-lt +yr-nv +uq-pr +yl-yq +ht-en +ey-kc +vh-uw +hk-cs +za-yv +yd-lp +da-wi +de-yq +ue-lr +nm-ny +fm-ws +oz-ol +wh-ph +xt-wk +ka-lv +jq-gi +bx-xz +mx-hx +az-cj +sb-gx +iv-jp +ix-pf +cd-xu +tz-jd +oq-bf +cv-ew +kx-zm +qr-yn +qy-vt +oc-hz +jf-sq +an-rk +xf-jc +gf-hs +ch-fk +wo-bx +jl-vc +gh-pi +rb-ms +br-wu +ph-vo +mx-ln +yq-jn +vx-fd +yd-sc +ig-tn +tk-cz +hk-zt +rr-df +lo-cv +od-wn +sg-au +bl-uz +dz-kn +da-yw +rm-gw +ph-io +jq-tr +ml-mt +gt-iw +ru-xh +rk-vi +pb-pr +sc-wk +jy-ix +cb-ew +rv-cx +ba-bf +ra-gz +qj-pa +em-hs +ms-dd +yy-vw +sv-wx +qh-oc +al-zz +js-cg +vx-rk +eq-fk +fw-mc +zb-qw +rs-ed +yp-sc +ui-ml +yf-yt +aj-cu +rf-nj +qj-qb +ku-wu +vc-uf +xb-yx +pk-hn +fl-yq +im-yl +tz-do +yf-wc +uq-ae +cz-fs +hm-yx +al-yr +ak-ot +jb-ex +nx-bs +fq-cd +yg-te +ra-io +kc-ue +se-pk +fo-ou +bu-xx +li-mf +ce-tv +aw-ss +sk-ea +gd-fu +te-qq +jq-rk +vr-mf +ep-ru +ti-yn +qp-jy +yn-jq +ew-tr +pg-sa +he-uo +cu-nq +lz-rv +fy-tt +dn-ol +uz-jb +ft-sw +uy-rn +fn-uv +ls-jj +ir-ag +ue-fi +xl-tn +mt-ug +gp-ko +wl-fs +lp-wa +xc-wj +fh-qy +sn-rf +em-dw +tu-oo +we-gg +it-ch +lr-td +wx-aa +zt-nq +ps-wc +zw-vn +ua-al +cg-kr +tn-dy +sf-xs +sd-yo +de-bb +zu-cc +de-jn +mj-it +ma-nz +sx-tu +vi-wj +nx-ud +or-ce +hm-bg +pn-ux +va-ae +oc-hq +ps-je +th-kv +kr-ao +ox-ee +tu-sz +bs-pl +vz-xh +fw-tu +xw-me +yp-il +cw-ou +mz-or +ht-qn +wl-ba +xo-ox +xu-ud +pl-kq +mt-dm +ml-qv +di-yk +uq-av +os-pa +iq-cv +rl-yb +fo-ji +pc-lg +hx-xu +mi-kq +zt-sf +zr-fr +yu-vc +vv-na +vv-ud +ub-ll +xq-uy +cu-xs +xl-fn +au-ze +gs-gy +ae-ha +ab-ta +cn-tq +rb-un +zr-ia +fh-jj +re-hq +hb-un +sg-ze +ux-bj +jl-po +di-mt +xm-ey +je-xa +qd-js +wp-lm +dw-hx +wy-pg +je-yt +mz-gs +cg-yc +sv-fu +eg-se +hy-kn +gz-yv +dy-uv +eg-pi +ta-fq +vj-vx +st-nc +di-qh +je-ta +sl-vj +qn-ev +lq-ig +ys-he +sz-in +yg-ky +vd-on +td-zc +fs-qz +on-ol +cx-sa +yl-dt +wi-xb +do-go +ky-db +lw-xo +xc-ti +fz-on +fo-gx +tu-kk +fg-ni +yt-cd +jp-rs +je-wc +em-bh +th-xg +rr-xv +yu-wh +rk-xc +qz-dq +ps-yt +ji-ou +qk-il +sm-bg +nz-yf +gz-ze +os-bd +oq-fs +fa-yz +vz-bi +hy-of +ql-ac +vd-dn +pe-gs +wv-yr +re-su +bl-jb +yd-yj +nu-ia +pn-pa +sz-mc +mc-gt +ds-ow +mo-za +vl-uf +nq-qj +on-oz +fr-ir +xz-so +bq-mi +jb-bt +vy-ws +th-ef +cn-pl +zm-fd +bc-vt +xc-hs +bp-ho +ox-dg +qz-wl +nx-hx +pf-bh +vb-dn +gv-zu +in-sd +ty-ui +ed-xg +eo-no +vj-zm +le-zv +ib-yj +vi-ev +nu-zr +ij-yj +hf-uz +uq-op +qq-ow +yp-xt +xe-sb +pf-ln +pj-sm +rw-ho +hs-wj +mo-fx +ui-lm +vj-fd +ek-ta +st-qz +fe-uy +pa-qn +ey-ue +xh-wq +ia-sr +hi-ug +os-pn +en-ll +fh-rq +cr-fr +lg-ao +bz-yl +xo-zs +wn-ep +fz-nb +xs-mn +bi-xk +ls-sw +hq-sv +ew-lo +kr-bo +em-jx +io-vo +gt-kk +bb-zb +tb-re +iv-xg +nm-ww +fh-rl +cr-gi +fq-ma +sq-lq +ic-ca +yq-bz +wa-qk +db-yv +sf-qb +bs-am +kp-lm +tz-ap +vw-xv +ru-xk +cj-kp +oj-bq +dq-eo +rw-he +bz-im +vz-xk +tl-fj +ex-bl +jl-ph +sc-ib +qp-qh +mx-xu +bj-td +gx-ji +qv-oc +fm-vy +tb-fc +mu-gt +ue-zc +sl-zm +xj-rw +se-ol +mq-bu +jc-fj +iv-wo +th-ed +re-sk +hl-cr +kh-ze +yn-gi +yo-od +nh-rn +fs-cp +wc-yt +ft-fp +sr-zr +gl-xs +ra-au +pr-ha +cr-nt +gf-vi +le-dg +ft-jj +nj-cj +jk-cc +sq-wn +pk-vx +tt-wy +et-bw +nu-qf +dd-rb +pn-ht +qv-qh +os-hu +nm-lz +mi-ye +ku-fn +wo-ed +hm-ch +fa-bj +aw-co +vh-sj +kx-vx +lz-ai +oo-gp +hl-ag +mq-xx +gt-fw +nh-hv +ae-yk +uv-ku +ye-oj +ee-xg +uy-hv +yt-nz +bx-ym +kl-pa +rz-mf +rb-ho +hk-nm +kq-bq +mu-sx +zg-ls +ro-zr +ib-ij +td-fa +gc-de +fa-kc +by-xx +ll-hu +nh-fe +yx-ca +zx-vj +vc-sj +cb-rr +yc-js +rh-jg +ij-wk +ms-ho +in-tu +ae-bm +fc-gd +hf-pg +kl-pn +ci-ia +ht-ub +rb-ve +qm-hb +lw-su +un-ve +tl-jd +fk-bg +ko-yc +zt-gl +gb-ph +tj-mz +oc-to +oa-nv +xp-uu +fa-zc +kl-ev +ga-fe +vl-io +tw-mb +ee-kd +rv-et +zd-ul +pa-gq +lw-st +jk-vh +jz-gs +go-fj +ao-js +pc-yc +yv-ra +bt-qr +or-zp +br-dy +zx-zm +of-li +ab-xa +xc-gi +oy-ac +lv-mi +sp-ol +cu-gl +qb-pm +xw-rr +nt-wi +fj-ry +bc-fp +kn-mf +zi-hv +op-id +jg-wv +wa-lk +zs-lw +qn-hu +tw-cb +fx-kh +iq-me +ek-yt +vd-nh +xs-ex +bt-sa +dd-cn +hz-mt +ka-kq +mb-rr +fg-vy +st-dp +ma-zd +ji-rm +xe-ji +il-ij +dl-mi +ei-dh +cr-ir +dw-ud +ow-sr +fq-yf +xp-rk +hx-bh +iz-bg +mo-sg +wy-ex +hb-uo +jz-zp +jr-td +zz-pj +zr-ci +lq-yo +sz-iw +em-mx +gx-rm +tq-bq +cs-mn +zz-yr +vy-yw +wa-yj +ny-ul +ir-hl +en-hu +mw-as +mf-te +xv-pe +vv-mn +sx-kk +dz-ow +oa-on +hv-uh +tu-hw +ps-ir +zr-nt +po-vl +df-cv +qq-kn +fn-bx +ni-fm +vz-ep +jy-di +ci-ro +oj-bj +tt-ex +jn-qw +fl-jn +dg-ee +ac-rv +fw-kk +du-dn +pm-nq +bb-bz +lz-ww +jn-zb +rn-fe +tk-dq +jd-ry +sq-ss +db-ra +gs-or +vr-yg +wx-fu +mb-lo +vn-gv +hl-sr +dl-zt +kx-jh +zw-cc +gt-sx +ln-em +da-lc +yk-op +gz-mo +gc-yq +lt-kp +sf-mn +ls-ft +vi-uu +ka-mi +qk-ib +lq-dr +ky-au +ap-zv +tj-gy +uo-ms +sj-vn +gw-cw +zp-xv +zd-et +ln-xu +rs-kv +fn-ty +cx-uz +mn-cu +pf-mx +ss-co +vr-kn +an-ox +ru-mh +hg-oq +mc-mu +xg-by +ia-ir +zx-ql +fr-oz +gn-mq +yx-iz +le-nc +sn-rx +xt-vh +sl-kx +jy-qh +dd-ld +hb-ld +qv-mt +wu-bx +rx-od +hi-ru +rk-gi +kz-hq +do-tl +mi-oj +gg-fk +uz-wy +zr-xw +oy-ww +ka-bq +aa-re +vz-hi +ye-tq +ml-hz +cr-ic +zs-kd +ju-le +eo-fs +vl-ph +dt-yq +of-ds +pm-gl +bh-vv +vm-jd +ch-we +qr-zi +mh-yc +fq-yt +tw-cv +gz-db +ha-op +xp-ti +uf-gb +ze-jr +fx-ra +du-fh +nv-wv +kv-bu +kx-xm +nu-hl +nc-ju +az-wp +gv-kq +xf-ry +ql-ul +df-tw +ei-rh +hg-qz +bp-uy +nd-lq +lc-ws +nd-sd +cc-vh +qs-ot +mo-ci +fd-zx +hz-ug +fp-yb +sg-za +yy-gs +fm-da +xv-ce +ig-bx +na-mx +gm-ws +ra-kh +gh-oz +aj-an +wc-nz +jc-py +fw-hw +bh-dw +rs-xg +uq-wg +no-cp +yw-lc +dz-tx +al-sm +jp-bu +cs-nb +kk-la +ak-ji +id-bm +ou-sc +zu-vq +bb-gc +bc-sw +qq-hy +fz-vd +hu-ev +yc-gp +ys-sq +of-rz +uy-uh +at-mh +cd-nz +tu-iw +pc-mp +zg-la +yr-dh +cs-qj +gh-se +bo-mp +pq-sl +pf-vv +hw-to +od-ys +mo-ky +yf-ab +sv-kz +gx-qs +xg-bu +jm-yy +un-ms +yr-ei +jr-lc +hn-vj +ha-id +tv-yy +ol-nb +gh-dn +pd-hn +cu-cs +kx-vj +ho-ve +pd-kx +yt-ta +wk-lp +fw-la +uf-vo +kz-ea +kk-iw +cj-lm +fs-no +kv-xg +xm-kc +nx-na +et-qq +yb-qy +gn-wo +cb-cv +lq-od +im-qw +mw-jk +al-oa +ia-nt +yq-zb +en-ub +ub-ev +rm-ot +jr-ni +so-ym +ka-cn +wk-yd +kr-jf +tr-lo +wm-sl +sw-fp +zs-ft +fg-da +ss-sd +jj-yc +nv-zz +oa-pj +gf-rk +qq-of +wn-sd +vl-vc +ac-et +gf-ti +hy-vr +ss-nd +tl-vm +dz-hy +rn-hv +ok-nn +wm-vj +gd-su +eg-wy +ek-yf +gl-hk +dt-yn +rl-ls +wc-fq +sq-yo +tb-aa +ot-xe +jq-xc +rq-zg +on-vb +nt-hl +un-dd +bp-dx +io-gb +oa-sm +fe-xu +vt-yb +nc-hi +dr-ys +bo-rf +bs-dl +jc-ap +qf-tt +og-xk +pn-qn +sf-hk +yc-kr +zo-nj +to-qh +wn-jf +mz-wk +dp-dg +ww-ai +oj-am +kn-rz +dx-nh +xx-kv +fr-nt +hv-mi +aw-yo +eq-bg +zc-rg +ci-cr +qb-aj +jq-wj +lg-gp +jq-vi +mb-df +ix-xu +ho-hb +co-sq +tu-wp +lk-lp +zw-gv +zw-jx +lr-rg +gq-ub +dr-aw +th-wo +kc-ux +zi-dx +eq-we +ud-na +yu-io +lc-gm +wa-wk +sz-mu +wq-hi +yd-qk +gx-tx +xh-hi +dy-bx +gl-pq +ak-qs +zp-tj +pk-kx +bh-xu +cs-gl +te-li +bc-zg +ae-dp +kq-cn +ml-jy +ev-en +lq-co +bh-ln +bg-ca +ws-da +ia-fr +en-gq +fd-pd +qw-bz +ka-lk +aa-sv +zi-uh +uo-dd +ah-wq +ju-dm +hg-cz +ny-oy +ga-eu +br-xz +wg-va +zr-ir +co-dr +bj-zc +qr-hv +rl-zg +xl-dy +sr-ro +jr-wi +qb-cu +ol-vb +wx-re +bi-og +ji-ot +sr-ci +cj-do +of-tt +uw-cc +hw-iw +ll-ev +cu-qj +qf-bt +fo-cw +cg-ko +tw-xw +du-yk +vn-jx +nj-lt +fo-gg +au-gz +ag-ic +gf-yn +ek-je +dh-rh +te-of +yv-ze +nm-zd +gi-gf +do-vm +eg-sp +gz-za +pc-cg +pi-ti +ws-ni +dm-jy +zp-mz +me-mb +gq-os +qi-vy +lg-qd +cj-rf +uu-ti +xt-il +pq-pk +jq-xp +fl-de +xf-do +ea-wx +te-ow +ok-dg +dz-qq +gl-qb +va-vm +rx-rf +yb-ls +zx-wm +lv-am +au-kh +td-fi +qv-ym +qz-oq +ky-gz +bm-uq +ym-uv +ve-hb +bp-xq +mo-yv +xz-ku +go-tz +he-ho +xj-ho +zw-mw +av-bm +rs-by +as-zu +ac-ai +iq-tw +jz-yy +ow-of +kx-wm +no-lm +tr-me +jq-an +fm-lc +qb-nq +cs-pm +ko-bo +gd-re +yq-im +ah-ru +iq-tr +py-ep +ty-nj +rh-oa +ok-ee +bl-hf +ga-nh +eg-dn +dw-ln +lz-ul +sj-jx +ce-mz +qr-fe +pl-dl +ru-wq +ac-nm +zw-uw +aw-sq +al-rh +bs-cn +sm-ei +ww-et +eo-ba +sg-fx +gv-cc +ed-bu +mn-aj +wu-uv +cp-eo +hv-bp +ai-zd +ok-dp +av-mj +id-ae +wm-pd +sk-fc +bd-hu +er-gg +rl-ft +dg-ss +gc-qw +jk-gv +fh-fp +sp-oz +ig-fn +xq-sf +xq-hv +mi-bs +pb-bm +uw-jk +go-gm +sw-yb +ue-rm +br-ym +ff-dt +bg-gg +vc-wh +uz-sa +ud-bh +sr-fr +oc-di +uu-wj +ln-vv +pj-nv +op-bm +wh-io +fc-re +ms-hb +lr-yz +bh-na +ox-ju +vl-zk +jz-ce +jg-ei +oj-kq +ku-so +lm-az +yo-jf +kl-ub +yq-ff +xj-ve +jm-db +wp-kp +fr-ag +kp-ty +zs-ju +zx-pd +id-pc +bd-kl +ni-da +uh-dx +vo-jl +sw-zg +zw-zu +zo-kp +ht-ll +cg-gp +qf-jb +xx-id +kr-js +qd-kr +cn-bq +hm-er +jg-nv +as-cc +vh-vn +xp-an +hi-xk +qj-mn +oz-nb +jh-wm +wa-yd +oy-zd +qd-tz +pn-ll +dp-az +ql-oy +de-im +nj-kp +te-kn +rf-az +dz-vr +je-yf +ph-uf +cv-rr +rr-me +ib-lp +yv-ky +ff-yl +in-mu +vz-ah +bd-ll +ll-kl +vv-mx +cn-mi +nc-lw +ey-bj +th-jp +ag-nt +kd-dg +zk-wh +yj-xt +hx-vv +zp-vw +gm-cn +ix-em +ig-br +bq-lv +zk-io +ty-sn +vw-jz +qb-mn +os-qn +dg-zs +on-eg +sr-nu +sm-ua +bg-it +uh-xq +nd-co +ry-ef +bq-ce +fz-eg +ws-fg +lt-ty +yj-lk +vm-jc +em-pf +hb-rw +qp-if +xk-cp +jk-vn +pb-id +zo-cj +xl-ym +ph-cq +bh-fy +ln-na +ci-nu +qj-sf +op-va +pa-ub +cj-wp +jy-ug +yw-gm +hs-gi +uy-nh +fm-jr +jh-zx +bb-qw +qb-cs +mn-gl +fc-aa +kr-ko +jn-gc +rl-jj +cu-zt +fa-xm +pl-lv +mp-lg +ld-ms +wu-fn +th-mq +ny-et +sj-cc +rl-qy +wl-mp +lq-ss +bg-yx +wx-dh +hl-zr +tj-yy +iv-kv +og-mq +lk-xt +yc-ao +wi-fm +wm-fd +ot-sb +li-kn +pm-zt +vz-py +fy-wy +ot-ou +yn-xc +gp-qd +eo-bf +vv-em +io-cq +zg-jj +cz-qz +ua-zz +va-ha +du-op +ng-me +bj-ue +iv-th +pg-bt +un-rw +sf-pm +hg-bf +le-kd +zg-ft +ix-vv +mw-zu +zx-pk +rg-al +sn-yb +wx-fc +fe-bp +cj-ui +me-df +va-uq +pa-ll +bh-mx +vn-vq +fo-ak +xk-at +dn-nb +ew-tt +py-xh +at-hi +if-oc +mb-cv +yo-vt +vo-po +bo-nn +yo-dr +bz-ff +ap-kz +ey-yz +fg-jr +xu-dw +ew-rr +sc-wa +pb-va +tl-tk +sb-gw +hz-qh +tw-ky +me-cv +do-jc +sg-ky +ep-bi +ij-yd +fs-ba +au-jm +fo-qs +gw-qs +yc-qd +va-yk +gn-iv +gn-by +we-it +pe-jz +ou-rm +je-nz +ok-lw +ca-we +ve-ms +rs-iv +xb-fm +tr-ng +hz-qv +wp-zo +pc-ko +td-ux +ux-xm +oa-wv +ng-cv +tb-gd +nu-ir +if-ml +vt-fh +oa-ua +ml-ug +uq-zo +ef-fj +rz-hy +zk-ph +eu-qr +mp-js +cu-hk +mz-jz +wv-zz +xl-bx +jr-ws +no-hg +it-hm +fl-bb +ah-og +ic-sr +no-wl +ny-rv +ac-bw +ea-cz +fz-pi +yl-pg +ym-wu +ni-lc +cn-oj +vx-pd +rs-mq +pi-ol +ga-uh +nn-qd +ws-yd +br-cg +he-ms +sq-sd +eg-oz +hf-ex +jh-po +er-bw +zk-cq +xk-wq +qi-yw +zk-jl +xe-tx +xs-qj +lv-kq +nh-bp +ea-fu +wn-nd +rv-ul +xt-sc +oz-vd +gt-in +al-ei +lc-fg +rx-lm +nx-dw +gh-nb +bt-hf +uy-qr +bm-yk +bb-wv +gq-ph +mt-to +xj-ld +hw-in +at-vz +wq-vz +ft-fh +ny-ac +ba-no +jl-hb +xz-dy +op-mc +sj-vq +xm-zc +rk-ti +zx-pq +dn-se +cx-wy +cv-gc +yw-fg +ff-jn +bt-fy +ao-mp +nb-on +dt-qw +wn-lq +fa-fi +fg-wi +as-vq +py-at +io-po +fa-lr +ni-ak +sj-mw +gc-im +rw-ld +tz-ry +se-vd +yb-bc +ua-rh +kr-gp +do-fj +wj-xp +aw-sd +ai-ny +ef-tz +zu-uo +dq-cp +gh-vb +lm-zo +bs-kq +sp-lo +qm-uo +rr-lo +th-bu +wy-sa +ca-ch +zs-ox +fy-bl +xg-xx +od-sd +ti-hs +jf-od +xc-an +hu-pa +ye-ka +hl-ro +yu-vl +ye-cn +fp-zg +qv-if +ko-tb +oy-bw +jh-fd +er-mj +wc-ek +pi-vd +ir-ci +zv-tl +sd-dr +ho-ld diff --git a/src/main.rs b/src/main.rs index 34f9e0b..be5376b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -34,93 +34,22 @@ )] extern crate test; pub mod util; -use atools::{ArrayTools, CollectArray as _, Join, Pop}; +use atools::ArrayTools; pub use util::prelude::*; #[no_mangle] -fn changes(mut x: u32) -> [(u8, i8); 2001] { - let mut secret = x; - x = mod10(x); - std::array::from_fn(|_| { - secret = next(secret); - let n = mod10(secret); - let v = (x as u8, (n as i64 - x as i64) as i8); - x = n; - v - }) -} - -pub fn mod10(a: u32) -> u32 { - const D: u32 = 10; - const M: u64 = (u64::MAX / D as u64) + 1; - (M.wrapping_mul(a as u64) as u128 * D as u128 >> 64) as u32 -} - -fn next(mut x: u32) -> u32 { - x ^= (x * 64) & 16777215; - x ^= x / 32; - x ^= (x * 2048) & 16777215; - x -} - -#[rustfmt::skip] -// 8051 -fn next2000(n: u32) -> u32 { - let n = n as u64; - let m = n | n << 24; - let r = (m & 0x61a765) ^ (m >> 1 & 0xc2f82d) ^ (m >> 2 & 0x286d53) ^ (m >> 3 & 0x44f679) - ^ (m >> 4 & 0x4d6be8) ^ (m >> 5 & 0x118005) ^ (m >> 6 & 0x5f19f2) ^ (m >> 7 & 0xf03667) - ^ (m >> 8 & 0xcea653) ^ (m >> 9 & 0xafa201) ^ (m >> 10 & 0xfd0d29) ^ (m >> 11 & 0x949200) - ^ (m >> 12 & 0x49a994) ^ (m >> 13 & 0x21673) ^ (m >> 14 & 0xb4c5bf) ^ (m >> 15 & 0x1e0aaf) - ^ (m >> 16 & 0x7cab00) ^ (m >> 17 & 0x95ba48) ^ (m >> 18 & 0x49f04c) ^ (m >> 19 & 0x9a8320) - ^ (m >> 20 & 0xb69d39) ^ (m >> 21 & 0x6a2085) ^ (m >> 22 & 0xd13c84) ^ (m >> 23 & 0x1c9e15); - r as u32 - -} - -#[no_mangle] pub fn run(x: &str) -> impl Display { - let mut i = x.as_bytes(); - let mut seen = vec![0; 130321]; - let mut map = vec![0; 130321]; - reading::Integer::<u32>::new(&mut i) - .ι1::<usize>() - .for_each(|(mut x, j)| { - let f @ [_, _, _, 三] = std::iter::successors(Some(x), |&f| Some(next(f))).carr(); - let [mut ⅰ, mut ⅱ, mut ⅲ, mut ⅳ]: [u32; 4] = 0u32.join( - f.windowed::<2>() - .map(|&[a, b]| (9 + mod10(b) - mod10(a)) as u32), - ); - - x = 三; - let mut l = mod10(三); - for _ in 3..2000 { - x = next(x); - let p = x % 10; - - (ⅰ, ⅱ, ⅲ, ⅳ) = (ⅱ, ⅲ, ⅳ, (9 + p - l) as u32); - let i = (ⅰ * 19 * 19 * 19 + ⅱ * 19 * 19 + ⅲ * 19 + ⅳ) as usize; - if seen[i] != j { - map[i] += p as u16; - seen[i] = j; - } - l = p; - } - }); - map.into_iter().max().ψ() -} - -use std::simd::prelude::*; -#[no_mangle] -pub fn p1(x: &str) -> impl Display { - let mut x = x.as_bytes(); - let mut i = reading::Integer::<u32>::new(&mut x).array_chunks::<8>(); - i.by_ref() - .map(|x| u32x8::from_array(x.map(next2000))) - .fold(u32x8::splat(0), |acc, x| acc + x) - .cast::<u64>() - .reduce_sum() - + i.into_remainder() - .map_or(0, |x| x.map(next2000).map(|x| x as u64).sum()) + let g = Graph::load(x); + let mut x = g.mxq().into_iter().map(|x| NAMES[x]); + let a: [_; 13] = std::array::from_fn(|_| x.Δ()); + let c = b','; + let mut out = [ + 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, 0, 0, c, + 0, 0, c, 0, 0, c, 0, 0, + ]; + for (elem, i) in a.into_iter().ι::<usize>() { + out[i + i * 2..i + i * 2 + 2].copy_from_slice(&elem); + } + unsafe { String::from_utf8_unchecked(out.to_vec()) } } fn main() { @@ -133,3 +62,93 @@ fn benc(b: &mut test::Bencher) { let i = boxd(include_str!("inp.txt")); b.iter(|| unsafe { run(i) }); } + +struct Graph { + // vert: [[u8; 2]; SIZE], + adj: Box<[[u64; WORDS]; SIZE]>, +} +const SIZE: usize = 676; +const WORDS: usize = (SIZE + 63) / 64; +fn h([a, b]: [u8; 2]) -> usize { + a as usize + 26 * b as usize +} +const NAMES: [[u8; 2]; 676] = include!("../lut2"); + +impl Graph { + fn load(content: &str) -> Self { + const INDEX: [u16; 3295] = { + let mut l = [0; 3295]; + include!("../lut"); + l + }; + let mut i = content.as_ptr(); + let mut adj = Box::new([[0u64; WORDS]; SIZE]); + for _ in 0..3380 { + unsafe { + let a = *(i as *const [u8; 2]); + let b = *(i.add(3) as *const [u8; 2]); + let ha = h(a); + let hb = h(b); + i = i.add(6); + let i = INDEX[ha] as usize; + let j = INDEX[hb] as usize; + *adj.get_unchecked_mut(i).get_unchecked_mut(j / 64) |= 1u64 << (j % 64); + *adj.get_unchecked_mut(j).get_unchecked_mut(i / 64) |= 1u64 << (i % 64); + } + } + Graph { adj } + } + + fn print_mat(&self, x: [u64; WORDS], l: [u8; 2]) { + let n = Self::adj_on(x); + print!("{}: ", l.p()); + for neighbor in n { + print!("{} ", NAMES[neighbor].p()); + } + println!(); + } + + fn adj_on(x: [u64; WORDS]) -> Vec<usize> { + let mut n = Vec::with_capacity(13); + for j in 0..WORDS { + let mut x = x[j]; + while x != 0 { + let bit = x.trailing_zeros(); + n.push(64 * j + bit as usize); + x &= !(1 << bit); + } + } + n + } + + fn mxq(&self) -> Vec<usize> { + 'out: for computer in 0..SIZE { + let mut neighbors = self.adj[computer]; + if neighbors == [0; 11] { + continue; + } + neighbors[computer / 64] |= 1 << (computer % 64); + let mut missing = 0; + for j in 0..WORDS { + let mut x = neighbors[j]; + while x != 0 { + let bit = x.trailing_zeros(); + // node ∩ neighbors + let inter = (0..WORDS) + .map(|i| (self.adj[64 * j + bit as usize][i] & neighbors[i]).count_ones()) + .sum::<u32>(); + if inter < 12 { + if missing > 1 { + continue 'out; + } + missing += 1; + neighbors[j] &= !(1 << bit); + } + x &= !(1 << bit); + } + } + return Self::adj_on(neighbors); + } + panic!() + } +} |