ez_math

题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from sage.all import *
from Crypto.Util.number import *
flag = b'LILCTF{test_flag}'[7:-1]
lambda1 = bytes_to_long(flag[:len(flag)//2])
lambda2 = bytes_to_long(flag[len(flag)//2:])
p = getPrime(512)
def mul(vector, c):
return [vector[0]*c, vector[1]*c]
v1 = [getPrime(128), getPrime(128)]
v2 = [getPrime(128), getPrime(128)]
A = matrix(GF(p), [v1, v2])
B = matrix(GF(p), [mul(v1,lambda1), mul(v2,lambda2)])
C = A.inverse() * B
print(f'p = {p}')
print(f'C = {str(C).replace(" ", ",").replace("\n", ",").replace("[,", "[")}')
# p = 9620154777088870694266521670168986508003314866222315790126552504304846236696183733266828489404860276326158191906907396234236947215466295418632056113826161
# C = [7062910478232783138765983170626687981202937184255408287607971780139482616525215270216675887321965798418829038273232695370210503086491228434856538620699645,7096268905956462643320137667780334763649635657732499491108171622164208662688609295607684620630301031789132814209784948222802930089030287484015336757787801],[7341430053606172329602911405905754386729224669425325419124733847060694853483825396200841609125574923525535532184467150746385826443392039086079562905059808,2557244298856087555500538499542298526800377681966907502518580724165363620170968463050152602083665991230143669519866828587671059318627542153367879596260872]

分析

由题目分析可得

Λ=(λ100λ2)\Lambda = \begin{pmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \\ \end{pmatrix}

则有B=ΛAB=\Lambda \cdot A,又C=A1B=A1ΛAC=A^{-1} \cdot B=A^{-1}\cdot \Lambda \cdot A,也就是说CΛC \sim \Lambda。所以我们只需要得到CC的特征多项式f(λ)f(\lambda)求出λ\lambda

1
2
3
4
5
6
7
8
9
10
11
12
from Crypto.Util.number import *
p = 9620154777088870694266521670168986508003314866222315790126552504304846236696183733266828489404860276326158191906907396234236947215466295418632056113826161
C=[[7062910478232783138765983170626687981202937184255408287607971780139482616525215270216675887321965798418829038273232695370210503086491228434856538620699645, 7096268905956462643320137667780334763649635657732499491108171622164208662688609295607684620630301031789132814209784948222802930089030287484015336757787801], [7341430053606172329602911405905754386729224669425325419124733847060694853483825396200841609125574923525535532184467150746385826443392039086079562905059808,
2557244298856087555500538499542298526800377681966907502518580724165363620170968463050152602083665991230143669519866828587671059318627542153367879596260872]
]
P = GF(p)
C = Matrix(P, C)
m = [ZZ(int(r)) for r in C.charpoly().roots(multiplicities=False)]
print(long_to_bytes(lams[0]))
print(long_to_bytes(lams[1]))
#b'It_w4s_the_be5t_of_times_'
#b'1t_wa5_the_w0rst_of_t1me5'

这里的charpoly函数可以直接返回矩阵的特征多项式。

mid_math

题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from sage.all import *
from Crypto.Util.number import *
from tqdm import tqdm
from random import randint
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
flag = b'LILCTF{test_flag}'
p = getPrime(64)
P = GF(p)
key = randint(2**62, p)
def mul(vector, c):
return [vector[0]*c, vector[1]*c, vector[2]*c, vector[3]*c, vector[4]*c]
v1 = [getPrime(64), getPrime(64), getPrime(64), getPrime(64), getPrime(64)]
v2 = [getPrime(64), getPrime(64), getPrime(64), getPrime(64), getPrime(64)]
v3 = [getPrime(64), getPrime(64), getPrime(64), getPrime(64), getPrime(64)]
v4 = [getPrime(64), getPrime(64), getPrime(64), getPrime(64), getPrime(64)]
v5 = [getPrime(64), getPrime(64), getPrime(64), getPrime(64), getPrime(64)]
a, b, c, d, e = getPrime(64), getPrime(64), getPrime(64), getPrime(64), 0
A = matrix(P, [v1, v2, v3, v4, v5])
B = matrix(P, [mul(v1,a), mul(v2,b), mul(v3, c), mul(v4, d), mul(v5, e)])
C = A.inverse() * B
D = C**key
key = pad(long_to_bytes(key), 16)
aes = AES.new(key,AES.MODE_ECB)
msg = aes.encrypt(pad(flag, 64))
print(f"p = {p}")
print(f'C = {[i for i in C]}'.replace('(', '[').replace(')', ']'))
print(f'D = {[i for i in D]}'.replace('(', '[').replace(')', ']'))
print(f"msg = {msg}")
#p=14668080038311483271
#C=[[11315841881544731102, 2283439871732792326, 6800685968958241983, 6426158106328779372, 9681186993951502212], [4729583429936371197, 9934441408437898498, 12454838789798706101, 1137624354220162514, 8961427323294527914], [12212265161975165517, 8264257544674837561, 10531819068765930248, 4088354401871232602, 14653951889442072670], [6045978019175462652, 11202714988272207073, 13562937263226951112, 6648446245634067896, 13902820281072641413], [1046075193917103481, 3617988773170202613, 3590111338369894405, 2646640112163975771, 5966864698750134707]]
#D=[[1785348659555163021, 3612773974290420260, 8587341808081935796, 4393730037042586815, 10490463205723658044], [10457678631610076741, 1645527195687648140, 13013316081830726847, 12925223531522879912, 5478687620744215372], [9878636900393157276, 13274969755872629366, 3231582918568068174, 7045188483430589163, 5126509884591016427], [4914941908205759200, 7480989013464904670, 5860406622199128154, 8016615177615097542, 13266674393818320551], [3005316032591310201, 6624508725257625760, 7972954954270186094, 5331046349070112118, 6127026494304272395]]
#msg=b"\xcc]B:\xe8\xbc\x91\xe2\x93\xaa\x88\x17\xc4\xe5\x97\x87@\x0fd\xb5p\x81\x1e\x98,Z\xe1n`\xaf\xe0%:\xb7\x8aD\x03\xd2Wu5\xcd\xc4#m'\xa7\xa4\x80\x0b\xf7\xda8\x1b\x82k#\xc1gP\xbd/\xb5j"

分析

同上一题

Λ=(abcde)\Lambda = \begin{pmatrix} a & & & & \\ & b & & & \\ & & c & & \\ & & & d & \\ & & & & e \end{pmatrix}

这里有B=ΛAB=\Lambda \cdot AC=A1ΛAC=A^{-1} \cdot \Lambda \cdot A

D=Ckey=(A1ΛA)key=A1ΛA  A1ΛAA1ΛA=A1ΛkeyA=(akeybkeyckeydkeyekey)D = C^{\text{key}} = (A^{-1} \Lambda A)^{\text{key}} = A^{-1} \Lambda A \; A^{-1} \Lambda A \cdots A^{-1} \Lambda A = A^{-1} \Lambda^{\text{key}} A =\begin{pmatrix} a^{\text{key}} & & & & \\ & b^{\text{key}} & & & \\ & & c^{\text{key}} & & \\ & & & d^{\text{key}} & \\ & & & & e^{\text{key}} \end{pmatrix}

根据线性代数的知识,我们可以知道Λkey\Lambda^{\text{key}}Λ\Lambda具有相同的特征向量,而DD,CC分别与他们相似,所以我们知道CC,DD的特征向量是一样的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from Crypto.Util.number import *
p = 14668080038311483271
c_list = [[11315841881544731102, 2283439871732792326, 6800685968958241983, 6426158106328779372, 9681186993951502212], [4729583429936371197, 9934441408437898498, 12454838789798706101, 1137624354220162514, 8961427323294527914], [12212265161975165517, 8264257544674837561, 10531819068765930248, 4088354401871232602, 14653951889442072670], [6045978019175462652, 11202714988272207073, 13562937263226951112, 6648446245634067896, 13902820281072641413], [1046075193917103481, 3617988773170202613, 3590111338369894405, 2646640112163975771, 5966864698750134707]]
d_list = [[1785348659555163021, 3612773974290420260, 8587341808081935796, 4393730037042586815, 10490463205723658044], [10457678631610076741, 1645527195687648140, 13013316081830726847, 12925223531522879912, 5478687620744215372], [9878636900393157276, 13274969755872629366, 3231582918568068174, 7045188483430589163, 5126509884591016427], [4914941908205759200, 7480989013464904670, 5860406622199128154, 8016615177615097542, 13266674393818320551], [3005316032591310201, 6624508725257625760, 7972954954270186094, 5331046349070112118, 6127026494304272395]]
P=GF(p)
C=matrix(P,c_list)
D=matrix(P,d_list)
m = [ZZ(int(r)) for r in C.charpoly().roots(multiplicities=False)]
res=C.eigenvectors_right()
v_list=res[1][1][0]
vec1=vector(P,v_list)
vec2=D*vec1
mu=vec2[1]*inverse(vec1[1],p)
lam=res[1][0]
x = discrete_log(mu, P(lam))
msg = b"\xcc]B:\xe8\xbc\x91\xe2\x93\xaa\x88\x17\xc4\xe5\x97\x87@\x0fd\xb5p\x81\x1e\x98,Z\xe1n`\xaf\xe0%:\xb7\x8aD\x03\xd2Wu5\xcd\xc4#m'\xa7\xa4\x80\x0b\xf7\xda8\x1b\x82k#\xc1gP\xbd/\xb5j"
key_bytes = pad(long_to_bytes(x), 16)
aes = AES.new(key_bytes, AES.MODE_ECB)
plaintext = unpad(aes.decrypt(msg), 64)
print(plaintext)
#b'LILCTF{Are_y0u_5till_4wake_que5t1on_m4ker!}'

Linear

题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
import random
import signal
signal.alarm(10)
flag = os.getenv("LILCTF_FLAG", "LILCTF{default}")
nrows = 16
ncols = 32
A = [[random.randint(1, 1919810) for _ in range(ncols)] for _ in range(nrows)]
x = [random.randint(1, 114514) for _ in range(ncols)]
b = [sum(A[i][j] * x[j] for j in range(ncols)) for i in range(nrows)]
print(A)
print(b)
xx = list(map(int, input("Enter your solution: ").strip().split()))
if xx != x:
print("Oh, your linear algebra needs to be practiced.")
else:
print("Bravo! Here is your flag:")
print(flag)

分析

这道题是交互题,本意就是解方程组A16×32x32×1=b16×1A_{16 \times 32} \cdot x_{32 \times 1} = b_{16 \times 1}。难点在于未知数个数大于方程个数了,所以直接调用sagemath的x = A.solve_right(b)函数是无效的,得到的xx后16位全是0。
正确思路是把矩阵乘的过程看成是背包的多子集和问题。构造格原理同文章,不过这里我做了一点改动就是把12\frac{1}{2}的部分都扩大两倍。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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]]
b_list=[1883445092391, 1624472160451, 1833387176538, 1958562351640, 1339281280480, 1959007134853, 1822825268507, 1849551581541, 1835612748758, 2138873768980, 1548542965455, 1766608319519, 1736598002886, 1871371855456, 1773467376539, 1819466899226]
M=matrix(ZZ,33,49)
for i in range(32):
M[i,i]=2
M[32,i]=1
M[i,32]=0
M[32,32]=1
k=2**32
for i in range(33,49):
for j in range(32):
M[j,i]=a_list[i-33][j]*k
M[32,i]=b_list[i-33]*k
L=M.LLL()
v=L[0]
v*=-1
x=[(y+1)//2 for y in v[:32]]

baaaaaag

题目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from Crypto.Util.number import *
import random
from Crypto.Cipher import AES
import hashlib
from Crypto.Util.Padding import pad
from secret import flag
p = random.getrandbits(72)
assert len(bin(p)[2:]) == 72
a = [getPrime(90) for _ in range(72)]
b = 0
t = p
for i in a:
temp = t % 2
b += temp * i
t = t >> 1
key = hashlib.sha256(str(p).encode()).digest()
cipher = AES.new(key, AES.MODE_ECB)
flag = pad(flag,16)
ciphertext = cipher.encrypt(flag)
print(f'a = {a}')
print(f'b = {b}')
print(f"ciphertext = {ciphertext}")
'''
a=[965032030645819473226880279, 699680391768891665598556373, 1022177754214744901247677527, 680767714574395595448529297, 1051144590442830830160656147, 1168660688736302219798380151, 796387349856554292443995049, 740579849809188939723024937, 940772121362440582976978071, 787438752754751885229607747, 1057710371763143522769262019, 792170184324681833710987771, 912844392679297386754386581, 906787506373115208506221831, 1073356067972226734803331711, 1230248891920689478236428803, 713426848479513005774497331, 979527247256538239116435051, 979496765566798546828265437, 836939515442243300252499479, 1185281999050646451167583269, 673490198827213717568519179, 776378201435505605316348517, 809920773352200236442451667, 1032450692535471534282750757, 1116346000400545215913754039, 1147788846283552769049123803, 994439464049503065517009393, 825645323767262265006257537, 1076742721724413264636318241, 731782018659142904179016783, 656162889354758353371699131, 1045520414263498704019552571, 1213714972395170583781976983, 949950729999198576080781001, 1150032993579134750099465519, 975992662970919388672800773, 1129148699796142943831843099, 898871798141537568624106939, 997718314505250470787513281, 631543452089232890507925619, 831335899173370929279633943, 1186748765521175593031174791, 884252194903912680865071301, 1016020417916761281986717467, 896205582917201847609656147, 959440423632738884107086307, 993368100536690520995612807, 702602277993849887546504851, 1102807438605649402749034481, 629539427333081638691538089, 887663258680338594196147387, 1001965883259152684661493409, 1043811683483962480162133633, 938713759383186904819771339, 1023699641268310599371568653, 784025822858960757703945309, 986182634512707587971047731, 1064739425741411525721437119, 1209428051066908071290286953, 667510673843333963641751177, 642828919542760339851273551, 1086628537309368288204342599, 1084848944960506663668298859, 667827295200373631038775959, 752634137348312783761723507, 707994297795744761368888949, 747998982630688589828284363, 710184791175333909291593189, 651183930154725716807946709, 724836607223400074343868079, 1118993538091590299721647899]
b=34962396275078207988771864327
ciphertext=b'Lo~G\xf46>\xd609\x8e\x8e\xf5\xf83\xb5\xf0\x8f\x9f6&\xea\x02\xfa\xb1_L\x85\x93\x93\xf7,`|\xc6\xbe\x05&\x85\x8bC\xcd\xe6?TV4q'
'''

分析

背包问题,难点在于pp是72位的,所以正常的LLL算法会失效,这边采用BKZ算法,构造格如下:

M=(2000a0k0200a1k0020a2k0002a71k1111bk)M = \begin{pmatrix} 2 & 0 & 0 & \cdots & 0 & a_0 k \\ 0 & 2 & 0 & \cdots & 0 & a_1 k \\ 0 & 0 & 2 & \cdots & 0 & a_2 k \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \cdots & 2 & a_{71} k \\ 1 & 1 & 1 & \cdots & 1 & b k \end{pmatrix}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import hashlib
a = [965032030645819473226880279, 699680391768891665598556373, 1022177754214744901247677527, 680767714574395595448529297, 1051144590442830830160656147, 1168660688736302219798380151, 796387349856554292443995049, 740579849809188939723024937, 940772121362440582976978071, 787438752754751885229607747, 1057710371763143522769262019, 792170184324681833710987771, 912844392679297386754386581, 906787506373115208506221831, 1073356067972226734803331711, 1230248891920689478236428803, 713426848479513005774497331, 979527247256538239116435051, 979496765566798546828265437, 836939515442243300252499479, 1185281999050646451167583269, 673490198827213717568519179, 776378201435505605316348517, 809920773352200236442451667, 1032450692535471534282750757, 1116346000400545215913754039, 1147788846283552769049123803, 994439464049503065517009393, 825645323767262265006257537, 1076742721724413264636318241, 731782018659142904179016783, 656162889354758353371699131, 1045520414263498704019552571, 1213714972395170583781976983, 949950729999198576080781001, 1150032993579134750099465519, 975992662970919388672800773, 1129148699796142943831843099, 898871798141537568624106939, 997718314505250470787513281, 631543452089232890507925619, 831335899173370929279633943, 1186748765521175593031174791, 884252194903912680865071301, 1016020417916761281986717467, 896205582917201847609656147, 959440423632738884107086307, 993368100536690520995612807, 702602277993849887546504851, 1102807438605649402749034481, 629539427333081638691538089, 887663258680338594196147387, 1001965883259152684661493409, 1043811683483962480162133633, 938713759383186904819771339, 1023699641268310599371568653, 784025822858960757703945309, 986182634512707587971047731, 1064739425741411525721437119, 1209428051066908071290286953, 667510673843333963641751177, 642828919542760339851273551, 1086628537309368288204342599, 1084848944960506663668298859, 667827295200373631038775959, 752634137348312783761723507, 707994297795744761368888949, 747998982630688589828284363, 710184791175333909291593189, 651183930154725716807946709, 724836607223400074343868079, 1118993538091590299721647899]
b = 34962396275078207988771864327
M=matrix(ZZ,73,73)
k=2**32
for i in range(72):
M[i,i]=2
M[i,72]=a[i]*k
M[72,i]=1
M[72,72]=b*k
L = M.BKZ(block_size=36)
v=list(L[0])[::-1]
p=0
for i in v:
if i==1:
p=2*p+1
else:
p=2*p
ciphertext = b'Lo~G\xf46>\xd609\x8e\x8e\xf5\xf83\xb5\xf0\x8f\x9f6&\xea\x02\xfa\xb1_L\x85\x93\x93\xf7,`|\xc6\xbe\x05&\x85\x8bC\xcd\xe6?TV4q'
key = hashlib.sha256(str(p).encode()).digest()
cipher = AES.new(key, AES.MODE_ECB)
raw_plain = cipher.decrypt(ciphertext)
plaintext = unpad(raw_plain, 16)
print(plaintext.decode())

这道题还有一个比较坑的情况是:bb的生成过程是a0p71+a71p0a_0 \cdot p_{71} +\cdots a_{71} \cdot p_0,所以我们得到的向量需要取反,然后再计算pp

Space Travel*

题目

task.py

1
2
3
4
5
6
7
8
9
10
11
12
13
from Crypto.Cipher import AES
from hashlib import md5
from params import vecs
from os import urandom

key = int("".join([vecs[int.from_bytes(urandom(2)) & 0xfff] for _ in range(50)]), 2)

print("🎁 :", [[nonce := int(urandom(50*2).hex(), 16), (bin(nonce & key).count("1")) % 2] for _ in range(600)])
print("🚩 :", AES.new(key=md5(str(key).encode()).digest(), nonce=b"Tiffany", mode=AES.MODE_CTR).encrypt(open("flag.txt", "rb").read()))
'''
🎁 : [[5703774554427470702243404280950951666588664293975504603319134164029424540449388387385619612290860273072081775354222590147369652536944482943983184422737484018808768047805094412992986676676295597969290124725293823523465814531802804421892995623, 1], [2814622618841573773825867620354915197065029987699510780387805191100004490593247994741784384342586696004233286324419371930279225926379133739392491248180218950611495058974677548378427583556996352993247260501351270777250221571185657327774257034, 0], [4172243616728396565700850538728740024212211665919229239887418719291818179540529517580731273692525445230790485746044379256203581032628735960725133227550445669639646296661342185573218246403108591074635991995860288702901708467205383265230769942, 1], [470574764052436139482629360315290605942760714675778504692390300948729588761545992450610465033199492501322288501567188831891949551382667716018068489618885600702520772034575746916925710904752928328118758934815317127917311564502959569026281832, 0], [5879679438903906755386056450839552699393507025810202997196656227243159551452832136245274984462946897950365994701578937300131278480891317067259934852663129557745392121819994555970219160022454306207643968838556169745153355160918756291310428666, 0], [406808157464990001353786238652084617776743225764373776785732699752911153491745981466074677633004784864823084131198899389048778866024843062299864969565671854975731277150118134393806931201337797068049379941499365759132741078383406208771145147, 1], [4548849825655311275301274590912377376992232285869660178710291856588207745549407227629528794752814320368451970019960444806346419038514744124539107817607237474129541191653635424738603442357992183851817888823509008874906272053540808596323124652, 1], [4758277437088930086848412496244678915844494201552485605751748295568424306172554629823100306341033896781683036655964440368327204085525198521915538244222876817576100050316436145332003832412189928817736528784760863610718700318580616985573836875, 1], [4527474572463369882733959638643953294276997370074420823463158317988061777640679869756627587792067219991130542710689250119897513497474340261227042805945057956631732405028565759922021435374472715569311750817212701460190079841439875187881469322, 0], [3065691837118313504220097612274363840263045245358065257711043326212047090003070521760183779174929981508868202015741945735490838259905345412650249257338333905568413576984373067121841425030296739491957085875781460159821084899450807514634998732, 0], [4996027198245098261550078862299148413401696119470696395625903543215933325284135529549651850962029089843972336494019411628712883155268767809527458755153027394646931356565952272080706182106447795951706984445500444109828531425158214068606627703, 0], [3266532450631089531076094077208833237947128450650663115909224971410352670853519755810329074444387865442927107898536140149591155559011188863711149710279375026188472083567492819923471975904015147271607011032772483845657109174377872670841897972, 1], [5540223911776773646700893169022179105892942824390115339203381898139778541304316523748964748736458386220792930667901856390519975062306609546523384978453229879986259554768657493807552896838937755947531468352754819948927072309253412373518859615, 0], [2807092865279144187565166309061255509763094004048033351150715697060631727013440945135794162705481354824143234594179658992967082850167559503336212103309198746615551018619452615625898777548796077759157560928459874549183529543393797826499094943, 1], [1832367450997984506292334715357758916659571732461145442070437321877418377217370965011261429448860415440775346185555546723307130996761745989895743148393711465836257798219007797143818177735618884746269844205880330713119528501363967731442384544, 1], [2801980367339875691027784033037061441881618462685301157264540847149862751159794650564050013945490806987947439372252106135808677335139206511183410033469438308808506183593536314885705399605293486262526410218918554979366246837156005308766117836, 1], [5495373783565288464454056695394604867107666782706694287325762947795780233341349834074356475657826554085877593929064147707521750499311761149283060218034794587120446764061718996437402216164150424266905209426712748563259067611126341310071508858, 0], [5540301942078142338183777104380886629007711120298302473064495098848822920928129407989934243599109204146937110515610163611294551950082571495530580278771214275951358589739206755182824945079998881954110254090113812920590179445768196273559941973, 0], [1090049550051587695318415079347208996855636228239660185536718315878663375056137523745887515621443485000137299808374249237513034802414981757899139495503354686589102112988721141260950381255123751881671672458590745456793146378671303345491649756, 0], [5607186454557582079948620622746143062819544036575024181966631710290457759471567411543142421720969023127207912858242964263877962322687098824341820480768760052380489676522759888697046297681032385895316659532805387874023865630404243716583761024, 0], [979439176575375647328948629136971336720185529388959966043171209169281886971689431959419431474538654780181802283659664557229123077997142808581636394712274296213821553001243534367136746080841822889081688724743727115590665982622012722342351521, 0], [6452886034163247499829177366198362083617071389851550440397877734909889505686996791044867227469862106201317429344409223893271715015204032655595607623749356788013829572929334349638433864396833491137162487756207820500762372986756054058200647547, 0], [5763507876424368405931036112297506159326914935139164830123644806402524176032348949440241434511674892053908510965401148239377608228032206691928922757074323735408340173919881876927973317718974673437978860095414371137867148230502905443033429548, 0], [5299652114796872453467859982221785580470638284219293991278591026268109608923606502723585762328317271724729995668269371903746006906552760243538784810452139498033227397422643358814259000028848167732768053607395592083351594406838112314193015162, 0], [6441476218627094701538494281727844168887053816158773731101355901746516149030645389320285536454411252676295442388109089911436144736588182228719025398329669550165557268473576517779271629656548111076072628171312647527541741468480231575797584625, 1], [4967766764698581134627435589605157124114838779771117310988204646451228191242760024113234050292101109796297363753655028752234226175260413988312850011829932826695248824435319237956899714454926463216564660734298798804400675626209423689015083939, 1], [205201955038220098145553194856824944721961211505411748291808373225996694981019061143031453070288975812320802198646522067510850333255546617536828550094171648217627002017267819724391018084688933376098412215045353588925905594120577895058240642, 1], [921305671149474676020244384526830857067954502472581422881264847117569470030298273729064550217058385045084335404991161045091764639204478935846673054134344471299793975460849788271670646972967879672421085572017412081120690558069621511689863189, 1], [3297189840718919258150607633707705440266517482869002465120537840107760943055516614595547145506423886326468397581893026323883015088839130271771193339132065487977442654035965021510908159902265815216874354688123047637563289352136867099907235751, 0], [6074060335871313949408140070429427634969458662240573902811331561993564561226014080919146059217688164686990971200159928028194524830679960757727842495525881337756071965771683880023458005095351307930126012371156562987889671593029650696487378590, 1], [4278036865311173127202707074344919426755045180350413332271638315797200883186195612983830423418108998599806429829099728742256734762596673123314736500627223204890886838361342981661786599169249878437816997587017378551793572126717887381316645089, 0], [3874379561164614595192831283196876164271451613984553314668708853245724506310245077206724361611353281994367287273198489071504326112652526033529700008035903657088807473632579201411264917774320309627484943956714212215764959009778627758211629207, 1], [1351250668764904208095914564481615047537352751793137759974680376126309882734685380972089738756145059053700446459310539955562455368348037494393556208354923539129418979715944574751592721870765680824048402164559130131065642549798569873828295366, 1], [558032194869621614396747013111498168335068562899296363076871981698473868080223641583693130433327115955678575333673640826240617781118989287657768779380798075762777982484219809402392405126207117488467931859812799013892783116420265092295929692, 0], [3471988921752617784419377982101951895851834418116520204744263903734534432916186298263571705154629715229286088912564516965252565135150905720462450305130432973520341625248394480475304152962693065315636113193652544194455866678766697730576042193, 1], [3106990154173292840032881951088920014143492690520765343109695535825049001180726187192786160551917109612838342480029022544518595916617261801197917531611031849534588661908520057643036574956995413890220866086853203416984614265239432428503762910, 1], [2549079270340546384283718316064091645064223033209707248582719083808332916965277698266619674050121254085530114141822387968170392563259585302366442625623327228142142227603985091398774923509804779903583911696322459072058972254113297135537950522, 1], [864241073893611712932292951484366341467023869663992191383614595255744555429686236476740292817581035822103905378365933681766901137306522752338213774282237280267055009987691104880850860711910767554805174240103951281866488648648580736280050025, 0], [2875178323639551833002217421823186237817755898238063299810137929946543038743017021934829184634266163715367421153289095438312219516493598689287565211652314531860353821739339942835475013355154102747623275947716812447572039323728960094800930542, 1], [2472819589997690328997789250294110856787097963696862464669367750087966810247564643340575200750636733867401117031165479363878934927909818588224542217356214264939185243656154665218610758576647405114309246453248404857365311965531893842704079746, 1], [3640132062040084992517937434125330591892383195014049082000107191462472405489774072536965829642868746629644843090232372627555253149857206382587485205139832155714613964767120819065892801137688208954210707227242641297364192559728652164723495010, 0], [6103621715455055587903216039520184317129481078037034067595977308001195193369727785438247601811435817834137477811552147206852729852496238795971239832019844153636631536570418474544676339559236412546653891474403283619032392629107504230126458460, 0], [5777346991208104796714342501368096314999654236777874175832488322830503189560820573700300120779962612957798483895031239445472447013864341519208870974891333160897529106308054715724693263989300859443915465208086936328023753753219494958484997626, 1], [4346495691899741449486141978988613583504601430003509174754759093828144063320149770646520986024556646052834127881239555463302857215147182612678493040610101576968714687297195993441334713336517142059079280814187883009387985794513181481362389962, 1], [4186499129772135170184750638045862937102797502372878297487649055665114185945284304836429809359366230420303961210503946202766511423393543632786847676011767446032706124246672183987942829925046484064556707710892085302379307823667228736754988567, 1], [1436896120275621141829816448664789877727118887662915255224521986018952611761771194626604466230619626664040842754528916235385536210921186853044622443520157143462233375470417086464771765624129506613273231282643244776328041084946763708937503619, 0], [5355896010684865498990099086256117245852323607335195895366725366931895052145731703538590428588229863036753679521123032993372503603711322769881176419779370765546076193564491733733676595916208756756856740507793076107334159469824744678187514201, 1], [3792008885174821387410584965344576171157567427362566163808762374345175521467335347564058503629017591964525701979735357096553646166873436755375473620664838956446891140301883852568267226812814724509881186506783826083954383462756228477197819502, 0], [10049387606593102784105318665661386322602885889790185932181896987821569677036010972153372826463741984329043551966914587100993729835540580060427594096730300438097968867645984866543091218416481329750153937706715425880725505013157644936458564, 0], [891204746201170583771166611178657732076962810009925196993530696703990283680288481304019170753902465517023478834787350525751922149884717848248520336122262317626260331622854147362509264151971322833302850745645863126657525907301311950882697326, 0], [5819794687674975397906536575384568306776405098703016100891400814992166387642084274502859086517569853772429900000722418266128806019198438674247648686956513707738827639980035615839618189787800351689613124544217868740652863535489328088264418778, 0], [2943254180139393553590740003353997595840321116581922053156396239714424225992778648961769342616312553802530531582981383928192105062270991779027391203967769125620467581777467353584307512800561354081597845974253981944857718708574378556772607702, 0], [4995611100098071782867175253742259569943080422057512214609767083146993959870061730400455899091821772296449693609325538395845043212707797474741076200690707494102894866627932914796286535175679218918890668029446769734860202059424127147434382753, 1], [707296753484286090059789441838340242377836284371694078818521354497705293199026406431060171156502799447291195806615312633364983837991991222996574840230575177135837363097560865228093896912419800612138815464345121431265450493359005041361577047, 0], [3218678697746726981194003543287789395843199053847810283606680185893438571979302814336603998214183259255270182346846141552674034056081437046995101643513151458542108827139249987887600858631675881707562716353588021527915841680850285492214240028, 0], [704776161222522554194902894870495690045164021398028940521601592803692828735822889956429101078189997526898667864101407918184719709307644658193544598328071188875692971920448368912801446202063324720930505909931759374167308805977621823591120641, 1], [5438515555437109911783718162874814254109895044298212536981257135343798870978882249722352422057308257303745444613631363405260822466623862039260701898008083696429309497381143707286201608141935903109936450386185111611395470265791053048622224839, 0], [6427464824457226594108306188056772070543593357772584569958487545103403795795209053261550951904773438612125317675481321567307634943464673428876201988415310703196723887580445069674528871233212538689867068685855262193773929089083777330917315974, 1], [374913226154709287034249052642805738824842398967656909190632204356209141797551970674158452722545602398597329611184481297024280289065189878923873050561796768024953113509901093353619294495999940543477660271170032856746091421614183710494724402, 1], [4943597700719467631224145586301882327713896095486980753984812679280604982957927103302158208191075894755078420871739137031466358602616639474421770739605747453426319305533058623919358770509896121953175737167898507015609028253732777296278220132, 0], [2230342699969385179433336527687146496483934634730836749339672734566882614636554856510622931183752162104740866447866228979414467004171202591437559712831475155614083948504881167853301608149279341650062692223790044044250440229378432776605186468, 1], [3681867339762767050883459783288882947033464071219041230444871412517805321342917200368061290814498008982744679490669505719945493318320071607368909550535679088299682626992218747124031274048887214904143058492856808979481354369600201722964504727, 0], [698738158064118071683605195461047028219593766663863662517012030169442166054988383422973911438749870180723351384368726010378095716259859596605659164040918901487215046632314482065592669365696679933300351061680606155562728960338452761462616080, 0], [461110405623764009242072462402651376792788839064449719578701156875958031704648579639239383432807463502892456541814126219162390762889135643225516868338096787770511166416211509934634607102348537184176042472728666961051037896298239993721791869, 1], [5702244175164678509797408080427382271585033691886897620534076126020398102344246206541026221350344871729378897867545364294413677178438536531084663384465446175233729473908392441009120024297972053092342982299064917566759451309278855211110867841, 1], [5482114822235260698447353714504935852193949504205921707187185013145544195264357081971197176126278173800340686467387423411555139240669113867259647540534863323961023796290787310199345427314903312637371675732564709119612410143167737026758735770, 1], [5385682504035215913900703760068054269466851447803033518371687583415118691706515041311695253090398954631188176111786284431220061635456696673796240435221293034048439612479431377817717520401503862555692679995238954166942610906464730102919013048, 1], [5238198504824860296054042966090544604420365748809077052291774723261089376132864191930814591601519394379877416617756546796237213768332048798138801905593989051136939877000757377210990620369749632023202802728147405186557390278235716161708842063, 1], [899499095400791840731670133678087649106210660585929310703478782078779438491859993662087489659883911352246327613494554558094389871129981664022143928528168046306948045578751923353826355622241199165078917447916333380840223613951580245567857968, 1], [4783950411966040747626249228460425867514745557922674906214876669239452839038857074773109330096471141677617546910465233142177662716998758111631809733415909116813356800609875687837061493274325153131090861991877883286421524190433990860220420509, 1], [4221566559809815420854442261758115925710147575689531853211882808757322462520953470133741880309660923256735310355276428499990616263749491310350761742086812371177886006008017116766866460614742692380567941238493856253973505109046588639366349239, 1], [5466658421201432213553947433624222314116867377740055451754022752022961446006384517862600457566163079583686257835355679554679074835330715104701563832877151609355433174043618593597245021713330107223515652603323029756745093765223609139698511658, 1], [4404790330518538491975843417447025581914769248301670369634286585072937446594921903889742748975424613127705018227579022797556656217948204591455225002311432219632592344238182833794814435349177913877215894861912231218500376994463953653685844863, 1], [1699580836598015904884170851975738788570579687050047721110364560213717835321414476769184020148229320813701016892705712346101291145184561640081743661568865097419338688462136118872375481668238630691960514108211157127749028473568993967100948668, 1], [6076789632465062186009083216914758229658366445960513092033888722840087066612376389469439895302534219136045778735627879455293067960215712861695478006475819687959241863898560965138617830340823030142590698014672349696577611431727470684199111497, 0], [5038304489467252859394258288527653216733351006180975854737239790707720993692197016666017271756825930084024435382908542326775662615603048568659399288137624530190834837478174417716323899036098145972721548627759954998221660768492759676356811376, 1], [3467140051325206074464363977131500017726008769411372009306220736663642743340138783166480287681542201431328071549982917777264142899780807861093506750375476516204886899092548817267037683361495488289612688673569619595400585068356512466763927237, 0], [5942698579162316708080605830308149998154358712365388503437191277466177988698069008499065676098404970152175760942688877787545230712989793399085219026387882041989290310471143346838034686886262430937036377926343286616297931883082981194291696291, 1], [85604674409651394929519771219371541801163905790719378522244868532683155353608869121168800700524068623413936432024635670368017788272842389708611864555933001587177417767741021569298921355133721013062245517186687520686285620122300425364966609, 0], [2417372123237662396588413834447409413361295992055615088293374990816857810609283647079169485697736677486948973099616244815299333908986647551657704090100765211783765658280879532399870287445347276180165359138220544260167192487032284813235985187, 1], [4152396091565438393852521831342255008561955606314232009014008975971380483847647964982046699097925307074657435479426362418220988917849299917455904395481245355105613306697305531981676079739798254777687726364915147645852335054711143997911766668, 0], [1985841986346279609648876787714157491967483924365705298483819261760571374236936040349617168773418204734254558969050484025444788453026615451373900968227640680224664577971423918065464691313446285011826228700780590643502553887571597123029826112, 1], [475360844767318398839772816792651743429932763049620718108863884072173006032135513070567808615833387482700255016116502774542435614720823621597688990479968697127261567850357702536372934857546063518386097848048450575350346391526499945487277502, 1], [3708542609510084683602233723186773769994686954410517573785277122463267577233510991628148469745397722930029425628536447755493432091460644513325722217466377531433864052954806415658681898221978724031032772340464829916569293832207499258273263999, 0], [4110537876498823645335861385673152551024929539504854662588009584759117345372204413562530822108524726971724281690230957001816413897801463929828106318019624483679346405385413654420471833524919802471054636546963893309402026977876153518667194502, 1], [982840783950339292148713947032697494111748233776009134142624858474458229232560409588448170965283237536299650589355803078870557632380931202912756616699114270461289651542321586026694339123597676665490373228023917491911251167115847785354035314, 0], [163993782740319581785266394134980757798529398590339718715787446447512460953335001763693401164198148481716864437295536340518390208736998031783529718069933460505242028901212798329560246878107429940513501633305572263762468661604477838189317746, 1], [3317863149812813790201608195214209739516649175028174441082843926056899970353281161522984324491875877792149226497521656792712126939875296089513152062657456819300647282104408741866731743941352811688041771881282821754111153570666789890829160591, 0], [1219189004212157980436095797540978091821870582833568471897204165417521349664945041623087718492887451650007771355704871323719583189266599904550301626238569154703465398398483454248494145120461389035709576382384891566683641599528509591451816267, 0], [441224341461175094320249400540245882838316466698262623394864443156754733750219487341282526956182729676313730570238851411822005174739151277509930177630626028439181611208616854871545363511129257911199467147961472130801212673584129921322127803, 1], [4507510036498356752835269065955526752533177883625838640499434147397398353966855967071106528607454691369227302850276893345814606246319405814144755530293705947071932952814464927440499748349659609572798032449329619945348208693384411019189500105, 1], [4373951136323156017950071622083908905810758615149610910587982892553517364548295063297791482983873582599529612145928123612166885608966725133789242516904618768525273675080881051483176594594985683306465443581761293039938775863171037921305668433, 1], [4441264291733424967310498144653695567598381941698683325115917449440730168875813498287490887000618156286607395332089485654296425945103691319161443454933208505934308072095491348242824283347511150010790816117812490443031701517135296285150457192, 0], [2235863471221901822882205284280290637294237427144635141363597722895885452120850806222056457424093254897896371486568023663333093024585636531017651405399387362299893760766206802125631539539425694199414210983763025194218240887129202304638009833, 0], [5230700341159392929474894772932953337820312740503612506726747834073206765081609009274348071207618230372777703143891456188291580677984601808883214432158808546425801130523180949509641007997727138846067417547593731684328235838092982895532362818, 1], [934470753334811392867161490508478474785550902846614034128982456036928970549769840305276752036885459754348656704346771950583058819155968564807463144204062237693360824544139744592991632839250674711630594168186244491093356992345084851382108842, 0], [5057675094197324562202028663518137757754158595789792846694255429873684585380645060361118185038597741278652735084064724772339371555231914971467230194669804406626368919664417249382711481524967438568759058005429734030840807601284829402700788833, 0], [5455916187765522562484334576649926810040766320135052293799281455618003525078362853559995957115189673765154575821286708995644430923537875792338973415574315249179234266836393360698107077501571127925616116874419401097880424064487736013089859653, 1], [120803996000804746121440792596935052851303498319534144995619653186186124568396055375462209711389969627083434163329846061018303610791602367943982967735623407220513566938582606630890664347681397987031470277192862726421825850467062309055804344, 1], [5870994642093454571627520023091587860185625068549925941343562828103426371618848959124175264387665656707477853891002321336330817921132742369002756448772274620589408857927535263652423217232072055969742785611376293247133207987789513779747654006, 0], [3173638950078704574212997897614081002649984125135302033972455027313242423177486183630646201172979413579235622305106785488327170803572826342774332694185898207885827401430217991155757736746849831906000307428437664202711704638089616227724084006, 0], [6011129551412963099322400221513918139864230585478120360908730491862275661325219751420068710337935708589429743667236048886928118387454955769511430820541353506180098597374496456058524585202917634560875980393510938788118953462758447668439740069, 0], [5992320255675927452221991574944241792332940304804587296435931912925786351719276958973502207549486395778777383445634842814890440493737262920788341359358996234851477762146331440690820148979298557550502021838576128352963605333734897882366225809, 0], [2448027209399060370295953584382727993959851460798110292340131055850351733807475935172781137782261559928908919883321963215926750128873030297803277618606895605272460762231415771684346849593210443758776729400062465141833226638893419827752793157, 0], [1915282433497921916425622875361709542278228234908935655688668701638575888705730230517645487652041023848258962513149612812504599696312164875479327949492220661058706098382083251526983108652768274132405600481863605003377343116419890540239677614, 1], [4848086069629284707832786286837195971015093745264627165668143711076114924759325685031430354655269505516929638107148196746109987871745431418837613958900018557994558523796900150457993088395654597905367487162768986167523851896270230733647659982, 1], [4274865975334339233602928214365555550431032043167174627552900039113867165434719594905886842292407181801922850212039309879091280980903631020932940667712545425755153315808731143389022828725183964993239317748866461179117826278266998316761859000, 1], [5579337509224267831831287898335391377595719258770076375448690252818566799598412602949950303192993882712796121987542770262385914007872194615909460616266975047216764159834708801394343703493910708225258517607442335424955272025841528383342849750, 0], [4058624737083484442266326002646977860415015395846110008810694671976333117067801007730535281052751193538243825029995734986572783394269821514463292320171816843086309526243205185334585927600492808789128656224800324704296283202777579634259741269, 1], [5832869098038799878769506336975503726947265309953425941355391514781619659078280973618188509686592312222905005290184025917724977724197798558745779801937842528666572689433114861983848566524303101015235139947866188825890608657827762721750268492, 1], [2190409343262188171413229365838735051089581879941266531644886360100283648118547449499883538631612104539787001248125399983186072041103588953681186107928219617512207905835531975969384248886969078279576775077045655182274257488109581928114647300, 1], [5637727335137682885879477487439644917063018476754697578844340535119997623068861870357889638502490003650055356041533415573201004496176792373778506550316576259768288084006407596842285669418838427845280454999310715965890779092006934399470102911, 0], [1589295411708427657854244385439128149966376276660038045602056339506124676399706417565907852573784483447685824960613736399222095834876086868757941821416064609961652397588865422803210720027527631723575762666427872906896766770977725733134683852, 0], [451916631720114355643948651864513315950089300087051115025199362999717580857630200875858776737010300268964885741812047389779110578786891292931197071509045604638356241284556129476596515909401053686099162315563799833108800904306370435894670792, 0], [6079178790406710404698409361581153760371067219010852634836137360897646095181127107032937508018835832927027728897275210179181915090918166506848190842094665908062985934437943829318087472327389189938888322599453942334271589661236167466041758587, 1], [6594184500554277883505276313334928053373775370321348477398896457507595729011083197300442369718634422066707965222352649889076768676394000420969150237296845967253838832347539258178992137834684176675198572006729327986867976892392954088599018751, 1], [5638213216584133803421446751288500499059853188078135588886691851772596184126971120912406405783167369862096170898784777743566767535993978034991963824947045583444102024063783881039744176844662828037778042526321336842430209234454115008790608467, 0], [1333596067138431719915733487231698683901703899569653389324946342713765966920964875643707294880313065834194935572949182688259305661255541715167589809587597426413286166001072072461493658091665110090005389842345489866387063015405578864247495531, 0], [2664636929057621244771844863643984765847424114187091437195390365310073159839143228779068556080741555636749881824842161751025804854799389193207319599469204756786864445460946502041878389008536380416937134110036987191017898290092493892564103099, 1], [3675811087218976061317094237548439017071003498997638238030454490479094029480732652448830093826613850605866776494728594936942502556458057482318300035353250046176194148503800136605692777483252277561958649476436251586566252275663711059382711782, 0], [6439752780022203591257600525733526121725935647996579412744420516378667113201967367655348411396519976661842630666831344859813752699561820155276242842275591560582401743170923679041728799128202099142632389081754422571583418672213056671331419733, 0], [1938607665879270963769027897943043324619504109531803224667033149811267888697329558947034409047221843484573491372490572997231599301402536947580660740608590952138289133545084102908102420186697242030711888326137871981787620081795915351254436571, 0], [5910461855578492741232041846085779564870661614077197939597202856327660705805196131908487831482345823365435251637133614239649047301676431570042903067395966557312666607200173919132387407653602024661580692893971708683173517486631642317774952239, 0], [624761407883917753831007797393569697042176425864995170780953006032445425520444729522271929092624456506272140303522117471243462869207774953296997113874831888768599926032530037615620598729356341031514560707976157614087337515736289713294888160, 0], [5303836791312050522055243124818827539871549499185961392478092013418158099383392607559459144635099693908669051853627965236734485575028273191446107350840880738758838120014250561969423489935595773225740430333183190082142982630792102311762978003, 0], [5660589877087868261929114545821514146169357061885189452803317284488474459325664072228199956483303029937355531395041361994351249830054760788102693795071725637174115540552228368509933408921756249611574994316884318955329740491544088664825419237, 1], [3218610732343205642065783933156662860712747858581301787827615287430544050197572143625662163977345010754386826051368919347646460971851559527548684035286868343015626292102363233476267082818133318197268729939702218989046622347488564718928153489, 1], [3133777218965619267338078874181119979696483166634115505004341703123655937857845273150112704314279251017848007197566880722979638791412478436277124217895899997351299383977123839911386652435232483215490064335847855219262336069305506644218548910, 1], [489883864079028224134370892641223598726970619230614122345280820617566926361089654993276790429548460271537878731339448312340791845477156477313253723049325375197926193596463388159946867956582164241385896766300932630689939109446509674200151480, 1], [4818443629229760512421317545517973085667408128800978507627384663587047831847226732792234610907111274118241546034782001452554399347346273229824193318416113828661875878802462755415842119610678137982933424816997709534940819697865517587958060894, 1], [6554682493055307306930429277350438114475738036964802332930468266078803585082577808150650771862800369845142998677559363472718341078819629178907005984064379221498761176327292904997532720714994185170948630431232881345273723391290589695878255558, 1], [6557018902690155687858301797119524722481693285291707577269345770112842374538268925456402264395863240291231999172055147278826678294131335021810455691010066709903382709598032388673289837640027551977896297859736897882281267787904958832089958745, 0], [2380710580551321978337088970995026448457566206413782789151794533053559639466029965353817600214539092929941722343000219982752286848000724701566674509932707528364337924062827443193685971117401844893706934005419056683004115381155423896114293502, 1], [6237386770249857359502950002277324511277985871158605513085049856449855894439291968394105728553142889918610895465106982639113696229879888273604642030439452601447430652261574369267133744327669906089761251506187071843409885609906615099975235515, 1], [4953988435203034280995086977454783561230376271095416554898321909552281702737223053462727444305479254187002076282672863818104947488877848786139012510558145321235208177785623429117395130708103512101832401471538343346273402382597388766521333406, 1], [1699318966743999550928619819470479781330041393798128854311008093705209677566846742665305346377677421518069278306058036004139560653767033446274141567781449832250010442899420895743797553366721008339052433818984105508571002612124618178382471754, 0], [2018163859554745385582002019962557074606520807261908125568866944518632996714005043897614834372065252130333877134331150724528912013247126466336112393903263481338162138037303705300307127630900030102370855821760627366404219405211084258524655225, 1], [1279522929302566157813842983341207591246152385900556171187121930341673496973895084430756836046428738856371268823417381664677259397811023813065764045530095722912872331225113666767686901816348343549189446277381660891592857930617188904737442457, 1], [1379742306724120063873291985568525638343341438435004264973774643420920382158493862641543899014890094990233480609497758729830764590372663995407887002038341673256051167954132239184025219205810733733099016426035349900171381620067936371709794926, 1], [625153228597506060232801042958515038093131571260517554241404324594728422796619448746185782018325617417906951101109308421966466362592259785231874303136970973455855302862711069079072366583776733377637668800094948741660425187504805106755944000, 0], [3680367236991050619698544136024328108945516380642789268474840028931019893547277322333108510937410306337123021718099416033563958825957471556735814984429774700165562683927230436796330546097964689590200538714879215087014113643128310685092166653, 1], [292498967861973201300080502358058519905178724810430847802718774056895202730583501428073725827604124994861167551331684516143428070879471155395042917972591752672377115251949059971520539050413821741376522435716767774151535392851040374464614942, 1], [1300240442879286130522668736292964462850671906845478227144469640134236240780125695794440402140575734477009147077951647731386178407027165725684033385944141126293955591072944081424617483022057249612838125773555703854957344685294685876667839181, 0], [1090069015674050013525306298658947770346022843008280971303195058472312188557308425853321376987405709830442936699256764954640443965050452001401053664637946705228962911525031497202674425425058295911234475714278767523895318548616072585355231994, 1], [1457927463516806529805088989937839658305416923680636849438179668084830892283848508477083404918727311185857293328804311595633990708793660338452428627289471512244784067943053520152683265632000298857114352276692440987666951998467988589920289581, 1], [1604845736492561084866027730701891216172319830110190297233706329957725657264393017400047212758410287966826487659882099981550181723505772236746265368540313661197868512627130787691967267091098755268197655950394969892282051787808600142307603511, 1], [6581523849479192542097161244773959952961066907403152348911080603892811287069354505408584410443091650183779120979946782323672997503697204561520800349279106479526486152123494900981529298341270704550422844333568794814207611780243372090858500241, 1], [4681790585000221515703605552443814320963983010708383306544486984620543545727989890392653705150602309615073865643813341438316111078342329767288581922225938152083623376512888455730584032112319015024416351488513511962069092473432686995738364781, 1], [553635127931832624307389912788021670552234140490146394369795568429782760884883063463638539288300262466132115926690767065212180058254561433647688261849976619316967238366744042927582778976796173386764569606084023480769446409322085757316716007, 0], [3820247538724687745770750678461827316779129359857408472654988501479896359587392014128080313596598437770375586056300888355630503481437045187795265773460872678942392516175837649773887409865844491713259630217702843203957593627500219126917064656, 0], [1326682757340749259265777405816318060377689030394699609126513424266096875522295987094593892863985578806475929364739675537457315268947523477352011323575988395665024514632186541000194393983204346609380469879481394947777778268660303634212439937, 0], [6374233416495530857018831172038289740569768015212848372103022492178538452219248847380405659763813244571651821839131944717929811813868255006177071910361370519931487054108905703788608551538012777738339587458831007670831927127804919325752132508, 1], [5648858078992280301219749678969666560138875938295210477003898566335923814527891808573404940804850762223540686071204011432168658762715089944874841454917054488501236022835201063824001958357937056114456567607236639244282842177528674435076962766, 1], [2499768980810793378204381159466492977098619667570349848393973031316155655740155390882989741690399418919880639552780997436789220935286052858359723450424891215401954358646253024182357024612514729017302559088764940194912947849675138208453433891, 1], [1004596389038108938392284348261289672094197185787522869086438504461572256520859379413071263736326646391639917070457702677843171459329576066589031030682173170484874497307134158141415490812579347054344839235691984056065343079696794081740009566, 1], [572595644228632242940442318155329241195738505753835055971649657424407257635479360813945567304070216678383732503553420890176276286775118722363187968115502419922567912775594912357185247425648644470259213092042384850411480128444815318520248070, 0], [5303023759901430854130520486143493076109729823397772434788586727758339449360100019600816495985650623071388219069276467800047687235852025728228281790232008322710442610214143247096530116368664270892491260323459006604040296449499795781027575013, 1], [5722577275083344997244444308279178375921963375232726693939037428186636541527747738853764222428925501008071758989295765545613486849859278639168063165937405582534234942549147657718988841655031653828570169013229772694073312710690528509597571269, 0], [2189222634384744881061206805112666111890912835114923182135156012883994874284267010021732599816890999913939303706744871694218772967265593980937632205064803874446558214183905003254279900272204262576668455893406231345150060420213719052413471089, 0], [2285812339682379689620494275567831737755323524485006842286501778680729933245327481359238575493079924843468509720372280842968134681956442911918750630591239480658560079270072934132770961904012468333084298961415123763235765235790596474269610175, 1], [1841705829329914484068493296733009337540368818705029722615648597538893220982233038067149278091788258094775210381205342715593637620630484461159604371325548285676289683752334343393073712939993628201293540305913084085323455235021962179801957192, 0], [3689652255392613242181247504959260838973742310656640861094495764059484596916615827336086093341781984690813800925438538474641292942417801396834762250116906136029650781003959249500719334848778355674764856055923489573936420908895250486480390824, 1], [2622309879754997142882639106806672073091425042195118675654826431722203007825664948736777882592424710691821340840793418901043376527038387161106458344518175943489129166748667302143012272116514058987370065480964231481237550890808991454309134289, 0], [3396489598684626225378908017182767989235951769803263017907553812347114253583944962587231449933671616357969224726907637378639906854778378445216642333367838478051469943472227653676088983730243351509920906255872565692694852168339808792118322280, 0], [2607358404706684518976356446485535495977604646123610789020901476185901132430560160585321658807810786355903099882459692550064782630817196555927645803244114445138812371806130569618546940729883715192141618504389298918702598821690924587854547143, 1], [4535460887114780594425629215132954086006783385241999181106690475016702446535955407209659906471139635146422493285314570663812557282182881610180311343970755769653222994898456776674117903109114098430253845476668862978542113600336393439104123043, 0], [328783638345025854174555226041267720934192264091951184609836763166068958239692560762499730024835251781542179561453900671531814544142104407113668805340968657080476098426125782558455605244705507190721662797568647255322775835908853866125141837, 1], [6278688723592544547733974807301363774008497272117636392745788716590485798055446499698522693986869607516796971415483628950754781629715798153855718294248902041648683550000947239403247240576543842319734683355513403417575614621965469559400947388, 1], [947995682222603998481161726796739027023862169422696051152583992230946415000158095111904011857536721203847817433441725956588691723583395816517734242159769419928521662419154384452998793780418888942863438184869024467108682709536667279903774986, 1], [4915981061699785149628519889287242438980595937310409310399480269621837532285984661308853633588855604227435250455875327153539150141086223292635314178063104991542308898645100562978772780244120926127086908728206024424906165918781453389606665824, 1], [2140756852994787790985194398535924401800160251636982332078164698712370829367905003147639383479798528477176232733013510061658599651629968244390615155758370771687762967119469489048278835385549992618554999205912593746040230961250309177171216497, 1], [5797647092843169304455122509928790738526642266343903445574378394664048036524884996326463675213490736021653497931393330651918421892129428145159335495079033813321040010292896775996510937485170690926899062483696397935394502198346659840350313873, 1], [1797975938028189608197478068872455082272596861222231607354319065565765215559089429554503056319438031278235411073863098931810915842628587429531420136278599110397504149326641085380054255976626081947238246773996211304606692139825351341638102591, 1], [982907331354446268318504522842921729365974491891279962759024464480237736424092345549377133624968578787540494311111061911569203793118528472907875582769837649786306478077011763251184144501001475188199632261116003852550477245204145441252885466, 0], [1507809223652148175876986696540965790778007748243633046163576035682285738239809991258083147523708740574725647075387720137921018983487182068542459707581543974544607829351788727065720454122612134003232848519934432901822031799957713029366336330, 1], [4109476749307633399148391077582561489617260676477543115772557987391752132273452598118618616380316317388304305814576074468652152784386799113248073133874444965506070607240863505181305222595973650374896185375242732109331622369308516277973759607, 1], [2700742122975975622690208336307291648927073465708313325534014250791525889378034333248322443988725682460420360033316765324945084564626923204181534969926479777984164509423403297314069860432201298070533098331800139727731346647218319401095140448, 1], [1497599154192396420913876561672417230990597370309941803254663408851274720102035347672891052690587023450550531983708542391362508836000997297219097524597131698022815945110728648486031920376095721162581474245585757850228037138335532570233270308, 1], [2626524618764547997997649030369735586279302295136865839671820071276395943780306964573325455202204467745014484274628758504173953709971424767809920143175913008927360261659890549993526784190783833696812006817489127654883054046094825937445344343, 1], [928053254873966609801194619383643565765424910100054400184870965652833911185430014030726675583809824116854224612155558842173984115608536241302103226747823834803156831032816743631890680141596559281162105204127888164813219087025632157452743209, 0], [3914296965384296268900224388022264223679971323934041334003682539496797588580416505792074409806299329489293411737583387005064476173854503103926878690063491635395011471056232204396795892826461667603749506080556964633040593785817685631588670355, 1], [2673903145183331434221054352774890127371571695909365504669466135916019348299855966102972311461188530817931809849290323799386146733500094617201237461672291997297518796513963060231321420978374947156500579105995559170337951098369587075543389625, 0], [3896285276162548777099993819874246232215086043186370106501606756122649264714835585416928428227597771492569904501985093111865224301424012011293687604470381590045451849424454754304063953241283466385346231882191099812700050258466609230332509314, 1], [4438951545251944207254699707427403982454733763626873785153781391220308003529375698830717042655391413051718089657982941563908699429894258724113086726415763811971729287893025644047540058791929111525732123516854013811182852853120024681154762904, 0], [626460932425502480327156462306489561209971930954972968443854634523818304540307174258014332140043921851653732126330403066608980532250838108611353398612086931800315880661092924797918947442074450154367027284384006212019936084058194763296220579, 1], [1616689844891960418792345280424554775433272612401709342826857508903535847593022911962747567933324429181122945349264030061035120008073849334872589843109392362247163323872768929445974368957309314755095649753801015438899026301097726782958864389, 0], [1689274137853088028087197837573756959947918142600990877983692404526315342109861176543445754945208626215156216648304280515379544508775589301733006978930655272889546808208040364175388757972868542449436304186869002863030149641534985249803571348, 0], [5606679043871680567360448884705053227927539642252972708049750252896353970705962280860262442606694349184911749392980801266881823914609632416470185221233097009960518920699498535983045256272041958911869325407495907742989420303824204045953422924, 1], [653985138047687021383045339802032322109067026310055936990784829406612003326211887845223649610141231703053696471511904616460928068917452286307531653981643220515398444946869219589075335516537728746649658419311930552571761190468125074501533764, 0], [1215175231973256538480551642695519981639449630156951410041871262950880891809844211889611226153033436760968118334012867395352670559672768965489190586929325100317539332423389991379633172644707253785474906947355069373641647030341119293827878379, 1], [4007101706716291496470800686990476327257892298356669582339108845914774248853370514527080402497837379336748057376461039627640350261550936065448228347359330957469641185707922220952035193657342105990351069748195801923629060275725409241964301497, 1], [74638963963496763246048938811474954480600048307382939462410190816934329353691653856987917846750009758798267727391073944475419876229990842841083013162033148579646794362170693750729183235480643337196953441485738274275051362120762422848088899, 1], [2382813758635865097229529463327067173040628329440981223715440899212835696673507065338624925391572437495232646456736252301521884929897171247950852987490999676004816879530585040542251398936499599450186749558016124928734948168708261956388808264, 0], [765570680785736112943169219342507788784292300654215027567330053716460007396476826212366319814537730462168700177853262429250027285986739021520337448371071529367801958320208165462946848167399034247435847462737885063213365942800291730491482624, 0], [305168568069451432671277576338386765925027690977697468607546214980320049125110457449811112590598829218290122679051577434908329449249426079587399728679991782131625047269204817036902625641879568017597337305738224186478151665894661982893875824, 1], [1089774428733730038541097647594960436300383689376786145911825075507097930713019253002057305379575735587930872313397164238743375637393521266099436244627566683612198362346932304574870521452544189603989929058541534408935406374403745185534398932, 1], [1545868034666328538684554555641800282925500586329221793068149080651794945690170204904521011124456419171842106918805936565102038253799515475096236054294593326081014642231940164044930497470897228326275769702133837270567053729882415823832066619, 1], [5806558887014966894930688678616577253331072259786034773425241895384791183685436195166007601971786695438533788101693062159857422322388409651405062642793298323017510836777035520236547397445242874197698675451646207839679071430610807808945535231, 0], [2103741708557888696577981914231004866745114927463139606372559881104390963040907559783668198782179308778962430559515388983729814156280454299658973714536828875275010262774943125913374034396892058470948743744691778249611879913383379809996866495, 0], [4988864961962817861080613304377660578436026318679536124468882966849640034570022293186199081477334270462832201747814541885070895274382482095693133093744095499710386177414700463977315444604421741703237257285271990757999890511885521036267093533, 0], [5952088739199036024931359460198076118946903445396430514243008700993399357175514344372536079657162037103095722594663045684918304714650407930833384297294570992776044361582425409455347658216181807947775047526446823652253294142174435229464692877, 1], [6310474841986035239385611311477755177121176463275610563284979020761594195805898494256657077207771922791830722247957677762003745487842865475377065944816676066246889276175713951304475338976096932038041162249862297398710599173591372618632939170, 1], [2270380802158790469666310778489621932862363750747010145710642617888456369164111163727727345504214537055859334567879085538153241214960970850618770944026386834848730267225073941620406135555112996481273550918623115680339149108747428317038613954, 1], [1530665287484756066210388463281398522831063469347878185472122846307563789513157965145299131226146465099862055790442209104745532148127968925686504066372213714163339899436522864467075874030800789322289840117045863182991517339624559775083531381, 0], [582286538242978806878720827924851299699909022614403440543363252597014889432256400371218781026578123815062012236347070442926108681313763236957051001466547769350627148135939176346721747969930986340257066472934055043370450406799623533449479195, 0], [493629843977363979022109653073474644551322580508591357993770584259532655516480834723577020450973233493087044907400343406052838162433111896052395514239554156995549749524822961937239232885334943236322829999382842381932177658198370831275400589, 0], [584186601614644976987805514602500475059941028273396370845659323065411812813173031269358256150325834179113159965427661456414970748711210458366669728629281572065318162579098006793298272174410552988055982628634306294227815358597752786514221220, 0], [29066562374130677518925999893465842215083977835021208532178045624738270726054026228558541718607237154194434156215398824111518168823163742511291762542186636918761754892793346205035848987712210076645694405667159331069863470292533759481742655, 1], [314704974468349767074650918355735170982417638056263038205063038932462705747045722629125215356769996901250512737429999201871588929320430695726360460174084656906527021469483375660464930161909686166345170221354700987495389156376403591719526258, 0], [1339152907533133739776699296883682848951985704406371927059225349164132113179463188984660875693524746198558190572384644137198380384184979307833410173213307448209405153437427776512322564661334404067680492219294205441049162135401191827953561576, 1], [4647359040459248664725897850197392611203514919479706529185799633236885098933269919354469622633686775003582551156766382703400394005845132445682894367688440874199201037748312854544088602363774832146774681024101266575369960076283836019398249442, 0], [1029230639566000227764545150883545096319513599289772742478001511771826346327874214050322843546381456358618817681436779000382920340961911758997267381085257677342490652762943243580819814152229339087292381708087634422659884484028525324036827794, 0], [5454107095084171475453129230924490021341271742779534572415287050732580434570572695716542497828160804013100224152571701399642328239728821445689952196771375003238590705041326576188926639717110438979278784453394746931200551965122480144061446882, 1], [1003724666432033074084594809943732285823422534642801562828166226816486580469475947338590957976236080592313819962935605714777602641325854641805670038739436148375591918576308564517632585897535578890654095495785642142526850999330961361754421404, 0], [5230447510397501185799651234758021926538001954899318072665095943122614840695308031931615880249740474678959007462013276286514689720087763024807342344439339417601822758417975890001431817107181687301180914648837413833040335178175304423728327562, 0], [4579687282503108916081297939248733764157298234194434052863916731175892163177708966237021819765885983933300017052863884532122995812363534189534982374970618031856257682341525373621256595190242584003531850032574056777117052171546774419771943465, 1], [6252786331445575704428198727279354834711844614537959413280681605382406592397860315493361499677562654079293864652895106404502777466515053607542218656550981474786054259616149650316202683151251646183641877494080062033943133397892750060114442863, 0], [4401474733282655991449587649349151165065361469811825943491246513770913588302610914482501467337048943895950779357872617027140181512378244340802939862662570706634728713176721620570160011946833562469823724591257949113577377989801350961581495397, 0], [2126327220941244282591930881557835837613342376656462070725264369426447611716286059925158662390416019356155055911659123609509604597710413485593672927803950322763311939908381511696478522894715718495085763617570749753195513641612675707330712770, 0], [2641677593137310476818815101996549999706574138086015929957021558620553842826281833264581532697483704094025775963921083221669596861142176405173855521349684899831256680841802902143764966664208262028091194979974769812270615327046873787097335859, 1], [5934323612356487636192448401895120861428125547995860288197418124717561189047482348568499814345119317912176831772508813799716691282063011336056006533219450391671606225192444347048215216793882957153842259205771592413330932517567447253185989469, 0], [542270407128392646804978482065301426108489161449816900247525289525252738795855284349912322023677022465370678827459116800500598807948348861050272905039729482565786342342689316053107956819555544884631776466355856141357912630605266528859751327, 1], [1995426673398575091500954027293157024659433001734241367860074868066812074814074112570204680477869171943501610850438453999848118353039060453118901662712563499728737915827017626782545649054530987964535615660032883952422275829157963728403579332, 1], [5960608676785577367933931329701476830157869963415741140479439053073626665471679869860934055203082096539545538847296746225497684628768112227268306937555197491484734281626425726632193487853169960588559854282993886303793997204507424737799848821, 1], [751888971490784941094287053524968959398051152182473454397226479202298679024998085200715937074751676323227760149306654550219131162660908998599090197912927836359559641420190348491902247599120562499060530072423592502079726617511512815575835327, 1], [4520422260254297684695641409928858329781175754991827986109542783002262209003626539048829965022186372659167673349807513772259187302721792751396465531837630305499617339958323719105484151629754838152317595262460348677923069233533565026029290221, 0], [2085589717143677628217966619450521461177388555325023450053271598131463940417559702529657298169887872006219909526040871188368144100621910035085378335815974251910239294253044127005096288011466433405009805106128189755331773180800435947523978918, 0], [6612073756105866213029183520536639409634705984171485473989066948201472024688243790706199550446098302593248372057212994274741955913144106491763023887315087760294122501725558382916358579149669581104920134463397096466483200507736957040263842566, 1], [4570381339401501256153298282625286670288551534221723997128882010618792978439121368680580261228262059560936234145373221436033504069846713977798857923504773875620110256638094624509654149481071244657426927847059423275900947147912517737709000904, 0], [337627331099330604862663821948082333493212957946523201130296194142145578522973092331591491349118059746630441813850953034263631990261043940818790687619167409365662812005779748073212268691924274873848940424450614439779174712868022725449806255, 0], [848206001716834757054455583407181911503180998146848190854545630055068114209590639753498608786309767123274681062319651155063799361154776823556502103769908846231252210275021479023704978866387130363044264955442078831932088318227373477418033302, 1], [2620794209404065559767040752053356121902999426237796128581543631232380038750604877517611206559415917275395683291865833894761559166028115516998287810072860837554667371450290088851136844319590996344175802584888254050558179942848346661824404410, 1], [1761951446635433114074846413258259298651864318874697258046137208567359973533736673371683136307401602890563316885967875922808294089383178461995236575880018319179335327828075948039160554586603068154468205467195377564174626347884644329631561761, 1], [5053764277351992907527007460186034936422886759083003602099016782506368012891291841287590201204755434567872193274246023021467134491004578987560564282608739836978023671603794490547142250611171387762066308708179912083053818161657566846419135236, 0], [2666994324490337638954121428986500700636462228669748488582383227511994116307399954288271242883004599566277041919368819099092876585332056476997732467202244624953034257127706559930574602326854312826692437905808013227978001535299498567164360362, 1], [821002841659661257825747118093063230506049137680801924917006118179209026879643407104918158656767764914104169530545707405357961786877062206763459790881111224546322345027630283587859580178879909825967260146672428368323675050848479513733802075, 0], [462000617537775026609095359023082026746752393149766868568064716446229341640547191835736918054667497557522380312255602042362038614988184661001007732048210685937754606008277443056665462618147079356834615471851797503813617068253455149863867274, 0], [4064468045085675885059620929345864506868278748061320895777831080053172063748506796128377527754556303305509824436756039067754060052104075153855835441132164733326271428048230576762084634618120262887988945556094070951801009799851736429234850921, 0], [5945179572680980486814409536818978953366812192573879538977864572930889400518587932783452076202969078399765258919550845846128277762001977616597323981330904137654081625873056564316665365776901651663647011425300780147179423750138755247576506206, 0], [6394824402277656640479127777400179406768981437529698724034646064078269804717599791274285733833079395974094441300599134763635936620044605691613913550896591191899127606077520055180139076960329016381002504885517220254011475433641910685239980940, 0], [4914025036370262285558098631791278772067213282287751534275430063029601878578963178737209573647925351982806216019076488462093670775162553026257784170710777197465653274788455611417833262231190545901141957750016461264631799999139490556755341554, 0], [4875312854744008816746066804353441876577727133838962447472300856640539824591196143930412689958150070248366753043354607019662790485835723668733467288959801839811622628506688789185165462419755706668758843206457983888239888585436880767594213954, 1], [1870044178423534242738419836447175930287484094888191771146510482672430705056867412997376494974768575591876480465201009757579377389032686863154661430903883297758364272966983705601177728520900430872593558942575817647900095475487527358029903219, 0], [1832119708522553590155803852979983021737987062913481963544237179849708876048954456498764007937749449972350437427509482596467616281676119851181241071222204264411396097509333309155843000909602057568407218274384514932116260436012900417206612713, 0], [164654608715899613293963264010698778172382742654795836170099335584368202096078654865451048663783985992362607150728906999473914357382868214639761848933642314935227632422857875105265454802708483400753312553612651456442630936018418514633354446, 1], [1492404659935346226082511826053463799199072332119881416495725414808828363409950733107075585227367814628266923231610132638692439539668825329587074080100131076298775228253785421011073152781387496509474497229404354177713428877225111339084515007, 0], [4466438858482754426663088233890340813852668302579474177372124353774221521757442642505223909687921785320582438186988950722652688396820525639096257741114671569815247080149667563124367000325902535275682915086110615368404741744331938666394132676, 0], [3641072682114281772409641984491557651408395629262482932476605792081324240605828866659355684686931420935696410841014279126092086755782509670602253695206649612483632870533940318340754301789903195919256297484824110519256510217177483295106668502, 1], [2864129006740749655855257066330222640294247487087654654204984322638686963408611263741109608058009322729190732557600005561444603415136590649721054122447896519266555198348188468571313666460794844386289236681121928814248863656042260843869306504, 1], [975528759541851758847144633724295184280916147325880052271384681685007447508814534944519589326111839359327296336457621993567403545535831286849244187685817209273448012270928924403413224278892471142922408741466618447852063771843889115858711005, 1], [4600420488236786321482785777667622496889586454324778738683150267884421657566415056239438560952779710149539511360577753672593493452988933395651521673190465964523293965838107926563701785812248130019209192851457275759172131178969995887129967900, 0], [3151107169641968786795189492676497789139870964149675221894298051842832234743807596631907786590487619295715653651888904386535395201980941548140798485094393041758026581494768298743397678675269490137857377100305379845693356150631250254520118366, 0], [2709061105383786472202319249718034516606852912330280948551420219394116615356366154492376940225405541857664228727452461403157441084510964177628650219360522291156732308900142206864371080784182199770505926957718310526585346664969593221146220252, 1], [11066901743078474550788495123757774709132131285002742724909143138323186032157113034870230897700529634300134145614866351703538361801974125100967056135185038624487857338937776181661677854919582919871880598293124804691689916076120349838445571, 0], [6048847969233285880454620624712152532898931912644242877428563254727962226536148991845885136746804314307739077041178735630394776653780792324303905057817475197038855275295369746414210473999553723485650138174952423499198273074911120297428320161, 1], [1938642646585520251383240976543343204916514929570628672839436021857420337535428995963367995272207485454607712832879626767983127272310892453656471541441935217064557754125442320849011694893898280224704265329174718372804910013741787158939729070, 1], [1486928217766139166994784023030007930491888683279031298428675392132019716700613217085811009565928146904422612488489794709307776844704357199075432560369220071037392586303126175713549752715694479134933568200075504135572492928278414529102719943, 0], [3933729118367571873241424122620502481046899085560295140144359522587017455973727183539653086788482576890643710963265397412012944386754808685873051988066448725331152519722333308979794061263194227382307612684399595019897183752262440574274299619, 0], [3598065553047727357997239794696427736889359345415336162777519847604721489936548105745949511169969589629123067122109775746068187162060814209499839772300117471252980976939968059033063387430803433297788570436663586369345646866823088730328793425, 1], [2697700494065486755351928167594170057099108176248688463829836705632983849657712618710560333144761813032196641317515771097658995152625218637632287154503722256210782724325551973682738057068785411661988799245800573176697342069536835179436514461, 1], [1341745497023727921829161540848587703825165183730937805084822601869414319927010330651240456148170265167947250504312843977796713622180398533047985997455023466941802600031854748009854250182208078019197769033602338821647322301440577223903677707, 1], [5240428911658937699188517258772006391926415831934719139642379277214359529604758527317585353089065285244204713177999326358323505149954087651052683636556110073061321780870730577549531785175412575880611341967424296799098875259236621908954083678, 0], [5808781930847503796780850126882225237136987306562844222228345027312421294825931355783992040915778990160700957095622828349209894616963159580745732819216364538540946175928229072021808801868428210648815728349606121975872037165366059305647277595, 1], [404347305792192341169299521247687337309224083171900133781386149794251382326017131870405537840769529692015718960980713709000813468807785736396313732840571145741381126935695253710980681590913799571887389760620919865866024836906053284643519061, 0], [2012553723086678048976929231526715042240649129007503387178382752173939108624564309248812990555619626566115421429576615134337688251819947131256091790798050729139888947500664133133394763287537669927792141648765820026133064572900079887414111782, 1], [2679540217550869548728641862711493333885090569132156291674935116833389821590776280321315694983300882727866053821757271712553490095837857986713596319090266619316542670000633083292916339615868188621146813784694385655630466656281437302408436745, 1], [249401217757753942024317932617805154685279209469621278271521362926605738906687402483081311174393697115623964512654665296315142804778019292566612538289424365498226240913049546303842923613599734530215357386989888734093513086929761736133717111, 0], [6143644984847658165812139233834938623294548934001853230987935266002801906948793621986986594237590836517790801160661067203412394521236119770375762587610765494447371373895534856344353603600282546241558478375695739042812220430870417819474484747, 0], [3988274173184539930652462004672514313416277915834134177166103842506817401148332729850607408679157825225261975935948508514271476176308754683016228320745426094666290468665593855342617417000376734077256457060326384228501197024648945716514995616, 0], [4813000865067781538992840830433728647448089150380697698626251642408171596190376031800272237191318388386439119586210491838986508441079708822146766003760482393178201130286809030167621724183389510140140294778883564658384864038145069276536564136, 0], [631392602850712542326862674445324098590826188557553184487135982726951996181820216582890839751426371112308459965013117359897676342301431551173222350961556544929097766570315856360397177019076068278613819738586466830409221182238353167600467337, 0], [1728121950976130916102241389636933109008642738082427637283628665267474192684693499072099419030454181070469633349778587611481997542975874000325394449923498756467560317147148442637231146651970319070511827682611310722611588640807112127691548413, 1], [2909819314818730552453813724616736793471333399709050654659250109551736132691139177526018032983566973901764726391333388183957107417673302146180364839598669088712934354267894711286305125472209040195495619036453356164770750771259100483294944444, 1], [2836399887659107336637307482840845861177360447416954665286896075514106892550347113308179587129011069086663009969476362922483090302085394835586856815670654407184017803948155812908343745474742667000205960053047705164029165730533231968207943038, 1], [4216334574906246065083812307165153838740677779424588492686703324109715976787115407151597416410095339240581621146862078904879300076565600359918805680282474718247201965568075005507484003306778765021166025630199207718167985054241682781002579604, 0], [3293380641024188345537883257617181604976322908881158186485564895636378920884481467173818019285290773565503370941987476474924331535967214857923585812489064025882113716808095816992749848879889632545795770946098521344314390564193550216427492210, 0], [593833048682566621239086454226604108389107455534640049415534866859602985525539473783170516171001289115903910359887842002905073966892790071413122335443373397976702142353168014889279889205469264664041762292458078271970798704071708332430677772, 1], [309015677051211869310191199887179392288671216412875229996607018638954528678471162534304735245678895665652356023278132551203517040026656246216858703960602963539337800376423543278925385159955530297298925131328329962810068460551246038534272359, 1], [3234788874758027286740657277904951483180996273891928833017462786408997217206600834646513911697831284727205854539694859458144094063581411013314305460209366433679079782762609712871982047521689424783867223886946115730385086165510179696954238395, 0], [2887822462472669605985109928316005246061388150640966395086661991272456470323642117547954889530520640887774126814287345326390921673791521975348347365264917539182432376457626933183233757550354088463464231201622522371300201948922565655218517236, 0], [6232518103713123163792637550931795100031645571931196565859232878381426466058011133246354229399155092603739181858661208978902468574131822985830944911578604485454391829353131082065037523315606753040494313002831779360306353938159814175564702837, 0], [3007859460670423126928358104897677554790521145071591797183932935499983981781279096877036342656107031162813891330726809071740451658086820990214977743470698101601105182819868775040373392214612503114732496995718503544459447204762101106783453414, 0], [4277858312744155302073388923043646121347219020276288953288577839408568991157646180935088230278486370159785178012175017967603360565571148843433715808760351458302764379239153386657148085804751218840562818086268171920159496427287347584270686581, 0], [525233580443501516117487585685690503780053824849974746310936530787418063676686519542693692297456240637700774199787475424659952999008835107181611166876597392992369829156397923560958897010359016502014817751276904770163701272027158471653627886, 0], [4868628002077776215332050589827800629781626588743604907280804638575583853540462613873385231418698705928402629027931632423611927282591692061388136087551371927339043709756049731841022358021758074409990290444124183455079439222332753053808579308, 1], [5360608186412630308041278882245436268044364985225979130701167479683151598402011242206132740029831281845854552775469635650906922934973737430448265319066931046761626686581780867860784494185823892908675830941276974791757085238583871396365669946, 1], [3948391722112454775228681051056720676619234153797835562627748788751523472865122538306594983891367910162067220509948094252625340303811333025428427419291763271995504972224210716873536467576223649019499671400132721248221543101900715680330723028, 1], [2077711575263616015354987164186138839145125327588994301180826228343662745496616424779382239935790762718060346580176856416588462849241720846006858244365044924372068721154415756435512969246843573000662759101173687247204823659778176708200373206, 0], [5546996491857047065575657912208768025151830182241681899536598485911122330055391753030878316374672042196970646439027619844338270353405856517038082893309897425528139449384761252303207112093485685384666654853848882178289551672531608919578058857, 1], [4348786349196516635234161359601725657047263859838866362726923365349639213630999088835910943816695841481454900384099761226954591489755017008388659329067470115939062969370093212973891058471302082987074686028856294045061482319682170663151880086, 1], [3180475087580971301250032826587983625794066943419367466410899881613234075211657421921607417987286271540604638978705908040041547398380154404259977530537785022386019995147591119271382951216280343309002731341266636973788599513761514839789963645, 0], [3696327448388202128326593725746866213260290292466479856508263401801105524791736007830334438831900945042463635756668637691810501068186606348279560755128909837958220623974624517763657022665022621555816971920665025175462690804207600560168538420, 1], [4281934016067094040725011466701934975412810609471994986279169916660745136156384554414842579428107922773431081653810005633156191851783636897002509599394003237317231277499029194299533880819538952358838861651947051035938331079204309510778811993, 1], [6659713756788617623854681343972901891576105949537289634603021075917982273515551128339195222677150646195351888380886199177287079971455425714448898881047939591368219339647994717821635306389028695313365679902029237689325669725339976209791883214, 1], [3998910894218719131768005139694153507957379108749517222655174236953647250831089606849383888897220111755130465183548254531269681922275531724495970024717083205118652021553919473396910384904581109477932604912985927210342258942634210871774932764, 0], [166290496027520662129417121736817192901573910015489662699438281864645252125909749137773959554672574363266014305299198688911849083290810046505232733757950518102986563329584122750679728038775285117885163351458954163377903217363146108026044475, 0], [341627020672156331810450666268105182281267675596980465577495511155707964821605877060659449936617705719277955273347337854417553271334960729081573448611538629851363513926801689435658680211781682644496425873012936103046353187284378619953778177, 1], [6658042557817244588935299665574739846554335121480721897350509735403820391661222742981175254461410035707311469988722085475240868588899496496141679765825211951419166773150401118882511889270799735230333122426302610735608127087615162397591526838, 0], [5369389622085542798150691912647312263675600598281185339184673808288465267169234147742718307209619381401969765216277085274807892249826615493163500158530426367762323649181929298779866480233143712836781334132426655622620395097942520284670690400, 0], [1927141532066211306000134999012537228081509516067794928137159061705752295615001091703503440768473347759647398800653064532644330612398335372838923834955504184703193720965857767992208046461430507087630945092296597418091985903117407239273819886, 0], [4142223213350404933737920376447323148950595290939784464078442089857093288606389167191491643788964395992042700314762903942011286729755941265672108982784439037700844592423385790252315433848287399944889652871570434058973739636536837489566209819, 1], [4156338826082714326401453475582532990489190437441241374717768115259130223001928522489626527324866043723202531418090397391878435090242472559995678776872798324599778689399778528301665429865193506643354012174914130994906878663732958851777995781, 1], [4637994330880129002448621921659950927592970299864495348007776188009405056976457944547611980030703244033361573117720916216446335442124316476009197480887368791086113148749883089799405419884487580946286603772683034655411502828741439881564840797, 0], [2480514308185736962886588522842079209143723435068015669284572046638810953073372116348023986422205619664177955451570268328443910498272200970636916649134625085811494632180336932428838028301732301331994301917500642192520297380558858117583096396, 1], [602178541718723785703955883850196222316418251868697912835292738137440088499963667160309316637510918707816697856226519457964959407152162595979015306091423143321638395317868583008014400361241849252699136384135679093807915052907173105957313229, 1], [5308048550117032982659149712120680475335156317485353025163467903487781245292655097523352632320664878479845792835778354469150066430378144626978361766866121520958595852399576505178393075734124330700371524955972006168011516268934139259147319149, 0], [2714092855487536280421555338709693244179158673219784457674446601359116231652880256638405829829576817117647236225712038879238435934117738597936371527519952864357477948017168770749039936409914265918738702590276367705324491504348808952891165071, 1], [2537752032247275342942704049054100931544337105655140210795122027834447866833617500932967168310363234044468469719186022892835965673030407155374940612161723555981179087504337988062491991822689367895158785857545214569090786621345470467053420200, 0], [594406024305856433139828948871363361218929503924117004442148275580923718806447306627865228959243355439199817496574354556688184282637259610168970573207153859140863338972860129384751023338131741408668642661417921376770375299306066172169973580, 1], [4822004210073276138913896517315987149870924573534994776209169846416190748144515323759213945351892455019208360535647320535664281591505162502174111239352473602246431154511122104767229888184681078032181198622297590320575100713936760484362076403, 0], [2345482633414749426786821115009869959641368893543904216171630218783905625771028783615868520424084758573622383734007272804726308532355357926749888350290421507968603364790179950476744689838374033787812386248957143509024047314125824069562664096, 1], [2533136701050416454814346067298522153798964104268634255505866476740337218678825505962172817572182382098047713749402437857432939845715314399194328364581037560489428663632824492286553703641650112196384472975930753690545159138167276772242496412, 1], [4127126911260552590760442575407947922547059552708962579933149625564184094235004016790715487621881386215253699798398592365961798766637090005141111600956792707940386147081574362158182631663329733188768502263264612852934024811283545880587644884, 1], [4048653753842070768605695274986624738152603783088993649296076082720037338820677356584893945368597684432861977419173492861172835217450478428741252448603204300089050216449040910408349947638214679160874528840482076786545211391083354148885948469, 1], [2145153405019172456233596177986361276035973993463335792581306467353267853917283839398445183237845163035150356180604764840743920488734952007308061741648757295400454674381877635398341329814689718943687267238536218878335709114464856595304625148, 1], [4998098340960019194517761221339323583566478589826286768091697444425197129434379691910148717613359423026954812862766218606743423275074920267038282315589066756158868125027380008069852895587069505394147111475983290219036097089193059705674808392, 1], [4585360987623285283926312342415323732521730011773388774396036418234848329743291284861406779807697665498816868844585279060747761099871497595693604307562273132422237598911842916190278985343577451932842675113525406210335653862062615896552666285, 1], [5677564771453626546108095807873497719080494582575361628055305181550626694778038088060968150623228935351169097922499113092516594585652295911299648809061830340243236478923850435416507222181894370345030176721474952661116988499242876069435534343, 0], [5024666361870191049567407908108185703732178308438702691492536163421197439941956782549496140360092973047254268878288601537895833852143241642192200010987425044055729797173814962933402196927155155884566199703823494611853052125499307544420220546, 0], [6083991159181134659680280528073193187708991244253599853158196557167495832699435630994761502347749003799185192938714983948059585786157109849302136754970808540700429237213217768967135456944870166973206165806112810093489782683838782028830021686, 1], [915983664097357560980435004417795943042671117113690130975836462274957059134799677643122570193136689582057510338296560781592314196889801786705230843117841537493435084429210908658537793307027038121411518635773333142400584794952274330058588475, 1], [5954395591354405323252749795445131143756838537425474563638714217745951823087899648456255841984301113853107646423329104177789166793682669227531607266597779996397065055188981843608244386972749409663960929215461066526314050063275309344734916600, 1], [2856228220816604389056804635332182121935948143013494939408677004169475865588451006892184671404556501932062498692323792420907998284169671887235110444231550309057641545032827875274386522364736727449376202221210799731968827830662036720891441562, 1], [4432085024556167621879104847364286047772708155078447421062759805395729363916393335777731274148051752360548572177834742698576601683665509443907616956525562004750779304189124122622555161420567997863993660234039091362711359597186410780835409441, 1], [1004963418287586552197114532695042203039545307570838037749895192466065313904675577430190542879182343924075833896383447540532992769686432427181848307305135445064954922072549964337488084753542778112604418151593064613360816529024722167219576715, 0], [6276964429150300542406527664463327953794057575350811182405996948162362756181398929033806926345877677823439599311455543313824460807964397883382167184413592136781586583354245217744318797591309641699260593116653000218476914221583473558291146484, 1], [2966932946126905929633341905063627918436247508777466059503166759762141243936005839335838812265583224332747857946671235786593815493258531908014241843715523348782145911582539955789371622924426444106850057562423888595916726560703779014242785344, 0], [5276786421856416108304791565010243094008136811375300473686454322360127894932013916596142802958836315607530175945379222170000991557880499672311797205347832761237383919381904549632432620355954882835750308771344050818839863686953660176228813835, 0], [1232777092392898985186884624043305431140791898382591411864202578350201927442406179803458628568762538856041818968069915608528864233054711603662771749136353210880591596716645416892498061097220583677803596574210498313996703901416689634480962550, 0], [5733699264500243229853565114271121299204972733657968908794166278373719330713724228626081397414241197247704108023528072346725656517831887645737590715467372191274381824470571276097879672847732267826642683482433151490767226812569516553921641478, 0], [360529448128108936554600995630269398971081142054320329648039871592747632832619861456388213576619179182298333484420235544165847721488424549598517338177297745973983257653573523642546180057722400634182243641786869477801614825455957960463668521, 1], [250699051955734266920977158711566632378905976146690295095247421711344223242146590113646156744074055961344186440741189903643547295433878286144777083056404081105305708789462750724094917000505021415033833553065117070576284940993117507183912823, 0], [2490581145557666790647513810422325558120445244910165550958701258371688407981555181136828093707178178528232808628517784794970561973364960977363220160435216494199044889813449757320286600348673848679371053224994317625309803747945272227356365213, 1], [2147642125300493300015440619484535924727546009956608473175712350831254548951748558898585367560848939704380694092799569996654696083390533063103718935885489060847432538007770447710786803421446923863500753784759346446268512655029951804101098840, 1], [1615938728186802408334491410775933754356953908375989078897823268124242725569349350823249615140877207918034307618344722351951784829762602705181481661515288693790611927345318681576448768563593074189964278590594655043087596123225798278061327612, 1], [3157370795246206051955923721313487461891836945096543285436930471631655146302360511086608624615060502919108331654773238489740216962373636513163924743987729297224534608342622567506440322726683828762434798540844608752156420810335533242080437882, 0], [1807340587059456207360345064534804074414306717389809988524425676959596325461958100395011671921603765531715369189527009337420862366106274530050003510326493545617474484547000052729888771261085092467303138815811606102395435275569686648495427109, 0], [4834419545527083587641732652159163064088522891997315731500260265980815001036038778683110642633076484563293328056221252457421189202082797353699990936081135687223557041838244221011758173444809981913285540309471414228889160490417351704452025838, 1], [344738320324408503844148472408465593977493429599065835151732099939385914369075252127154106097466247054563765305817694438752217900719089174028233195133244801780384052140775543942360363264679895949858498675355504832656206799850968102813741051, 1], [2662953664521007985172636911317889357542412817525036805112111548483945867966456351459259085723745515989384866971772429097704793485761262792196218125803940066318935675309786113123454174299219064180983160861182477765693709642056532722908086120, 1], [2331490602989408027013258001411913312409343058429405594314808008651525469182765452881700299868302003603510781855063851053511306560515090050495247240214370930523204128950952316522806096068585159060859549700366105211419959232499018252665175241, 0], [3179516601314629773478338324700159554336616037846581684934811916531479644247791989846849400117909224183401951958903929947804175178500420271746978697026012898855914418006205840726996412671270563918190187527935307039349891286755909354938479425, 1], [4095948152133829512404131457736979908993736785921962462860233221513272391685932951392189419783024209714125823878225677092464548084449390530032932198938863013619705668191065438017880196733553449461613030460005251212718001963073066130250764015, 0], [6604877655511904010277188247563017858351669101993058734897523342406602687442532082744562952517518673395747524927816598791799450020368235607262681696077653489159271788499773232184805973651870369076718303028421596293049342246422586533781115436, 0], [6214433519309200938695710444493791017740835052190138240924068631262601768984031038050444845844991711200357011811256646313676679133516635753603135439555783787513803642357617488260508409052946277257067299212906570636359387842991265012688524797, 0], [2283848215168721638579985415360899790177632833538551215747117697923079391420860505649858656722832729080223809156741372190597057075017423423646147687419394607619131720428650283791838048150380910433382176428334220369236123018932826015876903600, 0], [1722771323569686707176917953355511397895980352430274658540785573399454592542875699240010594152105613517746647832538578642749585599754776608860130033891233142648701473092197897805613423280814555352614836015336428752964548722886693394102870713, 0], [1721548783570710227048476826146825501716880136751632191593364485428001577469263350950822519595663036308989676224346729841123085611363389858444856768947499352063878070327343212070817277417741552984832552835927855968697932400664126289304350013, 0], [1445825944524665779963163480954999456713880002077879668154089132043260924937547631354023487843461641524584534888063984939930909176660206711629591808601574416640333210328337423933151633246481361373543256524676622910077884399764958090615096856, 1], [5426634698512423060852337124311613978220255945203877106029980255122518364040972952021348921278070500539478219991848536542412374371252132532895518575626331871024205906145701583334139474948674344284152395854899139612719130533184775669776276892, 1], [4917155148382625247252187673664406995862678414423096898509124411903714362225603649972148360870599395249430758217832974451068570709066077032872389065744722083984340771456138546388969866773694681848246185364708349993270897402104989033162624087, 0], [5215565093586165054630930455618049804325446859502024938770396141508280091661320560385036705219705619695503181474786841942294083731721934939747049088624024695967052687494970564237526461319379211847041412274342536678429296698862802650198599634, 0], [6203231546677427122775542283891463772377765175967125302975197440949040615329837468811177041517108258270419871957606850089345850666438326351567513398552984030566693530874700295228147251642219804636080096576262930747119086446724479605356708074, 1], [338707518420507494861816234076191532638486605231262449156662228604222844268926126282030675183101613898186348154244699532893231757457463112493813991118964836144286490404981532824095869631889641638986215101530496278643710733396528439723208400, 1], [6622302320752228034497117639562728593104675164312401231180843567160623723979800352664550550093493517991388382891384672497157065670457756574464487877912212985854465638314980802285260226936191512342374889942790151886503142415698171317008766507, 1], [2496762312833231738955630685220196548910054890483659858490044510640401869824622762502646249179410581152880526622376316303651707336943811751876949597805361586176630355445847882553104719457078845638918799746190847064414594163248000459435710485, 0], [2908838694840997898621241779199179652636088852995967086029140333635103097691879744372471290249245114305382533380535417232156988757495747557297331359220361008938286470559623834468508047389398772419798953218699713521115678824110596064115901303, 1], [3186625943324215527683738923546304891342865690202638386016772138494562329650484876255651113261184851901805429276748484360191802109031419603266562336000221204488018016974040395085743135130503427893525664943953202632350127581001172154603619043, 1], [4589098573821194731954187924093841532951709387770978277091632388878812255231434703302401253298504277192500569298171855185906135983853300730587420174105392611465149939262818477547145372723573782524651920404963034216598126762302877457895207605, 0], [3111890818310810221064493911942047633093330178705315764117691769402720828657024221921531088852634565001073362224191493726747844703508610872462975444466992699042006422220113744184221421823043058012726682742446032701357076498901659405465857354, 0], [3033313974325914783608391688297146312639316459900110386113208747298195445259109451124060080854302386831056148484760486523947367730310118373407962259638120227590209729909631504783275544188458536374092377220284678916747556979303889730656220071, 0], [722665099484035119353621636201964156889869221906021471195103943141617159092500272391489883002645430814405466260489105901383684866747561584804829900390897363826646057647856739164279504652961614270426334290171367425413176908278606614411949643, 0], [6293102690584122345144385686726483240667349470070165321867931484753006960131291262327723737197080237580594524897631965362440234066105660631782991017697929375510928571599989762390157489605659468006791321246940403481286976691021160604237580084, 1], [5239506005943665246651412950558715959195162443356030651672505813314104477680121706539792755882326963685271625068635909789583377137533364948966760776772842163240804303352517159399504662836633797367685331062110655888497027787633102519342310495, 1], [2700555241002799777465597333676496996083231154617834434116207130235168467070753591311752178238576828542487703820189643478538667549384243590367601203977346517852169218966031784669246056449850753746313163611621480382980238134184244466821396204, 1], [854885700956834432161348408038621197849154173726884086055802938420848313352362298697505461205169679821102763003815960952436187072791862494718059290427749584363713911387248242984363386218780249826688907242878615135780738785192321544356547432, 0], [2027920406632356857913731139614538784941431180040415915489226185087494380820031725427586860761728799840786722385244694423221820603833863363096952000694539047049558612685571865042868444919368446163000548285065675816400634833450536654543429086, 0], [1643070079676983671842664944604784379691788515538421343866431445836930071147534721665515157427519235582711200261677391704698685326013424539557931089787937868031176551138191822902653235934257386644523638758717990300488488471234538914960070373, 1], [4199560033983090604993459612453957111977054325292637367204161968951639208473236739993974659181509773172664255440311648730962322585540282361559411119245260629805789725465020209029930085015991306211232480680042010040124925219012779973428412864, 1], [2439126583962852906490585566699570583290129333397045875640148854456687861977863835097550887511018791260942132952920687858053066371293936228469640898471552561980048199732000854041926406992870643682596166205786392964526364136532363379975372817, 0], [171864383244976570163727385723900222610084763451376854513095666410337914909982308863951337288578260137408592703667789485749242210397633852890886448100019057680496195299477302208456693294743201445441714532113092732757103471790450031728955817, 1], [3120943195855536227306148049295832566510009176138507910989478887740185133868674280652953134408945034644978829816089190443066470470097212719956625803584492553565161086830525052139247706755898547654103821217531216738006003276365128590014869572, 0], [3559790786163745232003724405264295075485385694356252590218569759046644680840028018433884814914464095683839033817895350977618689622598566070465744634975662928987925513155966719751025588336260022754780491431640026306083022729762240033415908281, 1], [1436222839024228097632985765334565408703985430337165151963744201712275718117786603498228370619225725868877823203303336812848235838053333133160173397268955616280198245005578212497999019587625788234251893378687749814787575791419270096687993459, 0], [733364188101230572105797308216191544750499513044819915269330486971675326977381404724884591644018312944706061928953005393800122447276456991172716418040598308607110711657321559671290635503241386903912923532263016192915824393923912823527157403, 0], [924202725270112578138414732741321938164885762077374730677952778340873796854010729747688966010547830073739147846991744212738028051503961504390356531781874076494605521664295184511262086099231040524979898452349899441552102025248531722202003674, 0], [2360796472103210111137262510898496488542474024216455616076720615022039206798915232663729176078489126475442599381343682095123697513870752059706456258764287854424441351830382804417354897257844741943936844738180618243624746173718333463562797761, 0], [3113882366097884293580547279136371366186632696250728999198578334474441581729333301128094109380561170421222204480401752658133708236094271829281135683076948723709214539887333673906203979952243864692573711121231083652920405234612399324792697650, 0], [375085828079020229960751242031190115517067870082511480739573305560955835185278163983843133612565794878563304118415885899898938778030534007981230818738148317977505651264323274635806253896238717483747204108018500116197896819618197359908751706, 0], [6385880684459692464171768366569414577110031701349289285396745150578219126693654742268116329789250065436672765807796552032841965911389536678815819128596051634468476991750400340001002706427052894857808455628445322368237320244324724371756547145, 1], [5107575494178454554916346622898149280255890088378424875644499519677113193553273351863906901683147883155872654656758937999992619068110106262468248805614076945478744994546815319457059421813503787058557264950697474371714729701483820885097297122, 0], [5059938146435033996980649525793357487713028526141819920398978754752860578330382372920705114200695160461727494426364958430316711048707577792398734504662319485482842998062521206516689433943032170807464676382284856401070242884351919707440351499, 1], [5317789945349209975485806025603743517378329687378878905054920669855576272126981068861021568534184525252385856798088290283063587140616911071845192551174778702838881621189665250899110040081378283266413492397211002493686185276798165831252378011, 0], [4158293498911725804807631542021950448090972162230087322811680524918700558520174257647901302402096199021619324416028442482186958003417423001051269262343299432121066313150626415425364980694814900194357790895169612670580895442723539700140619467, 1], [1587070294432284291232587057876465242076222011825458948692067572162746019193487987373895376453703525673348217704554461067930855153936228105859330339259815032442050589007840358392021852629674549506920999203996961965361169784713395978263640442, 0], [4243940100024345505782227945425928001083755452747569108359531900431250906634620168440599634326994354160826105321511164972815637310269495581772406654762859946194846835023222308276676042404573565462646905555644921158232590701310203505326493307, 1], [4968138588947006864062108827846386538689343877671772551771404987346384492642036971730962774895012605865352380080256633415615699866989984621813683919967492331303990746036067141520730812330898602682724043446893065483035415534180730322085703809, 1], [4576335234033607780384149740229125963877903140387411297915886853317072622214777534040021665496321757685094413244891928707042228838667675860752169453937431352843873728369357791362441290006235554242570542824239812064105384419755272509200923231, 1], [3338016803467409109429467245468977027283289510177379480394420768511931854339188999602419488224429779251145587937131751031277975501886993811080864241324820226036097676395986853226298688402009655282370481410132109735251797541307496731973350643, 1], [3390966380208258982756094915318551445970675568961452668457796973713115038790005944129722008276909755423919024514955669108836825101922739648429149219756633532266093656888753752284929441351843626597386293921040557286751715153028762629778304981, 1], [2607471228666265782384300694244224623955455149576635834309765854614286751492982477415588115817714324578302836230184667312185210680734974683866896634913675890587623355536425065935627299103312454927216939534871259542852420932151842231640894719, 1], [1197447118179382060929534024046345668774220725112784458528136035787405983864905449066918060141530118320786487985674184796860288663206135035342236257085587799952562223140480848413915492511709859265950650505471202823905017130169363514502773284, 1], [1785329170592663411286041131492480553952028370409298158446769649431403442875150216579579423483577654816620519884438302373987020186221100332157337580209162009819040644373309507185400068039799048582679959166811796043829492349940144185026086478, 0], [2905895071465822140899222984123545670183791406954975730607400782632811222440180084499120951622144255768164535691922994331958603425426300080401801126587990741933976448940036482160362305903645963853140222415618987538946418165221520220964900630, 0], [2635411627265701335942114596981216652149490720755204370074087556911535691447242653418199286080220641421953483356905894497985154410862068305909131819045036681660160160793428250675368443820085303323580606604242721397632080565076039512880874326, 0], [6439539251056876252803122772922089469789237898844207764251463125829502556452671106703983651678394223090208200688171406739155324956082813573490464137062726424592840796884055226793713668859149281973495746578657650078444058228089658205294501841, 0], [2014700773091861227068167567212372753994890329926231878569100075244420960544469984556032221277173967156593552541525590565127728027268596549608166194900694785033137437511819328573521194063724747858823635609780534791983629778445910242072632672, 1], [464894521058556487489442477343968350347434776344393011501528085015819966787372675076862757226547021859416165836277334106104716629250067893682231110892807997929226257646914331414734089801424985035344214573101880105480054871124537831488015529, 0], [6514017146600666799165398458115393100800387390460127493668887630290846188857978449756997040918382804426441639676975677922990532444099006194276231581319459077052973434692296777207094388260716909216534960726335796078849384235228489893929893709, 1], [2344362556320442942872193516447154562627742579678381050184392619139553501889648056985145691402841856756100039875298538682479420886530280218112190388354146323341606165985295967820822146716089129231686087268962903048906935406438780309458138947, 0], [1774948608739851028641781612542088831162946970590533964120103017542485663669212860982631527517896833384268602087705750405436660128020975559203644705552963929448231291365242699977403933589558561395360426060058099443472700674938786766468243200, 1], [5890792957433341844477815781045248510811359674096422403175718181624522795497536178606412846953688537188176300865517497642014446381183242242940573826744637336108205687648980659526964346169210377795756661674790673504027851986357305143474594373, 0], [1920611030511653304817894380304680256727025863609198669509133100336465129096841608364991128662176968143350945832193222972977897443923892716115810779181268793081298343695465975282647866611914779890103698786644738282160626639692712041136791199, 0], [5517112268392075280736178213401679239029623158858736357468675603443082549047496694892337967295404474620120767099797070162293339801507413502481719620053544944246596294509794332909666648440803828247726357467351561300164845158995723759224923534, 0], [1542740332637187467179299546694304196888804233583185756190704153969309421301115999729678179644008887315308714420788753230151077809749271013222002809302000819478858041062348239960686217924615416393649558932360082923620163739490327398491146557, 1], [4962289933979819307476046096325603424403122273528907804966302565155191367619749247234269305030243752623308029219762686628565303126285040112399109540281887903631949584086874148037434098670732195133803376075774806288812456226473765834605027287, 0], [2238030045493687002419047434364828477747131870412483050808752473892268104675219301932625770940497206727352125080195898080845127372610149909023140869094380751344529216630505403933961315478760919646895270862745703730233764316414417263791893251, 1], [1956821509028935976678810569122871814812838485641332027979559864976449994316644905703892884994878960113251819359660164144840323957962900293833800042236466848781229032285456468728231592191743941458433335581607376260870686045752611418954941082, 0], [3814231786678033512944418980657889427115571037154478712665475336224239519885709654414151557596387393436101288987894921525015462482928622669477746399423542850697161998096680934785101215168098008446290520482938804536445927897022255468322920034, 0], [5838748456507925208765043387316519715677233258742248212664290809837097599906546736976877447863161009038105335705669473205513829506126011739428063009828632169408145320327284464904544751663828457976888317952882529802483718732514000304989888745, 1], [4387738805389996322138791596229920567228880138323412282661384343015556421812243617994662747347171489376542529953963372249007217163097891557725845805146823739881365755017091351270086938365780074172675129449000296790689710046906902434645543374, 1], [5086372833335919444710118170341966118480904855185779284745847842800849062144154242120968775869861902362947407945884503715454827646683631471470611187476614062282500217567537421174380300412074141595020841935272217661278563354885173595881237916, 0], [5870854694231362980187256359710080336446889178787650153000134623652692399923432995084132280456800585023387070966311692428931418129161569808994099306670825923938348704887841047627734153929394546048448585738742605993219685910492395028681951881, 0], [6239635335591946017445813554470548189192950923630602289316210482324269805636474897991800496675885989959283672700439580549448047736005909407573649276798002527640080658519101166131390295696902537282650543577569137638542313347598689022784262457, 1], [3641803030899100032968706730659789292144663942525851203772572159713163590852422565802942613730563049962289406093163515434706286552149924715028161537932687020272070941540657220333954364788728177101927165857912566126307239505643564449598747423, 1], [3188166199335150420140525707039457816236566619633603534527840924800137072487693489173500543992878251397750372298507381610446798149158183502279884459312054209709971811171977577682822335384138649265696748737618075438018585456808707115551640416, 0], [1593036233327203885767222832892141247183220579591688422205114453418925880523835814275081943413018403385722860615311453592676118721979810166976281243604714657460429356864920221698791936136448672524196312156926991653184731437568867544270468077, 0], [6652488752678149313506754900986992601139309493557256237279038090118990565968210352142397009953491978935760033843704734145291953641816559717735929459729422908514521262455861813645899786909803032023273523466344380528413861984175278777453006761, 1], [277331390129218292783006815809252067104238463519270235783842490527532897069478240406497801452608806430117050761442429808216228601645290090591609931884709718687184636000188766363239524529774032550759969063701523768230395972555348740408848499, 0], [1930335897780120349057062383283926413179122035879899151694653533470459931582783297057415217803306399709621353656788778135786773569842322374355226861586405895032505450351283904369603727899451700653557569159235112655310276467847187100162366873, 0], [4252271195871864732800531310098923639802978484212390507794962200289952738289411195852265784929136631749271952018840992602330467476308996608453803973208826520012003088808377633560363181900231765407836762291135183615050711212817038822217893628, 0], [5156848360587775225742896855912256749554010462142572555219483332836725116437119747115107655587847543879142662534705131027014896995670988478694018119897274169240278732827520108311114679432572193149073451227083529501239414162820761124641353024, 1], [6048452980312117607844149430322146123626333089109229490448055045205292875703342251992918317162674700647204742210310452602299466522736241025805323862823761575706712814496803083584832107113295464695651608901741222047907058298094210929427972589, 1], [1212351370168991415493484798746336529929566363314948087374953235816144844445441010650228445103183902713638775955056930568472097953213406520947079487423656795530390221460420854923257984310987701734848180501416876647237706386816064542268628391, 0], [5275568586534781817103282600194074201423883378891411330157452106475874047686368505860755374442313859306703820042721009861488314805913247992362424528570918199920907155983838436259422179373708755899054340068668938457437782453441476941482294646, 1], [4938647748987278880063119445522402651850085026518218308591114420976600809137024117490601204540661962994914326710994081576469056735489974094611039328788162868812552053460024557708905568509189002391286655008771561724077013364977610613460173626, 1], [809381459939806661745774850593140194870814077165389744310448832255769230626176504341645613052869180618608421286491469988381753008018128175738620191687105096093878367340230775514828528014427158847289216173046572187490910024522778757063806308, 0], [1287234479911422244167557057658358121098932967097758900106481619713714515876325978742664913973025406554632639173901671557105930021770834370613454887711953715743670749411539687467335724353099786942706102381201977592941747597760265446020588165, 0], [2495193199977587128058351035210478834325989517752555434082539638135760788080070554866054316124168807844337477024435935318969789047870082640487436200510656460255627519705340716245619679291553373198824894439390946627319725591684784992419788879, 0], [679105597829207407574157116636759834649870455169461673941669320457303255882877973160502082219450296035249089992777460609327675041975332775855514252955639058089207733676577022788211397130032936467859129937671504821429923859700519874046569565, 1], [5043223364892274200016738227650765462958682222190259437533171395078213342244705130265317960004064409296599517931590429959741103720079920336475260100972303157437796462029110851864614616104195182805605409946158644007683166759756876899689631962, 0], [686014175442969822497882916489013448167275456920505586069466191807568261024241914830839141592722869572423918479226269743440715184925496117465522459155173308764995051974323671402231389598058567576791633137538003768662457594476686389022870800, 0], [6050941627285682443685657431345167814456960831632134378546551996789690341006821712856627340204828812067440133120983073482055521781417605916660225688197528724510572890605808210884915916903557176495737635320867472437374209079270720567337924643, 1], [4364352217486564063596483852000165445220262924042915128846527298157789232718761510294539924909540205865361511407619424159880611600322405113840843389438847247773431862994434192823955391976074367909831336536069131051331090370545844882159093915, 0], [6071672947665066480588000198165013411631254412118816771635032282056164673254741379615358979465358650468433057174373358560072680195186207869044519721477615892102029198263628699131168347390644851454580078048623558789246135856421795643196189970, 1], [6489668239043058636577884674639577560044019776581441363747360675814718411932658370217742847162901694380879430578660791909268853846620322057489506160100411992429236076149622610161576328901001003469203575347286539184024318640379870295751379828, 0], [4980208914639575496100368045030664209852646827366634860736092308877601529937639218651485408214264563944550329485227848561066767576044630354467650729736174586703998931893735788323140471297125115614929963388240949583007554306707210799772298225, 1], [1159812764806716348897812484120639662430984076442688693181688807407973557659965480085437151427331311058165174920274268248302073045394290469933212021027353161254373459694214168386905705560650230470632175353100946965781493494333214123934747967, 1], [1142674855893699014680263881355375123449678996232374454656474165193708796695566549320906964901878693604347756156759080574470116686855130305584169029905571148304136164673771547598997982930330013618947241269341710893999766856238426797392391001, 0], [2392712460101543461607760564244083202503027983335959871225531293585845499476876539776502223449942687430154615626627874901607738115046867189145229326881347153083059742145270375168970515421485994283090558291174673611487375059488683523947133066, 1], [639961660616057797393277534802541927550720253994872070687625055521509878327820736657737093319312866021800081713372324277165117995644522788327395216273449768733775728373337223417302315447083271535653120706421063519277789403886389316798306281, 1], [3588446017342336870407505896181125394273441192618035642622756665999430748992151247627253802945716449290964516816869079105955254989799306491054949446983391389722394793873743407755329628998039351041573459080850205632706176552931768132863246119, 1], [4864700619584611796834750130275385226050065008191463992546220962358377615652148576039111141233762758517954547670141351156322017933057824462802705650532413562612916699188396721186814023218986567127731543018986503406791047178740058123837660553, 1], [5145547509961157670207496961796963060223852743135400503914376413151688568224702499753898596958898075148659440286579927904662691696608950802843593067295923698411759280490064005234477518065542747062016177886498481059440563724095734461451186957, 0], [6552182309737981946833192131207876242524352544428531282435890873455430227752363457007256803420764259577180349314394924311189820049397578842100627947216256310364923802381601122818170466569301799815935344941931602713729397949682478316073947117, 0], [4374465065407529990299331073868641490332829454689339145149308065364381411437949110989540547344196517245712178669380394793065831697316407256042493188107401883601232740931124569532713615883393367974343082190042386550850451992172255568683715645, 1], [6269725417412106627651130410496840457884243353870335113504259341382739762605828682492503763405763925121159195062025286125470869766153719312610069654517482840294215076168142814384976473823777793048820472609688345712627785181313590663277839176, 0], [1949805945680855797845760467370854327089423352861229078046944970219035673248203045841467663574939772433072477212625114940820327096907498421604702324928152011923662514899280921502042053883250042045053523484991309511408287620282811846425598926, 0], [4746191183306050120021161293227390011176540691501240072671689631308415667297233427584376084532179826820919400424167421468382415324591835753155465502815222939956119882341609671205037550153790606997894371177171975078141701687748454564713631841, 0], [5235257732146859127246476475955165495089309577099732042637635538538432352485807718786805371368013625352706768692820877786661194060990749777745264527514698271899733061938902128933702457453186958117528593913641559620428516118906369703386785766, 1], [6149938968619986406833534492206891408537938761388100524694497340345035487451796483562466661373051695787617242784870802556953348112154828704527012354736027021642843999915387415286532735782210641450344735475931378616387725846312915280798775471, 1], [1984392030920725347984571948161916734219256248413453080235946394876817548024047628747156969883948771511971300696357445637174905664124496674025354924453057854990786755490470729180626373323534435235043213316255165832598830042370394243521165215, 1], [1500689873902689117597508257051432383064399703131112203104065941451224423724191938727462385551566968878414690422141152559135296933618559326094144800637509150911287068635307428205079283461035163172265130990722825117814948631168273671928735712, 0], [2087410287948158066246733393179063863439894943104013826231497898216553050973535892244320656241612371940437839506465145169222272809453474239496582705746434030755646445889927324218716333860826874653676933659876765716372585700199651177839863041, 1], [2974366121300121698421274099080294750118001541684559747680932858933665235854870438490054117007133895009810739817273477771649543892733333509063211625291177047891837692790098179839399180323381717367829640715995356803262085494399261274067885690, 0], [5078188978272081137325700243100937132500178365963282829214842183674464103633710642780088434679796500440382026875811705772970929475425843665228115015494083305161921179537909129443363013285272014772624911150241280873084736731088494842173929795, 0], [170875815426267842981503746577264441192093961266047835345078744730245591664280314454941852761958733847550820037612155106598480542729890468882080846934575234105775191650436752319917506496642808900191652113466072980900522788795646968598812690, 1], [5955319285473028345217747936891354152887172276648274535371723414463795438705802671966666904624846531036756354529722845608199822198616812501068504844656824445410267302233664718577032119410975804829955677871558424216370334029597981222995713693, 1], [5200246418604171101140395399537358620038490798000221792959984986068193643336177792079829241940573271185466649645939619280922922058665833819616628976813234831459634711563016451184334200672065809747691469382873362083627153196992163691867803317, 0], [4177354736464981676079232143449982155698239637992416570739674281412405478843906003657893132795949460271782461869272776323011951341579855281208440341125019128915306681893642081646759964064875802913196383684166611173181969965499392062633332757, 0], [3152204670389686908476439098555370913637943096867825388813423098056710973280559537209487520080558081363005123642542652420566192516883152352902423366232011605202721712253930817970876808366745066653201537475396261061222849870337563087182832999, 1], [4658616779194453456253234502489019707096214966478052430878935412697213506755246069083784861727093124626572827618597436176028089739578493043435196709428096629938046828171581985610929012886737154659962223704261770968610649690453664464449099756, 0], [1465758135845862999743663003549649686360412577422999618415824592982503660840981403260091440227996694141608506758412492195209836181887636437433683108995118738648026525468702688344570159800034580161983334152496002394644970918844281293076748243, 0], [2085342743422759222662912250990093174367212604010087119401935227332141145452083299885493644494324338373157070172495103815235216889234042612483051655196739760170821600917912346235679267806344248289522026049812663387076344343274124068557599094, 0], [853129795811178302237810022691298466692607050601550130473323087529761947262504111059552177403587993881939094263420717552029176111328535702788663265112183467395164386429622335902398275464336338975427708008384644417675032185133208627366292919, 0], [2081561785011793675995966146880987873580526955172354369634416464845198070348659678303652524761968507788773570703776326274387489733389013720390972097320228291018812911875618870034022419476257637819545675237087086452031792592510534761630116453, 1], [1434221484953198666357619814039334313354897296339325705473958913908309811429317656945319902948992078021027628311998398356853836596240628814243698565089480229219051602893655843061148089948546417697999803935454529464467563713505674099817090707, 1], [682934620381406889065768296818758882000991371428645030142260397566889163422312660255551362367334020654865591110542555060667411593208865617053859883025695998234758423022439002622159591396237348846918469428976197065143184017618603043655183919, 1], [2649263281500495095795429214682940693844392547108416725795793675947421042155176125645340270358464305900538517095873313054339898196777394347825959850114106709608276133906970839213416217963018158797149908377936018525010927012437316438294015824, 0], [5486443017649536774542424628583597971080242059617136413878202639045024734475451123932163952794464297163607161024236311433074810553937018635510177263067521900963331069706814392638663527499990833912751968270737199975318312825771813844599426244, 1], [2965552176369587288754694117006757420249960587352512933769193334891104737255824788093036159647776695394665237725067554934417005269526201326966922927218575311244468227270264709319742442680274555366056962908460088301475554140760772743110441135, 0], [5674688055713909969904367901007087672617636857760200010724305746565293267205747042889098650429288817200804130395632766956471804773276055786989769723511339020983229459909154190571113277271418929210135747610250910073718246325466464839178359009, 1], [2491048395182215611369110935219625456581547607512638498495999523033470072337227884433439704808422650979078708899950236134341978867915570469056695613120833162252169252008606213501330414524969372301626003971289429108362794611346629395434508638, 1], [5612833524632819942441128615971833948182476980859523577373884649479040208528091859997874727353140710219582276604277554941982840641709516548480895323078555499461232271441213099177719981763995179609158470566219594692588205979251354273419503744, 1], [3713964471311882505315153462801190000090620201030138994191059176303597784963667295002169121367725603866472180725311085508275648651250624993274402065549413033404584969426705284848559208416174374143984724729884366478715166131697678374358933802, 1], [5665486549303261063033150450689806911959789931422565763651187329082515308368455826578322879708574626629080744580352421376467852232549634666043023011936406859635939835784368274560199664758694913820193378051639852595135399722090861542423890879, 0], [6031881606407729253740339325852925918672591979588915994364004662160895269240050349824668335085004048077907147851919324399044239981171585406691312415921372864372639247180135816286289189784628808019445127207856573222352236439294513391205064127, 1], [2923285901530106306633877301408523527264307629194572047580709084664192606081717058177005362129129133931337465583738205925416833421344922532195137749821326533365372712181672847383535785096492745505227295639105698084933022416696327856493108444, 1], [3068754531250131824680568163277528062973458928453055600550671655449411377679861897520892388713691194027572758425754441875048906248352190153911063992592992161809687481978146046340390126865578440853874157463009730062309845758283303942228250831, 0], [2180281031021283740354836814603443156135718696216592889213363414591602048933214587557455090620534766750749619699860295150372644291395511143391840664763662965179121811436081742265787893836586211419063181543719054573182354017039690987111537164, 1], [5665846998724194324785505280223881779717916783544186102755981898320885021776628802059952412341746232439475249157647028884829522403500158941466165807642992997104210296182944197864857039094095365154974158364466128483772810936468768752218893198, 0], [2344563739685179759011204312226611601088317805074365479083630756825755435109533090807585588179408014709477255084647195594154909879992045883273038407988541069594451034078089153946759413327229063223647443610606291892270875144260161167681103994, 0], [359007457654678102504936474836444482999799476491314309410986659417008422722298401851232651445260194397296455604054805621709632998949738453679789714057209556083508585643576843717400630405933262749928339197543838032904967566628220843047749246, 0], [2598403524463075845596410300478708730876554222821086972010457428374596341301916389242831971558989285172263534257894349035623761427732015950132216651938866986523114417468845996364504290386176664974185168694220581266713514353784001595316482447, 1], [5338027723917328200502487456182802898061454571792238291180429263158440840842787462236688245696368111661480694347806191430181667086958269890080292389063200264655662320862636742086933566575484115575803034946267587581227731704398551222735183740, 0], [4609874072003719956636617148077282118011233615134821993610053020269309352195656499085562319399691881350739356123364287854174132019260840764929598812710744473654383956730108650397378067128122551142393195046241254943069044007769051790750164545, 1], [3719501345701032319460579964936119317199178383728880191695373885462543800492027394962145420870124723874562763704993684396773037546823694599453482456473648293581719007113266928071642875666733715536753187212440760198017203650223513721574633963, 1], [6217699999811511269414023898641045909688638028667369473932803326554028720448586369910297402811929154619297554689666475269639014489752293383999530359502441964419730543542672566459325616184217021806682127875985343199942171063448680965089389689, 1], [3269982591391843772453214244488775134716492637411994070558729404424515898103142737680652011098801907106032905061487721286751263516046800872971462546631320629916660727889989790692030734361560295638038072313723737479538863733151233897230167625, 0], [3324808904937497217438214517278884963895222622075042575335449198938135462769982527045345452099550888358340160643843187777928937788813356581085743348858903189457645926265593701583337588724990395402776125415683658745264368568485420596559091813, 0], [1436396886336840471216524137651426200194962016267304772098583732788417422016687882377128481363665961229868054369895325819899846331148853080037774700906264966932190976632070281579708366387910919823841326113660826035113259259793814680182280333, 1], [3808804654718503994049051997612546017630964663963660016753541063131511129589883223739838855793894296698176555435921004515533367297365557996576011928501904726277812463940889657357669239527457888935723519367151985017652963176208467017556226599, 1], [306192471732825698265305652917795997217245612359821407444127559575030487358401970020216367192829175947698357896958111646596479541100937754154830506154545911950055949776276390506312069901643378617449569641683116834143090072165971436542500868, 1], [6569709191989519577909886990812792562935936651309916576326855371415980418154369633720493045472934852673828437430344305880583669609806852367556081743271844692977720790718574194146326976906868194341723786701167180504355588182595714877712738272, 0], [4836760760703164536833302190887049791282220202904477815428552724061197900994083431982520359553448506558689643856728824464160373735922213111357979190409871867231008394995931282447172015740629350075063747963762572934992058582494286225053599055, 0], [3234019381016764333926695167745713010687935645355968295519859930368763068420068827793125115553832335296413175122943832744216614709229272746918758410000564043282319172385394289683796688683376811992029381646642890154062452338926596573775078828, 1], [5040541644447702529641122596588017384122372424006171834428035957527187739340144529903373044039183932778575294767302663107292751379594763876020433876146304577717974223197693646154520001898512130382465147598368277563208662421043138559611502837, 1], [4443860454162469714348554011558178770074221649055498210150654921793569933252548916388878270689602894265708064814194382014903762355098226860852618969181394054318312257551653075552598968668021562938713259610964768243713144137310901813452375633, 0], [4918231581755658243021642330459849476844772335340435031682539311881488934880091768797633024858857472746858270542712923933856615433817172496529847761786854506126980368995064669878487133718644627407097648782870036121802849372608203408433793993, 1], [4980968194177848526228260996768423064638335168747060481199768526807733103604723814909450831595403907286993507053297289980300247355935420718289568368012712477229368834021165391022956020910318488600025928204108825906978667385525708240349697528, 0], [4885808548140035023822855706276373748910375639963721245029584941903422772846961840411219667809612296179914334934664651886322910597904192883558824474568752545487881846290831791326951092388788828529239965784398113413500758147444495736770715491, 0], [3686764501202158563486063621287358358820743767235852072849975801743857160799344152053345187410620229726859553960055323958731926543269581224375558624402438630721133003915917438296089829599276605945969414708743813801852740409203283422405522820, 1], [538144832581024829588006829160485571996503509612759777298053721731504784599864362827989009198970849355268247253204581817406630455080972558576206304802110926878339007842587108025707505889335028474207131212120732023819377293001178380469084187, 1], [5600449237018195622036313329717534452594922608033142544451367818656260281443739801845495017267348383947580472109250299962975804665606525594039227034120848667358613537086338732865028635936728141410725893362697606649889541578870858795687770155, 1], [747701735428577032497425276810513402392029778073981506481734422773164470362262624449942763004094673019553858727752555598433285964888247607145942907986968693173266523109001700477582320325866083659152734992744710539564242247081698635891798626, 0], [389027769674591482282409743374923587816692490649468846936272425207663744740651522285704159687637742746693070338948520711706010947009297170665856762705201673070990898546769066566195208352404949620053157214316226264898648995217266325683633419, 0], [6554223166405972636456223034091436682956323479951530143266906214254265221816564786259288783829335709422648705052136663241530891571093164370330905646904329919256231160529900042095436595453917665352679724461944562445946462640996422114702524798, 0], [160675547087074668422215565142199333209382457204945172717290931842150231641745321338591096687162915915256459657615878541472648656395388413641291476696737029007004918873519055739989099196511812640643661032460155537464229997416951486519123650, 1], [3328574429953441642035400086231167841483644910165242296081027098468870764239919557555225875353498864754419677699476233021401081785847571421542138834117192085081460950640671278855097228593540775419844050065349105718476543087208069095409649148, 0], [1680395777136086605272524758377625850705443372653078219659540711734928131182733089363472259598029250014765190351601130767270884025515793504862488331566180851412339013573273836219024574845959825236404207815513780390013399104240775013773334562, 0], [93300793650409574359547345178498016934285964718438462841319553836789136991060490867772996251098096095853173324041022923377834033369269748845884911808644336159353120478437324237284786037362976471623973505323190215663451394570499549210156462, 1], [4668416164299594722799671810478616413238528908310811096378457580827285508458257034944063626630446857474501346757858913513963398797788610420212983288685004832936699498328059266402938341632569670520374726291722459015350754456915171373056283533, 1], [2758934878863109613425289645071067149276262814799489657615678979654124365621721392912072477274714679935366696523520891325751751675843374151934560535398769783058452559332579444797824957028341247491979214454317891839021342309014185403797339810, 1], [4798763329535100654016811101877514365374654317511315069550779215197752800531095422546352908938955294753834988740345201227953936049862180054669021266146895112795709757865774651160167400394309055341969783479938330954327652359817731360807115841, 0], [3106389326682973937894622970755546473747732752958979702666603478552252057939604324014054010907000049729028051412825188857437281248092425509267816436402396807745928729139761457089626926990774344622182633403123786271298463754196788857814340973, 0], [3935154531730314306668486507544758531510526066308515947922183388848183531652332054020240205294227071500545444112226778250404561041775677058887480964651313820036428128658523823090054726005240589956741269483460473410482930571376396165149933630, 0], [3734390976724794000529170467407963184268650365018150101959677936236327473757248961467408379626312575901851477819132048177530236639595057443826301655625988882044053051131204164233824950627443396917801800494061662353123743581053437264336712819, 0], [2617251604153146922356291108326302567370154853147508254793762086940826098476284307733117569867038533130353098088028963716700813779791979150237329510458118196083956847046542466800504762236275082256701255965256349094533593247092034081151269798, 0], [1959621402882154680391383022997625729066990287937022623806319097356723531589663206683803583193269152762063358694091570115458954075172820459900726906635647096361865076380679702031807535177810510095105324150804959398224756163650385252306047026, 1], [5523859205402063857275185513611725318349496639127221065992571548400144270182805609768676849270323027854058251892764179704461047740742361292294890783737019535710712423657453256015322188568356643849052339491974046621009981150386487361635625303, 0], [666688780311059972044077170175680489779188827006792383655699676561793676809190061520665023483603278558876269431001610033880116606510481653883310481687743918383058385585495470003853145819031161198241473274076776560592679693150959574960344298, 1], [172299802168639788056836109506755436225813389156010265067316250066911509434508145651966538718500352510248411102831725206038897309027137361620229856468249947672886266553090414012792139183703601137571477991908549261507533072931499889679403324, 0], [721480376199867653442828821308944128020462014109617448409911905711555926012925490526150880416447454391073209599882201151621313973874000628382977331345650891083862860415961082662550065930309195729596663947103052031209581614725031674961572802, 0], [1272485241791197843961885872780469432091158951873333507377235544957979206918350352426846067620528503313418428651222151686364791471180307162325268592375163737328048512279948178294979909062791843952100322685934282471212494795090262367169100318, 0], [3637136555594462337211178288329036288668081797013206791703385128132670987978877067688298239010966385914476077419917449576147219590763379512832747379048900159907094215375336082513438688408954057966752230564500349032236634665633240102933581376, 1], [4603682101133850464607362624740740242226852037199440467047526729609018657593867579354337944911985722311400237099086268758420670222865022189839217033808441019387588488894363931379798673094982984381882159372605664205561277689438440704869775927, 1], [5709673596974038278841772455154621618860524794814269716929631229081192419671933599066115330034405309897952653643051164936857409884964913954425126145348107763849358331236434752946830477068600968927263744200451448108311006796086695360387217596, 0], [907063452927630748151267391925458972366091879335136946440364917960587697087385107588393862363506439953505807781005972199249003716744244890317509708264762192549419566077484875500323376762150995393931593030466982653078680211936570920953526509, 0], [6244345617624197604807775621698260683807681418621785924178169066733886247711891461443536384055524560406634469260146645539120871509950701745347399211061567983728391103910149019081815273927681311496126556577042715957178540407511134126180685491, 0], [2794084967657169324237881812386657551961414104538623445268847882655941728165842408385546986519360822928058777262160554502022577959746499237375660006772137527460189733641811895254985936572243619984058657457614737945866080726302430524990623140, 0], [435229398601303702476480513008438925164623412401842691389157956712143543248607279943251011860730622321033571442433974189671773387734351586619711327429553113528338290282512293598999975278197638742208351550035046378157705325224920552518349105, 0], [245923240614611820068106424332178019991464553315534662953423465630781492547973045422298725708157665166505309605700549167707337129179627355567366765397217745175473128123525973232698275381318737070328951003841744493751745631992000115103447627, 0], [4209671307964189781923049389262489157677371194432326743978781464004099230320807230441209470665558620418571489586372002845044803598043418754473932153450059307212600944493644177751429978777316527064255399344400050068030253788224796692872826772, 0], [2679664387861772523928945086129871774000290566933166565508170295119227714196634611631426494800993791271280229517537987873821400544760455358447477560196800318747279640713507225927561709697190536995020951984557755066653752238247806129130817661, 0], [5328297767469743981636340382428265684570224575082987033295646829106440175695391036193318145861918308878082872949895913268300305909569391941920793349026182113499484402923477038445671945124309605528112951784405918819911749264199516628325461201, 0], [4266214164482773455360209203177434314083224052204000536739219619895338130932846877984357022170953450473820944549419203368534766117958135395606575257370449142031643032511682413105450811962831922638533488906144373068305518185184291448406219272, 0], [1441449802538559452721334272272633044809160099279092337594212631683983650242082191916852198087363745120132449855061503822118682592321829942242102941637010530993801764032046759262282301955158207689353663173350168586027615623998044067966091330, 0], [5643302619980298025613776570374684296437485479328843867264875182360955406514631143134779174739025069003797019549785577837998838563477704008341692330299589967310445905580737029692029848182755330319136444531357201660537610434984058822441268132, 0], [3664603661280965316545903923326057179888408362275462225177709008800978220221032510112520140366857179131348121821877725087586939224187776412144459089493978398188125673552162162804625010276191335496554051986503093768077314790895439722084472513, 1], [469062769945073796354932839373804331635308572829689470240380381032599370166545238800229136608451161052187887296257993795767552638954093410893221366005305386712456149492122022685938385164474013741896603645568620149099622944639668928832167585, 1], [3057100640121529533619659291557941294721990703026144114419118552269456319929066334026925544340973735089696777477194360511104508431086299731320202594561841129294847471061002888933216419920035969372746613001160208625288283343937058543273329899, 0], [3130197545781349668384029546314247145337307810911186546467832948761365669218498064705624343326671828657706705352831897646548990012448491128054230769948657000119643025919210615811596691437263200613730906308805987884691501269333037318291398048, 0], [4630637215086698097047039297409299272081130727958250870048447480723065928256183100563870810706252850180574981722640855722246926444272514624091707629647052033470509022119892645739690590554582175629647436976156464101583484738852476272083733717, 1], [4475643378715167489009583070774979756996327974495073585356695567777380071669929612880133506890644413147565513485425799502915768591217949543832631420575337177694802931640052297393705027012590333504806061331495399711857130947951367050463223410, 1], [2496623351047545390450523231545029665620463403292362932379449470785199685590876878196266548076173259079936493901552113640791172910441117542493489346089252252180141430778492183603341907520650850734436241403727490803636682172438270737665348803, 0], [1238749861050786520749136703353669003192773165568983937757641043282984829116511135402594416090826605251579401605321971498339370590611354818103473715620841156121317362748760656817135592599355929784597272383974743546301559689743972114302252091, 0], [1400477705794441150633397842771879801015870579328812380809049279126765894790280349180042582181410386289310618045899882664850317800008515707220605822688728282623085231245167640027359337456401304414904703490117475950798604215254168065669128122, 1], [2856291421578040716664867010818152677258763505588197020765515386414937681846684274134945556033801393556683724535830766424953633742986883138746941460815096094272025627277589421691699100242344673306430937383376443445622388720035928793473804262, 1], [6390437011865289919035020567040894287995611787531589288640293357399538972613421070704420949923929508483433277498353272754683300819646472928547826456494498571468860410887509655321235643208497770019894036118139899548399030196819644136819682409, 0], [5777193863641118900599260803716506189021807891665789562254318195220596762938695970448427725926544698293871290934206325988576588704274184004505873107147100248082522974959134519961649390876329255962756145881432421299035737317473260669990159025, 1], [421044832697355425031140718894704353833380325698655777983268381869579536090561059253734068094175146425040324247136589167054430768716753984667304621084097077622485163282765505665503109231811804088386884116124786307715807402224781651222354524, 1], [2153402017132486904405880974012763450081754292152534962902336103305555248644920349377211466435522910789160818982666577522696999098471739198762967496896299191670886571585714758872201806843281390786308265609876667311290312252626094800649107293, 0], [399379618915055600461868712382482218121403967247193764400011747708301408849157153823951668767291100121411654830231288508261095506574939188541836133522687221962638639377470116558189003755287108342564267575518979018974378481209568869068251872, 1], [3906280160740978647125165230507005001290901429893262949732877318586596178194551543766311934082232653294183061662369488905244229305520461742178375635568824406838412737809175864059888516100899200218572537469601717092732301235867541881437959555, 0], [4266142807921543326791287233662346405273667149351660479416355731316174193990744511621991853664835088393477375043985752847730364225820598230526620721871683201682707538636156244293449136085848826752068618475173683345722570473329515577819987890, 0], [2478836824298325860316734612749210649270266667915613328288223351464649897235246018623818307770054855093021828364165962322802314053524681710953856591470219176805635278761613137703985826226363208267754010976295472770041044893357496236906948112, 0], [4512309298955528688310460319441662587180061496235493387728111175540917355804285820607021738543402373908731492673355255052155362176003303009733903371641872338445195072684053495929914140955847242502304125097867929960169902464404706797149622446, 1], [4207216487457364130564805756894979077076353231329666664342753266250362668647455756057107542279331687934295548166831055352183683464110944847899151502123009884083479761784063382483031303223774320726547063436869162656588629508478868856359720910, 0], [6233497582977948345986126779718098774328159680107698806232912546617453245335643377843287892484932291953895403994894396526857977045801399744187917483031270055149409570578679926185741145639710347818584418802834594549329236570418081865349657171, 1], [4891305469653807070974035898195087562843533767463973421234393227790434049042583704728045820506880887479836669054709269319796327935766499640588516825327320195736764472294531710115764866346155670804271337236969772601707583600062158234466061041, 0], [4221057307360015072211153874189634762723353125451783680515716304271371969663429750674898605176016732074253777836795939158136474539946117048726444054273609958289727559152360269077919260213968376225546023094555090525435140150299563281206001128, 0], [1909231035875734385637834727112710112615814419949530482784448428182020454088688089464186198029106479821074236247573033142399471179945921637684621890402901540293759845150319082922361910346941648639824915673379878642608992176419300141605906958, 1], [6663621042541138871986089031505057348254114684094790287550455844880934849342360552612945437618230372641442853968941544979323628660640217821398502529343185214696305326939628931539968946836138275795007316421532479227659818656589232448736745274, 1], [1845581321881419111715909655438757832972551046546875077211790341811818632613629870882522725131672950673267633784181727208275897510870791561826479242993148147297964444820820271131216883278894568414158952174296974667915302483533635986261244875, 1], [3428526256613818330302045771104081717779721402921256872654259869228490054011921612566621020755621845640608097453252009005605819831077754729786569098479629150907012441063091601036892538573929082551329508262684116183241179512688512681199762859, 1], [6610999780090719033806582272169125410195608760773621516507533389024945521159194604748443540580508139591452294219230869697757595972793740652447050935306590837390816004747876986991741325216714856394240337634478684417871972884727511133599578245, 1], [5389386052772441278674772506460940837539533452410870605128114330597042665769866677657656833028504957155542407636152438919168558912211274108164821259069428697316101518146431599941896415451761661665155042930933965365139394747087853979583044945, 1], [3651670901828924170865854719758737724686597496898766917777516866750700972588352201266794791338904283745402283268364435241432140700573144103161050707218944965040368758152029771019704328114277482123311798433662494752540066293050323947514306738, 1], [1417525027059623285317019619266001218431211327271955400010120432042153322279670218073265284404954014795886433822950781044740286051277443660901421275747739765010951921220374371571670466779790823404477341423936577754078990209333008964219635120, 1], [931935696041419769893753561349339373447009323247430602326501376480188046152566658563522787473505409058019221201053163030602379777540982052616788579208896424546112092156499357721594771417669842738459761338074662459191753913682377607131919024, 1], [5092471959548526806886996065900180717911104308217728080489702587912899880987074038048240578957259826277854579520552156035635880169493665720704635119026170252898714919967005645695050012415154950523572006261359115673255309877679333731595363343, 1], [3569182027967745141606528526214511125757129866328993678423683221169471941486843471415011845662624675813469498277695475322523543174193701468695954211543872794024029235690636958876971408384270377412330760388498872833929299399515409413486589701, 1], [1469318846724963534789080050915729230600805599031696676710681306490925599637871010481965717753423513987823799852711606204648975345346709521954437160019600769140008503714354553727321798436783536209115973476574121163391615007925060788996289716, 1], [893968567462675357267494827243525001482867375152994791691898428877836324558543513104877290952893119652249153876219586476346941089610066076839389481525946357216650342505977636547279548667851241985610531301398896590720261953069857098766601517, 1], [4604759524238850264142675597203686101650295119549227529712056075729465460560043151355501003550390424777905105028674510337348724160452607035185062540163089188341629384486641212897391198990484715750954929721615167173140602160893228481885812024, 1], [5259603109819367842977906249993554139930471800173667148799922414387367916766342260516456801585281890940023678106528134802062082655232511128043239641826487482057043190566481076035487619054158064650961668582554981587395012509766303018622937628, 1], [4287320313863174313179224906791931208741121102004046299330112587069641579917197359706442538602093019752838976183414614655463312702582322567055552969793730646158816091943257893824855254683816588503968497379969556108156037888248695137710830217, 1], [684419961888118588809322586564899385838707787745745802830827120878230149613940797726222889356798829675434523211067953203533309345334321234376734747650126374130952691559384360860253286138959412718724348165272870418774294379498474157371034660, 0], [5930704105549000433643583394032430805521178250887666609307445634537000982369886133972183584568006696778417949997486801504507017372556777168189545047936210804546536644299216832817321378863771865540176540735146264088681884355774644835765865184, 1], [5562484607403007480002318066210824869398292774114242079711902679787465974549601287169199516453137149293528333406761475724739783615120085968925262865436190662754407515786382750862807324730454068271847473326116101977897635339345117376188631836, 0], [4307058865874866161595385074043433500360165394201106938754215799202853165714778837481507759610264937378978555611497353237328040409407010398680254457122426276437088967344370619800380538619321458207496961685422044810888950152480982293074503654, 0], [158744429191131111665957420838988858832523441366337696494306541588999634780236622285546117684513792279542812280509591773552597380167773859406960162634059959707888865425501074577746346803993877885791626185164519550574862138511777806828297406, 0], [3839173694470439263375585330591316033024503905311054307652419987007116207002240958765467806341256563192223251951445068501146185187317656912220079178193056506093180680133850470639311036319823778309172707270993124685775100330277022877516595754, 0], [562973296084273571878050151702213607899022541426731123176069132231790804706644555549479858987878607814419155282000912164896219947589419377980052987539180290315496679555407549291494369789109521930037343568104175835800234552595473925356452185, 0], [4348206384249151509308331021465507925998757636929304247331676219067915962158525565858500798319249677465130710631013529299812049572267164325795310629323816098874324300819937523156238008606343345851496297636111242234163912730895231895692624762, 0], [1703120140209158708069579375250023071256340046672513522019298130759171193728823555181858044733438534656652496162761596927638283571105034514097274700974068869329605816373694102173866486637520261191102247196008345539566173857177445979319694085, 1], [6035610920089209610060817151046462168956557679259082492806686291215377884989577831978341777762009867087287972161867066395198033447038156472367725198096539525713833988110263728852213561000287339033803204043306207288117599831909314596603948134, 1], [1271687075509258319733272641023441087136611380316460261060445756880398267613610500575400035291547949184030845330367642145372887300153020028892899095450224556842934811536931021895470800869506380364860132750885698775978001960681986112175701287, 1], [3302467120190230071524824837613819754525221905220254274842447353826442467777536476234214286716685996045579951553686485353503333394782516830311505065774630469179334454106380366527546451673976520040167494072907923256543237826929977349059210877, 1], [2036660294191461766992796079567740648672347653721581478333635759149699683924191246968962546308397352535945497639320278589998620067358370882679471708801268950813843327213665956101481363576597816376660682394427718066914890631986023218114544516, 0], [5391704756150301557737713565255775879930517549386044957966664702383630163909327060826937876891222505164768865863329341200144807174978901036149862276211179667153664683793548232969994423097095528459454065593724236407038667949872887222892840592, 0], [460755316973150289305521476225902643932095311118852815260754915798824628088246777389436858640620400580504305284361044356570027391680156367367278439500985440547441389274291965247373047432782688641559678354136323354824227514864226612737737606, 1], [2831804110529113112637105263094249164530800278124727635931671722998308493812309026282529831823447788256611872835036666351411665490824116051886042335297133693434164046852756508122234164870432369394642398152408227386821743816753616581531519320, 1], [1187374279807307979673042454028008078296685938793769199048550277567817480645687082281707421036089232149687316573179821907552305040834285842066626451003459477714075264045025538239411634676780859219234135915886591873595629466147625597588508771, 1], [2655981806140560360396303722183623160306335578106374580273356882328840057566115986766654818932987194149316198295802805522953379561872113796181826312100903953613960351551379868108807350094364825852732533254731836798634634906280755926773303305, 0], [2610176330295578121446332175111100066651120760254979076487725211313243044726632665981018664390643257374156892989854864094685277472896262399645577345341942092165575545269479327612693848492199455302031782507270467099666400310626963798535535183, 1], [4353221675314720320369108004772385062635632133299878772652802427149088926094568795305103782436297691324485798579713305832460965145280473058180826762300246431884187346317925731746811846950786266995032018126246235988641192883612622154847429266, 0], [3916813221197822851050238462572547175510635074554422871276490301482505236264036030725632686013012957698895577790896529855341970591470598156406407295032127360706328587159416242900394847330932826830290986293992816599227628454182549555121078101, 0], [5032136782279503567838817097994511001204875984002641604843883991922343398375834183191120009503578938179293482036029189108539563434885326958383466287694257212640459528958928616406058138569598801088979509291788120830400464197418249303085953652, 0], [6255742038380141075408568318125047078146513733361975173753084266731387382207319842485651396125133784955772491542605456301020451724074498201963180913282304012271567545372327785821652397679230822867911361288753046322386764995558881047143452443, 1]]
🚩 : b'r\x9f\xa5N\x19\xa3\x8b-\xfen\xa7\xc9\xca\x87\x04\x873#ju\xc5\x06\xd0\x85L\x1ab\xa1XEre\xe5\x8c:h'
'''

params.py

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']

分析

这里的keykey是vecs随机选取的50个字符串拼接而成,位数大概是800位。再随机生成800位的noncenonce,并与keykey异或后返回奇偶性,也就是在GF(2)的有限域下求keykeynoncenonce的点积,重复600次,于是我们得到了600个方程,但是keykey是800位的,余下200位空间是未知的。
接下来我们来研究这个vecs,首先我们能知道vecs的构成是4096个16bit的01字符串。

1
2
3
4
M=[[int(c) for c in str]for str in vecs]
M=matrix(GF(2),M)
print(M.rank())
#13

于是我们可以知道vecs组成的向量空间的维度是13,此时我们可以知道,我们任取13个vecvec就可以张成vecs空间,也就是veci=a1vec1+a2vec2+a13vec13\pmb{vec_i}=a_1\cdot\pmb{vec_1}+a_2\cdot\pmb{vec_2}+ \cdots a_{13}\cdot\pmb{vec_{13}},而keykey是随机抽取50个vecvec,于是现在我们只需要13\*50=650个方程就可以求出keykey,不过可惜的是我们只有600个方程,那么也就是说理想情况下的vecs张成空间的维度应该是12维,这样才能保证我们能求出keykey
接下来就是这道题目神奇的地方了,这里的vecs张成的空间是一个12维空间的仿射子空间,表示形式可以理解成

vec=xG12×16+b\pmb{vec}=\pmb{x} \cdot G_{12\times 16}+\pmb{b}

这里x\pmb{x}就是原空间,b\pmb{b}是一个平移向量,这里我们把行看作基。
下面我们先找出平移向量b\pmb{b},先试试vecs内的向量。

1
2
3
4
5
6
7
8
9
10
11
M=[[int(c) for c in str] for str in vecs]
M=matrix(GF(2),M)
for i in range(len(vecs)):
G=M
vec=M[i]
for k in range(len(vecs)):
G[k]-=vec
if G.rank()==12:
print(i)
break
#0

于是我们知道出题人就是在一个12维的空间下进行仿射变换到16维空间并且在得到的结果后面都加上了vec0\pmb{vec_0}

1
2
3
4
M=matrix(GF(2),[[int(i) for i in vec] for vec in vecs])
vec=M[0]
M=matrix(GF(2),[i-vec for i in M])
G=M.echelon_form()[:12]#求出M的行阶梯型,最终得到的就是符合的一个生成矩阵。

接下来我们可以把keykey也映射到这个子空间上也就是key=kG50+v50\pmb{key} = \pmb{k'} \cdot G_{50} + \pmb{v_{50}}这里的G50G_{50}是把GG对角线拼接成一个600×800600 \times 800的大矩阵,v50\pmb{v_{50}}是将50个v0v_0拼接的大向量。则

keynonce=res(kG50+v50)nonce=reskG50nonce=resv50nonce\pmb{key} \cdot nonce = \pmb{res}\\ (\pmb{k'} \cdot G_{50} + \pmb{v_{50}}) \cdot nonce = \pmb{res}\\ \pmb{k'} \cdot G_{50} \cdot nonce = \pmb{res} - \pmb{v_{50}} \cdot nonce

总的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from Crypto.Cipher import AES
from hashlib import md5
vecs=[...]
gift=...
ct=...
M=matrix(GF(2),[[int(i) for i in vec] for vec in vecs])
nonce = [[int(i) for i in bin(pair[0])[2:].zfill(800)] for pair in gift]
nonce=matrix(GF(2),nonce).T
res=vector(GF(2),[pair[1] for pair in gift])
vec=M[0]
M=matrix(GF(2),[i-vec for i in M])
G=M.echelon_form()[:12]
vec50=vector(GF(2),vec.list()*50)
G50=block_diagonal_matrix([G for _ in range(50)])
k_=(G50*nonce).solve_left(res-vec50*nonce)
key=k_*G50+vec50
key=int("".join(map(str,key.list())),2)
flag = AES.new(key=md5(str(key).encode()).digest(), nonce=b"Tiffany", mode=AES.MODE_CTR).decrypt(ct)
print(flag)
b'LILCTF{Un1qUe_s0luti0n_1N_sUbSp4C3!}'