lilctf-2025-crypto
ez_math
题目
1 | from sage.all import * |
分析
由题目分析可得
则有,又,也就是说。所以我们只需要得到的特征多项式求出。
1 | from Crypto.Util.number import * |
这里的charpoly函数可以直接返回矩阵的特征多项式。
mid_math
题目
1 | from sage.all import * |
分析
同上一题
这里有,
根据线性代数的知识,我们可以知道和具有相同的特征向量,而,分别与他们相似,所以我们知道,的特征向量是一样的。
1 | from Crypto.Util.number import * |
Linear
题目
1 | import os |
分析
这道题是交互题,本意就是解方程组。难点在于未知数个数大于方程个数了,所以直接调用sagemath的x = A.solve_right(b)函数是无效的,得到的后16位全是0。
正确思路是把矩阵乘的过程看成是背包的多子集和问题。构造格原理同文章,不过这里我做了一点改动就是把的部分都扩大两倍。
1 | a_list=[[504056, 1214749, 163051, 1732541, 488678, 255240, 1532212, 1383796, 1786197, 364028, 1466000, 996589, 897052, 764726, 1288207, 863250, 934614, 155119, 238528, 823427, 1643533, 361986, 1280319, 996542, 927947, 362714, 657288, 1860191, 1451957, 1533521, 1398808, 1298335], [374208, 287078, 1680468, 211129, 545134, 384177, 138883, 925576, 114525, 266770, 437654, 376272, 840468, 1904480, 820750, 592575, 1878889, 1529772, 972852, 1655820, 1135668, 389378, 806095, 690707, 681981, 1466767, 1585081, 1898331, 1388845, 1699999, 605903, 647926], [16894, 128171, 1632829, 33784, 1199718, 1603931, 359434, 1875777, 829916, 505108, 490015, 75844, 1476073, 1005462, 1105855, 26447, 1749413, 92135, 1842517, 1894604, 1664649, 597559, 1215477, 1467156, 1089685, 764274, 1650296, 697961, 658943, 1231869, 1760761, 910864], [207068, 306045, 1255421, 1214828, 1604100, 1440574, 378265, 742829, 824852, 1460996, 684278, 413774, 689864, 670022, 1306045, 1725486, 30381, 1665348, 741700, 1625909, 663727, 284800, 1588408, 1701301, 1749071, 55258, 675917, 943456, 871505, 1804040, 1203603, 1228465], [1168712, 37807, 240640, 1245087, 410901, 223167, 1142057, 1375698, 162742, 146740, 1039310, 250465, 493779, 1868177, 1259644, 991997, 395759, 851006, 1021636, 65974, 1895186, 899244, 840499, 750682, 441025, 1161122, 342691, 1769524, 138581, 1485266, 1141757, 301502], [1483478, 409816, 1855256, 1039826, 1252004, 1505137, 427902, 1463490, 543024, 1517167, 662180, 83308, 856396, 1244065, 1270977, 1310979, 783526, 1854048, 564566, 901773, 658503, 733573, 1499973, 1887784, 1641051, 1031123, 277938, 1320093, 90195, 749164, 1582681, 1047861], [655912, 1888740, 1296023, 1468742, 1463458, 128547, 1178320, 888994, 558680, 664813, 895235, 1417341, 895286, 1893680, 255410, 1594362, 875607, 1835601, 724774, 455590, 1132685, 1614005, 107786, 570998, 812589, 297159, 1285739, 997455, 1258205, 1321433, 1146193, 1012008], [1692504, 433443, 1569706, 1169187, 835924, 1172855, 614636, 1902190, 997033, 824174, 703144, 599496, 1477717, 615274, 139415, 1214809, 1216388, 1257577, 44098, 869919, 1772777, 954041, 1419295, 468614, 804310, 1219466, 805925, 753207, 1749113, 132878, 1918347, 1818248], [1676369, 1679520, 177723, 495446, 1701381, 1268595, 211304, 145834, 1005495, 302287, 1226507, 660139, 365245, 826349, 831826, 1363769, 78944, 1443275, 139527, 1880484, 1128517, 1338592, 100239, 449958, 1585345, 1460987, 1604348, 764504, 994792, 745408, 917542, 652282], [1863802, 1017800, 1400503, 1765023, 1094179, 326065, 1510875, 1500218, 284953, 1259147, 927357, 694372, 543181, 1759128, 1780110, 153607, 1611779, 905181, 207721, 1788327, 1674958, 1905230, 1151441, 225539, 501471, 1654971, 1650341, 611271, 1717313, 1320767, 515258, 963306], [589171, 341643, 769988, 505810, 611517, 639639, 442547, 1022269, 801772, 720584, 1131431, 1209080, 217283, 1104734, 232476, 519483, 32245, 1223681, 312873, 716450, 1839055, 156980, 1648498, 976537, 315373, 25596, 91283, 1818875, 1775617, 1053598, 1636042, 1625672], [234426, 1229917, 207521, 1080305, 426865, 1395048, 1714425, 1532861, 1535604, 121394, 534641, 857495, 470267, 1298015, 1154476, 1497065, 1916771, 742716, 1352154, 245120, 1449962, 1620654, 872449, 1687293, 201087, 301183, 1005325, 983771, 619201, 353818, 1470127, 1812833], [1237906, 1009556, 1744909, 773042, 1182948, 1142981, 412101, 233876, 312566, 682321, 1443646, 179478, 39534, 1158678, 1135409, 617850, 1656080, 1752341, 1676031, 985569, 166622, 241102, 868430, 917645, 1606279, 900714, 391592, 1224219, 278525, 631773, 534918, 1767069], [744346, 1093711, 1761474, 47305, 441224, 947761, 1122433, 1396134, 815626, 1614253, 1332244, 98602, 1796640, 327361, 964230, 1304069, 1769031, 100372, 1471407, 127305, 1679031, 1274579, 945988, 1388499, 1338563, 505863, 851455, 169943, 609001, 1265536, 1880322, 1008962], [1590189, 583731, 281422, 1725827, 783881, 323138, 1611478, 1490586, 1439462, 1572796, 1881357, 283777, 1681239, 72969, 9360, 142316, 603803, 588360, 187917, 1150578, 1376085, 936838, 1102251, 658289, 1510904, 1223195, 1833952, 499122, 1319193, 39387, 362677, 696775], [555207, 62881, 1029075, 1684884, 1353248, 1371870, 428004, 338400, 1884334, 155856, 837539, 1320210, 366527, 1305642, 1208891, 1683230, 1068152, 607842, 1225836, 570796, 1680810, 319686, 522689, 1234609, 992514, 735260, 832814, 914213, 1494838, 1371632, 937187, 1231317]] |
baaaaaag
题目
1 | from Crypto.Util.number import * |
分析
背包问题,难点在于是72位的,所以正常的LLL算法会失效,这边采用BKZ算法,构造格如下:
1 | from Crypto.Cipher import AES |
这道题还有一个比较坑的情况是:的生成过程是,所以我们得到的向量需要取反,然后再计算。
Space Travel*
题目
1 | from Crypto.Cipher import AES |
1 | vecs = ['0111001101001000', '1010111100000111', '1111100010110100', '1010010000000101', '1000011011000100', '1101001100010010', '0111100011110010', '0000100000110101', '1001011101101001', '1011101011110001', '1011010011111000', '0101111000010001', '1010100111001000', '1010011000101001', '1100110001000111', '0010110101101101', '0111001111110000', '1010000000010111', '0111111010110011', '1011010111100111', '0111100101010101', '1101110001111011', '1000110010010000', '1001011011001000', '0000010101000110', '0001111111101111', '0000010000010000', '1001000101010111', '0110001110110011', '1110001101111011', '0110101010101101', '0000110100001110', '0001111111011001', '0011100101000101', '1001000000000001', '1010111000101000', '0001001001011101', '1001111101011000', '0110101101110101', '1011110010110000', '0110010110001011', '1010100111111000', '0100010000110000', '1000000110101100', '0110101010101011', '0011001010000000', '0011111001010010', '1010010100101100', '1110001100000010', '0010001111011100', '1001011000001111', '1001111011111001', '0101010101011100', '1011001011000000', '1000001001011110', '1000001010101001', '1100010101101001', '0010111010101001', '1110101100110101', '0001110110001100', '1101100111111000', '0100001010000000', '1100001101010001', '1010111111000000', '0110111100011110', '0010110010000101', '1101000010101111', '0010110000001101', '1111010110001000', '1101000100001110', '1111000100100010', '0011001101011110', '1101011011101110', '1001011101011001', '0100000000010100', '0111001001100111', '1111110011101001', '1101000011100110', '1010001100100010', '0110011110010111', '0001111001001110', '0010100000101001', '1100100001010011', '0010101101010101', '1111101011010111', '0010110100100100', '0101010000111100', '0000001111000110', '1100000010010011', '1010011000011111', '0000010011100001', '1010110110010011', '0010111000100001', '1101000111001001', '0011010100101111', '0010010100010011', '1101011011101000', '1100100100110011', '0111011010110010', '0110110100110010', '0100001000111000', '0000000000000010', '0100000011100101', '1011000100110010', '0101110100100100', '1101000001101110', '1001101000101010', '0111111100100100', '0101011110000111', '1111000001110100', '0000101010010001', '1000110011101111', '0001000111100000', '0001010011101101', '1010111000011000', '1111100100010101', '0101111001101110', '1000100101101100', '1111110111110110', '0111000011000101', '1100000011011100', '1000000011111010', '1011101101010000', '1001011110011110', '1011000011101010', '0001001000010010', '0011011000101100', '0011010111101000', '1011010010000111', '0100110010111111', '0101011001011111', '0111011010000100', '0000101001100110', '0111111100010010', '0100010111101110', '0000001000011110', '0001100000001001', '1111111100101011', '0000001101111110', '0110000000111110', '0010001100101011', '1001111000001000', '0101101011110010', '1011001111101111', '1111010010100111', '0101101001111010', '0010111010101111', '0101101000110011', '0010110100010010', '1001111000111000', '1000011110010010', '0010010011001011', '0101011110110111', '1010010111011011', '1001100100101111', '1100011000100101', '1000101001011111', '1010010110010010', '0001000000111110', '1000001011010110', '0100000111001100', '1111011011110010', '1010001010110011', '1010111100110111', '0010000101111000', '0011001011111001', '1000101110000001', '0001001110110101', '1011010010110111', '0100100111001101', '0101111100001000', '0011001000001110', '1111110101111000', '0101011100001111', '0100001100010111', '0001101001101100', '1111110010100110', '1101111000101000', '1111100111100010', '0001110000011011', '0111100000000101', '0101001100011101', '1100001000000111', '1100001110100110', '1001010000100011', '1101101010110100', '1000010000011111', '0011000010101100', '1011101001111001', '0100111100000010', '0100010001111111', '0101110111100101', '0000101111110001', '1111110111000000', '0110110010100011', '0001100111100111', '1010111111110110', '1011110110101001', '0100011111000010', '0000001110111111', '1010010010111011', '1011001000000001', '1100110011001001', '1010100101000000', '0011100110110100', '1001101111000010', '1000000000001011', '1000100101011010', '1110110111001010', '0100100011100010', '1111010010010001', '0111101001010000', '1100111011010011', '0101101001001100', '1000000010000101', '1100001010001111', '1100110000001110', '1101111100110001', '1110000101100001', '0110011110100001', '0101011100001001', '1011000010010101', '1011111011100101', '0000001011101111', '1100000011101010', '0111010101110110', '0110010111110010', '1110110100001101', '1010001001000010', '0111010001011111', '0101001000110100', '1110001101001101', '1001111110011111', '1110111100010111', '1111010000011001', '0110000010000110', '0100001011111111', '0000000111011100', '0000011110101011', '1001111010000000', '1011111100111101', '0000110000100001', '1110000010111001', '0101010100010101', '0001001111001100', '1000000000111011', '1111001000100111', '0110011010001000', '0001000001110001', '1110101111110100', '1100101010001110', '1110010011100100', '1101000100111110', '1101001111100011', '0111010010101110', '1110011110101000', '0001111000110111', '0001110111000101', '1110111111010110', '0100010000000110', '1001110100001011', '0101010110011011', '1110100001111111', '0011000100111101', '0000000010001100', '1100101100011001', '1000101010101110', '1101110011000011', '0101010001110011', '1100110011111111', '0001000101011000', '0000110011010000', '0111110101000001', '1001001000011101', '1101111100110111', '1110111000001110', '1011101010111000', '0000011110101101', '0110101100001100', '0010110011111010', '1010111010010000', '0111110101000111', '1110011001110110', '0001011011110001', '1001111010000110', '1110101010010010', '1000110111110110', '0101100011101000', '1100101010111110', '1000111111101010', '0110101111111101', '0101001001111101', '0111000001001101', '0011111011011010', '1100000000101101', '0100111010010101', '0001111011110000', '1101001101011101', '1111111111101100', '0101100111110001', '0001011010111110', '1001010011010010', '0001000101101000', '1100010110011000', '1000011111101101', '1101100010101000', '1101000111111111', '1100110110011001', '1110110101000100', '0000111101011101', '1011011011100010', '0101111011100110', '0111001000011000', '0000111010000101', '1110000001001000', '1001110001101101', '0110111110100110', '1001111011111111', '1111101110110001', '1111110101111110', '1001010001011100', '0110010100000011', '1110001000101101', '1001101001100011', '0010111001101110', '1110000101010001', '1000010111110001', '1110100000110000', '1000101101000000', '1000111011000101', '1111100101101100', '0101011010101000', '0100110010001111', '1010001100100100', '0001110010100011', '0111101010010001', '1000001010011111', '0000010010101000', '1100100000011100', '1100111110000101', '1010010101010011', '0010101111011101', '0000000001111011', '1101111001010111', '1011010011111110', '0111011111100010', '1110010101110011', '1100011100001100', '1000011010111101', '1110110011010101', '1000000100100100', '1110111001000111', '0011111111000011', '1110011000001111', '0011010110010001', '0011111001010100', '0100100110000010', '1000000001000010', '0011010001001001', '0000101011011110', '0011101001000000', '0010011110000111', '0001011110010001', '0101010011111101', '0001011111101000', '1110010110110100', '1111000001110010', '0111101010100111', '0001101010101011', '0100101011001110', '0100010111011000', '0000111101011011', '0110010001100011', '0011111001100010', '0001001100111011', '1111001110000110', '0001010011011011', '1100110001000001', '0010001110100011', '1001011010110001', '1110110101000010', '1110101011011011', '1011000010100011', '0111101110111000', '1000111000110010', '1011110111100110', '1000110100110111', '0101000011101001', '1110001100110010', '1001100101010110', '1101100011100111', '0001101110000100', '0001010100110011', '0001111111101001', '0110101110000100', '0010010010110010', '0010010100010101', '1110100101100000', '0111100001001010', '0111101011011110', '0110111101010111', '1000110000011110', '1110100101010000', '0010111011100110', '1111111000110100', '0100111011101100', '0010011101110000', '0001000111100110', '1101111001010001', '0010010101011010', '1010001010000101', '0110100100100000', '0110000000111000', '1110110111111010', '0010010101101010', '1001010010101011', '0101001010001100', '1000101000100110', '1010001110101100', '0111001101001110', '0001101000100101', '1011001110010000', '1111001010011001', '1101110110010101', '1101110110100101', '1001100000000000', '0011001101101000', '1101010010001101', '1101111011011001', '0000001100000001', '1101101110101011', '1010010011000100', '1010010011110100', '0111111101101101', '1010101111100010', '0101011110110001', '1000110101001110', '0010001010001100', '1111011001111010', '0011001110011111', '0000010111111110', '0110101011100100', '0101101101010011', '0110110110111100', '0111001000101110', '0011001001000001', '1010000001101000', '1010000001011000', '1100001011000110', '1100111100111101', '1110110011100011', '0000011010000100', '0111000110100101', '1101110010001010', '1101101011001101', '1110100100011111', '1011110111010000', '0000011001110101', '1111110100110111', '0011011000011010', '1110000000000001', '1000011000000101', '0001101000010101', '1111101011100111', '1110010000010011', '1101100000100000', '1001000010111111', '1110100110010111', '0000110001101000', '1001110100001101', '0100100110110100', '0110000110101001', '1100111000010100', '1010010000110011', '1101001001000100', '0100011101111100', '0000010110110111', '0001111100101000', '0000110001011000', '0010111111001001', '0000001010010000', '0110001011100011', '0101011101000110', '0001100011001110', '1100110100010001', '0100011011011011', '0110101010011011', '1101000110000110', '0011010010001000', '0000000111011010', '0101000101111000', '1111111001001011', '0001001011010011', '1100111110000011', '1111001000100001', '1011001001111110', '1010001000111011', '0111011000111010', '0100110000110001', '0000011000111100', '1010011011101000', '1010110001111101', '0011010011110111', '1001011111010001', '0010100111000001', '1011001100101110', '0111111001110010', '0010100000101111', '1001110010101100', '1101000100001000', '0111100100011100', '0011001001000111', '1000001110110000', '1011101111011110', '0001100110101110', '0001100001000110', '0011011100110011', '0001110000011101', '0010001101010010', '0100011101001100', '1000101100111001', '1011011100001100', '1000000011001010', '0110000011111001', '1010000010101111', '1001001000101101', '0000101101001001', '1110100111101110', '1011101100101001', '0110001101000100', '0111011100100101', '0011001011001001', '0111011010110100', '1010011100110110', '0100111000011101', '1111000010110011', '1100010001110110', '0000111111100011', '0001010000011100', '0110111000110001', '0110100001000110', '0000110110110110', '0110111111011001', '0010111100001000', '1111011010001011', '1100101001001111', '1000110111000000', '0101110011001100', '1110110011100101', '0001111100011110', '1101100101110110', '0011101000111001', '0100011110111101', '0010101010111101', '0000011011111101', '1010110011110101', '1001100101100110', '1111010000011111', '0100001110011111', '1011101001001111', '0011001000111110', '0000110010011001', '1111001110110000', '1101110101100010', '1010101111010010', '0111100010001011', '1010000111111111', '1111010001100110', '1111100101101010', '0011001011001111', '0101101110100100', '1001110010101010', '1000001101000001', '0101111110000110', '1110100001001001', '0011101001110000', '0010001101100100', '0001000110101111', '0111010011100001', '1010011011011110', '1001110100111101', '0000100001001010', '1010000111111001', '0111001110001001', '0010001001111101', '0111011001110011', '1111011001111100', '0010011000010110', '0110000111010110', '1010100000100110', '1100101001001001', '1000101011100001', '1110110110110011', '1001010111001011', '0000011101011010', '0100101001110000', '1101110000110100', '1011000100000010', '1000111100101101', '1011111011100011', '0110010110111101', '1100001110010110', '0111010001011001', '0111011011111101', '1110111000001000', '1101100010011110', '0111000110010101', '1000000101011101', '1100000011101100', '1000100111010100', '1111011101100011', '1011101000000000', '1010001111100101', '1011010000001001', '0110101110110100', '0000101010010111', '1010110110010101', '0000011100010011', '0011011010100010', '0111010111001000', '1001101011011011', '0001100101101111', '0101111101110001', '0110111101010001', '0010001100011011', '0101010100100101', '1101101010000010', '1011011010011101', '0000001001100001', '0011111100110010', '0111010111111000', '1010111100110001', '1000010111000001', '1000010010100111', '1000000010110011', '1111111001111011', '1000011011000010', '0001001010011100', '1101101000001010', '1000110001010111', '0000010011010111', '0100000101000010', '0100110111101111', '0000111001110100', '0000011001000011', '0000111111010011', '0011000000010010', '1000100100010011', '1000000010000011', '0010000110001111', '0110000101011000', '0111110001101000', '1100111111001100', '0110100110011000', '0111101110001000', '0000001011011001', '1100000010100011', '1011011010011011', '1110101110001011', '0100011101001010', '0001011001001111', '1100100011101011', '1011010000111111', '0010011100001111', '0000001000101110', '1111000100100100', '0010010111100010', '1101001001110010', '1111011000110101', '1000100000111100', '0111100000110011', '1000110001010001', '0111100101100101', '1100111011100011', '0011000001101101', '0101010110011101', '1110000100011000', '0001101010011011', '0100000010011010', '1111011010111101', '0011100001101100', '1101000110110000', '1110001100000100', '0100110000000111', '0111111001110100', '1101101011111101', '1101011111110111', '1100110100100111', '0110101110110010', '0110101100001010', '0011010100011001', '1100111100001101', '0101101010111101', '0000100100011010', '1101011110001000', '0100010001111001', '1011000111000101', '0011001101011000', '0001110101001101', '1101110100101101', '1001101010010010', '1001111010110000', '1111110101001000', '1000011011110100', '0000101100110110', '0011011001010011', '0011100000010011', '1000000100100010', '1110000001111000', '1000101000010110', '1001011101011111', '1100001100011110', '0100101101011111', '1011111000100100', '1000101110110111', '0010110110011100', '0110010001010101', '1011100010010100', '0100001111010110', '0011101001110110', '1001001110001100', '1011111110110011', '0100110100011110', '1001110011010101', '1000001110000110', '0100011001010101', '0001101101000011', '1111010101001001', '1011110000001110', '0011000001101011', '1010000010011001', '1100100001100101', '1001110001011011', '0000011000001010', '0111110111001111', '0001101101110011', '1000111000000010', '1111010100000110', '1011010111010001', '1011100011101011', '1001111100100001', '1111000011001010', '1100100011011101', '0100011110111011', '0100000111111100', '1001011010000001', '0110001010011100', '0110001000100010', '1011110110011111', '1110110101110100', '1100110101011000', '1011101011110111', '1000100001000101', '1111000110101010', '1000101000100000', '1001011111100111', '0010000011011001', '1011101100101111', '0010001011110101', '1000100001110101', '1111001011010000', '0001110101001011', '0000101110111110', '1101110010111100', '1010110100011011', '1011110010110110', '0100101000111111', '0010001110010011', '1010011011101110', '1101001101101011', '1100001101100001', '0010110111100101', '1101000101000111', '0111011010000010', '0111001100110001', '1000011000110011', '0111111110101010', '0110111011000110', '1110000111011001', '0011001100100111', '0010111001101000', '1101101110011011', '1111001111001111', '0011110010111111', '0000110111111001', '0110001101110100', '0111111111010101', '1011101000110000', '1101010001001100', '1001101111110010', '1110110001101101', '0011100011010010', '0000111110101010', '1001000100011000', '0101111011010000', '1111110010010110', '0110010111110100', '0000101110001110', '0110100010110111', '1001000101100111', '1101100101110000', '1100110011001111', '1011100101111010', '1100011001101100', '1000100111100100', '0000100100101010', '1110111011111111', '0111011100010101', '1101100111001000', '1011100110111101', '0100101001000110', '1001000100101000', '0000100111011011', '1100010001000000', '0100100100111010', '0011011110001011', '0111010011010001', '0010101001111010', '0011101010000001', '0100101000001111', '1010001010000011', '1011100010100100', '0110011111101000', '1111100111010100', '1010101000001100', '0111100111011101', '1000011110010100', '1111000010110101', '1011001111011001', '1011000111000011', '0110000000001110', '1001000111101001', '0110011011000111', '1100111011010101', '0000101010100001', '0011010000000110', '0111000010001010', '0010010010000010', '0111000110100011', '1100010111100111', '1101101101101100', '1011001000110001', '1101001101011011', '0001000000001000', '1011101010001110', '0010110101101011', '1010001000111101', '1011101110100111', '1111000101101011', '1111110100000001', '0011111110111010', '0111100110100010', '1011011111001101', '1110011001000110', '0100010111011110', '1110010010101101', '0001010101111010', '0110101001011100', '1111101111111000', '1000011100011010', '1001110110000011', '1010100001101111', '1101111111000110', '0111000000110100', '1011111110110101', '1101000000010001', '1001000001001110', '1000001111001001', '0100011010010100', '0111000011110101', '0001011010001000', '0111100000000011', '0011110011110000', '0100000001011101', '1011101110010001', '0010101000000011', '0010110011111100', '0100100101000011', '1010101111100100', '0101010010000010', '1001100011000001', '1100000101111101', '0000111111010101', '1001110110110011', '1010000101110001', '0001101110000010', '1100101111011000', '1111000111100101', '1101110010001100', '1010100111111110', '0001100101011111', '0111100001001100', '0001100010110111', '0111000001111101', '0000110101110001', '1010101011111011', '0000010111111000', '0100101100100000', '1001010101000101', '1101001000111011', '0100001011001111', '0111101001100000', '0011110111101111', '1110001111000101', '1001110111001010', '1110011010000001', '1101011010010001', '0110101101110011', '1101101111010100', '1011010010110001', '1100010101011001', '0000001001010001', '1000110100000001', '1101110100011101', '0001100100100000', '1100100100000101', '1101101101101010', '0111110010011001', '0000011011001101', '1111001100111110', '0001010010100010', '1111110111110000', '0101010110101101', '1001010100001010', '0100000111001010', '1110010101000101', '0001000011001001', '1101001011001010', '0110111100011000', '0010101010001101', '0001011010111000', '0110010010100010', '1010000100001110', '1010100010101000', '1101011001100000', '0010011011100001', '0001110000101011', '1010010010001011', '1010111111110000', '0101110101101101', '1110100011000111', '0001001001011011', '0110000001000001', '1110110110000101', '0100001010000110', '1100110111010110', '0101100011011000', '1011100011101101', '1000011100101100', '0001100010000001', '1110011000001001', '1011110010000110', '1111000101101101', '1010010110100100', '1101010011110100', '1011000110111010', '1000011101010011', '1001100010001000', '1000010001010000', '1000100111100010', '1001110001101011', '0010101100101010', '0011101101101001', '0001000010110110', '1011111001011011', '1010101000001010', '0111001111000110', '0110110010100101', '0100100011100100', '0011101011111000', '1100110011111001', '0101000001010111', '1100101001111111', '1100011010101101', '1110011110101110', '0101111111001001', '0110011101100000', '0100111011101010', '0100111110001010', '0011011010100100', '0001100100100110', '1100011010011101', '1100010100100110', '0010110001000010', '1100110000111000', '0000100110100100', '0110101100111100', '0101111001011110', '0100001001000111', '0011001110101001', '1010010001111100', '0110010000011010', '1001101010100010', '0111001101111110', '0111101110111110', '0010110111010011', '0100010000000000', '0101100010100001', '1010010111101011', '1100011000100011', '1110100110010001', '0101110110011100', '0111010100001001', '1111011100011100', '0011110101100001', '0000000001001101', '0111011100100011', '1000011101100011', '0011010000000000', '0110001001101011', '1101011100110110', '1111101111001110', '1101111001100111', '0101001001001011', '1000111001111101', '0110000011001111', '0110000011001001', '1010101011001101', '1111111010111010', '0000100101010011', '1010110100101101', '0010010110011101', '1111010110111000', '0100010110100111', '0010010111100100', '0000000101100010', '1111000110011100', '0100011000101100', '0001011110010111', '1110001000011101', '0101000001100111', '0101000000011110', '0111001000101000', '1101010011000010', '1101010011110010', '1111100001000101', '1111000101011011', '0100100001101010', '1010111111000110', '1111110000101110', '1000100100100101', '0100110001111000', '0000100010001101', '0001101111001101', '1100101001111001', '0001111110100000', '0011100111111011', '1001011110011000', '0001110111110101', '0100111010100011', '1000111101100010', '1011010000111001', '0000000010111010', '1010001111010101', '1110101001100101', '0000000001111101', '0101011010011110', '0110010011101101', '1101100000010110', '0110010100110101', '1001101001010011', '1011010100010000', '0100001101011110', '0010011001011001', '0100111001100010', '0101010010110010', '0111011000001100', '1000110100000111', '1010101001000011', '1100101111011110', '1010100100001001', '0011110110010110', '0010001100011101', '0010100100000000', '1010010100101010', '0100000100111011', '0110100010000111', '0010110110101010', '0010111010011111', '1110111100100001', '0111010011010111', '1101011001010000', '1001011000111001', '1100101100101111', '1000101111111110', '1111001100111000', '1100011100001010', '1101000010011111', '1000010110111110', '1010010011110010', '0001010010010100', '1011001010111001', '0010101110100100', '1001010000100101', '1110110010101010', '1000011010111011', '1010011000011001', '1010010010111101', '1101110000000010', '1110001011101100', '0011001000001000', '0110111100101000', '0101010000001010', '0110011001111001', '0100000010101100', '0100101101101111', '0010100001100000', '0111001110001111', '0001000100100001', '1010100000010000', '1100100000101100', '0000111111100101', '1011010100100110', '0110000011111111', '0010011010101110', '0011000110110101', '0101111001101000', '0100001101101110', '1011110100010001', '0011111111110011', '1011010110101110', '1011111100001101', '0110101001101100', '1001011010000111', '1110110101110010', '0101100001010000', '1100100111000100', '1100000101001011', '0011010010001110', '0110010101001100', '0010111000010001', '0011111100000010', '1101000010011001', '0110110110001100', '1000100110101011', '0001110001100010', '0010011000100000', '0011011111110100', '1111100010000100', '0000001000011000', '0010111100111000', '0000100010111101', '1100110111100110', '0001010101001100', '0101011010011000', '0110000101011110', '1010110000000010', '0101100100000110', '0010101110010100', '1110001010100011', '0011011100110101', '0100110110100000', '0110000001110111', '0000100100101100', '0000000011110011', '1010110010001100', '1110111011001111', '0101111100001110', '1010111110001111', '0111110001011110', '1110100100101111', '0110011110010001', '0101100101001001', '1110100111011000', '1101000100111000', '1011000111110011', '1011000000101011', '1010010101100101', '1010111010100110', '0011111110001100', '1101011010010111', '0110000110101111', '0110001001011011', '1111100011111011', '1010110010001010', '1001100111101000', '0110101001101010', '0101010000111010', '1100101000000110', '1101010001111010', '1110111000111000', '0110000111100000', '1001111100010111', '1011011110110010', '0101011011100001', '0001000110101001', '0001001100001101', '0101011100111111', '1101010100101010', '0000010011010001', '0001011101010110', '0010111110110110', '0000010101110110', '1111000111100011', '0000011101101010', '1001101010010100', '1010110101010100', '1100001001111110', '1101101001110011', '1000010101111111', '0001100011111110', '0010010001000101', '0101001011110011', '1011100001100011', '1000011101100101', '1111111010001100', '1100001111011001', '1001001011101100', '1100110101101110', '0111110101110111', '1110111111100000', '0110101000010011', '0100010011000001', '0101110000111101', '1001100011110001', '1100101110010001', '0111011011001101', '0011011111110010', '0101011011010001', '1001010001011010', '0001101001101010', '1101110001111101', '0011001111100110', '0010001111101100', '0110101100111010', '0110100000001111', '1100011000010101', '0000100110010100', '1101111100000001', '0010110100100010', '0101101100011100', '0000111001000010', '0010101100101100', '1000000111010011', '1111110011011001', '1000101001011001', '1001110101000100', '0001010111110100', '1110001001010010', '1010001011111100', '1110110111111100', '0001010101001010', '1110010100111010', '0000101100000110', '0111111101011011', '0101100111000001', '1001010101000011', '0100000100001101', '0110011001111111', '0010010100100101', '0111101100110110', '0110101111001011', '1000101101000110', '1011000101001011', '1010010101100011', '0101100101111111', '0100111100110100', '0111010010101000', '0011010111011000', '0010101010111011', '0010001010111100', '0110000101101110', '0101100100110000', '0101111111001111', '0010100110111000', '1010101101101100', '0001110010100101', '0011000110000011', '1011011111001011', '1011010011001110', '0100000100001011', '1011010101011001', '0110001101000010', '0000001011101001', '0001001010101010', '0100111111110101', '0100010101100000', '1011011101110011', '0111101000011111', '1101110111101100', '1110000011000110', '1011010100100000', '1011100101111100', '0011101111010001', '0110100101101001', '0001001101000100', '1001001001010010', '0110011001001111', '1010110101100010', '1111111100011011', '0000001000101000', '0100100100001010', '0110111001111110', '0100110010111001', '0101101001001010', '0110001000010100', '0000111000001101', '0010001100101101', '1001000101100001', '1111100111010010', '1011101010111110', '1100000111110101', '1111111010001010', '1101001010110101', '0110100101011001', '0001110010010101', '1100111111111100', '0011010110010111', '1111110110111111', '1011010110101000', '0000111110101100', '0101010001110101', '0000110101000111', '1101000011010000', '0110100111010111', '0111001000011110', '1010101001110011', '1110111011001001', '0000000110010101', '1001100110100001', '0101010001000101', '1100110010110110', '1100010110101110', '0100101111100111', '0110110101111011', '0101000001100001', '0100111000101011', '0001011101100110', '0110101011010100', '0111010011100111', '1101001110011010', '0100001101101000', '1011101011000111', '0010111100001110', '1100101000110110', '1000110111000110', '1001000001111110', '1110101110111011', '1011100001100101', '0100011111000100', '0011101011001000', '1111000001000100', '0110110000011011', '0000100101010101', '0001111010001001', '1101001110011100', '0010100011101110', '1010011101111001', '0101001010001010', '1100110000001000', '1001001110111100', '1111011101010101', '0010001110010101', '1111011100101100', '0001000001000001', '1000110101111000', '1100011001011100', '1000111000110100', '0110001001101101', '0010001000110010', '0101111010101111', '1101010000110011', '1000110100110001', '1001111001000111', '1000011011110010', '1010100110000001', '1000101101110110', '1111010111110001', '0101111010011001', '0100110111101001', '0001011101010000', '0011101111100001', '1010011111000001', '1111001101110111', '1110001111110101', '1101101010000100', '1110100010001110', '0000000100011011', '1000010110111000', '0101000101111110', '0101001001001101', '0101110011001010', '1110111000111110', '1011110011111111', '0001101011100010', '0100111101111011', '1001100100011111', '1110110001011101', '1100010011111110', '0101101000000101', '1011100110111011', '0101011111111110', '0001100000111001', '0101111100111110', '0001011101100000', '0100000001101101', '0011111000011101', '0011100111111101', '0110010010100100', '1011100111110100', '0000101011101110', '0110110111110011', '1111011111101101', '1011000001010010', '1101100011100001', '0101010110101011', '0010000000101110', '0010011100111111', '1000010100000110', '1000010100110110', '0011110001001110', '1100010010110111', '0111010000100000', '1000010011101110', '0101011101110110', '0001100010110001', '0101011010101110', '0001100001000000', '1110101001010101', '0001000010110000', '1010001101011011', '1010110111011100', '0100011100000101', '0100101110101000', '1000001001101110', '0010010010110100', '0111011101011100', '1001111101101000', '0110011111011110', '1100100011101101', '0011101001000110', '1110000111101111', '0101111101000111', '1001111110101111', '1010000000100111', '1010010000110101', '0110001100111101', '0100000001011011', '0110001010011010', '0011110111101001', '1111000100010010', '0010101001001100', '0000111000111101', '1000000100010010', '1011011001101100', '1100000101111011', '1110101000011010', '1010011111110001', '0011010111101110', '1010100010011110', '1000100110011101', '1100001111011111', '1011001110100000', '0110100000111001', '0111100110010100', '0100001000111110', '0001001111001010', '1110001010100101', '1001000011110000', '1111100001110011', '0101011000100110', '1110100110100001', '1111111111011010', '0010110000111011', '0100001111100110', '1100101110100111', '1001000000110111', '0111111010000101', '0100111110001100', '1110100011110001', '1100010110101000', '1011100001010011', '1110000000110111', '0101100110001110', '1111000000001101', '0110111111011111', '1001011110101000', '0001110101111101', '1110101001100011', '1100011110000010', '0101001110010101', '1011110011001111', '0000001001100111', '0010110110101100', '1001011011001110', '1101111000101110', '1011100000101100', '1001100111101110', '1110001001100010', '0000000100101101', '1011101001001001', '1100000000011101', '1100100100000011', '0111000101100010', '0110010001010011', '0110101101000011', '1110010010011011', '1110111011111001', '1001111111010110', '1101010001111100', '1110111001000001', '1110101111000010', '1001111110011001', '0100101001110110', '1010111100000001', '1100000001010100', '1100110110011111', '1101101100100011', '0111000100101101', '1110111100100111', '1111000100010100', '1101110001001101', '0101001000000100', '0100011100000011', '0100000001101011', '0010000001010001', '0011000000010100', '0001001101110010', '0011011000101010', '1011111000010100', '1111010001100000', '0010001001001011', '0101100011011110', '1100111101000100', '1101111011011111', '0100111111000101', '1010011010010001', '0001101011010010', '1001111000001110', '1011100111000100', '1000001110110110', '0100001110011001', '0000111011001100', '0110111010111111', '1110011000111111', '0110101000100011', '0011011010010100', '0010101101100011', '0010110101011011', '1111100001000011', '0000100011000100', '0010111111001111', '1001010111001101', '0000010001011111', '0000000011000101', '0000100111101011', '0000000110010011', '0011011011011101', '1011101111101110', '0010100100110000', '0001001011100101', '1111110101001110', '0100001010110110', '0000101011101000', '0101010100100011', '0000011111100010', '0011110010001001', '0000111010110011', '1111010101111001', '0011100010011011', '0011110010111001', '1111111101100100', '1010100011010111', '1000000111100011', '1010111011101001', '1010100001011111', '0000001100110111', '0111001011011111', '1000001111111111', '1001001011011010', '0101011011010111', '0100010011000111', '0101101101100101', '1001101100110101', '0011000001011101', '1010111011011111', '0101011001011001', '1101110101010010', '0101101011000010', '0011111111000101', '0111000000000100', '1110010001101010', '0011111110111100', '1000010101001001', '0110110000011101', '1101111000011000', '0100010011110001', '0010011111111110', '1001010000010101', '1011100000011010', '0100011111110100', '0101111101000001', '1100010000001001', '1000010101001111', '0110011010001110', '0100001100010001', '1100011111111101', '0000101110111000', '0111111000111011', '0101011111001110', '1110111101011000', '0000011100100011', '0101101111101011', '0111101000101001', '0000011001000101', '1010011110001000', '0100100100001100', '1101110000110010', '0001000011111001', '1001101000011100', '1101000101000001', '1001000001111000', '0100000000010010', '0010011111001110', '0100000000100100', '0110001111111100', '1000111111101100', '0100111111110011', '0011011101001010', '1011010111100001', '0110100010000001', '1010101010000010', '1001110100111011', '0101000010010000', '0111111101011101', '1100011100111010', '0111110001101110', '1001011001000000', '0010011101110110', '0110011000110110', '0111101100110000', '1110101010100010', '1111000011001100', '1011010101101111', '0111100101010011', '1010111110001001', '0100000011010101', '1111001000010111', '0000110111111111', '1000000011111100', '0101001111011100', '1101000111111001', '1010011101001001', '1001001110001010', '1111101110000001', '1111000011111100', '0100001100100111', '1110001000101011', '1000110110111111', '1110010010011101', '1100011001101010', '1111100000001100', '1101111111000000', '1001001001100010', '1100000010010101', '1000011111011011', '0101111000100001', '0111000010111100', '1011001101010111', '1000110001100001', '1100111110110101', '1000000001110010', '0000010011100111', '1100100010100100', '0110010000101100', '0000101101111001', '1000100110101101', '0100101010110111', '1111111011110011', '1111001001011110', '0000010111001110', '1010100011100001', '1110011110011000', '0010000010010110', '0110110101001101', '0011001100010111', '1111001010101111', '0010011000100110', '1001101010100100', '1110000000000111', '0101110001000100', '1001110111001100', '1111001000010001', '0010001001111011', '1101000001011110', '0111010001101001', '0010100011101000', '0101110010000101', '1010110000110100', '1001100010111110', '0010001101010100', '0001000011111111', '1110111010000110', '0101001101100100', '0110011000000000', '0100110000110111', '1011011010101011', '1101000000100001', '0111101111000001', '0000111100100100', '0011101100100110', '1001011000111111', '0101010011001101', '0011010101010110', '1000101110110001', '1001101001010101', '1001010110110100', '0011110010001111', '1100101101100110', '1100000101001101', '0011000100111011', '0000100000000011', '1001011100010000', '1011110110101111', '1111101010101110', '1110001110111010', '0110010001100101', '1010110111101100', '1111010100110000', '1010111010100000', '0011011100000101', '0101101001111100', '0110101101000101', '0101100100000000', '1000001011100000', '0100100000010011', '0001010000011010', '1110100011110111', '0111111000001011', '1101001100100010', '0111001101111000', '1001100101100000', '0110010011011011', '1010110001001101', '0101110110101010', '1101010101010011', '0001000010000110', '0010011010101000', '1100010111010001', '1101110011110101', '0110000010110110', '1111101001101111', '1100111001101011', '1010101000111100', '0111000111011100', '1110101100110011', '0101101110010100', '0111111110011010', '1110110001011011', '1101110100011011', '0000011101011100', '1001011110101110', '0101110011111100', '1001010101110101', '0010010100100011', '1110000111011111', '0111101100000110', '1110011001110000', '0111011001110101', '0110111101100001', '1010110001001011', '1100110111010000', '1100101110010111', '1011110001000111', '1101011011011110', '0111010110110001', '0000101000101001', '1010111101111000', '0100011000011010', '0011100011010100', '0011100110000100', '1001000101010001', '0101111111111111', '1101111010010110', '1001101001100101', '1011101110010111', '0000001111000000', '1000111110100011', '0100111001100100', '1111010001010000', '1100111100001011', '1100111010101100', '0110001011010011', '0000001010010110', '1010111011101111', '0001000100010111', '1011111010011010', '0101011111111000', '1011110101101000', '0111100110100100', '1111101000100000', '1101111110001001', '1110101111000100', '0001010000101100', '1011111001101101', '0001100001110110', '1110101111110010', '0011001010110110', '0010010101011100', '0101110100100010', '1001011001000110', '1010001001110010', '0010011011100111', '1010100001011001', '0011100000100101', '0101000000101110', '0010011110110001', '1101010100011010', '0000110100001000', '0101100000101111', '1100110000111110', '0101011000010110', '0010000001100111', '1011010000001111', '0000111100100010', '1010011001100000', '0010110001000100', '1010111010010110', '1000110110001111', '1011111111111010', '0101000101001000', '0010010000001100', '1000101001101001', '0110101011100010', '1111110001010111', '1110100000000000', '0010000110111111', '1011111111001100', '1111100110101101', '1110100111101000', '0001001101000010', '0111111011001100', '0100000111111010', '0101001010111010', '0010000101111110', '0111110011010110', '1001101100110011', '1100010110011110', '0000111001000100', '1010101101011010', '1000011010001011', '0011110111011001', '1100100011011011', '1100011011100100', '0111000011110011', '0110011111101110', '0101100000011001', '0001110011011100', '1110101110001101', '1111010001010110', '1110001000011011', '0001111101010111', '1100100111000010', '0010011000010000', '1001100001111001', '1111110110001111', '1001010110000010', '0010100101111111', '1100100010010010', '1000101100001111', '1010011101111111', '1110111110101001', '0101000101001110', '1110001001010100', '1000111110010101', '1011111001011101', '1111100100100101', '0100100101110101', '1001001000011011', '0111101010010111', '0100010100011111', '1000001011010000', '0100000110110011', '0100011010010010', '1100001101100111', '0000010010101110', '1110010110110010', '1010000100111000', '1001010110110010', '0100100001011100', '0001010100110101', '1001101000011010', '0001110100110100', '0111011100010011', '0100111000101101', '1110010110000100', '0110111001111000', '0001101001011010', '1101110101100100', '0110101111111011', '0110100000111111', '1001010010101101', '0110100011001000', '1101100001101001', '1111110001100001', '1101111110001111', '1000101000010000', '1100011100111100', '1111100000111010', '1111010011011110', '1011001001001110', '0000101111000111', '1110111001110001', '1111101111111110', '1000101011100111', '1000110011101001', '1001101101111010', '0110110100000010', '1011110100010111', '1010010001001100', '1000010001010110', '1101011000101001', '0110111001001110', '1100110001110111', '0001001110000011', '1001101101001010', '1101100001011001', '1010000101110111', '0001111010001111', '1000101101110000', '0110010010010100', '0011111010100011', '1111000010000011', '0001101111111101', '0100100001011010', '0110110000101101', '1110110100111101', '0110010101001010', '0010101011110100', '0001111110010000', '1001100100101001', '0110001111001100', '1110111010110000', '0001111011110110', '1000110000101000', '0000110011100000', '0010101000110101', '0101001011000011', '1100101110100001', '1010011100000110', '0010010011001101', '0101100111000111', '0000001110111001', '1010110101010010', '0111101101111001', '1101010000000011', '0100001001110111', '1110110010011010', '1100101100011111', '1101110101010100', '0110111000000111', '1011001001001000', '0101011110000001', '1110110110000011', '0111011111010100', '1111100000001010', '0100001111100000', '1010100101000110', '0001011001001001', '1001110000100100', '0011101011111110', '0100110011110000', '1111110001010001', '1111010111110111', '1110101000101010', '1111100001110101', '1111101011100001', '1011100011011011', '0010111001011110', '0001010010100100', '1110101010010100', '0111000011000011', '1101101010110010', '0011000101000010', '1101101110101101', '1101000011100000', '1000111111011100', '0110111011110000', '0001011111101110', '1111111110010101', '1110011111100001', '1001000011110110', '1111011001001010', '0110111010001001', '1101001100100100', '0110111001001000', '0001010111110010', '0011001110011001', '0111000101100100', '0010110001110100', '0101011100111001', '0001001100111101', '0000000110100011', '1111101010101000', '0100001001110001', '1001011011111110', '0010101110010010', '0011111011011100', '1010000001011110', '1101000010101001', '1000001011100110', '1101101001000011', '0110001011100101', '0101110001000010', '0011011110111011', '1010110001111011', '0010100011011110', '1000111011110011', '0001100111010001', '1101101100010011', '1100100010100010', '0001010110111011', '1110100001111001', '1011000000101101', '1000110010010110', '0001000100100111', '1000100010000100', '0101110110011010', '1011110101011110', '1000101010011110', '1010001100010100', '1101011100000000', '1110101101001100', '1111001111001001', '0011111101111101', '0001100011001000', '1100110110101111', '1010000011100000', '0101010111100100', '1011000110001100', '1001111101101110', '0010001011000101', '0010110010110101', '0010001110100101', '1110111111010000', '0101011111001000', '0011111011101100', '1100001100101000', '0100011001010011', '0000100001111010', '1100101101010000', '1010110111011010', '0011111010010101', '1100000001010010', '0101110111100011', '1001110010011100', '1111111101100010', '0110101110000010', '0011111010010011', '1111000101011101', '1011100111110010', '0010100101111001', '1001101100000011', '0001111011000110', '1111001001011000', '1100000111110011', '0111010110000111', '1101101100010101', '0111000001001011', '1111010011101000', '1111110000011000', '1000000111010101', '1100111101000010', '0100011110001011', '1011000011101100', '0011000011100101', '1111001010011111', '1111101100111001', '1111101000100110', '1000010111110111', '1101011000101111', '0000011010110010', '1110110010011100', '0110000110011001', '0101110000001011', '1110100101100110', '1011011001011100', '1010001110011010', '1011110000001000', '1010000111001111', '1101011001010110', '1000000000001101', '1110000010001001', '0010010000111100', '0101011101000000', '0111111000111101', '1110101110111101', '1110010000100011', '1101100110000111', '0011111001100100', '0101101011110100', '0111101000101111', '0010101110100010', '0010010000111010', '0000101001100000', '0011110111011111', '0001011100011001', '0000000010111100', '0011011111000010', '1000001101000111', '0111110100001000', '1100001110100000', '1111010101111111', '0100011001100101', '1000111111011010', '0001110001100100', '0110101111001101', '1010101100100011', '0010001011000011', '0110111011110110', '0000001001010111', '1011000101001101', '1100011111111011', '0110100110011110', '1010011001010110', '1101000001011000', '0011100001101010', '0001000011001111', '1011011101000011', '0010000010100110', '0000001101001000', '0100001010110000', '0000010101110000', '1110001100110100', '0101100111110111', '0000111101101101', '0001101100001100', '0110001100001011', '0100001100100001', '0100010010001110', '0100010110010001', '1110011101101111', '1001011010110111', '0000001110001111', '1100101000000000', '0100110100101110', '0010010110011011', '1100111010101010', '1100110111100000', '1111010110001110', '0010101100011010', '1000110000011000', '1111110111000110', '0000110001101110', '1011001010001111', '1011100100110101', '1001111111100000', '1111101110000111', '0001000110011001', '0101110100010010', '0101011001101001', '1011011010101101', '1011001101010001', '1110010001101100', '0010100000011111', '0001110110001010', '1111101010011000', '0010011001101001', '1111000001000010', '1101100000010000', '0111110101110001', '1001110111111010', '1101011100000110', '0101010101101100', '0100110011110110', '1001000011000000', '1101010010111101', '1101000000010111', '1110110001101011', '0000010010011110', '0011010010111000', '0100101101101001', '1110000010111111', '1111001110110110', '1001110000010010', '1111000111010011', '0111001010100110', '1110111001110111', '1111011101010011', '1101111101001000', '0010000111110110', '0100101000111001', '0101110100010100', '1110101010100100', '1000001001011000', '0001111101010001', '0010111111111111', '1010101011001011', '0010100000011001', '1001101110001011', '1110011101101001', '1010100011010001', '1100110010110000', '1111111010111100', '1100010000111001', '0100001101011000', '0110010000101010', '0101100110001000', '1011100011011101', '0000001010100110', '1101111011101111', '1101010111011101', '1011101101100110', '0010101011000010', '0010010110101101', '0100011110001101', '1011010101011111', '0111110000100111', '0010110011001010', '1111000000111011', '0101110101101011', '0100110111011001', '1001111011001111', '0000110101110111', '0110011000110000', '0010010010000100', '0010101111101011', '0100111001010010', '1000000110101010', '0011011010010010', '0001011011110111', '1100101111101000', '0100110101100001', '0100100101000101', '0000010100001001', '1101001000001011', '0000100010111011', '1010001111100011', '1011100000101010', '1101111110111001', '1001100010111000', '0010111110000000', '1101011111000001', '1100001110010000', '0001101101000101', '1101001001110100', '1001001111110011', '0110111011000000', '0000011110011101', '1000101010011000', '0100101011111000', '1101000110000000', '0101101110010010', '1101100101000000', '1110011101011001', '0011110101010001', '0001110011011010', '0011000100001011', '1011111111111100', '1110010100001100', '0101010000001100', '0000101111000001', '0010111011010110', '0100111100110010', '0010000100110001', '1110000110100000', '0010001010001010', '1011110001110001', '0011000111001010', '1011011000100101', '0011000101110010', '1111011000110011', '1100100001100011', '1010100110110111', '1111011111011011', '0001000001000111', '0000101000101111', '1101111010100000', '1001001011101010', '0110100110101000', '0101111110000000', '1110101001010011', '1010001111010011', '1100001100011000', '0010000011101001', '0101001101010010', '0001111100101110', '0010010011111101', '0100011111110010', '0110110011101100', '0110110110111010', '0010000000101000', '0101000011011001', '1101010001001010', '1010001110011100', '1010100011100111', '0101110000001101', '0011100101110011', '1000111001001101', '1010111001100111', '1011111010101010', '1001010100111100', '1010111001010111', '0100110001001000', '0100100110110010', '0100111110111100', '0100010000110110', '1100111101110010', '0010000111000000', '1000101010101000', '0100000011100011', '1101100011010111', '1100001010111001', '1111100010110010', '0110001011010101', '0010100110111110', '0010000111000110', '0100110101100111', '0001100111010111', '0100001111010000', '0111010000010000', '1101110111101010', '0111001010100000', '0001010111000100', '0000111100010100', '0101011011100111', '0110101010011101', '1001110110110101', '1110011111010001', '0000100011110010', '1001101101111100', '1001001001010100', '0100100001101100', '0101000100000111', '0100001110101111', '0010010000001010', '1100011010011011', '0111011110101011', '1100000110001010', '0001111001001000', '1110011111100111', '0101010101011010', '0010111001011000', '1000111010111010', '1101111000011110', '0001111011000000', '1111001101000111', '1110000110010110', '1101011000011001', '0010011101000000', '0011100001011100', '1101011011011000', '0000011011111011', '0111110100001110', '1110001001100100', '0101011000100000', '0110110011011010', '1000011001111010', '0111110011100110', '1000011111011101', '1100010100010000', '1001100111011000', '0001101101110101', '0001011010001110', '0100110011000110', '1100010011001110', '0011001001110111', '0111001111110110', '1100011111001101', '0101101101100011', '1101001010000011', '1000010110001110', '1011000110001010', '1000001100001000', '1001100001111111', '1101010011000100', '1010110010111100', '1011000000011011', '0100011100110101', '1110010001011100', '1011111110000011', '1010111001010001', '0011101010000111', '1110110111001100', '0001110101111011', '0000011101101100', '0111001001010001', '1000100000001010', '0011100011100100', '0100101001000000', '1101100100001111', '1110010111001101', '1000001111001111', '0010111011100000', '1111000000111101', '1011100110001011', '1011110011111001', '1000000010110101', '1000111101100100', '0011010011000111', '1110101000011100', '0110111000000001', '0111010110110111', '1110000011110110', '1000000101101011', '0001110110111100', '1011110011001001', '0001111101100111', '1100100110001011', '1011000001100100', '1110000000110001', '1010000001101110', '0000111001110010', '1101000001101000', '0110000101101000', '1111111001001101', '0101001111101100', '1100111001011101', '1010101101011100', '0011110100101110', '1100001001001000', '0001000100010001', '0100000010011100', '0001101111001011', '1100101011000001', '0000010100111001', '1110100110100111', '1000010110001000', '1100011101000101', '1101100100111001', '0010100110001110', '0110001110000011', '0111000100011011', '1101001011111010', '0111101010100001', '1100100101001010', '1001000111011111', '1111001011100110', '0011101101011001', '0011101000111111', '1100111111111010', '1000110110111001', '0110110001100100', '0001111000000111', '0011101011001110', '1001000111101111', '0100111001010100', '0110110010010011', '1010110111101010', '1000011000000011', '1011011001101010', '1111011110100100', '1101010111011011', '0011011000011100', '1101001000001101', '1101000111001111', '1001001010010101', '1110001011011010', '1001010100111010', '0001100110011000', '0011001111010000', '1011011100111010', '0000111000111011', '0110000000001000', '0110100011001110', '0101100010100111', '1100000110001100', '0111001111000000', '0100001011001001', '0010100111000111', '1011001010111111', '0100110111011111', '0011100100001100', '0101010010000100', '1001000001001000', '1111111110100011', '0100010101010110', '0010111110000110', '0011101101011111', '0000110011100110', '0011000111111100', '1011111010011100', '0100101110101110', '1100011011010010', '0011000101110100', '0110100100010000', '1001000110100000', '1010100101110110', '1001001101001011', '1111000110101100', '1000100010110100', '1010000110000000', '1111101110110111', '0110100101101111', '1100010010000001', '0111111111010011', '0100101110011110', '0000110100111000', '0010010001110011', '0101001101010100', '0101001110100101', '0011110001001000', '1101110011110011', '0110010101111010', '1101011110111110', '0100011010100100', '1011110001000001', '0101000000011000', '1010001110101010', '1100010101101111', '0111011110011011', '0111011101101100', '0000000000110100', '1001111010110110', '0011000010011010', '1011000101111011', '0010001000000100', '0011101100100000', '0111001100000001', '1111110110001001', '1001000100101110', '0010100100110110', '0011100001011010', '1000010011101000', '0001110100000010', '1011011100001010', '0011100010101011', '0000001100000111', '1100001001001110', '0000101000011111', '1100111100111011', '0000010000100000', '0101101000000011', '1001101110001101', '0001001110000101', '1000101111111000', '1100000111000011', '0010000100000001', '1011100100000011', '1001001010100101', '1101100010011000', '0111101011101000', '0100111101001101', '1110101011101101', '0000100100011100', '1111100110101011', '1111111000110010', '1000010100110000', '1010110010111010', '0001000101101110', '0000010001011001', '0010110010000011', '1001111110101001', '0010101001001010', '1101101000001100', '0101110001110010', '1111010111000111', '0111110111111111', '0001000001110111', '1100100111110100', '0111011111100100', '0110011111011000', '1100011011100010', '1001011100100000', '0100101010110001', '1010110100101011', '0000100110100010', '1101100010101110', '1101001011001100', '1010001100010010', '0001000111010000', '1111111011000101', '0100101100100110', '0101101110100010', '1101010111101011', '0011000010101010', '0111100111011011', '1101101001000101', '1010000110110110', '1011111011010101', '1100100110111011', '1010110110100101', '1001101111000100', '1110011101011111', '1011000100110100', '0000001011011111', '0111111001000100', '0000000010001010', '0010101111101101', '0110001001011101', '1110011011111110', '1010111101001000', '0010111010011001', '0001100001110000', '0100001000001110', '0111100100101010', '1110000011000000', '0000001101001110', '1011010010000001', '1110101011011101', '0011000011010101', '0001011000110110', '1001011100010110', '1011111011010011', '0011010111011110', '1111011010111011', '1001000010111001', '1100011011010100', '1110010001011010', '1101100011010001', '0000100011000010', '0001011111011000', '1100000110111100', '1100000010100101', '1000110111110000', '1000110110001001', '1000100100100011', '1100111110110011', '0011111010100101', '1010000110000110', '1001101011011101', '1111111011000011', '1010010001111010', '0111110011010000', '1011111101110010', '1011001011110000', '1101000101110001', '1000000110011100', '0101000110001111', '0000010101000000', '1000010010010111', '0001011111011110', '1011011101000101', '1111101101000000', '0110010011101011', '1100010100010110', '0111011001000101', '0001100100010110', '1000111010111100', '0000010110000001', '1010011110111000', '1000010111000111', '1100011101110011', '0111001100000111', '1100010010110001', '1011010001000110', '0010101101100101', '0001101010011101', '1100010011001000', '1101110011000101', '0010000110001001', '0010011100001001', '0110001000010010', '0111000111101100', '1011001101100001', '0011001100100001', '0111111010110101', '1001110111111100', '1111010000101111', '1100000000011011', '0000111110011100', '0100101011111110', '0011111101111011', '1000111001001011', '0010000010100000', '0101100110111110', '0011111011101010', '0001111111011111', '0010110101011101', '0110001111001010', '0011010001111001', '1100010000001111', '1000111100101011', '1001100011000111', '1010101110011011', '1011101101100000', '1101100100111111', '1111101001011111', '1011111101000100', '1000010010100001', '0000000011110101', '0110110001010100', '1011110100100001', '0100000101000100', '0011101100010000', '1010100100111001', '0100101000001001', '0101001000000010', '1011111000100010', '1001100101010000', '0100110100011000', '1100101101100000', '0001111010111001', '1101101011111011', '1110010100001010', '0110111110100000', '0111011111010010', '1010100111001110', '0110100000001001', '0100111100000100', '0110011011110111', '1110101100000101', '1110001111000011', '0001100110011110', '0101001001111011', '0110111010001111', '0100000100111101', '1100111000010010', '0101110010110011', '1110000100101000', '0111101001010110', '1101001111100101', '0111100010111101', '0100010100101111', '1001110011100011', '1101100101000110', '1101111111110000', '1011101111011000', '1010011010100001', '0010010110101011', '0110000001000111', '0110101000010101', '0011010110100111', '1011011101110101', '0111110111111001', '1010100001101001', '1000000101101101', '0100101101011001', '0011010000110000', '1000010000101111', '0001000110011111', '1101011101001111', '0000011100100101', '0111110110110000', '1110100000110110', '0111110110000000', '0000110110110000', '1110101101111100', '1110100101010110', '1101010110010100', '1000001100111110', '0000011110011011', '0100111011011100', '1000001110000000', '1100001101010111', '1100111111001010', '1110010110000010', '0111000100101011', '0100100000100011', '1010000011100110', '0110111000110111', '1110000101010111', '1100110010000000', '1110001010010011', '0000010001101111', '0001100011111000', '1011111010101100', '1011111001101011', '0000111010110101', '0001101100111100', '0001111000110001', '0011110000110111', '0001001111111010', '1100101010111000', '0010000001010111', '1110110000100010', '1011101110100001', '0111110000010111', '0100110110010110', '0000110101000001', '0101000111110110', '0101101111011011', '0100010110100001', '0010011010011110', '0111010010011000', '0011010100011111', '0100011010100010', '0011100111001101', '1001010111111011', '0111010100111001', '0110100001000000', '0101010111010010', '0000000001001011', '0101100001010110', '0011110000000001', '0111110010011111', '1100001011000000', '0001101100001010', '1011100110001101', '1100011110000100', '1011110111010110', '0100110001111110', '1101101001110101', '1011100100110011', '1000001000100111', '1110001110001010', '1100011001011010', '0111011001000011', '1000010011011000', '0011100100001010', '0000011100010101', '1111100010000010', '0011011110111101', '1000111011110101', '1011100000011100', '0000110010101001', '0100101100010000', '1001010011100010', '0001001101110100', '0010001101100010', '1101111101001110', '1101110100101011', '1001001111000101', '0101101111011101', '1100001000110111', '1011011110000010', '1001000000000111', '1111010000101001', '1000000001000100', '1010011101001111', '0101000110001001', '0111011110101101', '1110011010110111', '1111010010100001', '1010101000111010', '1101101111010010', '0101100001100110', '0110100101011111', '1110010000100101', '0010000011011111', '1001010001101010', '0000111101101011', '1010100000010110', '0000110000010001', '1010100100001111', '0000010111001000', '1101001111010011', '1111111000000100', '1111011011000010', '0011001010110000', '1000100100010101', '0101000000101000', '1000100010000010', '1011001111101001', '1110110100111011', '0010011111001000', '0001110000101101', '1111011000000011', '0010101000110011', '1001100000110110', '1010111110111001', '1111001001101110', '0101100011101110', '0101000001010001', '0000110000010111', '1101011111000111', '1110000110100110', '1110001010010101', '0110111010111001', '0010011101000110', '0100011011101011', '0101000111110000', '0100010111101000', '1001101011101011', '0011110011110110', '1110100100011001', '1011110101011000', '0001001011100011', '1011101011000001', '1100110110101001', '0100100000010101', '1000111001111011', '1011001101100111', '0001110001010100', '0111010110000001', '0110010110111011', '0001100000001111', '1100101010001000', '1000100000111010', '0110110100110100', '1001011101101111', '1101111101111000', '0011000011100011', '0011100000010101', '0100110001001110', '0100011101111010', '1010101001000101', '1010000111001001', '0011001001110001', '0001100101011001', '0000000011000011', '1000011110100010', '1110011111010111', '0111111011111100', '0000001010100000', '1100111000100010', '1101010101100011', '1100101011000111', '1000011001001010', '1011110000111110', '1000100011111101', '1011000000011101', '0001011011000001', '0001010101111100', '0011011111000100', '0100111000011011', '0111000111101010', '0001001010011010', '0001010100000011', '1010010111011101', '0111011101101010', '0011011011101011', '1011100111000010', '1101110001001011', '1110001011011100', '1011101000000110', '1101011110001110', '1011101010001000', '1100011111001011', '1001100000000110', '0110010101111100', '0110100111100001', '1111000110011010', '0001101000010011', '1111000000001011', '1010011100000000', '0111000101010010', '1100001011110110', '0110000100100001', '0101000111000000', '0100111101001011', '1101110110010011', '1011000010100101', '1000101001101111', '1101110110100011', '1101001000111101', '1110000010001111', '1000101111001000', '0010011111111000', '0011000001011011', '0111100011000010', '1010101010000100', '1011100100000101', '0001101011010100', '1011111101110100', '0011011001010101', '0100010101100110', '1011001100011110', '0000110001011110', '0110101001011010', '1001000110010000', '1000001000010111', '1110100011000001', '1111100011001011', '0101001010111100', '0010110111100011', '0101010011001011', '1001001100000010', '0001111100011000', '0110001100001101', '1101101101011010', '0000010000100110', '1011011111111011', '0011000011010011', '0010100111110111', '0110100100100110', '1000111110010011', '0001110100110010', '1011011001011010', '1011110001110111', '0111010101000000', '0010001001001101', '0101001100101101', '1010011010010111', '1100100100110101', '1001001001100100', '1010000011010000', '0111101111110111', '1001101000101100', '0010111100111110', '0111110110000110', '0100110000000001', '1001111001110111', '1010000100001000', '1011010100010110', '0011101010110111', '0101001111101010', '1100111000100100', '0001010011011101', '1001101111110100', '0100011000011100', '1000010001100000', '1111110010010000', '0110100111100111', '1111101100001111', '0011011001100101', '0111100100011010', '1010001000001101', '1111101101110110', '1100001111101001', '1001110110000101', '0011101111010111', '1100100001010101', '1001001100000100', '1101110111011100', '1000111010001100', '0110011101100110', '1001110000100010', '1110001101111101', '1110100010111000', '0011101110011000', '0111100010111011', '0001010110001101', '1111001111111001', '1111001100001110', '1000001000010001', '1001001111000011', '1000011000110101', '1010110011110011', '1000011001111100', '1111011111011101', '0011000111111010', '0100100100111100', '0011010011000001', '0100101110011000', '0101100010010001', '0100100110000100', '0011110001111110', '0010100001010110', '0010010001110101', '0011001011111111', '0001100000111111', '0001110111000011', '0001101110110010', '0111001011101001', '0111111001000010', '0100010010001000', '0001011000000000', '1111110100110001', '0011100110000010', '1001101100000101', '1100001100101110', '0011100101000011', '1100101011110111', '1100111010011010', '1000100011001101', '1011001010001001', '0110100011111110', '0011100100111100', '1100111001101101', '1101101011001011', '0111101001100110', '1000001010011001', '1101101000111100', '1001001101111011', '0000111011001010', '0101000110111001', '0101100110111000', '0101010010110100', '0000111110011010', '1110010011100010', '0110000111100110', '1100011110110010', '1110011100010000', '1111001101110001', '0111100011110100', '1010111000101110', '1011000100000100', '1110000100101110', '0011101110101000', '1110000011110000', '0000000101100100', '0000100010001011', '1000001000100001', '1000000100010100', '1001110000010100', '0001011110100111', '0110010111000100', '1111100110011011', '0101000100110111', '0011100101110101', '0100100011010100', '1100000100000100', '0000000111101100', '1111001010101001', '1010111110111111', '1100100111110010', '0011000101000100', '1111111100101101', '1000100101011100', '0000110110000110', '0011110001111000', '0011011100000011', '1111110010100000', '1111011001001100', '1111011110100010', '1001010010011101', '1000011100101010', '0110100110101110', '1000011101010101', '0001101100111010', '0001011110100001', '1001001111110101', '1111010011011000', '1011110000111000', '1111011000000101', '1111011101100101', '0000110100111110', '1101001011111100', '1001000010001001', '0011001000111000', '0011100000100011', '1111100011001101', '1001110101000010', '1011111100001011', '1010001011001010', '0101100000011111', '0100011001100011', '1111010100110110', '1010001101101101', '1100000100000010', '1001010100001100', '0111000000110010', '1111111101010010', '0000000100011101', '0010011011010111', '0100111011011010', '1011101100011111', '0010111101110111', '1110111010110110', '0010100101001001', '0101000010100110', '0110111110010000', '0011011110001101', '0011000111001100', '1111011010001101', '0000011000001100', '0100101111100001', '0111011011111011', '1001000111011001', '1100010011111000', '0111001011101111', '1000010000101001', '1111100100100011', '1001110010011010', '1011101001111111', '0000110111001111', '1011001011000110', '1000001101110001', '1010101001110101', '1000101100001001', '0000110011010110', '1110010010101011', '0010010011111011', '1010101100010101', '0011010011110001', '1010110100011101', '1001001000101011', '1111010110111110', '0110011110100111', '0100000101110100', '1001101110111011', '1111101101000110', '0101101100101100', '1000100001110011', '0000100000110011', '0100100101110011', '1000000101011011', '0111001001100001', '0110010110001101', '0010001011110011', '1111111001111101', '0110111111101111', '0001101111111011', '1110010111111011', '1010010110100010', '0111001010010110', '1110101101001010', '0010101011000100', '0111101011101110', '0110100010110001', '1101111001100001', '1100010111010111', '0111101100000000', '1001101101001100', '0011010100101001', '1111101000010110', '1000101011010111', '1010011010100111', '0000111000001011', '0011101110011110', '1010000101000111', '1010101010110100', '1100110100010111', '0000011111010010', '1100000110111010', '0011011101111010', '0100111110111010', '0100101100010110', '0101110000111011', '1010110110100011', '0000001101111000', '0100100111111011', '0001101000100011', '0010000111110000', '1000100101101010', '0000001110001001', '1010101111010100', '0000010010011000', '0100111010010011', '0001001000100100', '1101001001000010', '1010011111110111', '1101111100000111', '1010011011011000', '0010000001100001', '0010011011010001', '1001111111010000', '0010001111011010', '1001100111011110', '0000101001010000', '1001000011000110', '1001110011100101', '0110011101010000', '1011011011010100', '0011101110101110', '1000000110011010', '1000111000000100', '0111010010011110', '0001010011101011', '1000110001100111', '0110001100111011', '1000100111010010', '1101011101111001', '0111010000010110', '0100100010011101', '1101010100101100', '0010100111110001', '0100101010000111', '1111100101011010', '0001101011100100', '1110011001000000', '1010000000100001', '0101010111100010', '0110100001110000', '1000000111100101', '0110110110001010', '0110101000100101', '0101111001011000', '1010010111101101', '0110011100011001', '0011110100011000', '1101111101111110', '1101001110101010', '1101010110010010', '0001111101100001', '0001111110010110', '0000010110110001', '0100100111001011', '1001111001000001', '0010110011001100', '0011101100010110', '0001000101011110', '1110011100100000', '1011010011001000', '0010101001111100', '1010111000011110', '1011110110011001', '0111001011011001', '1101010100011100', '1011110100100111', '0010001000110100', '1100100110111101', '1011001001111000', '1010000011010110', '1100001000000001', '0110000100010001', '1010001000001011', '1100011110110100', '1101110000000100', '1111000011111010', '0010000100110111', '0010100010010111', '1100000000101011', '1001001101111101', '0101001100101011', '1100111001011011', '1000110000101110', '1101010000000101', '1011011110110100', '0111101011011000', '1001011100100110', '1001100110100111', '1000100000001100', '1010000100111110', '0001111110100110', '1110111110101111', '0101111000010111', '1100100000011010', '1100010001110000', '1110010011010100', '1110111101101110', '1101010000110101', '0111101111110001', '1110100010001000', '1000100011111011', '1110010100111100', '1100111011100101', '1110110000100100', '0011011001100011', '1101101100100101', '1010011100110000', '1000010001100110', '0110110111000101', '1111110000011110', '0001100010000111', '1010010010001101', '1011011011100100', '1011010101101001', '1011011000010011', '0101000100110001', '0000011111100100', '1001100100011001', '0010011100111001', '1111001101000001', '0111011000111100', '0001101010101101', '1010101110011101', '0011010001111111', '0110010111000010', '0010100010100001', '1001100001001001', '1001010110000100', '0101111110110000', '1010100110000111', '1111000010000101', '0010110100010100', '1000001100001110', '0110010011011101', '1011110101101110', '1010101101101010', '0110100111010001', '1010101100010011', '0000010100001111', '1100000111000101', '1100010111100001', '0101001100011011', '1111011100101010', '1001010001101100', '0110011100101111', '0100001110101001', '1010011001100110', '1110100111011110', '1000110011011001', '1110100001001111', '0110110011011100', '1111011111101011', '0010011001101111', '0001110100000100', '0000011010110100', '0010000011101111', '0111101101111111', '0001001111111100', '1000011111101011', '1111100100010011', '0100101111010001', '1001010101110011', '0011110011000110', '1010010000000011', '0110011001001001', '0110101011010010', '1001011111100001', '1010110000000100', '0111000100011101', '1010000101000001', '1000101100111111', '1100011010101011', '1101010010001011', '0011110110010000', '1100011101000011', '1011111110000101', '0011001100010001', '1011001100011000', '1001001100110100', '0001001000100010', '1111011011110100', '1010001101101011', '0101001110100011', '0111111111100101', '1110111101101000', '1000100110011011', '1011001000000111', '1111001110000000', '1110000001111110', '1010111101001110', '0110110001010010', '1111010111000001', '0100110101010111', '1000001101110111', '0001101001011100', '1110011011001110', '0110110100000100', '1011011011010010', '0110001111111010', '0010101000000101', '0111100100101100', '1110011010000111', '1001111011001001', '1010010101010101', '0111101111000111', '0011110000000111', '1100100000101010', '0010011010011000', '0000110111001001', '0011010000110110', '1101111110111111', '0111110010101111', '0010000101001110', '1100100101111010', '1000011100011100', '1110101000101100', '0010101011110010', '0001010111000010', '1100010010000111', '0011000000100100', '1110111100010001', '0111110001011000', '0110110111110101', '1100010001000110', '1001111001110001', '0111110100111000', '0100011100110011', '1000110011011111', '1110000100011110', '1100101011110001', '1011000001010100', '1111110001100111', '0101111100111000', '0110000010000000', '0011110100011110', '0011011101001100', '1000001111111001', '1110010101110101', '0001001011010101', '1111011100011010', '1010110011000011', '0111011101011010', '1111001001101000', '1011011100111100', '0000011111010100', '1100101100101001', '0001010110001011', '1000111010001010', '1001111000111110', '1001101110111101', '1111111111011100', '1111101011010001', '1010011110111110', '0001011001111111', '0101111010011111', '1001001101001101', '1000001001101000', '1110010111001011', '0101101010001011', '1011101101010110', '0001111010111111', '0110011100011111', '0101010101101010', '0100000110110101', '1101011101111111', '1111000111010101', '1110010111111101', '0011010101100000', '0111110000100001', '1101001100010100', '0110011101010110', '1001010000010011', '1111101101110000', '1010100100111111', '1000111100011101', '0111100001111100', '1011010001110000', '1001110001011101', '0110001101110010', '1100001000110001', '1100001111101111', '0011111111110101', '0101100000101001', '1001111111100110', '0101000011011111', '0011001101101110', '0010110010110011', '0001100100010000', '1110111101011110', '1000011001001100', '0010110111010101', '0100010010111110', '0101110111010101', '0100010001001001', '1010101110101101', '1101011001100110', '0001011000110000', '0110001110110101', '0101111110110110', '1100101111101110', '0000111011111100', '0111001110111001', '0001001001101011', '1111110011011111', '0011100010101101', '0000111100010010', '1011101000110110', '1011000111110101', '0001110110111010', '1000100001000011', '0100011011101101', '0100101010000001', '0010011110110111', '1101010110100100', '1100001011110000', '0111110111001001', '1001011001110000', '1000101011010001', '0111110110110110', '0011001110101111', '1111110110111001', '0100110100101000', '1001011111010111', '0011100110110010', '1100110001110001', '1010001101011101', '0111000001111011', '0110110101001011', '0101111011010110', '0101000111000110', '0101110101011011', '0010100100000110', '1101100111001110', '0111101000011001', '1110010101000011', '1010111001100001', '1111110011101111', '0010100010100111', '0100010100101001', '0101001011000101', '1000000001110100', '0101001011110101', '0011011011011011', '1000110010100000', '0001000010000000', '0000101100110000', '0101111010101001', '1111111110010011', '0000000000000100', '1111110100000111', '0101010011111011', '0111001001010111', '0011111000101011', '1111101000010000', '0111100101100011', '0010011001011111', '0100001001000001', '0011011011101101', '0100001000001000', '1101010101010101', '1101100110000001', '0001011001111001', '1101101000111010', '1001001110111010', '0110000110011111', '0111000010111010', '0001011100011111', '1010001001110100', '1000000000111101', '0001010110111101', '0110010100000101', '1010011000101111', '0101111011100000', '1111111111101010', '0001100110101000', '0101000010010110', '1001100110010111', '0000101101001111', '0001000000001110', '1110001110001100', '0111111100100010', '0101100101111001', '0000000101010100', '0010100010010001', '0101111000100111', '1100000001100010', '0010010111010100', '1111001100001000', '0101110010000011', '0000011011001011', '1101010110100010', '0011111100000100', '0111110000010001', '0000101101111111', '1100101000110000', '0011110101100111', '1000110101111110', '0110110010010101', '0010011110000001', '0100000000100010', '0001111001111110', '0011000010011100', '1110110011010011', '0111000111011010', '1110100100101001', '1011111100111011', '1111111000000010', '1001111100100111', '0001010010010010', '1111101001101001', '1110100010111110', '0001011011000111', '0001110010010011', '0011111100110100', '1111110000101000', '1111111011110101', '1101011111110001', '0011111101001101', '0111010001101111', '1011001011110110', '1101001101101101', '1101101101011100', '1110111010000000', '0101110010110101', '0100000101110010', '1111101010011110', '1000100010110010', '0010100011011000', '1101101111100010', '0111101101001111', '0100100010011011', '1011010001110110', '0000001111110000', '0111000000000010', '1011110010000000', '0111101110001110', '1010001001000100', '1110111111100110', '1110011100010110', '0100010011110111', '0111100001111010', '1101011010100001', '1001010011100100', '1110011110011110', '0110010000011100', '1011100001010101', '1100000001100100', '0010110000001011', '0000100011110100', '0101111111111001', '0111111000001101', '1111111101010100', '0111010100111111', '1000101111001110', '0010111101000111', '1111101001011001', '0011000000100010', '1101001010000101', '0110111100101110', '1110011011001000', '0011111000101101', '1110011000111001', '0100101111010111', '0000011000111010', '0100000011010011', '1100000100110100', '1110110000010010', '1000111101010100', '1100010100100000', '1000000011001100', '0111111011111010', '1100100101111100', '0110001010101010', '1010101010110010', '0011100111001011', '0000011010000010', '0011010101100110', '1110101011101011', '0100110101010001', '0101001111011010', '1110010011010010', '1110011010110001', '1101000101110111', '0011010101010000', '0001011100101001', '1001001010100011', '0110000100100111', '1011001000110111', '1010001011001100', '1011001110100110', '1010100110110001', '0111100010001101', '0101100010010111', '0010000101001000', '1110000111101001', '0000100110010010', '1111010101001111', '0000100101100101', '0111111100010100', '0110110111000011', '1010101100100101', '1110101100000011', '0000001100110001', '0100010010111000', '0111001010010000', '0100111111000011', '0101011000010000', '1111101111001000', '0111110100111110', '0010100001010000', '0101000010100000', '1010000110110000', '0001110111110011', '1101101110011101', '0011111110001010', '1011001110010110', '0101011101110000', '0111001100110111', '0000101010100111', '0111111111100011', '0101011001101111', '0100001011111001', '0001010001100011', '0010001010111010', '1101010101100101', '0100100000100101', '0010100110001000', '0111101101001001', '1101010010111011', '1011010001000000', '0101000011101111', '1010011001010000', '1001101011101101', '1010111011011001', '1110101101111010', '1000111101010010', '1010110000110010', '1111100110011101', '1011000110111100', '1111100101011100', '1111011110010010', '0011111000011011', '0110001110000101', '0100110110010000', '1011100010010010', '1001100011110111', '1110001111110011', '1011101111101000', '0101101010001101', '0110100001110110', '1100010000111111', '1101111011101001', '0110011000000110', '0101101101010101', '0011100010011101', '0001001001101101', '0000101011011000', '1111101100001001', '0101000100000001', '0001010100000101', '1011100101001010', '0011111101001011', '0001100101101001', '0010100101001111', '1011111000010010', '0111110011100000', '1100111101110100', '0100110110100110', '0011001111100000', '1111011011000100', '0010111111111001', '0101110101011101', '1110110110110101', '1001011001110110', '1101011100110000', '0011010110100001', '1100110101101000', '1101100110110111', '1001100001001111', '0110011011110001', '1000010101111001', '1011010110011000', '1110110010101100', '0100010001001111', '0100000110000101', '0011101111100111', '0000000110100101', '1001110101110010', '0000001111110110', '1101100110110001', '0101110001110100', '0111111101101011', '0001110011101010', '0010110001110010', '0010110110011010', '0010010111010010', '0000100111101101', '1001110101110100', '0011001010000110', '0011010001001111', '1101111111110110', '0001010001010101', '1100100101001100', '0111100011000100', '0110011010111000', '0000010000010110', '1011001100101000', '0111010101110000', '0001000111010110', '1111100011111101', '0000000101010010', '1100010101011111', '0000100001111100', '0000110010101111', '1011101100011001', '0101001000110010', '1110001101001011', '0111010000100110', '1110001011101010', '0111011000001010', '1100000100110010', '1010011110001110', '0110100100010110', '0001011100101111', '0000000000110010', '0111110010101001', '0110010010010010', '0100000010101010', '0100101011001000', '1100001010001001', '0011110101010111', '0000101001010110', '1110100000000110', '0110001000100100', '1000010100000000', '0000011001110011', '1110110000010100', '0000010001101001', '0011000100001101', '0000101111110111', '0000100101100011', '0001101110110100', '0100100011010010', '0110011011000001', '1111111110100101', '1011011000100011', '1011011111111101', '1111011110010100', '0110000100010111', '0100000110000011', '0010111110110000', '1111010011101110', '0100011011011101', '0101000110111111', '1000111110100101', '0011100011100010', '0111111110101100', '0010000110111001', '1010111101111110', '0010111011010000', '1110001110111100', '1101010111101101', '1010100101110000', '1101101111100100', '0110000001110001', '0010000010010000', '0001110001010010', '0001001110110011', '0011101010110001', '0111010111111110', '0101100001100000', '1011000010010011', '1010101110101011', '0001100111100001', '1011100010100010', '1011111101000010', '0110111110010110', '1011110111100000', '1100100110001101', '1010101011111101', '1101100000100110', '0000010110000111', '0111010100001111', '1100100010010100', '0111100000110101', '1011011110000100', '0010101100011100', '0101110011111010', '1101100111111110', '0010110000111101', '0000101110001000', '0000100111011101', '1000001100111000', '0101101111101101', '0001010001100101', '1110011011111000', '0011110110100000', '1101100100001001', '0111111110011100', '0001111001111000', '1111100000111100', '0011010010111110', '1100011101110101', '0101101011000100', '1101011101001001', '1011111111001010', '1010010011000010', '0110000111010000', '1101000000100111', '1000010000011001', '0000111011111010', '1111010010010111', '1100011000010011', '1100101101010110', '0011110000110001', '0101101100011010', '0101100101001111', '0011101101101111', '1001000110100110', '1011010110011110', '1001010010011011', '0010001000000010', '1001010011010100', '0101101100101010', '1101001010110011', '1011010111010111', '1110000110010000', '0010010001000011', '0100100010101011', '1011000011011010', '0101010100010011', '0110010100110011', '0110110101111101', '0101110111010011', '1010100000100000', '1101000011010110', '0100100111111101', '1001010111111101', '0011000110110011', '0111111010000011', '0101001110010011', '0000000100101011', '0100111101111101', '1001111100010001', '1100001010111111', '1000111100011011', '1111001111111111', '1001100010001110', '1001000100011110', '1010010110010100', '0100011000101010', '0010000000011000', '0111000010001100', '0000100000000101', '1111100111100100', '0000110000100111', '1001000110010110', '0010010101101100', '1011000011011100', '0110110011101010', '1000001010101111', '1011000001100010', '1101000110110110', '0010000100000111', '0011001111010110', '1110010000010101', '0001000000111000', '0110011100101001', '1000100011001011', '0010101101010011', '1101011010100111', '0001110011101100', '1010010100011010', '0000110110000000', '0100110011000000', '1101001110101100', '0101010111010100', '0111011110011101', '0100100010101101', '0011110110100110', '0000010100111111', '1100110101011110', '1010000010011111', '0110110000101011', '0101001101100010', '0010001111101010', '1000101110000111', '0011101000001111', '0010111101000001', '0111100111101011', '0110111111101001', '0010111101110001', '1001000010001111', '0000101000011001', '0110100011111000', '1010010001001010', '1010000010101001', '1001001100110010', '1101111010100110', '1011000101111101', '1110111110011001', '1010110011000101', '1010000000010001', '0110011010111110', '0000000111101010', '0011000110000101', '1010001011111010', '0101111101110111', '1000011010001101', '0100010100011001', '0111010101000110', '1101100001101111', '0100010101010000', '0111100110010010', '0101110110101100', '0010111000100111', '0000100001001100', '1001011011111000', '0001111000000001', '1011100101001100', '0101101000110101', '0100010110010111', '0001011000000110', '0001001010101100', '1110011100100110', '0011110100101000', '1001001011011100', '1001001010010011', '0101100100110110', '1001011000001001', '1000111011000011', '1101001111010101', '0000111010000011', '0000101100000000', '0001010000101010', '1111111100011101', '1000110101001000', '0111000101010100', '0110000010110000', '0000110010011111', '1001100110010001', '1101110010111010', '1001110011010011', '0010000000011110', '1010001010110101', '1101011110111000', '1110111110011111', '1000110010100110', '0010111000010111', '0001001100001011', '0010101010001011', '0110111101100111', '1100110100100001', '0110001010101100', '0111011011001011', '0011100100111010', '1111101100111111', '1110000001001110', '1010011111000111', '1100110010000110', '1100000011011010', '0111000110010011', '1010100010011000', '0111100111101101', '0011011101111100', '0100111010100101', '1101011000011111', '0011110011000000', '0111001110111111', '1001000000110001', '1001100000110000', '0101101010111011', '1000010010010001', '1010010100011100', '0001010001010011', '1000010011011110', '1110000101100111', '1111001011010110', '1111001011100000', '0010100001100110', '1001111101011110', '0010101111011011', '1010100010101110', '1100111010011100', '0001001000010100', '0111010111001110', '0110110001100010', '1101110111011010', '1011001111011111', '1110110100001011', '1011011000010101', '1010110101100100', '0101010001000011', '1100001001111000', '0011101000001001', '1101100001011111', '1000011110100100', '1101111010010000', '0100110010001001', '1111010100000000', '0111111011001010'] |
分析
这里的是vecs随机选取的50个字符串拼接而成,位数大概是800位。再随机生成800位的,并与异或后返回奇偶性,也就是在GF(2)的有限域下求与的点积,重复600次,于是我们得到了600个方程,但是是800位的,余下200位空间是未知的。
接下来我们来研究这个vecs,首先我们能知道vecs的构成是4096个16bit的01字符串。
1 | M=[[int(c) for c in str]for str in vecs] |
于是我们可以知道vecs组成的向量空间的维度是13,此时我们可以知道,我们任取13个就可以张成vecs空间,也就是,而是随机抽取50个,于是现在我们只需要13\*50=650个方程就可以求出,不过可惜的是我们只有600个方程,那么也就是说理想情况下的vecs张成空间的维度应该是12维,这样才能保证我们能求出。
接下来就是这道题目神奇的地方了,这里的vecs张成的空间是一个12维空间的仿射子空间,表示形式可以理解成
这里就是原空间,是一个平移向量,这里我们把行看作基。
下面我们先找出平移向量,先试试vecs内的向量。
1 | M=[[int(c) for c in str] for str in vecs] |
于是我们知道出题人就是在一个12维的空间下进行仿射变换到16维空间并且在得到的结果后面都加上了。
1 | M=matrix(GF(2),[[int(i) for i in vec] for vec in vecs]) |
接下来我们可以把也映射到这个子空间上也就是这里的是把对角线拼接成一个的大矩阵,是将50个拼接的大向量。则
总的代码如下
1 | from Crypto.Cipher import AES |
