另人给的一道题,一时没弄出来,后来看WP,复现一下。
对于矩阵运算 m*M = c 求m 的情况。
- 满秩
- 差1
- 半秩
import os
import secret
import hashlib
from Crypto.Util.number import getPrime
from Crypto.Util.Padding import pad
LEN = 32
def xor(a, b):
return bytes([a[i%len(a)] ^^ b[i%len(b)] for i in range(max(len(a), len(b)))])
def challenge(m: bytes, pbits: int, level: int=0):
p = getPrime(pbits)
M = random_matrix(GF(p), LEN).matrix_from_rows_and_columns(range(LEN), range(LEN-level))
c = vector(GF(p), m) * M
return {"p": p, "M": M.list(), "c": c.list()}
args = {
"chall1": {
"m": os.urandom(LEN),
"pbits": 512,
"level": 0x00
},
"chall2": {
"m": os.urandom(LEN),
"pbits": 10,
"level": 0x01
},
"chall3": {
"m": os.urandom(LEN),
"pbits": 256,
"level": 0x10
}
}
out = dict()
enc = pad(secret.flag, LEN)
for i in range(3):
out[f"chall{i+1}"] = challenge(**args[f"chall{i+1}"])
enc = xor(enc, hashlib.sha512(args[f"chall{i+1}"]["m"]).digest())
out["enc"] = enc.hex()
with open('output.txt', 'w') as f:
f.write(f"{out = }")
题目很短,3个明文(m)分别与3个随机矩阵(M)相乘得到3个结果(c),3个明文的sha512值与flag异或得到密文。
第1段,满秩的情况可以直接用solve_left
p,M,c = out['chall1']['p'],out['chall1']['M'],out['chall1']['c']
M = matrix(GF(p), 32,32,M)
C = vector(GF(p), c)
m1 = M.solve_left(C)
#m1 = b'\xd9\xdc9\xae\x18Y\x84\x82(8*\x86,\x1f4\xf4P9\xa9\xf0G\x13I\\\x8ev\x93\xb8\xd7i\x06('
第2段,差1列,这时候得到的结果是多解的。但此时解已经差不多。先解出一个基础解0,再爆破m0 + k*basis,这块是刚学会的,这么快就用到了。解就在这里边
p,M,c = out['chall2']['p'],out['chall2']['M'],out['chall2']['c']
M = matrix(GF(p), 32,31,M)
C = vector(GF(p), c)
m2 = M.solve_left(C)
#(6, 30, 648, 24, 407, 267, 303, 338, 215, 181, 460, 107, 574, 154, 53, 624, 462, 132, 335, 544, 572, 508, 108, 442, 165, 238, 570, 170, 571, 4, 435, 0)
#不满秩
basis = M.left_kernel().basis()[0]
for k in range(p):
try:
m21 = m2 + k * basis
print(k, bytes(m21.list()))
except:
pass
#m2 = b'\x96he\xa3\x9e\x93J\xbd\x1b\xf2,\xf3*\xa2yp*\xdd\x8a\xc1r\xbd\xfc%-\xfck\x17\xb4\x18\xeeG'
第3段,M仅有一半32*16,这时候造basis是没用的。要用格基规约。
先构造一个矩阵,这里用块矩阵(原WP是直接写的,我感觉用块矩阵方更便表示)表示如下:
M是给出的32*16的矩阵,1是指单位矩阵I,p是p*I,c是结果的密文。这个也就只能记下来了,自己推不会啊。
在得到规约结果后第2行16后就是结果(第1行全0)
p,M,c = out['chall3']['p'],out['chall3']['M'],out['chall3']['c']
M = matrix(ZZ, 32,16, M)
c = matrix(ZZ, 1,16, c)
A = block_matrix([ [M, 1], [p, 0],[c, 0] ])
m1 = A.LLL()
m3 = bytes(map(abs, m1[1][16:]))
#m3 = b"\x11\x90\xf7\xdbir`V\x11\xdc\x8c(g.f\xc2\x016\x9a\x8fFs\x91\xd3\x14\x9dc\x83\x97'Jm"
最后把3个m和enc异或得到flag
enc = bytes.fromhex('72c0e8ef53c726969a91368ca600a081f38f5cfaa1d0669d9049f278fb2f0fb4f36dced86bf9b7e9ef59af082cc5a5b2458cae490ab23c0c8c5b9361499ae2e2')
cs = [sha512(m1).digest(), sha512(m2).digest(), sha512(m3).digest()]
flag = bytes([cs[0][i]^^cs[1][i]^^cs[2][i]^^enc[i] for i in range(len(enc))])
为方便复现把数据附后
out = {'chall1': {'p': 9200934837033682629637781609047764067387149355989277757790876346313769469353703070017522575331720447729578824593086385233531312128998697148204620507930863, 'M': [1718174825063785732897719991647569974912154802276083237444384536359739436328574360767071965837812827031400336090361024643884240068554228070425887312520012, 940450353342299065427684825680709610372158541334419832493771516414989481741711472015504646329568818986070077329886826992760530125306296686301279734219056, 1121561920591916492505634748901631992854865764498284205150697794090234454665136774333688832742605351321662311509127693419977122128686418882744639501044166, 6921878901625332986090494501222032628371355339785043814304774887116413408081313485193786856289918425726161888956506365254291000684380778132391194202422625, 8318192720992673081220487204144955385983506094533569802519100175125885912738610406771497713860413125987694274079430292323241537881235298840333555796285969, 7732354517052231307882077936320646447213262313295229894276828837780330163486403266888857797192154276517831653926852609563279955106141488305574762247612422, 2727959725659435011182421730664697834141174427912179687584800247386455773236130910977320303908646246552069934650154213054801859106041259911411669433666138, 2983535872646753724049265054875826880220815873439384199170261362092728451124340638129128413732074740122906756673634761674662281923583437650172357530314578, 5754130534015805404246531048366518493340091029523221885966361140463742747327653724399630106836540676752329435319851744737346441873730302954248436230026537, 6197788132115143016743436259682295226281974645017397087054654517945575554350689139283085275099676150419543970574178043121690912257870470937008076839744073, 6399428732424498083095546427762055009098895046581141254335319496949313233084443324554464281956856806545080445667279396739577617314042684467010783294526334, 7484284291241176026758073460084133224944859368238719919642537407830076191189631640807818734799822109952584860368494038464147675783213851231840516625401108, 2219108417378188578921015138244673613157767776638176856091440220586065770554448313252223609256559521448246768737220043182933638408300227660269886324867764, 7351314015091692711418480016880911870420931986727066723763750690229452779816810718764170059570551137366570461529683160598212582635008654956513016310347924, 2642977258862083055710921281743938008951297110194625785031564699954594314041243627912906274398297890139421072170213196854053041141199756558860702126192273, 2654350685392634900716271118109403077311990853358569274863044830274029977775232275421625884255217012713640394510374669738613205863385666358063309693069389, 6641032489536404165546912493780924524176555124632238177177580154601705220482517042091588319773777877386458001330051505001810622598112163594584957656033101, 9157465438544264257289472015539335704652013730046080140895686035542590471244604748029534941019053215159096747081247831711970726860891081466545768154118321, 3649539504345326338698491193043321629221678873735979960290258498716192491965963363006894029913997972762664406081939433914746379484529738242189346210936560, 7536794856572350746256197423350108752500397442545664971432109370735403337355830559139694244478053779420396850042663438587654539653880497525617679852704391, 5308584895023199003372553847573323627064879624757560051250239788617740580408587399968353758619328449562045557264111233122102174913554035081037825719653005, 2365005868071220109888749448030738951251298930839814036981109577217672006235704562564459244903718216517923223812781580572238264289996031134439564052028253, 9194190607447625263368049077982014556389128338686292490663063348698874570692928575824132383189257300575431319661502704103330000158504952692425625284294070, 6833439731278964590769559869567997041729124726082917112848391552893788832463207882422100477952004133037114951070597424063239609232914622022314452260994413, 521416169456603054479021592396882420258894032719965702221706946876989695868248409122671380515727335941964981429969334676760865667944960640003271134444389, 3972980559418142825790952360410840705676740666988423678138754815091303772900481015486310888275287068958407087726957617679561326331232178795006169472730789, 9079190158268789191331034199857909412148806969162923382604931308951443025056032652647031093838811861885480811978525344940731257105818759673710010709089988, 546579082847650686798810195259081328426615786301529557093985024333778812036621123326155997764484370620688088756892115394564264993753894953723795543807328, 2015287889119363574359428314415019135537412408787790835168467804952205551966427005444239044144583777676136950334133429010478821718223055968438033457115885, 8659777915067971600775648697317391115768149677969995752436296788583667693124136023412747387062193543491527623461551859082761351300566063083549334500900059, 4565665617265954742168875422937515092492612894265778266348120116689294640995769908272287370979232320081791759724544982508097859145379902345387710443339830, 2674093234603813089302144171422232397062955430957984214025056861298012274110940291394813348730556319043990138596492797295321915840564250985510153146933146, 7412829748790208504838911868674797868046875779847528336749736968973836405821251951274877180896097008362370295171685373709426160922363238450993201191304149, 4780202919770456568345191539776608668267703274156425494368447447404600484079955902216616793961432132199974882719339281440502150336877585400308538667065868, 673282974109832914991195879990660078218746661771425797264835463603603267749753736017181831496622525959113501404532531091798996022656703208597712543558532, 678214993242182045718795626980038434936672825149445714050453234782087631286170254372014600815570954364015141365518158783089936563248192646460149417454618, 675828636566681654404622473225896276317662496740739965756444501358331818477389788063990045025037065233576842892999927895122447604088003120188363901302936, 2896311937926795820895902810084024397112060221480621249537475893472077259087984050247204898892257184544605567045540206156440586355663796862282942953590917, 2096936251804414858590468853917735828606721779359264366968823904670396066164347868273929706116438381055842755634830685957090815323011436413307745678804212, 5540126700626827791307548442855076025065019525824332805249851638284510280865617929080009260363133728804163106656312297763896865123983396077944619379122903, 5774341837133222234965526265798297408471163717359364242380560270815147719838432008772213198808624457986026510356372380754859023803921076836731050397736367, 626660335439410223884468626083677016047430409729252647283165857157547780582548138747848359722490428872834140458101260208413704404039131318951129394100373, 1294257087981920036788993086501841212989357767129522910874135936298584738902768849336839718451455769200299000574870956166784522862306586095890573321042812, 1562862179873898469311721127427749126987336243515064163414521583249754407191179739552654942514211337919993890894841302962296800863863916205706070683791873, 6975827018803873759893475710195119808796517792409760896740163873617901262018964167578808217347953612269448200558531836437975062073809008062914311113093416, 8211933239696116729679093918610877156808596420339488727220621286256727046203230527747879201872592693500658392044553361525650768895570188382245139522477545, 3962812071643490407615563391112909104016361867727205964005255152500625880270376210035355590445566014399353830745816155563585868553275636513260689127287616, 1377821735457558493209049716321080222446026498274787154630067412441946540776412788929128147391058447163884272438610598739934251793607983976754657297422967, 4892118947279242441522356849679349937132577503845563623554668281847377758773870078510482343829081631034866692413041753155262225280433218037926689912494528, 7180735745053547289962949591538970172318787711829968016151527318668217848189181452212549017290988089186370199015970950502423010929018664338291922520769916, 786367863216589357400360289446277725158685138295304451302069375563518440367853090375699676223390899428974894491481606201385013179287134813283237400457280, 4509871008512469237669117271937571234340504097168797069727586957155140269281946735226187653818903374549683124646384253677093544163013991741349126631174648, 4245221872838547068527908147754198039382956433713335076062176601093982522568976642581328524019798564708685494935141573758522613098361167845921495558974310, 6078166475902934559645590333962703974435908714336556064508101870944220687550470488356660629560548065139691509332026459186184480894234771510018344714174447, 5623005891206795346365795451114794741512573294946784727038323116120771373400525080645072691757369661899832544149480639747176796398598383419991929209870756, 4449238507972880385417579468187908031708944277048824377344834178493718732928051670834614934373488823098645039844126871836499920487095251298424544415425010, 8269741045905651860300787264699123739649038927391957511292917619159564379465458245469689971573727995709496544556572861882106592065140791096341273649522589, 123466589105892272047135577184389355164480325282736968765302210349582507143958486516380801431168790650116117606406161104361550977498872801567590422735720, 2577226448610959233944070699039203865470644840971431235834515464309521704008899539458216866398835880895195982552446802590081434486167180737202186614798749, 6518128904129186642007323661261764568544778751379478346219071741953556733705012104155582941241230219280842753532573527720241143878239692599733809017250730, 5301330721095400391069738645253994781843656775042069657698019604465752176410790317178124023191415560478303967999017679780549377542055287192962719632541276, 5595532300331349661925762928004740079730945315979906608497135030462782066915751730405581432649674421710920047256625241021722170288590071950578998362036742, 7098163764340887648263053267693679902759366339101449536293269251284153870234351334144201675704002848700245631867059482510066486496228934868690577405019224, 8763686133293703242230987412944031581211839380226147784657073138634035887710772626432475089466299370096556755274746766459453715441374345471596725745768935, 7274103968424919468033941842824320995552426172118089647684899444323109536646605525068100892224382181487518865065434617709696807426833576453001027831237016, 680747202500931675459995116581240414955841340405915536496270080979590155458708617551953016518018404892383019514389773837006532386050643028037775101385069, 8005895710025603599063834861552676817835397604492003920343877714676413741898753854095764949827134696393641103633002808088325174138150744221763458277269041, 3675269649002526103520614768305086821658366010202565175831079536185852821571957054318449789666589553870080697790858691955795757437930078049694448562146001, 2009983215588630124001257016302096623078455797514704354489651087381742602677251620650525954632210468044846198973252312688257506618452313122770087671138018, 500661490415142039497137673509180511070476260389713718606909103944120475600220646472819025147234135606503123634906583359857274418290051389326083980426028, 3833824399053063278706970872660389347674461375075414315210599148144646464707112279544510755260995632499773931851492984094623137574787105345562764879744718, 6342074695685289441821432229497939463780814168581855223079458512191050790225822168109581478843942383532493122512928969065461686184818291817215667395019686, 8035072080209253127789545160268371448715467931633026727335364322667214466416014767751793485846599854929691842222074524599530689697354141111809252500213213, 8418232024118213507478207518848971828702165406519209728548804029944997272219933776757131485886318283544746239728544578195347858052861408665997436412741856, 7964447109693391746726097872922639002256381618187822738263526574234439839036092929459188936467204833708952220955704805959970752889338831952924928327476603, 5851693693325457986979908897672079882797974314972433743679640021019224832192264413779177864543450462614480732367279803925649153426587867426545344635906128, 7627387577056156231231204547930864277537373875732913753968948332085699288404040072526562428120452854053578297061046440190239264122361467069148998041021293, 9172910707484160941543567306404662132517426660709292623837670629499780186996586288276048987498274012745252335951772976138877625678629426574422996295323792, 8773387844436796647464125703111553597491342640234433875511930435996927979700542713672686345604701624421463918209062932604715809408108387314634880124248425, 6866901390076847673777137400372161475166634738281758428729477890381185421303541719424362931457974798302755179437358340597161723277730463877493158566269431, 8928667112531750728050862097069665612254899210414830090541287380534686217324137720961701651743858985316299833799803069695263256996010877016908672808906061, 7135924558187601334943793720715115025313543279959824522589893797792431277417065053757914241011519933614595664679436343324551070769515000210816369688599372, 3413692633673569991218763397931820928878624078663245008404611001770318098570849869226710052664848098809924993012299939001245359122603329097542749754919335, 652893523017372721039974531311924455432581664508633515505326397581818085654041386252299182982561322163914646373916957012432636913119403030447873365508674, 4499087764789000184933290140955247225236166794509490370006948234316797846537993376670879974818567399020451050980674054701617112138234252389876114051351397, 1744764481782666089995508186398405431342718146153916435697691244724557203875097296020232460904871161705401705069594647195535062715725372993499615716560574, 4960782849322868096362849630616447110905896655990665635592231366416581162457539350903026740490580444070373556466346713062932498825475910191677113216120316, 1657788439838670101186599056194385738778265604426129608969947857010806397923219350748532255158773155320490755581133703361378364352420872884578486805714691, 4701057046258317194541971284559480987506562954293704493584297470313288721248135618858223406760479558659865740106339637296615752018453721867980716318268202, 2179115683416574981759343407673343910158676893167647586653949319633363050826708616536845544206888209595520129362518366122707241446091209968005944753415115, 5980522001141698611435468259600385060353820639009251712432430816427662844618879313895474289855058095961795050256699537483174648632640919307816435032729549, 1191961007095650202019366539342107363862838105249711247531773564600067110774096120749634458658142312595700174807005482925319715868639319872875103483837163, 5713386887659421806504757946603873411898168499179418641467497438380992504372140177998070252235640646946948572928871421775124261608047707101271818128799459, 1252025248418453045258309110053270516754156562908900252057818707069868802744846733705833185015688467538690203467934849192973572470270992749906716232022510, 3126475272596804601928524992182142010712039619037301358226830487126962493484980857674537580921673384455091613722019870144194078726191885829479541074009215, 5715467806091438854497222983301522969566505564026548106564076696914279694954268425719890039017183125564120786179890130579515761672936067484043302965466178, 1256128695132606150877703924436874361767377395214786270766903878050126972370772751047649920186627896633779820769333797000378390866405837238208652533566483, 4819348515549214625212272964043844407900283359928475172203246059280733088200353727763606592874288687300828490191507000763114073841924370960842544165246038, 8148642920871771334298164006830267610430002972320763722384400707345607282421146880148113013821993170316846004177800408767661642043096580511116127867959532, 4145935751749327962884723162480179267716490978043701056852122174784385763413274143720115173036401706557271526567260744586338100003748620431326233110670089, 5596225072751890735530085670516520042779985941258383850738878299421082460337773266633532052256533036271752864967560927163737076191437262261974834214744993, 3153851246721271644015244115329581303700138186597375766022762584446651241424742405343517207405830483028331036486626855737117787791924266284946443566713430, 7016177724664576064722779433875375694729430254951679874982158600259345861042507873181743341224781939234259507837112484452082356935697567925466322023126813, 6963369812987998887997067390708185648522183270630445980019891014860613663998143864844582468106355052575101423193810596442890735710926817378885450867646109, 631382769381616149809968279260823970230086755206962447649451112002836580950044374533927467862289355344147662070918049472436933605230696351640286149234261, 3521205357897186997289745778339293848063227571045270286273650580197439214865222117932992748167558628248390006949200689797807356697652230682011350568256407, 709417896819911875980927968884118170343746592098956552362410459109560818723982577170504899088939653463700653994384499375127854353480970588846968340167672, 1666329500497308798925135981181099738218547573717413240892254478013837219104204461331573943176642507157837476351406753112338654656100930972890537850158228, 7215565337143520103231934486342027606269891776813481302027772176280249887187667919931651018154190006528080705751616834315223789778494888854117204468833826, 8742457187347052172089803586599030682388030508221250372064566318798474434025129377872032967012139584405331682539045409157252306487360735098149104262992069, 3199461932409391699994248900261896863725143806366896318621589548595239346449700311255504355513197731530291474163853480927886536549026453012856153306915947, 8523842752610711490841385008137848433733146783075308242964804208661653402793466728178529646388701282447188039230770331986536486982696035265376546470017351, 4317663206715070156747942923019177151786898928159705721153510537789053871703588411168303202989436679587919152939220324587730871076256646878484341355052787, 1698367196686584334700362957339186196646574541501763646407667244777341445152170487297710425209054928538755228579196982286019333084773668397360598682169405, 8836054895756498811707845925198067003853374934799632866992831782727050439204213495138432247552881559870790143944925226223680718906938904565631702733346930, 2281267713990891259735253566626307707839461024245860518418394554027163075241946879640769324100127836530327510862384710960540121795947973519177633670488116, 2049092855421847659565475958439269489004348199803930491406884985574099874641829030982167952261638391894565944700735035783258954550555966671544937756709516, 5091157929930161645835103065941289897675369477798684308840883902214892652220260006591902545348716873650992700486471380054605408023016148161709442608669918, 2361071606818440363643804118321473050206996082315125740267655043191487742135753048378978274628764841568373140832862880061858730274680087228146135008492244, 6464033035852155546397415873484670042369232991729020900137620744308346462697553224376886967836731407545130313534536496000441666879976083286905864920449959, 2391843649274720359316153858926876996097637664510827211075718050611229694295238521119444326882704217174845788154365027182539566618819892121168396560344175, 7944160819273794240898187528008527942932308803170249758673347814794829850692962654787018493523698475417751381461239742971997903123740752883780142197672603, 7557500268941878863368983443996271309949943353474932238848437554687076941623254623190300516699739479770659592812108449391364826505494713749024280607094823, 8804747219690303541339071104232411652027117893481985363867266671254392154201275904652854279189083155689086621046870509234416016002815376606563511679654639, 4428071239209937748872333050017218707423089773747261011007279854714033201496264767738397599063676382305572608328077438820176818688989071674661834842548588, 8339123070543874567272813966625495417575226672825929752891314169203360573398654883543781115767103056023975818801668583193257156458676962243980284299822860, 6543590891904930621737442952168482332260258028789970838902722114715955978080056761841212791058094638305383047624601109975812819418229160660807984996056291, 3642563824103338056979170542572768203615456464401241455789078547174903155451325177123219129283489065845966325702794324663970646281245626271022003943045275, 7620220904568733499925101020990625335394311900115617094460532749980842442937190980239676831690054645092926116444333467337207063234856812448890067874536542, 984443732981277067531612419980122294488820283060297310230688986926328798176610062733234898847594286584589346144929636369501763600257657374282030724436221, 5245040868949208468029030573331429905832080937156904862776527947046961499061220354530731249991062231520558279708859014442390856529667885066124637486727355, 8150704568716143859738059350862558436169161603556570435759549874557474122363102601262340109532286650832630217092474454907513458809567133131338290008587041, 6365936205312098470898079913186415605514306744975968376759994226641600686163754335267784856544496447253933080824399955959618875043360238865753702132223211, 5785704095449490922246493166501654071289265787621081065023267649459753415934876734837782477502508827080306812107763235511703079441103158380772124132681255, 7827279362933148425476979520599916817535873874632022792845874288951404891061202384958988357918770827944319473635825499335433441446639930197885810769192126, 2968133477516046715773280687961289159328969828726755059201348073936326733193392546969838015436825149710349857103682969039921007073538176543589689105268024, 5447011808543970338155606757669003468529175712080518170874699286399571117857693944885197299904557712007649762887313467662753106385913752244119978681432510, 8967299361889321210896831253378520811343247177332698467944074768323572267381400704986053662984324925560914323041082515393467091005027527002447049600283145, 4677151641912523266386011504325928422072060557919735884113929363591739103828924010925848702656824791627413649599409670725436309996026597125576893985689767, 4120683073464051793432691849930720165484699111452208011308733291688028467853735190380339119889808154086604984720804668096511141821019096262285317049130957, 7097563621410057904727485402448411765644667968020469479286103583388438656853811414565565930630881253623334822788160872106317676008193712488139086473176922, 8181678913327735913248934164720386774192344815077213170141635061235901600414736889971974818132300863735361019250656133497949444756552559101114801352654655, 280671909037904023161730317595926815783888834459629487424886986450000636009646032263856504134615303193733669206073982124502373440810701656334614255555672, 1635944742288527800653261285950410776299984333922333566666444567880671884846939986021388133558766433014034769106430907024813889132032623132444346373178070, 7454050351411619423787837029372499384467946712057090620134740351543177827288272639444084205125709229898678112689079510529040513916356894183553269332474227, 322200496508011156780213577877503965696227307371472758671761113606314574792742599867772277016964338575985243525427335250459755691950167014733451490151267, 2032632173397558407272126472189435985058419320381720323976585791571034152781564424444765910666818162862685539396424011875931839365619439178082351569102770, 9143904863795372266051323504051572671002387132784187879507218722472701550617390740608696876888547234058925492606055473983500172813088332418883219100187643, 194017983710454391474984278614842222234410533811452485794260194981972328179216742734833631442036931633226141936981537789698920905461271928614578342594713, 2341036757719618639106893896899788848548259165688816381814095703968784710038733621833368317927210717061555543182988606878793917948458178197673342414064360, 2556125524624734322529916883416071614197858209961613355075342298353073895113193102387268855364086025264913715589931945253563322075912703786140867154051981, 3319241069223579140433898195460542251233755049163712169927259028349951322659757196791780306067236140968393663299246677784980413304113115617986462287659792, 8092613495446009186097747371929107285972735801775297790952883251240989875642297515238631180969278620544317949257190335682400891584536232256401951330098541, 612712381863984540617791256891530824542843393423466129704023271704887560007557729017319748730768577770221813547837303197490016975982234751712701745719680, 1158889682319932514086424805340805849353450798242761967818007263585443624399063138791866804175446938921166847964279679626732432739602120677790169328434985, 6669458705905249278598663179164989853625921115789564431880155314312570097390310493125375788280262427747143803087655675579995241877933915315297310915804352, 3025897332988723253289882807632498233191254489225870965484369197577345959513285284659566324586409262836941301596241497507645839598060201601898219522112965, 5974595941745993606050846336299464353191245173973560069518236102854661629609363989219403704422945838935613035331303251621192647975382664445438142690426085, 2431405983426711770428251036778426569256666104762276482977192402495104341372404748669277543093341176814116643387241976692465134782595220704141204048067336, 6153214725101330983829856915044935333524145761455282806964273694778748438203864696824655852497017579264668151768580435992334454867430086298972243214238682, 1693039066001375099573497020825473619904621926649438127781902385441865978868703768977057629258006700527864042440683227974164208987395434128690100927221559, 7504616125567496698720988998821614554459725576713893118995879154258716255131499002403902034575515692961629615879543958651697466383196844820942777111580440, 1541696391897890612450154406202289635214478275640404850120046611732122656724068442811143186976789166895652974206607738966211962927274518882021720510805287, 1555254239733232096159505112776896090514242941811817229870193419589519534496423271278941301600663822212671448779154604118957065039784605730116805219616967, 3845747004423885564535002139197468073033630229150506272224840919649735024996777240951224759997375594190303191954920059226701719637435119853051556961835204, 7637585336012505493722019609665226221636358399675498131483298985009191059598729622246641024100222579222360293273946288437879956769548171476086600983637003, 1305444127945642122673965815146886109940223032391011567723424874522256478841598652812558020949659925697769621080905817721125475209884287070530329186995675, 1329302149284910720399298085303624007575716406124705478900345841450826742332737403926093837865058165969362692322876704400458863907654651320782046765661785, 260804478111639028517331326010423240748548638857771094496194746420302000536930297305404452088990273955015680367055792736141205131687063665602400735092557, 1140607986897139845476829601893308455287033105570798417970959647806741068808337215039884714745816368174937434740436539282296510682792208239018376305166498, 9177263634223084231483977270171446790747786119491694127856890885357260237411353081523787997607508199919277813740479646710510618036987326101774667403891345, 15148413114734436501223995506045534424494815869392178221566084375217401175429584618298500004640981852767526441242311001258224638484213839055225235149545, 6824267814353406077644104198633459813338391100493869692996185871323949369792969836727986594897424983398726151845984089306335839390380428233579456150450199, 709916857262552688174358371331794669097930833796676619500460020504480434165609101831360892109936790207886525177594321030540772818506940317182009806569314, 2023964818423407848266180291096705874166324297529586882783326164664619325704287698571773472107289269371718020398552487415813370997750139204848676053502363, 1550009461514460974128008581746245064772629830313246445031325391862270841739904637052230816769126217370549141076949471710039270818101777419145757426149872, 3863223217118064888705425705426203393916168755703749423562304821723552206293813388030013044192039517903881750290377486470511009039194532982561842482861552, 8324002751871411281194840951565361452766225734964507400191419543354270246685188093855282412332606998715267437292222493191553298044537317673330166829270782, 3795433627433490885473529185540546535086705377790192357121328419319587519181987964029164883255700388377145617615467465638008304570413786726808211757118599, 4633755078615233212952065993997448473540005659380450463617500205618741813402492567085776138010511256550587941655642092525178790843570780022949303709644879, 1656874764313806217514297544693910795122115587641850096807300967115332852645367768345029736738588086365868676316816006745409313642805732256667867225575483, 7098303253291360588493541980734016844569138031818974685008363417555113827050270743786687691959603821829090122152326468659388222184648373428784526213177814, 3871739849528867070134081335008363512065564984400301638522058462225298031792767537662614319524809819624364142937839483390885266925002058293417541326270150, 4041499017563987081216155787051513189139147803615769029274349562180216598974039995454915718124581262172631875682423686701805962698317043380746325392834571, 7635057613201920517790545929160396140940285613809083537416960507587554385471801812930398005012243847880999897578431289266871471970139234674844262019217741, 269453651033620209007337274279319146751863104946698685933107322386106944025404072238186981061683313980766519006977603429519519682689469806798679027061948, 7745682254137701790924861810724706333961114803384557845361022493179938530767076658070428160870397069237386343188716334675525120305280402344608120266927001, 3840217041071903356361943519417420768984662229115988770559854369715468678806530632635120329739189067085937171834008139050235481106855999702090017657775083, 4889597846506911780990073469513718216772486390373143406564045227093157729859730142212090460186158026531036531506437931677343490826421741883271253946156478, 5430478897637517545025321333403655579454882238303885108578347279564342030870576639835128069080983303183970412665534371266374365635011482398297838317016107, 3542640919527432757655719371212461929036638664461227489640265898236921725200114377142098792027172629905062783841255612975347104324389934949408371226902068, 8993475901836851609063773213234504443231016898234477434630501815804919729787137055226393998916078635559486547530518329076051713923092309289169150988992715, 4140015749311929102736026953664667004004799146441790752377583247959555461264254997240979442782418661216295248767622931947115922733073565156837536736144845, 6808049837375484140993376887381737324385022251500790198463865993920095928897231579041392083948724589497207284055264938777298069695004775045085997558643560, 2212386700627954217334594726534201580928559422982382837760277670265837186241302393534696066146778127978645717743165001669483085954190567840394375386845138, 4482543043181998215742392394577574228682195046830663122452568296187239756238678228855481731000448661116745260299690849840845390117317653044666569131865523, 6356369565464597488832072547063627580895782020310234768241807207660081188938314955575444553593882525159382163834253347350889723687370668490694000853811480, 4708356751346933137114378288166301286701538191412179556498123852099324881242100128270666297575096011984944128042700029498899844697734364916160002006929085, 4423105560016954260621389388471026930386943350076032782129472271469070604565310634038864189714299277559335137460158309706284265373898058283558641618632464, 434229292281763225323448822537443654994136540214999436586629284320489787041652099447560382746568384477101517516716969442157707445294839144745281846282166, 7226211590175662481045954099595912258426616373603837082641316255977627363838348570184179300727903205071693500767796032926387378171036650245378126387108824, 143355107765586173675284754674436090939614685349780811988640822278401644076089601736281916386838416088953529476141572003874749788086836249933363481940248, 5873778198876148497179252823788461557238568968608058054722641471432343381618541770814947187458883853705924094227388118580846862756577522018794198649888346, 4689866029793041838998358932001785912138818489896184891525301932010577145875610097566023225526228792771759508712589909430252084291558893651777114041767199, 8888635886552059083666210915611292932030470570065870069837811632829082371644893050993122311949790336142147195710838437401610678719803963049947610496416362, 746801354747589984610378092096615117062958490744469769840925467725928094596858204772703774307940221038907708090294609045294801837292851854583602228673245, 1585618168111399814361096639665066351773978489484006129355765526746947199587517868970665346128068112787382280150313689619517489142086572761384290319928598, 3749145492126258742373993390102128937346241068803642146358591555416144676033283569529838329955651923296461130693338552678280643216722163276162536082471603, 4746086310231972737318086896700562848349360348062713934807944463537671795338592260748803863209396642574929004226025041911225503691610848775826968377163476, 2913650407389131118163320052321470097199105558772002841450328658605569366153815320812755005220190266276263689035722869242716779104787588061855794451718367, 3497881011468280307279683169050751088139748984421204293180775925450910654343785696059606251294442953479514638219242910166074103975597489090200441340578006, 8604633360803037880622538431344204596332989404623588503287018444453138123085570033945148485635942539480921956636973573400711031334744579100446324428038134, 8442103383380139539577735934782635230547450550057857391045389846180479623163325537406965851271519147331675002890100124362361622908098135948927716093398265, 306437929760643826925641398643695965207786993195991477664815645336595286045429360876185077444407934154741695234315922124574675704610890698120962416061621, 8896669865494438313306598574723866100906864342666824394555259442765180688774868973647141355425060968781826007763861618215172771635022793392387924051414556, 8879193779196343581566546447669086526501367560757588707067153638049118037680515804262078663348593326754492270140186328361399377863532596882229079184571047, 2126939326150761244587211280251768507532611127661062319346638331875690234006526311083063896805007079657285541094557210899510848593799995911403353445749835, 5567847178252440998366480089768651317138516708970952390604908299624834165497662370748061790336988889676854772947088799174519553941433109067369631161106911, 8359752352598913892019895587475912733918835550645146259449222919474034726779291025750470746442969134853353835409934386846320247111803286432972334200316075, 662914427754972094283552001421855470284115849425706717052483582092343497571476444139248932009980496976073219741122246516263618184471218207204537208732715, 1217598280559339501855107115398973053229268065130083477007090103025552541200779444090110320443562919048803983956031351603671453712953583533253068823678819, 595300295143013387845048112549520606705258943234566473933962550475775551843078115824433888831728013042484719894237200397205481786508788380775872082842063, 4070607049336975230146831598981334482519181949951904620103010838332079106480825674774114111777421304725755822271697595376998551281805991910848745972805817, 7901750351499262607292414861543391166931702005273742780829439982063896831370416222254214395501690150263829553273768465205716035883837932866437281160578945, 175532433560073833362669954924956193523296753463221332721136800988132496085519005880430728462077325393649145910080861519278369467877795831592230220896935, 5602882255368575325386974580097576397068795273589636854716588197019501092581720722723301594265046091654970743502679378166215512302900056581436863656967287, 7992042656993298974027801063604201032937015072985850788801724180203233845161268604398339372908481318086018246721466428743365327944415236758652682683400974, 3024211378414718217947815738674475589792995792682550513329590625726394078607189318468306221864602485238047612938274367673408959085921150548775490262374186, 2618661278581044660483874817696436946236036738230705112524009868305320416553023931777236197301157729796046166135276902683122604035446976079692886746234808, 3231563680474310724054824803959532066122773861459862954163993337796144805597984853368345067948607077230246837742468821655853130426770444113654561127870110, 6632696416755573532504035674897684666788017830057132610144060479646440088602583442424527564460724870264262591183423590651094576170526558675524661079541253, 7314350108245660104873510064494681690335312947885230576918409529197550186734610289822605046120973652014074665865547290659628489737900739451275346605466996, 4925269006436405601057706037868631754860195400657328414762633448073013627932585466918164658699394295314059782172376180177337652417465370188762238233312929, 1294946869720535951868029551711441928999471086655365710135283930356501601338680510248892492453076696372014204757428360492073431814554996330594869368182606, 3291239667586252891856794742672581579822381867520449282004520891938275370014477567580397721168648155049081167294316873050023698193588774533503241866951967, 8987482965505533229838510776353815046112445486177499941164812253232375188359920795785139775462977135177608815307391090491744424417244146243815681315759512, 631254929578370821177582631087112841028539107618909125436298331399379829877607181973239737856639102808726375132916405489922010093175263533470931221690029, 7256533003201816206344682942455475019214747078337100193006596439761456378136562387748542920966023016891362064848529061832287884844018670771523988203431540, 1439798028628008485955632551055704689188856857042473024916579362552791624829293843568030140941472013382588356572436306483067184373083418571937849215984937, 1858459568506701817317567191044784173878984066739460252965718598408074341676353520405527872664744165334062293278821353397824742486372157383978185560880484, 2075523619196230469264874581944329773466599743439332462677410012743225011141712135025497947229820509024856611666067483388729777397009671750342955101554034, 5991889470530504692885901451802767396621200960095323305580787785180613171527813296561272205351250018975565980508207694828464464076273130384601271875904767, 4220483926813229221347328617420189385595690435145854276014889380109990338939426756020864694433073352914801949224035811021200879368990581567532778275061867, 4617478173067921118183284670645815648632391082322700078316812507018754143314872625709014407778469519147917333601907764901371953446449243226614825188625357, 2142323362773516570840212272447544887291218339669293167767591185597003780005169318870649824982281876548084214399006120898806038009320635393771259543617257, 2104381361356203128905561538962667926328865731600226063279995406903164603383381346327307824070497444185099148315675169937828254129661208833822242167680645, 2003969614999182832187841156949764783836766363062329277531923649612420903511588165884564501054722505815551658462988666863222336389409976698327290498378950, 7649666093861800340681679283860955500396827246582616376665996323854549241038829557673851295347781777084325987637655649085200053626892228201762958674386559, 6175597612276210135821638272379590356060644987765555465602899115908999090806123967557091005710284638002805201878274835188805010789498058598517163725675071, 5618237840095888272820096166228915790464070317461152701911101529534460439775852364773107865214691200257929825410209184688977197558629767896157792944809702, 4590429695133014586113338573985390216652654015013144924755550338723133220768462921753243272908686762201390853500988031310036152866865544912200627570667508, 8590460608274741581930571802764201411505234794985019866500190907104079197230917118730637760499025608271720698771269690297958294200815044754659022743130170, 8554091393556723919444863291581726917038672176387222026379831584496209722584060049340533914786639859069200318242812193665226536384878346978471672856399957, 2526333409686816576396705205636240315240777971486713231520809118759157468651188366333634682075739362054464557868943135274622303712904949858514158323044285, 3915287559182548952563767564062379981911066591217337824198124579197009057238382329156451903274315787424334969859722446572521482037791264433776771170935024, 2461798765481989717171298059355402454863286134771279433831610734484258077212752317295126926610301985060987636006512644050358764075862803971569228218642956, 2408149693779535679890214909499158674250472524906019750697207451127900230825725381535541011855162998329470649880372479769009061817234437868204745183756482, 8407144826061149239431037443615096013471897779808897115644077107636633169076703473526798727746801729901682102368657804920563690061109107055889400372746540, 5265491697062218415902528636156028881145640502508352177039630649282202516526886521317745253836956455389954584173758792762534809886638828537042742061596832, 4160352269994094220902861664532162133487917004615338680208978360484936144570773406559139802086338884117755006281561244141774422529690905993416519837634120, 1315614104859448444728823429702519778897510913922271825209550713897926787994200497099959427622052604434645462654388096434555879926731167872831001636405103, 8888655349098115626916924715032746208541385491312228784633081982561608407669317575375609494729394026568914908262955054285759246470927850287092806793341672, 1356075810199739225453743440707221385883589575710207552855260343167286271403732281348485584796181977503627402287610712145071078000386503287596600653743409, 3487982464381468571349315826174204727725839995061423828441305833413680600301428534914127812983677504981102324020796217508923200917536145544205895462867824, 3910215082672060460966263929617517598859503607930540736117238114828238971691968309142409499001920612410199335086173393008857515736844602929445600719156140, 6416831411369615316508738321929481037634429926396229595356234610878873926993608210687229839903135051405264898634034143306416230564691682651762399285857667, 3839850622155322767158074835022251293562403712959108788100040335324111929671130146457382597881430166563781720103171774959145584674197137976268147077123553, 5006279859728153905903727954328354901218976027209487539394576858309494036473854087377198608415801136177348827542899582684388335804255184467117641370396077, 7940058453294883547759839892948800486830514933241060771567800520342736635102388151440311583345570881201251762524796017572206889702272409692199463031933586, 5120648485009306782729099508701376545423100991390598857607028762324601274261092028142759457212405278970760568201530353104640840891379817490155786440541648, 1163890708059274241794661791926958281737772690736326466200832951787296933175127742716633678744002220834477523809286280242365923854249342650049141850887802, 5900072214585080700608743107661559355620871386493681075418107839646284788345892364819897257111518595537556516518182996085899609772303599387735467989603046, 3901815707210670358054860615053419027464904905214386691315566598382949289408689481415698673962387965512876179957692223460435484992281833239948469284899206, 4185003449335933687926313095831660323252286646238324310634039265175522844470542449810030109218876663794420233939797026539361918736063882315617788442081703, 2758437054142639883315852947676805765183556884367617103320441747470050140589817902759099218707852492676065506267201879439550877165775622637032125745411825, 4030159440530789236978697850589636413598240233991616087950548080272767108030744890133949385533326949488973463532311628497822966127580038998745413006173155, 4973471429838340786870715470077845525173949566838291389617813138085717017395286595399185487684110246372419882196593518234553521857971368765249632562325968, 859872162593940578695580074651589332431864382011471059975440704632413015922445114835941346911344058188528581221502041839426311638649001178999609263603176, 7546645747770186073750819592140167420357384393295263761866508024067781702163300463779752157618615589187928326090471110802251673704449751364653673527051487, 7470630012453564013723147668890644136407297439054340956323401758910949774729839632448889418443839184454019749586278378636939066541649083063670263525528925, 7460311384886660866630093050527676524868817897400850737638629048894873254098866478426074509978115747289035255050946437868941547203096327557572596403857212, 6458072277824588853818114927547786143302277919954361310009108629579419723313679295686944835397428676801152813070814004465236151996843894574698021495865483, 7459959152341676929180292213781436844262741794396049488485150182009285836452536191622344214174684574575355667768797248205328212450780943765265883820211478, 4296908083339313234115588298775760242704224519601641043783312220525683007160841550242997922003290986047556506778374550653819472100959247761065630909473117, 4898267645722728962458588703854003863727228277634104421158077411955220695144443475650052620264947372071523635880534873546654690740693144315608874662630567, 4287820495742970895098098257271142848866531660404134198437640827189075658489321327033969021918186675064729133522711310428216124750777792931391358820611726, 2139167854288408630480699393571921294185409361902841309849770822437163767437147664791031872308668249457924514566999120712852060501972382519032439583732827, 5628230774174478788563363190224813433044947980563820162966974661800408551059235294055398768811761615707329379436087205997042234378322104510466260248536849, 8839362456419997032171595187719244319256808213403360526177159866065829673101757114384110148118969589787014375860727963461340526656344081665507455828941538, 4509699897938709073208105928446239127791732208351404286873179924007871925352342178596437985599108746902482390866601940545096089296469915430816543533442713, 3366557084200896201553811939069209474875943125578319147094873149294066274843183632007221841627167713951078687396243270413255208822117113292658141224176505, 7254470685735902986111464076818803217979341141446544024122758532686620262671648623162607475631836863681200676623349347860007415306488040654479737964499388, 8824786875576771576225347667632343728479990986600838509566818223208767098621054532658773212933590561331238303384079720571396102149452812905621917645981888, 2928055445388810030287929035731803979945795473526894404575079250556571114503752117828757389995832706457389010393298227598975854637346718734063605084909891, 3170886475471050992571396581028794506384591678847997245948443005380781726423485120896441128513236969433644324323523840986252518008255587716914337658842776, 712590673464706700427327422063593845515012358411535692311667669574681337566726094051509856033754052509702994480471974553709355936187245386525707891845705, 5195746171288274044466933177619386904576864595011861765973391020263410859547647932360312773026888872936879583357074481278023494340102820787990324745896333, 181405470708328562437283851420702286952191517283599658395395755921132600473551158838460857395913470083988079681350191232620405160549668694822515817226891, 4802348120242882194417673887282966198547461366013816624780442315496085149707491286832008084740757557297672473609708210773887905400070075874278818978825760, 8387149648238313040801366555131250945430648486636931736231915025081907628905433560071222001227985300581934722306785052587282097450894536240994895986081032, 4990582242731832930502932263019356671722806163834485017903582387909750314751440343692792888045304373388180039834203846517243702860969736568438162162282584, 1860364730806257061833553629909313036665833682475522635851106494595305639593975546834888491066846220569317263135224285360472937767154839814605896475401141, 1289333856655191272362149667324938724254906765542029743977085727141554352643652805584495493033537760977896666818588978741783926282645796403115405947692215, 2846975491325556784158766698851840908627882865255249499761427269018971995497930521808650196158234785979672312784199426588758176322439055526329070406090022, 2875215371195885855806922173289336198371410787860061790477900223488300266598209468640100688159679494137505468469462269891778232869572801017808830505879050, 8993478119739365939390254534088713247457697015992347669186672443848727955802934332677421129615461303386220575355924427020803361956481939636728683502908389, 7207839415794276865680189467846595494304706257060980934836895949073093446994159406603077390161494299873436721629297747395534839529397609897213991165895313, 3168873778640566495472123800412302009330088274632050762759398094564398074520210680165632212666379272182964405010963463857193120771154247273865228897350142, 226256315176437083998545945905683166886178053328460884056429006498643945511938450684386025602613445820435679074880986259726429883766121221678721850289834, 7766985617103440385214929933590841506306706207722014993052886292787437136706615675745766212804752089200074475248229192670205037619559223339902366160969252, 7619952117144773785825019176333768438143168036675089930669513984936460098832313738980799459741414527895203276200305217445774342623529809440323595981381946, 8707577619926772940482911855390322995482063876027159168938481496247361597818242641258217267532364441289723841444431233462955852161846116616455798608971954, 1784925305639855536742173959274226983773903725248872045226710102943150988095259079023146548630722481752141130692054561390944976745578006412034579432394794, 4398743920417057571978649736855299613688630241257940933676142440982220778966359176139629761763197915972919426395645605745228674566389868009209499003709704, 680606199980454075294501206255205060145006883526638372769735468372658001599723734515708185552555902860465384127416705083819613703415490213018740399211760, 3004875638285300714591206474424799004910257809794449453362959474702307857528713349779835970745637230481420598213743506352342196797226537112777485917438767, 23929545125455897958747100203100753334704857576165836278993143791005587027904057580541554495080083698892293859006290036025974318976752164838041719484594, 4184785029949606410898699020801901350421964097985177446690334233335653970162761793815401743413131912831766492740021742461705913203174744826873527689718715, 4925524356049534949926559673921458361991661086811060773016315948262493770121222180090681743926169933431671595899729836868328706407672335269255169171912288, 3554953574732684044694483384955769656140102730268968001774799388982418185768378890795261577702251238691125802286960408798857310171956012276621046225249146, 206661189191983454640354259734110871983205921442529085864057752559730810731614460635658255583092401748843827414990863739421685268300874523828066064494866, 4137563765175335383467965093063235108371276478805576417236967499538146609912643121115174919336850862731606007366385723986860171623463325956979697357693789, 6068037270528645891938816445145112462877357482200661458883976532994347728660613947141945190209233848096157060777912657379698864659820066339827077780809901, 8002074323670623331662997225857065702078502650214630996308032027380305342330659378405504122858360410913831675228302740059737763137120953417178600143477267, 7339586125771067648295873749973434836814646778042471062998868925361056813759017224430628114017290017967130412147376621801075833225202124071631910952076548, 7882004715014024806933113959556250220506291466141499672854875294392557933376123739064087851672647586026654031167901463645555078130492513027784556409758290, 2262588205504862769228202837095370703646471747554322195703241610387980263317387324090062857434170564188089369542700805013871098432405549333708594355377298, 8080762024372726603444415887651067411989182697009170558117512849914267573619600648271571864291956023111443528238514868818209213016440985768387185043019319, 6424486709987211430586629495380536602840167973368909595854008387905557714806956681617838241026627938990304441974638287654710915522831929651516772815896481, 1614544053790121057072212504482519398688449001144081711993551892365602868582920585245585154570492713024667450388073171424821422490379544982277717513189178, 3077704095806022497692286289193257513221366338611514979069115467420201683130846643763093974113480154968560157524307755528824408757815896382663005884429449, 1545671290578708372092707251873560383536289387601106797506798241442835902855910281516371064813774529251261667320042314573955846381299796230168058578363303, 4507602362387971053697737441137046855630848660070188012432788999604252365807666613506323781495820793397139822427908112004699286916392519064484942959522836, 4158183020052943388410205861048239279716416942838011512399940137877503037106972040012407740700888248837148577269903476510415972769785187683556829660883450, 5902429125222166196643628126722115478287758046548931236526421508482891415748394286117188198346456566229626238757977603290602010672585170171252973951362844, 5501877485670454174542059099327779843675264153684476043749657162561523852340517195787549233764801275369444973248139462894633540642054023199080969806082456, 5628726165665906089054404762765281183887517923278184455201047204524769252985773671832629116649826565662027515687346795665964971768002290282735679350578390, 729666829304640892996454952613408860088503283052143847579161110674504468386124637464645764129004187447494209745278182037044727698598230013159256287405816, 4021276674622335276333897478860204042425289611402045132412456025786626555843878357451044610923959221659778075473023934100480470432033744525485141488899780, 280798828304139707486400921932320440295222044165217881530357909515817551572691483827645199373828878790149482611910637529750588430412853465478518015360680, 3060916646815864314660665038228146030919120033612733976029228914412408133927970949413467306746027406142771889582925539068990379746564409573367626149310190, 8626635791176458349957330625100538456247007758067035379658819709422649205060346389568344726646291194358417771272451695100104681262824849118261891643439016, 8482387906767224770104112058361717666192321767567841809405728293857134214254673303879807738721895298391346522189416935169924198462363231383165470036777613, 2292914305724424181991528404951160548368205835051359470725136035060744091852358265135574130671890810073122119221505777730426935116187246184735024877060970, 2836838554177225895173698458654975330111044566661522269965043199153091969378835139290750256188380218893134223675938534287546265041067092489802029925876461, 4029905459339242927650076550611925211407297830569655216133039996504265157430963868424690613747136925282616124224652370765193961548576569068882941871882190, 3755524597493752267616027580668781699919198699284243000171737967388879889938351497645486605287452526434433762483125078944915432741252655853238116446814178, 5673188651502031433566786247711627754727560178318709202944022146401748912894093068184697216645690091283147525637251973129592291042465685015636257883078745, 4187463650653735006559034309177260732996789738448230894360586911766467924743433080034871674416938402088304619595713311972594530246700465031337161119634479, 6550854006226679609304718827150369481832265010496150912741376151828764559169485127333297092423396377388601004768969604875107774456445413715170245553519152, 6115669014730638694967386174254996426937343296569987230511464363931369440794794140297179537209084153102439352636020893993569360711012007961695012822436040, 5494302879292842248191000953432372590726994956268291782554225911647337246214606016721751262115541688994138156224254763901849292848530899550727800273728933, 6138692960476408399888010973542619338743463121065622417391627876999281368207683910940572596493995466774245343000138961012832618526319288557347319834974933, 7585477230656480310516280944735752897401158857790822608353679027531208863890793989598593790512840820800381636966038779406234396940122443575766227851299605, 5104460651150314399196589927221721860279737720224227090707454614582922579229867692173632634620205786094972569144321378722089462852837811034726036756784768, 4662060117895069767490318954684639264911911452276320203517457226865900277996173623873470086177224554793874138581403852951199421876819261623019300133301703, 3316321643800247751625782604515410285719519510276190648466999502095420283989149404180878750485787758025587653389631627281237923022795912014609690900751547, 4051691278991815400463946023042997627217400264785020722078555918873936379330552445633766515316306962497315548206100873930289924192668751554368899070921360, 8113319679040612826667429580167493900458932584145578976125373955034408033950766261939393422844938007973771387883208123642442235424670495657588224772296124, 8191299929917386924872248041965571435901936189587369919543349863846587031799109763045961846614106518264292568348633579892509557120545759345910996965568348, 2838709241214706163863288922735888999030721918229080468735058738557474643880798760950486674841661726381944956211445918520589862942487911626723780083450546, 5664683985495299099528406507256840801173745607031070953965054025841896594961369444216224635984015818676910107608405785364387514614634125876972622076004456, 3193126766486259847168632007169640024304034805286590873091449598903024914758931919316994675526148232971596755921165541097352444236432493225432226926507417, 4571994544205031399623973538723717893559784793538943445272803071565378517540982684748645094466449951813003162089222282789302968413767724619728260684937195, 1651449206418181916299285618764336174240875687068126769996181060434823563366952671926986627860281675608499300704812191963347883512105168619854825352146824, 7690633735761701224797016710238050746303133146262235864818675174216513906711496037266454092866069189167767495951107484236772689778795973110323515365719307, 5514440436219580744752832374134312816170980564173888835394039012985284143307366815029071504491582592689470522604810354893289059832604420427115695783899161, 5853982092015674404014398123018697136236224532789871997911710229456464401189937396480230183669381287237936144358603408685897998279098979779057523579162485, 1300013814143370046237860110399212850416689532980150019580039607188231414418039811222848889338646915409701200793926778060520557943022623919403065424323717, 6731711500916248163396696954569257345800157350082803587300859515873375595471372550090080828507823070896504659576641448337339371802971519632715213260806288, 2412628610392049965843700899411249551937126132397235423810618534168479667730698389174877519039738247266765313992116990235545601767399954713880617613487296, 977745138827231352154046956816424350060244349729571362989792885614909208993298671787470321910075274357035011120432922618690078724006609640571353623530141, 2595796761409081556953888284638602224855248730539354713431408505402412936832542651584626205664460550832633467658608464253621905583108395709716384854473846, 1586830103280053572497056200635973513676007542811312157859879885095657068558774208958381617743441282384604702516925260316688835859297404157096702624320021, 3223585619354517940268189875189698699196519091787248148521300551223513728318669929828978056107421293141444671826137820950560676990408601812606344637765793, 689884850948955004197680380299144091570747963474191829901492344309140973637393103221657621199397357977921533302397714564263216397785064340607379053119977, 9012635850804162258145365858782216894643816278484392285837208808783965179557510979606859583999907747032326609413277689919422480047250907223089807392841250, 5529648819547188900846438648237031722795948647790399302455896323247707718534075024361374680765327850507986611645893384476230232526988372010618360083090755, 4743745151274532763655197469167636911967052375292640822475683176714139178738317453313381929321080238884185536787207510375411485578780164622687079698293802, 7355189585240301094306784886523336058207794420368015851826195395452480259111275727705706832855714958320777802099239572561100435411728920992327446424791174, 1115484030846111288298901637826238253876609159124559481792618777157139722466345120035184899594819716120608899855536000098277123660438494135657226687212282, 7844462465214086412007902314546655314640728955020476076441809648835607231178258195245349944781871116306252352844440787713128037662171630235080835310998906, 2506405452229803850765717289551701404148946858960290116412246957240326556598794470025994146544771067030093813047027508452349144571037456933777103551153667, 2497255801390447493760865999496161126293697811242113668296802835752968630098523244630697986237684726799996445920147593393192786948479393914592754343016817, 1159034450372647512773577921202274578262762300823488348673968463636392927637495133312033292950092759318113142406968045774256646808486113666558382692185904, 6202588910025852100735910855418778571949936619541377955122266889231180542664818615086991331616298631795222925551911081220222118463612775212591187840637856, 462770848712046264421105977309275482998305982597897699087567663241702170686465966745792122830556017856786703999645699230823566238899949633494151279901040, 336045235844611893428600443119614856769473480016475909500670981395708869650535361445377226765569704559743884167133412001300000215833190841721316452044998, 3075885538331535553114877934591164489358644576370399668873393204430282590746579107426818740598753716382117772621778561482219718888646193926209494076511097, 7126822763856381186938470706324920334804715683660418727370996910060325592916836389218491291737889627580874704282891333676583636615590410499266334776418194, 1394425500147568957694332461982615468720056797406863148929765180264177422525752657291084053974513928068994278188049462693665219156353858442336652374631461, 2366012035198010315017526517344787797170827386625854038781768860416587317167510827953963166938888546463604863859353013854287623227443920153852298783409490, 313177053447221470617302393534656130520720702779666402068539897364152626156026593279101189645582668272721411650369980049069636513370176284745830401844464, 2975104170135908738603250765858624544262982695085198968290257547081282375570629389832530482085879651434707375235191994063508072416403469776773025463935316, 7548853584824050872139459553581962487599663749307275684779019794368109025250699250526704887811624295244769661971317959139640788701454328867828915923830192, 2781802250039968852043735782997059189802971378095513343619327943990833854423984703987420091995824992339843145344544636516094073304408377889143699259095122, 6366508035370570411974661678664741692690984690634688010900995737548753396662119352647827945577893721813592119047503582752558235325127546570275329374646778, 7345654783622387049952862969065051136098878879414717447429127708288334008772548148578456164751762411647348799228466273103720370215320567642747248839509221, 1389991686162283161537044449354349578787814011639785404241430641973729556080357896983420532916166535643031177392685315793904723443612134101267561393562446, 6220076338871940065058694316441581560488291172405334947553884752675231004118289398871400555802660942044290920599165608377255560611858199750787380324465764, 7268274192084090562278542519626933346737580591995857346761949848974690005136167389302698920811156917864537110046094006298810448311147614301805692008027606, 9181306272828488868468341176473302220591908210949169170421901029267897028333588957881354984703883720073232986120293171136470004070146169494446412868511335, 5540115283374393309322527833664080292178228380662809338208743284609185752759102686750677284801357692285027828749040956036740440754123577580962310285043061, 7640435215648224885699611773361033853228851235049407822411519529526403524747851464659691455402573631875701162360751607521757229750697951291753510553957505, 4442140863313020511369437240010927331406966835567746981092052782087815249569530614638698058964564333095901423383579239138721639718510132646539572283884001, 7025162964177472673885570153655514240104981438911383628045351391093257970180113715608654680468167361983874440017749523880329333763915227725016015272304928, 3423689373266835672591716276180542533670876318436718452440971078212338662734849489416044965210699059877464754919959142582680919317999422994065401138406137, 6850590789455407039471130827970030949906633465137554543699076444515118789625712727925509459591349420389073641065762896078021445572379997774455361708733904, 4781251691305028703918338745026687028282986537738296176009777571604438161492111466303723565463848626714540793749793085970700369215372399625285837369521915, 167018278230160284189598479387737567453958828341998523099711904559043634695411652745818604590472365698493409430349867303115288872406876991993990070255195, 1880469636564189244572661285187708678135597161559228728416042097874462490338730523512640630075355274716995204611555287816745473804821414835961520168514560, 5195044958500881293326478595884725733221758683864428422459457877461879422081579388618439048489566928235622320872311621382547722303843488813815125102172947, 8324371845945198437631574020275142795019125016439832335265110505439403613526792593550845009569122272740646047308501741154626081076659545799730882824728311, 99857191651197263990198459147307963182905415297185571223631544149804045789290287025851188755892628546859274151633993258359934093207446314876290749326801, 736544310066810969529313076053234757104430396264952127510869365764393931303772798049924913969747340889708271232534334697651192385572124563961932710756403, 15569474511469545654441918772577897287932688311300559651416973706121099578346885848868540278615389594682288719502373253089997868123498695171347070016957, 1344510568878417802232831751068116823186932605979818471976227136358742882236255942496847598707527544575157883174806039964750840496537113309027193096648304, 1174940824266156114970610508860981880475972664355773807206832704058133461619538205928508116688423336536050847286187932261872765935246085033114661745510107, 5036945800125280314792242558537151797968776841269773335571518228076618723155046698239824789219707347888801733934184578801633398291520101425578561962601361, 7204686571084758811011974968515462367704873113300217086811620147789264252526347414759404354388150286104651080746079803396254770686289677412410523072002061, 7571194157182807872794875363534477118344165947251365125027771076391891012808438169626620087532349282317202785063293368062097271092816210329151121838042443, 522383189429490462013423550625815263180507082739820494705743122641864843284580489496743734061244454348080416030956737299904140914255442937678386677071428, 6006793664493428268715153193513349947247220664805664528428840815511408764910527919864970388745496430295120841632496041146549954443023321663288286285894107, 7190381975919381458304956473105122871985684742138733396601939078097603117174505204104062269842611825612948022838291252691243517351614491896714656427718475, 6528659522248735612466538198958974066003177294406959979936209841666561184878706718016029278613092432343188370651374695175447630196083569264817757411323761, 6516058413871883652728689680896631564278762571846238594783345713526584002740048819036846377338022078096163752104518646434323532878769624203175721688489538, 4438073210924277822330495479760164653097022977848042724444610063459967640278413316090538390098882370562205991150491926266773542128806936146876421891445854, 9142201956305878855202685881699299625157442386378583059628750614314271868080120589967321434311449472648630179036324853991620574760132989931607727412072922, 2194693267094576876018880187848870633393920386699442235005441374965526396139179347965804956096821641099983065446276584829635416468202207582102641015008414, 2182802336447401091525582438846532288184618978114074312477268840141604168256649902710789425696913753405682974715424453811648597625505800810761384719950630, 5756348997643949319593337120462489748587835005211906212503707630284924001140121668121991873062338715549294273052863415458571156748340129530547750821084632, 8627434231187199341167732789988508453240327163538893938148632018694853651194770157607221559679582310675313466348733936531107951823852528069874469329734288, 4964512639822564688169795043097039178634999390624017415568835524601211431711906368213649637794795492073485317551888490687747717018136139720548781148823647, 833280053130343833683298268940291186877184841360367333619298613364904368980839396718127963307692809896721527353066574875396583526842435274115613213776106, 4506276710622934168662508614122348210942517092886960152859478333967398076496675629669353861887973116653538911702731872322326250266361536443800059372468993, 2488821296065336466357439917190006255920274230744307714453242959513808330108486296269359125012143910704081969410378359099812271902850058934228967967703896, 4572863467236845239142964589326551185277174964115487334847143584474487884363035423420649605472877261214342129267592420116499436200271292513825749267454544, 8977535442844779735085956538788102500548253135732256212925966654766585187346792147133087266910005768877923061362588773609490566186101919620463116164958143, 6560010686463214792092524608772852330440567034821200040278024484155288529948129329035966641362555548561904591865526331195017824401618475223212063151963277, 4189812294370105829455444452371896130415761264575399127589259034017918188412172494964656109108985021949554550121549431873990135597096633614230532029853246, 8247046324374812118253324046582625834302707770125038285928676318492388103042914313314008996244314585031253346892791991890226096043085075570054210712248885, 3215415712841218302749563062169414333406117553719396365870922769377349190293594970014086153678193910687593799953682283527986973105901740074924235988947012, 7207773711679422259279818469685984382905864488014561680976013239571742441933633157332330609883475113300247291055538335137761521201208812598697357708494216, 7193479094047002965991958286884884180468496391187386991091866078441059947997733381443667446621921733289731422038630117005938496989256650493349408479850721, 6333330864829471763725218214567429387976090497450142686982223575773674440378497971104375238446275129421346967601000324220683814724031168901936027159793448, 8495620072074793218902765554943398324779105189782211997169119731791415846738213268017518587463521235768758305293282598667170607830609790491376783594276062, 5279137132645947372714269555182433856540346592710798180493139007990797978029834887866587895196954272096209338870866544723525902338680794581597078401368078, 1572721460388869095676984465688572324000927508345453584949582744763462014430523387176444935070044972352728626501778836751170574935147749120515818693179046, 6951228499853418623330216709273772538409907397595089958775814837366547794110157297240804289028830088703597880308377006227584287466114502390297084618362890, 900856573787137188572540838223914494528305151073021439028069044252347915834667035125747441465782949654361108492051685451996418842194762007289418448274145, 7442232190910958915970940195886798597265689707364954408177815186996195408295578968899488744577474529395694793788580343107529398335053672701109150499964244, 2046336157580606701662768237853884705014494096846151970253844339085505506080480542438145223427178201881226334535799225230657792662137397426853314994358987, 8373423819224317615400248583862109420037896777761818215660830894164828419198502796288454820597935461372609497017738270149767647142789615639653152870144865, 1722979682185670245351004699947135930200910531144510047377485260436766448159975453416344322452349894485688926319630281632914975642341581590299780343390596, 2702447510157902798693129519320999303678357724154096803666766614552229610831880276069450555529812080315487394889943590475698585808943680032204965664661351, 3815865956880820423417057859605713956201826370967503844870545961879168923994804162736854823726950288687769271671178845447064001983553646893833959040207173, 3638694346572710380022054869526084472263554324938972029942603971596265613161272258591347234851827238074511334344548207159205370452176295429384132836599504, 6851764295600596391935708991467782712406385840666696329622478829672547954767120595468290933432814548019852584170949748523343302751224660778781960583145346, 1141168155084869292415579587336968857764136152450010631363113231715012031508724419395111299673328220247414605613094987513851009990774785657032857978224227, 5001790538769640691583387792195240750744267426895764711016887865728611261824779530726141630923559799601657573059759806031165687251004093850710197316215936, 1548891957378729225178270975979812254955128598804519032155582521582838453494520069181938427216919212068655557334605220876632519642125061653433257619719780, 5316044947600340794066004163527484255246974002929166567233855439113514674568266260887032833352671008533409871452411630353205810074034095874992823161706262, 3608830507975266651957211506433704388803612654237006833057063706547092542473464506759382574887603725646691121797379678404058576032519644747072024814858019, 5715347707158798565396094381732413621871030420977469948737516581749963472502838075815449918631346334746903436228119337518427397598642328286611914987311078, 6014959231909208304272955305537565006850909508049952854278067058111893041027808160039434756383812157392575327115470553834279783586361748759198259596154794, 1618670497377900527847860072402269304630109289340524913341384445731002427969154145595370437719043854214328406918404542122820971556715269212463965974887131, 7289299565459354397773245283159291533501249566467618700261458568318615981815780617739489328519785265683464788776186442528562097591172768252560174905602091, 1740283379475832334170510043895311641649566736516350665923751659369230888719802466460516572619547328430938501685819466550664122170795185266364116364572501, 2542718043893363661810506947868281803831924393523150691392103752304824935858741855450899352413340784101370673409446303130228037824083909210199102011649352, 4538720808934556483033500941457355273011271717038011845747545362507168550652278186344241865327554299591952794074227975059952252901844960011091495447261552, 957036311875071183374955144193366102420872645635263268322283884266862941889430555517561258339795561317457091248572131300227869639186491586984480625843765, 1135902788514071682871755304900268439026904277198542855800939641052194625843935731056286546757487221757294436606667712491855640776357807977919900252651942, 5180907295468553381367696164130855483199855853971146329843353674509224520951817614010632810223471773989239303479654675864349619552684215626294019561063443, 3408340663531168311083817846641854527248022707050948098485037198958769194565803032920377656071771657901642124530656976977475153829250915423867351070612264, 8250283187737027873728685321044665025236513597994699812273285773226391283465631863570901025480926276685642237458506379551554306715438695775049250211103980, 5111798058454032141156759473177986444147944999748180120119804605603607599592133656887882371234426447543015503883952645733823505857939667192066110456350887, 1946428713504704550886498054716811559000519460663700619819262460881921411765165044704908769740472780711670643229953630884512220184949058518615262709961259, 7302279756451767946435114372906573236659115998711486233883604559066537435483345236157977388497718736804018589210269739355726777066882882772076985997692119, 8535653414501237724793527172139383077492140127167936897644550538000638668045291352755805407385631193852296395077312820808988299534506170209615499987280302, 7149882021701383656036658065042517454428145526611812312565378617616017645441138205421042529348964899870800394847815664707428603387356153804668842891420387, 330863635976238113307997175817270207695399501318451816085639572268745527074921167360159948027733809603865990251226040138370453380718773310831439868561304, 6735549670242156838391896467020067269642412687472497740915494575399494433224733565378097317432569572388515607440617786881452265376388523574297058936371737, 8449054052456394939801197499849995645300601407493910977037038337439672988978392089959821490183280204723681830290399190399614462173350756123773874328831001, 7097639627747637926949793575905358679706574665293360560622286732392614176720424190187373613316098973543418338890841566753232488497017126228581255243830180, 6327478550959119852511412684861159636512095179979808330027571528670250084550741885914527254229570498074652921458748297927428330633988075259688815298802827, 493028708986931072025171325093033741480483998054177778085497816360954917252746614429412810217589395709919099035572012103495359541246879963904253755039556, 948730551928047524306796300799745834876321812478628454776238175410794612826748071864456111434296429946683807671721878793595646996718264136473605381321192, 2174474203967914553295485733781727466871231498345346504776749425453743689936906335723153623465062195676351928002810089005842619022466467916294062954296115, 5451235398877179058821399144163931581761580616857653191972485760054679525278382225877867883346974628836620912974896985373314187393227245491071295737545186, 161371648493182188600683844160849345967667452541877602648448531263152356621935790432017883143763910565698220214272100552259641442425743631672994189174129, 4534238222346681683807393545685242626872435761065884476855748090208650698048768280316728006669225205411105636144133183529783670431684860219450891589435236, 5268740887262198180017904924002583303061103834657524191163462673191441418001562316007699046524046317928217610867683132849727270901696678798860060375790257, 6691623414523801650825110631198595203123835910430719004154042833142071029957711467735830328593177319727732815863406894487487765303989789412720476932804590, 5755865414423396786241689684405486320706881797643481026621496438487461983749457417822865574838678679530529964152568844001530895612638912465511025420790576, 1536692202706894871000948875717242393167588092850064360191566715722032844396894146725996125223025813367077726284746314719760072445959182352901155599836362, 9028694208953482694317956372018276889263981621203601578392430477140550212264721204584757268862750219832460943728190503269607909140726027984959028769026080, 4636138626801064641268904993828122264732772884592510782228610105572405215335809381279012529327556334959592902756491506405970166712235354854274078081313953, 2580222280334200318134968450567908351474486028218811491064464638239485062326247601486207341180932851125420424094736862043555291102162468572450793825542061, 4314048374394820778277887912805806593660229494221926297340177854383457023178785770157676037621530520398644539497307757293276696178088583453356261609416903, 1656480888396509759989778373123180025134396415866992198349371936717656923696543691519192845033167056149283949591573910729398201155962094482336781639720411, 701427423644614992247426034629161825425461924528579120018542250788560884070190014471567125319534829483701063538723997841588124558824894324162716200150476, 888253872729970588007952127599160949504736940319231183128959470851252793989769280360635046653277000289735576588443066063618862077911248827449272115559373, 5480748195581060510812727336526379604368379372441727249057162706502324621024373016494014073725040219958528303517992109534345422255181629865698906398877169, 1042122854576237397878259320505064617863424735425833857924193051509259876430345774674580367243825381385859221195654011693832762387734454955044072067266278, 1443258984626932934847825384470003139070662906764804444718847586731226809670401752588243387280848939994781699251399993126183427565096657605409215390285951, 9093908178707625661617419738968534623328244146352042879427058287415234857400150870931013399915264662061212319881529589348250801029504331621339918627269975, 6575041680579383504959047793838068772949295836240212863521187580833405805419700997627580508900778714541475652744697701192861058338429947416382613865442268, 8347810355117741786411860422953042070235807068180443443097567004504682419022331277512350828389749989739336949952540463058296704318036116727457361477416310, 9104355024518441967969983404237905351504238017816236865381867194662598898450889154571740213348072474006646118497616511551293988049755482023339037108072672, 6374137757565904074434126820150019336985771538042828675239864784399648761378462357137834036635900868371999896442357464212206407948710769806653465681604453, 284190485148733680586188639751802687401361956395806530606122698123833952973392944865557299015291930662352223653754082528150522858669266253274442310383669, 6248258956590771353338655823764711916408671942244658702833851746659564920296512279237736696047274868645196500928359770733452963192446683292287030852137830, 2836168318035767159830469473598265038956133424575072360581894962390658074750648910429378299032428337258390635126772542868898462724288653571153659783594421, 7688591908299924723193065955710828398719731814819141643629876538823448943602451179122798269335462400049724875821303724839579056932393006790129473216260687, 4164679987418643070373380115693315624257700482307412870690621789785195205300158195130159030912057756478283656316509981701713936882659246968517402618534168, 5281764285886552489139169358581278131276755403010973427545205929371458081261905182825547034228966650972612329013684069965865205843412808318619936014344218, 5030600015631196061548324835051444589295383992530827642399139369698578609712272869055475881825555532123672411484346585942266459986695329638692499774617591, 3619587214468138975466238779153721808445482789547591623158113534617544385222006960472732891626672986369474285222120572089256697680497937792323655640802343, 444794085383754829436981727013662508181262843772222790895357854190790344270583282080104543281095738092193707726858556692052193850292463691609095959838907, 2104860067713632514944673784468151495979805300465701867425639658075015812025216219953642543659071340552649850761609248588693060485932232301009565146587472, 2784908814992580664958273641179740886843119277553587381301664190261498019031194951090185232738522101860310226639768517557813941804602020671642791555482047, 6327412465070939120533500997054542275331225262666945717878021595790175933997272775973175371925769967150421503750193633361100218780527133364908843692918890, 6244889173705388449634579305963199912722822572409642340636394137250367803088399604546667807618635466619643483429915756967679794657471569919112924842927862, 2714967188503826142769212064611069921787246639103314575471659520294359223961823894087460472673859440821188074175923309112058206975932323217009405668828225, 286014719678864028757019400937030210405730651182102470283573887004866997584505344948218479626801360405641906662786117944929535420550440572553386776639987, 6664231843696962229731467098814549566690571235283963505730376259059605424224745610028738412123592026004610729264820890810158768860029363723893665178959600, 7721432107365991755294196091826313490035012001061048952923550862881273481480661997489294525879617974739883015189640556365643881738650594174440354125244952, 2407803224796645568694288042114762501456095904814873106176422997028038749749717313547687305238419983097773771264026058939208830266450945802862581531465146, 4282390338933821157775125103970363184995591297048372922185807709015805170824764511710331916148280112310480336950024323057940288779888670013452587396794026, 2648893668097124839191328397020837923380315820215209849961932434917425739125722101908220279720393657487890287722403239063710232711541431033449323686235204, 8973324981333475173146935586936712788325846857770660331177520829554161007235134282566050564110944968241683102824101972896084611568757623701732342451320222, 3842824131300208612472893428843587494398336483031417994270599111924647556013376264016994063846517504498476684089038324858916312088410328997000183849695229, 2263167388338951574651000651757804390789177373917489354426411753155296475677915972272491139901718354931871266083613638831525634054911634681136764557718635, 6638007677604724917474751625883134399470689934695843578149556350310066759952421894348848945172556876305031851095149270639006005001474728033712389620479452, 5847495334504219458989064819850149183680715992043977735182014791008805509812281437665875498822352834377191442183255556991492230171239638684078272570797954, 4868266523136604006729948076120768793167803966580565720087365136477057608048032015070113950621062428484798682181513464213679414931545000858094082496523040, 8399117164907630112417461666674636739451085931736707956831737065091678429496307969319071394531049860060168637386786294108633298136310875563773042521383570, 2522325744084102870308198784443066794478866600133391461601208880369851919300949149743699926718910816948878341603909289198236965061609942298762527909109925, 6551433447498576289549992220766255094066489235527101971854076941649683958155100293207825144109825417046551939459246713849753527623701857470529056975660765, 4841120916758068315935164754146596844309543947794844974922652873696487248347099623899408116362036030524096522040304365027622820283334105098072279932705061, 2076275297731844538733871584728225740706482376592554858389109242616561243055647822689924840416456571315970666368275939148657108931631910542784017412949014, 3181996931131884761735281266847246776727302123010651868591661958081368239027125953285796663550989349461772726023254150816955045792680356185024416121492213, 511032202463009856662656409041376553208826961603268152474308786679430716177757795385980002277070953745857332537445073938785298298302231199279753491072788, 1760341368534452449232676809054750181743137755325597825753852034833523120018285710499081461776233374766068012581937116195512821351230211872508128114071638, 4521349882696202442268857434415465112430700624519029862995461915447921615809859985501583745496941176737309392978018054556685729606984734284159152016903487, 674431520517640654555306371128953298630348159908894376945651513008499221894319934807094083199408290699968189168729963184635103679356710688665375815277941, 8504586871484505908569149565589060852168135007521233209692267677712730001839321573525264132361683446981645728054370299273874240725686157534961885041220450, 5188189196631113070928682108014016008572944387372052211826214855473833761960932679787651832945422404699337635767916647126352670126469151260411683000846487, 8981042833722676726287641374376943030681611703885774463102612203465444670175073171295098540797506532285768477163951603956728067720373561212741371971384509, 1930132108794953685612559622206606930746392282555202119361450416601071124281579658689598424922345972534598215540010296555669517693404623081823986308737454, 3694898975697955047604369997676303631632484690242471048626909301229061934362064118453989811595666364293767633167676085676165425828833691151344595789179150, 3021175764929224146609467093324555296083755333997677125045112029314710977493055511607106545465587088971123111886617044644330029405144678990817951279951785, 4482292034221958883650621082937443585239273011825918584426839698645146316635856335672586721015833637700292244942414258595720910780689933714120170103544881, 5584299455868558829026594892677672162906772971784146848117729445355816329670810990329531842992773845883485218026708745249833323450044378080443378806215931, 8644490399749246994956992682606074630490795125463345853268488695708644877177969901787240527939771838791230463193878523394746973006509487886489937887588104, 3281363469502965382067490076769288432322772102548210145694152618851926048262381539126101158564711215859006365598953671504162460606306006840468484293426457, 5442660145407359038787910000928092634648363918021764583740610316571400987559107937615863656340619996444344484302489715735216660580659993117902916896633940, 5462782325754225631511880802695415966186738619598605456913909323940491032881062318233941459021975938739709942326338682845256268315809250439165249551210498, 4442890170567401036319026720165496441220763353225055661086030500003321349504562007140844429030471056370180936263130263165902474198033532645914911683241717, 6460358856568458713596322094259754749806082909079322842248842790150187418396451028618340332188098710715983749077036334235307115549900023254248035162308605, 2710838665526360559122009662286307952555334188868513009468548023349815594529342080661417301453887457049663934702636380371900262475361571829322204038937626, 4614344520830319254707018278972114351546939622121905976867764891814475297360910217910145982016529255615158838748873250947480383067139834149345298720250039, 7971042624507854224327129845798152608117476834870245200892760583026149310265124294669249937255987380850288753595871883568289423384413186145491335647571202, 2068819070986759727670010375858308945368838686401678956974979324603324219254876649011864340481532910281749032857948401058368424812586807099008460064010003, 22042008807630008475573892045897925822108183453136131993079508486618656472391730928870899011032728491250632059242902746040573759226985404219846232964357, 6279111126673537798112132486116210363806105893934218217494335071393296148287135073923822433156468017088782308624295345695964236004035804204986886019205186, 5893028334013625085715054382809187672098476366038462909890387229187335749470861531233398006497572147836229027970400849775586474631104939489760198450090440, 7746856896490778513328168432903248522073212039934588572413277088079169338483253169080361295991377484289630396283952246610805409353331799019139266512947030, 2479080711811291124427161837269823554282615974074656567771337854102343411406611770300051247674889192377896700970744113616337482400469712102256485538183372, 1235370093760434644606427852952022825519662690145424388193039795899920271089822324242208518101866297238835572894389459094254994389981184556400409195058147, 8670752345506530833383127660641066943249907953516824556773264648926589700813126769025244089233500334426956478562453783964533194305560436510537719628299737, 7115832770870473439993561009292682949759206634080238741426038961543876020282539574860777519859852523802169309327608819664941212631957208543015328633844132, 1050637398504167713281179892751393049868993069227843607076288321964573077145324148564306300092468291137028745524590657070395684334970518787935831308264624, 2776221613125570837010491966304882931358748059479934919188965564890315058830344779774029632103685936612728771003684988321004472714877353210037244976164987, 4825081260698272636001088617784229577292728011832181393137565328254828886731008355503356629357084752658196050415861543159535928641567160902533338460555398, 8366630335609329677254971035812400933803294708706257175888339642879874894201871526414171349024838420976910375911873808448986097516793299115039326721010497, 355000497750911277692975918668049517854738639875674613599747747442272668959645612485377564730551351014895897442733830167598144998458905937509942685822050, 2227508834309340476514997517090748520559469827477404562490540461729463146626752912914189331155520675805874636666277624534181483508782748654205177514391290, 147978815936559803944714584028635649678310634876391846680589771182390852197296224100990054079090766205792659375053621415265675449925025193146847867256502, 224030527813267549394956354696928934399060065173988888183827069039224729054369911629818337306504671799807481553607366482714972852718340786297837021629377, 4900009010960356091785530396909222308468662796305284561320306997369617535075439079318176669502649147391286518152708260943218047901861955432068252565113058, 5509658615534373473227091151977110646549472394311810377019106016215141618487071542523194896054742860544322783484876099812327255442720347820232101716294006, 4802576084247480377425789191988579783719296673932481242183940752312278452854093164806075112514326923269049946369104899789242607810471755750153429672421004, 1669829082095078507852042335931582535977414186512858136549958821513281633190551373365522465191375142159933615757810029943100074251791013795061786232843315, 8784779193076543777883459421839066606709080810692468879628755404607374867925484487178033175519443747690579934802737145801664862978283366275439339438444385, 8907401493228612542753315529770602273145185972266615657097809636186103578648127193172610499652827378407307899292941258095019879459251044957687653104013696, 4282336811459415373822684622570809325917849220680488488578967848691522530163157932052071690156655383155577083792912419393815317415506017744513370805650045, 1044658931023818209450011128437331174131078970060897617803663153156650252039856496484636538505914836506464388330399705915841067869841377668302336008987154, 4354636604910243216972553555056386662326826910171833668865414488225641130381101007238762702668687696577812267553907771866859512410649678972356690399630999, 360376984491964781555707514867322873284712567628572088647623864334252941861977674001392720514141187282342030030680746969716441319730919866870618499923608, 5272799007642580606711641536826212681392773374071697766656733221578405114397246037123375962942107039695577384015624251366952118045342712647119799243598635, 295299474465166733917982738551371319344037301486902631889901270706040720530656581218340113072227552969455929604778944391587642859982608404216628488145295, 250881864559651766136884585565558183349990329440529317554387714238765766444697231503768462743539651473455746027622342431906924681729120299498587351589203, 6875674431634378607584209390893439585678856278681412549545463649269457756362581893243860945169588161074835788546120904295935818714989267287212934854840889, 472182910222582456074924754583132926093964100351381577615436961200326947918650450092205949730523201443510201969866186569403099251848599136296523006230369, 838311010034385221959867490199052678469760644772732018018695859507324629127765432013070775485869449644098715646424884400030373290363572092388964665300593, 1362379094579065260729020929262643486373772991357818430917303609372471478620816772605473434011690530989152471141322910203984126496527105369651739674784786, 1449174586608582274480983660870739256072892317407145798029452351954962590476121872076320537692823577489881563945681846294443149733217270594901548546752022, 8137168882545108057570589940582962261681186494997130428182161647943911927909322759417638649647226567062303025289713621426362571844542067696862153777817119, 8214444230059872539214843961088692621236656470217016596150688881129093975270899919953378267360769597457846807205351973317139180063851350969559678221623783, 2146822548965117047480112989144186459214965709462768546819430196919273247314628038284647517768700377131177139729034319137506590187046463748978976654916672, 6328218253041163135074789935948049500022279941445000015645548969576679386816506884927636323777867586805013633599471891177683820181270808303002241600584823, 2310921625493084714857475402000557134434945804266518168371949452754465553549034201532669530652261905862201203621911903498425617804608544837029035919296215, 642257841020708148382128522324243950999921511122487046551421788002888654039462565586847852078952199276969229445304645143648674176296253243017331758419057, 4647897754952282916117070549591075047887903352480966614018088236351299240377680437136156707412659659814803833698432126097104900960560842825982732846469157, 4017743145343211166335987822797123819238715236997064688378483974723801020600399531021410540270703686813585234112635138313584354239996986576901767467597132, 5472155241112083758152007440415796122353978013659593856894533605163711825681754525722135127672510933205657986804928233899119953184728589765307485914991286, 8772232618743628209067617484489119807440265737275783018113099397031642126947769971990555177560189157324292482202773969913990179917370349156323506054585164, 3572645750136723264096609402601818903066741832360795360999523462809209728774844762371700208702577207477216171798782278436156802256159388698153417986085261, 5470194354523119911227113254834613391881268632675106007154574879407321779933895243287071429167718780989843468492133144194871118893504282569251519525108616, 4467591709338045582393555387748542661660162019746417500232276457692765554192313645614821318532659589884294438285315240443566030999006240724278184367575065, 5469500368641414103662829581273640105825865363783086129409648958552285580118423142754921302340090068981715052110188475574898772970446986992249330551031675, 6452925735334612533945074669413880001910939539445602587767620980933910107548228368423642364669698264630783276020577264337965323414589802214080356643690457, 7068198301195332977992240079452573834277181878498918503272372006536525551718900698822387924098654410825456275406661147244565628442267172839336247102900405, 3580560654765961527905144529083237217420039016009062297744469140891403982840887923354803451513034270636501635719936115234093571080614294418846809021569, 5051368661174726455307606683181820940143362330438189051349955546585762615867432335344998960339461149750637166901659267986054548950969787291543491722666699, 3005456136417020332100610159485966705520721767218920772885138205004110946557397531875812371962057854566938146903671694061414547104029033766042618577633099, 7106997188631582549722396625646899866778750965797308044056315336993417791227113920764596060236570620205581790514322360400561096538709135300275770962169314, 7929564517248472322427409240645095124154315915031590133098507554700709176214245004200486460410434311993482249555412018054747349436087259981208220583940619, 7581015818600373102673591689572986620240661278133408507419209115470034349942925679259445959418883522179612134045664255466749707894668230814767283441761527, 1310944607527473651955424632967238699405744836857663728828006810363939694509759589918417638348152783217772388022732047761795919311019714071812044042388437, 7594179671357409755256668567695707060580356462431189716074487587344431057870195626332018320393487853780639477556767659493730629589241740016736783787199327, 9060372118685019869260618280581507189759804263206922660344520834525463132873625815115467537436937352624182153637649640011909216374000003356059774099565263, 7040073340137518225279866626369231608297473804943054583734034947568438175256386113857214739690839928207338723324460765637075546666186685817069456916197204, 7543043630333588123162806555734144764962419791419307934061370152554322399466176653601571541095128674564250012739731742187986716063699986969963420750542672, 7303336436816304170144314853968907887344419550480223403372009664131626581126418352479790162423871847188118823387900979416131961800968480401778565455302433, 8503600245572140702101061422971108841010760109083482056290200104772379031104645828143705630981915297859308616796974296377609908193679813190550893189245988, 4416214512494181929832869265304585330263788010348195488916630987754432488758358520007319518950127754716651141053657662744519203791281433509110104721566919, 4892080520856488048455434217823827613726783276094507773324853178455536535712512873260612551110459894467732107879664860863611849323512480327291731017746345, 2912107872682893559273455547159080789976701134774498259914780905109220467667372107372539778836426779096040656460394394982612397087164515114191746215248163, 5224586942769425836594734629101030217406414476192011454139486059750948088143518807909661934694025630655925738425468032157240466760299190827209405109093101, 6167901412889659101164935030533231364880738430064337416477042876531722934774732685079763070546841836572837688306235608319897017338104596265371339444137374, 5243633699791854266413785107314972292657476643547599860651598185322116873298918363342740816311140714334452453870527462950442829649785094588683732102542994, 8262712753272370730067900267700079021863326612709319217721203131537481117634474736509258891541967643507891177531115424364264953095932843918410798383135505, 4691441110298921276738753030475922196720884283278885780284607520577913619524061260019082087683451263840379936874514955322941128203875710551534293227612885, 1914931766319043009184479622998375866837061549977817561211609241422552509142037629088237781836496238062414479054369644597746563668268282254774897129734807, 5699375762821042889280243514590823372898966636384651164995269808192675286374001190233014875687903298014634101194607537904030387972636287937823737885943273, 8609652513891579329226850326949484352006035912266223689548708625253036901375031628235831315384927047410126830047341756271162571855791087759296017023937064, 5145769399583569013302860387596643977666096509706381067993531456687317702622339010398982438938468798279678159736690325126054840172961168424905986965576804, 5927115814605893862483693529526675882283912509280742092486506505251224622867936938741547997842976928029454961372611404679767088292998003129171286047211049, 4499876088334620514144912201982001307634324129927265496751117350902276866777178609350126182810734087550601554438798164239782409017949982591219695207970357, 3701513414052110890096771317411228738634681597787261588618410597664859522541827283262754208437520117802483529954429959208088297397212892614564393218397993, 3290762627871014590124857382240156273829508626876705791932848278027428175675881316619560045917978514650573570826127404160116322317382508342593224793000932, 5755240253872304694577347661323523706674222271740160795589059237944302248232046728027270579619156189594267969687457571875840566319752128773095902101628654, 8348331124315157408110997680868427591524301803805334394053235790519566876262262113021766781499213508667264877640303410422326503539111789727776123699591674, 2215091958442087193908795493293493522454061011188883467339266804002271561897791299499466946701035380213139866255403475274166112007041169104555813166621273, 1429353330059516493178644358683565407939960235171636558400686646966167018765553492838773978421656072476388648857841038939820670402646968378209868145488974, 7809758373986222736522932808529471249688216495952373358210355289868898220211938883054223052211681676812935567463814596160242493020522327890176395703416608, 7732338463777504146496304749068103124630299574373788274041214005215925401090847950063208431075763841146559982267526945229929262142811211182820023898593307, 6911006419166284538515487840806479851729128374195074788958464316975677828288379528421760374329621682727980095837353344119708628462463044097863384492700873, 1734234768376413436094031323072027853749784058949965000323662647934581106288814476207612343276200270717657806799287038064440841944232244692746619723063562, 5914897157737894232744553603035462966467546198594033644202071027767578695172236718409571590161573834344845468466469007272277690499719674621972600018216090, 6033195834585777642927611702163227626994462653113949591133773540697391818679542002390075576395961976174313674781655915430628407165785495302491737453370992, 6561470522443129333682561242512074940672633019161019107583089922560859577530852813048318451007459718065508851977319149163523947873092587710234863163320897, 6100649435213835936543427000246494565559919273177655271156310148288867587683773427104584692123969996940023568748739037002294763488652533210443920350181978, 6351631903196270843538700583424077921347660142951075705194054770324174498980060681248036065615931136054416413626374447532800132447654325296195408229448206, 4730261473216601208431271124031610295785356050678001279189434732695069597228614884548207657155902787492420923781521389689778459824176361800422899424226736, 1666027678767474913538249039242288930979018959164420454248857318739264632946184414075284538263858803619516624086404475006896237943467419803493134694981396, 7660790727309160224872201141598247278747055606042563971861194077215045877511060644167383889583891899639597465226051391798176285339210312017834790089923364, 8299271279184601435896484731115861020683648279564468641295748139791515128100827259998062356099337064535172282660250970890693578486165103203077887184211715, 1091299937595392965532580243499533347824109725938193524993169073676633014557778143353571436438083814105541271051479119003668206987667120438879123015378780, 9010728797268697812793219817326589097330964442715840625980355822950390892297448923955934396669754335155336151867728876765790284071825525837293103644051304, 2983167871622677465914363532767357325928204453013296856640484354134347842313619265090793944927988904874265800189628909177374192169209965837764500895018937, 3940217406234196712419077686229980813026814594576004868995327888337466235317001800263449190966452387456969821420272752432446353146005677951571974587901132, 8369754935828275039550642773378604161601027388343907257072919301875170162603845255691161798516142603607594389077030978717958489444080852609726023001494453, 1071390464753894578646667568834838909813118187289837396353134917420127675501999441485890993882923899163441768220906125283411124967035205162333373993114745, 7663910126122673223700656844484799314979625489874910959199531226825429341927532918349733950129857154659469466685911602034403826391910141630938731519415705, 889500240033600695869441370858363782641850689202869077600112585710180122111905170400019201049444688106970991660016786146978375825452883668248287906629439, 8535866074331744734125226192042950219056260776194042267131538006813318182560189878864533652578666917303345150324188590325620457300857157874158081746607301, 8502971736020489540207818708445984342117567294461588114687166275809979774824668269259086420603765809121702193730688827546003872975521828994559100632005062, 1887121095364579761480618827402075871376924247211973971976673845063452309147126365039148807814986065184851414440146751567361336494849085748539433846234033, 5091587101921885363646205192942436785002035607617218988692495469843156928294536664271769176102826333375750655760753968722744713485929483037397979249001744, 8890568631850943713905475898492343030295882402823299224937357831326429046446885429428803989600348368505861334866102914655962215000617827193796844131994546, 4018737561786760875312276789433649780346449125451448123020799137746128532815229174858792265370223333433923429301188066363843420763618634146297905509940153, 5115432301309260551870297754923722554227179698406888218812499923901473612040286837802147520785626005246337413839863429731750675876653657644409637680150847, 9024511535662463954834768930978299814835273525472065992858705173876835255966836383129636850056791919032207735998406075767191835309661213952374280666037321, 3598680862740390579558560658504140792645818551853874859811011035553725019653358587888201882328948047518366449480434016333470658331070004591832384447569782, 2153219176677727641103477655371797174369643401052416229732568742711996896828564395034363923306753222737641412427711038757333350818045841557517691415785591, 7471505479513228409103430637231317053851517289002375803692987870357637963558024257279406064493279082981311589180143560558757329891682486634368100001585332, 3550849897742299719683923670674843436174870050743342726815326448585340053101795900618168172343809763858147942205801002200585683788435829032870732078543994, 7701831414843724833005290625800826790552860856272022434607716654231463004948666973042292051276642195559337124266526928453609058413160865604229040613100014, 7367257866964063440076621049612346018476062512436355036719503537132036006675907772314346836177863519653189403485110466644260298484845020069245968610707174, 941967445231438672697838909330238924650660455389535562793565995193134503559282993369772929996485074147336573988999203794589311837598921309515402349646449, 2926549855882658065438139184934969783145115335045885364064019047142552676382096739582894425382550583176063678047561180642837784343467210445928115661080414, 7707435650263002150771541506353280642070846192684886487139420434312817435772813566849942012136406229080781414537187367690171904255390586254489052946642179, 5462149965664511640887609189327439333710379393585152213486813486722606966585538735166236400254340466742497683232899235796446714050928596656673457736489325, 7297233425188101628080415319859940337220996175017289359972003377349371255869980033479826718369994888265726940994055287544317597166623376952988533597392585, 4655210574959679060320028737053909525300681613433802060839426138952530639932910717882939647220017096461303546173502415613650641834864315628363316783042525, 4549757999782537663561115603635857579470090885551994290597170320138376464829394571381401721866060039285755322739357038507402766726604656294529912427546142, 6485244364638037542810606135443050733981330357800977269492077941440774277206053553224283768196576267509138214951843541796533277105050305337564815826905360, 2744067189707228599773486561470337254974972019316800232578011766686770202276482992476835790806545823190258784843353759335762678639442269561943131797719346, 1043888609283592938183584791966784727744920262078796448364313265310219304002633273468244651817738106609616544639337022487298269298010930069361665678644319, 4651882485737281000651376831527644131448821069195145599368736199875858208056555194036420830326517897131281466891652765739180704052656464447091358200535819, 4223737726095151316419565857939154583406093188616212568983202068527038341584130244514862050130489259013243238910898741568202509159918574004022440490013346, 8914194783151484325442476927051803936270574993948681767062729158702496857409870396939939029418372081066057478529884623708494711323009162124801124203794765, 5473131951589798586214483361362807227650514212565358956818011802051857528686271917628133231447023203536822740189618886306850796572047202171349389120325752, 2533402577392773737997935105665121527083451173445116221149084675455779288960779180838277190706233290117062793109254076180992553601526579572925772801653728, 2649227243228707265729334759626381557409285100176494089110551398732075786368673668285587076471012045438656808903120511187423355944237244903065153068500340, 1418259182464739415518707054028401997440493391456956994014373200814826907178908913903291682022499884408500871539695609282488233657279327868826148388449024, 7533451063163226787232083564576803822324787173758785964258951411426187235058836145361853120173231434525801924326780364841209551280162729744105345657263685, 9012800356327957719026534481429445984512028650121747552190443141849614522287400108848875960274479173859726654675992105775650821037231199135804036338770233, 8154217843398686116365391588249389248700040770239978956238880384767626666954878610862363978043894965986508813118954364795779297373813781903662392107042560, 5290228557894337368659085495010036896642692278499381898736181215983374324147860190499939503712090191022489184297576055878190919335963693952012374243058883, 4531375718083220157922785118866201157696612186048479701364499428503990646799350268448521160551669486154106251264527190934689279331917946996546213283740121, 5939653330238655854597708423860384314022074805965054160565813937482202967149401475294697204053031896165210054678589040058257395909204887998911511120260510, 6663500678541644596771377808671260154414137881397209609478955868310792774617840881840185299607736555284995497102911202024908325965668090580850941752933541, 4431729475061318076984673855144715155299330051123217390901823180474276832902175416913564729076672788312092386645362324980824965215131438076870391292264057, 2919523347755539808443098986085759299964680339245727908665370198488118709833358719040183632153092757292437136172122669559202363954112340572234676057954568, 5211509064368759674287759525729042338454186266261533436398694834031077300525668217916575103068465872752390985592215289975659611871728976913161697395548628, 3167200836829100608832818555597880755465922943582689346435745070128729936077154903281112916403934436594252996487958358904402269403311353339608999722546139, 7363952883030853759534420406587459835130093680734027200360879638337076172054246190295572684307258771680106591864587251094618181813704599323449471608265901, 6241826317839792394607785554135061567684422781374373799187049891392924352235803262520420183418215886954372040799003852420837393742471626213302750643905713, 482464548157288030885271707612864575139830074558429522600003512783740268403490553868617047865076845754304276270842953490243848770582932714802638082550716, 7096715596899568904380835188938413937935351408954598883649633219147225588836793811029643933503399813626739253506311513449975196967749195969297266893119896, 1107032046804123741982374135641006286285156496834933947561050222822210690656872928942685335463585835859795137662939744187717982694771958193257246018541456, 7303361306879061334185114750159319463082223906673891146129338936043325661820029577592189537525420053531501473474357009505803480200275002432131323863237289, 7866290020802181006663368118953832462769067374433757666059072923207884392515095504184871632469741339926182975362936091061906429959174385107145935816626602, 5503788464572873891443844910089625605174826469326439241283632889070003185301123794058323529349915961981075274948010998131943908244545746714294217067558014, 5088874332761903032058284700943890188579645352293566210887682982218655153788875668122351499275771903194236343146901792854550275217331385450647065328841254, 7053924278408613739163595489240742952199714588290205281387499913533491947388805296306456499562542385581462959246517690109252399358653110013631595614442472, 8714600849716827455740991344775142468323514098585682847402478666101689573654158224128226497125480908569716903060394434093424224913676524357440170939615887, 7498279181138525077498707049450063651414428830102782360018449146993888590608429843265470678976025727728288222833837814257623912859817515874139504339048263, 4396262262539326330897730699423007583129415095200410059345672602766179444259920668268518062401132278804504175591858397882048604625159446844113134023855126, 8037446464094373967924579973895427025980672093433985562004184761747953950518665376238757718133830883113000142541514041092915142239715026741475867300471886, 5343992714037532499866883285502971012305911603589465476876872635871684924925296908396109029448357165554195743523447195064399427240714387343711720214972519, 7675141471781700938563209868436915727975597017023728251237833275797485169700382137760542304690109430223619021521249721129981040624843720696643670132075473, 6080094248578245951210073839614392167286993444913703233015489697341985269245154224832163815669852210342852639129564205022179188527854723881831524781239640, 4302121208052106436219459544619343425493842982429106553616773759904798218582443427199711262132609804105026875319625646384182313984906553176771884697451196, 6985506368079828474669238220439633307811600552437746453200722967696051816616020540853128581416625606577789098007268607880734706113139944833568918839772022, 6889937506154854779461398085053056311657024934101062997366399291334268411247932723679422960718098915757978315180154410079717531704874464705463226699825265, 7208286760758771651636234450160359247856973155054993510034151788484183504129874168456075817459742308188321115270621108153977484149553365146541050113800246, 4186436594779819132914759313382234888537173257313181221820298045178183711790423028053327972773937900643673262537763213533032946429154193184232745262429508, 2876201565042936860246363940052070128966712712720818224650334072452899208946954233038807859025968374219370036761393939544078592202708075834721340603880238, 6282132987930436194017318068198570767613453982205085535980111978158941113024595171768183618480159471728609894467877221623979677663252264626498552679525948, 3710878493805724902791896797927152636090645342718123140859689648962208111469267254587377163181878157384680532103681830240102188164978137608414992479782145, 7918477962277214503309189115452620957195923133467847779706982549885312965609882018677827206606693588418362160921301490371693247120452273646893667856319898, 4569283217861226884712555656701312100833006604709592941588413704380942087969622793814213560011688346556376763181265487320015042496363464609382589788271583, 3376493842898802319215568180171980832915063918826592018969629530226918385879326468545993294622442437225816845588483572284209701809843962621270010915124957, 2490116511008798686700864222552660236669629381447405103314810583553126524892615428060584603650451856441392849702982314273163519907833127365031971274732916, 8038827772110138828574529293494663761882779437667108206250322703466933361914221011263743179014503380887878861974763459081784390821302168276797260118145528, 6787907326682361788097587935513261866250985837145728750319436852365177450059088431863500242887580129308137373938249032549728915557236877792732893547711618, 7049525492403463397789697002579950228815199890125394051280753275438237714706463836441267690150218399558185300310126954621201329183050113078515760321430054, 9154930640210916782301273018186502168583746931575624603063149915433549901545939301208176549472743359797865422281939159593749348202025922407542895244149108, 47045957527045633211341779861529131565703770558041939962057894897113187506736288111730921727519293294596839375158098918386707354507305098964300569912294, 6640169545920130141860277369329380017874309404996805348574403241719388885006069488470331649237942441007771301224709725227450274733760386425236107806094112, 8152382919188037474555645213341844315942667966977519444794220217637978285699220585956413231448670723698563795543244208027026874892402957219505342533609095, 5156146276566463996257503839305947183426509039646995728678334775733024774694559557497413432081068277151190325023743209438758910439274139395823768557535840, 4165427809155848987405430204892793997462236402797528314942350050412242520544729447187551969145049644580905103754171079455611278929121955980355190472095502, 4634721106941560302146899153256124459356162052486114661188264552160439591069265671733306295417197375587205015180606117721213391824975009922751013429208840, 3237305074584143959922742013983055771493171880323332350655569282344053439022202807092997251885167638832533124074783743272064186298574911498067001362863884, 974828198508304111106321745018072258764146769666869585102455558177785443796090907615238169707285249472846831436140560515615276720842206229131672633158047, 9035690990142805865714387948914442746027756120074340349581921159399165018390982910784354908198116277784345635109328916076967579558144382253611141079436491, 1547695148982690758184779256647554250098401267712607978764704125729717057975975953301703224251998578066443953478578239867492329835480544333612937481295178, 5283442600234418765231626872764495406969389089210299894052894961167511067008491395983557833483290897375583839935894535471692141914056866321023094885313827, 8693672228701735879147287893521810007976761620970431443398767218654140635833643997167743634572108465203941827480044357673482548478529089244966623605467669, 8548675436031352203146366123606478625911686930881824644895465952187104047701126867036330101687294889353421854557174286668182763920257177517323103724372538, 7031851976177599790055952478615145090719361994229134486344838314287021333802952398868651752485745145698584013808019212414296300919275733657273133691194051, 1982932575697574166924977249035973712639219163923514668236963465458796888466571566226095325517361093670666220011871903665101407110808432184296210875625978, 4473752171014676296715929135844526689713343966407268174703293122238448163302113617383301463449562210389626634340414922205522625466125569282852730078953420, 1468134960446692609790083324319262520115713454216201204946240906532948011022544144129067501676122751551381099370386366949503160338131560665802684855038451, 4312150802553892061431894374334752931011329010553200462387031081520243951217257866731203076079599868164505065088783265516608317868946424280149669274345351, 5847898568538467312088591685279470020058482096037412995037955706857379382860808661585616222538194474085181516323213272675109797334986831437670207824661465, 3276567232521368659978641819012245837626843883906421259368766281832030446765093479374964439018357536366385226821085183713999096440178668452419653706806, 906647042534547243779419395065438683374227638759607482110487107438354577502299944137727165178802550800088473250830588241520893313579302633939814169321786, 7561411838406649011477194135894930207466048169971496671483926914037540142486887709315262075636048354410515642863566904952716442334339270718859026738663417, 3983074689632627427666501746405496255977358918880368909097786798149366019312113389792483620091152846659557559351397067179820168982898553416017058373305021, 7296142466013922210640429091387013219571033445217920833259768213160547466910889280130838570691036842561329927950265243906859946944737250530660044145343160, 7798759165563423519887455335377034310589937659018036140727384980459793633246376951346463066866180616757894242267830283638700729778887624022927875358429739, 1836580627445770925669713174462151721289469051813391590293392481723904227815620937478793054391933870458858532440124980647614898540502353561314052657936080, 6692087696451256343670779875539815596805653688320158582791404572542003127138571410449691246347689946491846951800268142264479531690755142753220360509291476, 4897116368698436943765626492691104145917174081554930273285950713831143739184766291978421122357634787032405344714022733151357970118216993723992513851969499, 2818910721655274912298002459767686548281672834800640718563187452969762026825982668977652228120026950126080419361809260529794412138792309251439917071721146, 7455623211970490292217850469867343483776515070450235747533311714794829343903571180434295580781253773910382768817035005041503820747816103504090740063655184, 4459369895822768097667636843283040816813461393131343814057429602861295282993644187528855511566143666060209512377043267877319642685503322406780848416034688, 5570724155879555196531462798433809483565312451465694891227831357607957580819038151098408791650711315208443349980181515188384454343153194471800520790717348, 5477792209034340955307709077325814048533317039930033515421431045708124749373815783149845305405855997437076175144120905693122395733203095031746779246830852, 4785199776381084673164381911255890462239914833641909934676990530584853520463753379916433004220755397972704440623885780480257311809279694106064451948112316, 6713423759988000618903738373297179826396864567823564096226112237579960999407823406820234047127955310451103200692939911426994719542799952888754963728125142, 7106304922141322048967606669892496760389198232021304163482676013657590340556497218848731250997787455096137899549543716255762741290232446434491890328723324, 7941747605732150012200296882339010416632573241436176323244744959707474253907272720748382095706280304103850745035899491932267471243541196595076945364851170, 6548770604592770621804543661350545723391752928853187071726298832320319435418897420500958289243487110527194853088295885348543090459966478530528236949868553, 7719284180393823110409404243637124470132349731313085475135393270889011948997181119415938872696217227338502644882197327834882778278671199464732777014056144, 5623187884894122227374815582696726836396367485914673133795959754692475017260877915680633895073959488234445334777073916754234632913130553378795440522951787, 8647499090803129181192199690546475916851728331335387294781631579815910895310857572972583499100240158355326732702364638186758316013785962353313558810779393, 610499948397740089885499684905151749355322814722603788881814029389637134975823325978196611712086384845759317129867669456475707616663224073034796230729670, 3463093315038752237432849526058730711459193209866401736914129073168269694117113667923946092025041398580747805565885259492038468118085049820723430759945455, 6433312958242015712237360713139665802758678181250212853052985384952676642121369631388537802630772931633137751590274239853866816342728001579398051218279885, 7048714570698004461875609361094398714515899920108250065561455739548266307128906057132404428052167359047180269902930075111574481337543284261922766650065437, 839540783221706512205551787673297795319297972926030264605837477310793482525666124180183129169293313753925368988405169665668692906883887343571386396329278, 4178938747182716273723105996282284565476087651341361902552557552539014553964815555725624635115712102237738082921181330438014857268274946821365249086867051, 5483918485937791226920533734176232170584006045005439528278431459305811087652376597577713401927558236507093636367813013364777336930282378437096805488388833, 6915388069091590359119880717252893319074408407863802155674674427426339674571458298492743786388347866110837882593138336282107018245322286309806779649217503, 6973763708080608418049568218907094904038790935759981153452929352540416065416118877636185435707193550327291754246443061193766431275718989582746700550875670, 884282363744895012523292790172401553862538367223960194820342896452006679264845333716012699334293874461541975162295855377195567804379792202736796821771711, 7844776572556201989360215305186330861830919330191545139964790839224971736895345702769657761615722021830985821983589733929247829103932925488276673934729178, 7279366367344198346039610511241499776776513493291715297889742318665271440510935686719501283555785200213049273568371328202475079407466257817792478122995652, 5935804002713346088959723184940893905845597059293333115745734934695512533993447403047547253745466804305831420418077135587404571820368034241696480037959274, 2923104257979779842636128892421479214336455102829309025140039838666873697997994720480936206676887350135521948065387792457557227975055482933090809210824740, 5601036079324326390761356614254556766282296198113461829941340457776571427908141604461691590571100004468801345717749891885932192332773136973616098974712067, 6185539136014394541442673515773013246315734763923875846455123342652863598522437082720628920625122130957826599902385791798276905471388341016672645431115346, 6454805346107627783858618478288487780263583701889295595746458074744309253884558113513841616545871696914103099022414945055125763224412168997794950332436286, 3355867147213360201658233227410253587185674343788937651399830480616412939594558210556808933558116886571429651320452649733827351825260335866016464797223290, 2493476936822981793064364881077986343974900485064806518720640023934363739463361561577155408731618519026036042086492473630824612603890267422613945997957140, 7133661477722673265889976391051920265375435557878997676062220862905637318758031077535938889007353452459839672975343125366555393895244893119662619614631742, 25846375933975028775223837196228939269519710275296196576612685166997216498798332586441344858891862978970796681914441595219773496977019675442124922779125, 5361850855258460720656930897596441334058366656402704819683874517149392631674744219954195765471244065988268335019217752446034835043475336795665606906329490, 2628440995284443442632135765474425274741048593527265350979482786135324252383005875585562668105348084169376771926690510402248225642901658010639292083521087, 3703984988381071036996040690101933646214068241896152249512148939673934875793827328031221143783199584607716122084304284915058723240662642953346708851715573, 4520395796684764652393594809913838744221786824289795707037960090550837281872887103633360982965901401083051524701647004512963215358548627085635222791785009, 2235763864465605821583262522462381687225892534821429017656410676561395946176367456826731230564198807035021519347371705843208429269904926714660399072829035, 5458405207338469774643849358364129533277726956830214824223940368257996770775608945274298474754069139722102956841734360112416360144426443524312990571764425, 3209550458658987353281884062692289588397013534878742941552327185244609025875112848064995664378287987063391866960609098209816638992220921027601105056285538, 6514931425687593403579133454788187541015481335811095400760396361658182140097194929420558682302184571089715368964736411413953031530533123443010188758877887, 8559942383924041026421494252870983917340059938205472950692742389867700667103844689360039847671814243798693738343724353448098514175952241445089057891386160, 7156383261681216983742643391410957121681393119841560532135540643908873643867540004073538444325868404806113147666136918021179694470903016520815244308435508, 5041737076156975326080100984323567166969757445642367289644152636089144095924131394835740107925276187910932713783433063495330935154824549731554926108433933, 1356878904525749021707727122356438800383472149745674580441676185147209796727967627707998740497605468359719777278954423014156644567511552171422311134628975, 4534454620352194552131862189923143842686129963780850173833668109911232313033484302547532740337443044872146225677763116039726467906154687650240356571992016, 3575979575711151309912624417440547539333875672915388201615471421672169590484433838305756461535327694793069060948064508518576698606364225793988826295480835, 7716513285110619813423204211586168244668147964182481133754586953588923384356896149931631892505412471375412481423226260725042749813128997700940748990987332, 4955035915354422478688665999542995147478906183278224736729833408408316131252005322471157290060787823489793511110290845908359337027825218688468386126083706, 31942073617762627729486886799218858476344986529416596699071412847469459638770386253773654606550618806722016561791058974697908255991064259387227892876604, 1670814056701544042520923552851001170114281660604380130315242693448571561176336141399142827321163736438242271505250808721753095710166832585652230297737749, 7595315109751103580262465770967406705900932084165499594350986401065246797611647904393364277657847115444638755123838391276372371005574540893508375767496773, 7679949030515565835563404047914319288725396601793542933710641826155228946935273466074386477992446195189170778193469151876193055709226342948160170062770672, 7128290310095810722320251539498160377621828265162214417809923741765842362425511395570129529108156559493011682528257621431258313189295565934066646613855658, 6192510136394271857310228053454129107088099609127228837586842829317463126323877759994107930082012661249103802383314025178395093922775262837278023916946401, 8143047499786043694734518776129941507344061027060086629352401751785167764248783778944906262454925744918403162898424827454317045812099011136793115525355103, 896325682016960230025369629010488867457438682741198562142359199546795371580070350675325874537739326304578502907611594479258502212710764106927244848692616, 5766350539989328364596232875821026424312527266737888409856024933006184175863427013291549323228766967198377609939061073762096474803515840173270759625565748, 2640728117805070644989420252912687576917589160501369458931482708867914925661125106303622767883817197404228350310088554270029352129448837705258737430625002, 3959984842891159166554496605553612785358758704660006983757946948944094328929300881568426994465771925500244473572158177934899427787337865287155703705807046, 3113955822881578031564689519206312876468842967371205730273368684761931304765354135785165500870767614307041557484256559268259296253782663403831729635696000, 5852530758525594935881491393059085428994205868053727978259726760549135924640696518798470733953202766450320077068241732852901942885716377631236064540188560, 4711343032487843811050171347842003104209902299624917599563074218592039378061516870916607046544570657419744652324062222173469760335502328335291756177815231, 7280090365756322643247199925810094290522898180611566712575540658714994332733624302955563044395787959014469688600109795978130796574115839479709412278985431, 9147786644720501891503253584678095745701869474004742396018424664324086601600945154554461071873093801134139669741499112311295515673563241721583531333375458, 2488866772441278943622593953647609316171419239191492307187451245502726788389204076232379861828492739189891859679479390373953222500864922595720509185356721, 6713205633020612830714149113576236376826562903209357309225388895998427898028876655820802620432209411281308781752130695690399094232122176663907107324198078, 1479413766614369815884903099511903322666948669215197965602343004761601220172940672347635944664270269883729638895935735004285103879064908712470709267757991, 6483713165906509028644753392551576240246464367896971710620938883204390622399154814505657574840933523105174308362493020284540966568785606591706870272856086, 8464939759804136640800110606500558974855640373389857451532452998346343018411535024619506935961009835798257452083437293019807013403352614847147881257702332, 7245719606821220963273796001262582623337207206372311236622335022326388863511153086159487730000248295021190524540870046467232586536878815018016630843522204, 4009739854428690714849898474406642325620640824699033956730667532779920644945706405175409957549639128519314975078409932828857486644560361808130100541181516, 1792816607066436109114722995832537989854314214893344043218894749159054307796104727349576504517656831677648260436983300790274580836130794652443967450335816, 261300806152584220076193166613886762279211664556408380186747968755260932589858114314502059357396225435044632330729941076166872103218273782982161032331659, 7346387546431125376975464944277954582099152968621553887963597596356770848959047331782254509027007504119465715115641756425911284294350433695643974743186978, 8036177629514592786133478364291393084339884767169412786669935692666307823410360655587154520891832186523461527947539543264727960214535410391193982322604073, 8206312850095127647739350005941375157696830039139490814038726106381562517608003212534176969017724226331552680159092486244927092388263374385460724139710078, 1456669295175215561409370287109915224986493151309203175007591396245763729600891613927036111864968469693079151640259424539873259060656574435182250436228093, 6105323203391791221296618391635132249443979547036984587240613299075809550982731363575070755133318065373020947657404584475317384731122074790594189758756460, 164017402494767041576420833061918492857710365637803820829254963898175879083869301785393338551231013514483527771890188025348578561823723063726488260645719, 6313974222116135359598692250575024579839476736877685304998102374455754967987521291770652829822843508295938956990702118114928076317414622858970574140875410, 3142749295199999291896594956335757223883873498567591337050624444589731626028929869729774598530878653002283182323403406447631862566859233398625473184411395, 6918751877240440876387535628146768292702660563570923113641373343216091124199296877938359119521524598934913663169526400908709047890643507009166270274404146, 3144613812242480176957737824365672638696501427912703525879820178932905468421460214519070307368252722460595418807290788897044553193574442157281422089200419, 7163602304230080972483094726398337153369802834997552548218680590019070749153633515452591230617227783447174879129657052955485054707935569422215414390043643, 6754054294927821481282118340641852920960289650608766559642472402357055721007899088385181110837478603063940447584016301362500809788439083803091543825029997, 8936269118308554721087422113565943835945888087743116726229837232746259879077976517994809229155105129462837455264849820212420870226351596117925984479450287, 9114447660463936531753967777610760311841717853414244077512596953237660562025946006894882979827205626635872869528537839223055307773801540196769557494420815, 4747879539454685581572460114999939814887328685899777120179192111727712257184659604862330092912690392374795699540943880721112205176092727259581399624250567, 2244593440420306172493518074563954044783704734999175739866148703392189005342598955577075180163954062442808314352382476117499366365458176741727597802474923, 5676275297506370453093626780256638986350451943670265695785927769838999153966155461018062454511312929707789691770278420867421471222853731183629437060047029, 6089337596069698359803059079617343412215604583383024029030008783055079680503314951759542266188062803828592974318425486800777974452034753448024812757844920, 6467802588089230757652732021104148286149480552938211004472965916115934575825073818396225958166905990523497899975286905092096150292120802313531485855251733, 1834042671684200171208363125534384966001682976879502559424582377834993773279753509021535143497181732307845699055666549496567397663237009515802404133810928, 373985799044799880986175012464077544058466323914510585044760735822908629945778840212353196069668817447193744212702780437223088324273276065243023286670466, 7527166350271205320027357788176558705206888788838952022945652795272763408251001472551629616384802219845255101520877349781779144328327398152229456886575440, 3141987587961375696666771686448813772845759701875449148085023757487643981552772256779507182688950434258403567849143888114492086614831709837169256015397382, 626809594723408915691743729774703788038993000416021104899758075961072322025728585855448791948056985955206464950300528057317151161860810987382624196048557, 1957828286760598845096483458474955722342335060512997826890031153571121868518991622394012476082645796628430975122995590310608425977840135542092118822051043, 7360060980178275845935900673552211199730245482225071780885503565809089760770630812959340036708929092286761981038671103083850180471498997284425942779264445, 5459709419386175294396141565957748794437589025376033003040912053816663493164723990745407967053922854754458725709008757206381617841517134168158229211166022, 7428186313439493931668598408892964112505877603117516045836317306709515467836527106119963098978036290621151028397509325739570399397145563860513226476504820, 7207386519790386400293055656567882460425924047460062619664423240176013394671702644767954376338481090405354030843715902510926737787343191656177017338311055, 6329170631598462222919531216257908055232641970122289155667256685506783226643396389368350807493566515684324627263765751256856129052450678690521228873490920, 4234624730010808099297393303301505095874091032210929050737927873545902878797071409862658557844679778306196699894025611921473726123039875339977870274310491, 2372031623489325370012523029437721518961165888559175189086011071066268292834515285252008646749884720584472706991748138674703604204109662336221871501626926, 5431090670086078787778080524839876151617944013129127088973528857808514635597774082650193514849285522094170334892144286905300906892872004987045735465505652, 1994463720326626350226954380482948633656355390544649825203871581082282350263607806878884949237681784492577121541966661100990929373931003770044451371166435, 1406170755006532285240416595546919742838515760261521734924871480121576515685684268987837279714757583804918544308713456196853378695277604436152702756750735, 8392270835469756376311809337136536655887606505932944022970455021984347221821084009209023415585615145074545049190281455731857529532613038849987372700490983, 3905857329715646670134280728415210611268057404096351791973624622964066434457105770467422719489913506296711481238652062381451912593346436071377928093808813, 4126382232007999163418799607719462756741042033485654484404193132763883101955549900883864265176101691150368038944543532198354978907668740134014755313377303, 8188570470264515493797150868321853931246200650150142011747349284161498694984507817498644111050204263628901322227098049173941403796377045192840144314826215, 6055725532780101334055317428140667864737064489319009216275106021542147818982461785516733735567675726306034296249692324868112899434481578973831012729150432, 5674160277179636037017230661740804417845710019965510945299184971853394557135513705345049711792184004436524578698359500795098729231284438960811335378510034, 375645064633422078501375452890254789731315125351995889509414274891862206731242392132982152823809182498474108529706463786496450468519624172304047159774304, 4320595031822202166716854162098550758714460356168696512827142289560899061397573012244841954941278455529651137050300623140823908834837035028820056157420229, 7817077736158340886197342942506366431640373607780831791408798057068345302916873889617669461535514870021310086232048013567364395046118889643638886084879943, 6445546194606107427554758180373670272973462474313749369170740076982164227766389255810472862967279905962416813734378623029214529616022293958964536072289857, 6082323247541047160513980300080937077157121354660621238555122533050128288455111758545646792628301523036621786746678181125336996835095910786263953828308023, 9170122303835577607485546314440864164963667649898043501341606303289866935789948478226184898996768132776778460567288971092061351016679308392266566671788468, 741502464896464763690655737990222886645593558647951238555169876282560155078258440794312429907199607958676017422772009917532736552336000832623502207206425, 7791394449099979125284705883644093384794262603145201467167130998250587791600018987933775328727336354684701848301258748104012335547295819996713512206595224, 4300314962436230223938971376341752820347197868284298341401034268040801373009768778728171408696109942556681292057153434531277517641887619409665052469171999, 1677317962940823512515054284530596484256797599130140504040889922162462327055157240062855443812407712828471162046745235758716032609368747468358548603600237, 4126240493254474476458960183184146670206719714435105071215441336079704033571231164295361144190385798314953269909044044710805565537553737913464571561991200, 728226854852627790072030792873199326971856911276425126355794568255564984606083559181948428247266326549989820373224868329425039172386921917914377700547724, 907709397261509290594351166024133868582179760421470604640934519308836040009073173910100918415133781143685957677738966338766081943503650764914978407586000, 881360669812359656633923704426760965843302926897378607847289754275713537923866450883252524798584509127725700825887406940291901652022293888025235068087876, 1591148300293933620945996557034072910007823754198735388856717917561391449971302735535090842688186727495006302528341598891735048918466311505142199239866408, 3299646227596017320462519889339111199361289475439315231859136594287586612561561387201966516298196395995945473767827746215500485929272788747747530887255426, 3266054394842256144751141728248254428164322426809678623827686829421981642332089892261729120084465376151385029813881589166632128272269214441160639237235063, 7073351718695721567057749069484373036337075249911382007350118966373309053477794317014553644375697736878635482617515814960980494057741057609063333539862109, 7112252822360993961632416854587179619545405751900810661249111702225033047582844157621873300886022478635848667373488642581750840909568823655137016184114632, 4009936368305382114833554749558416024630376531635160907477588105472932291416269172638175345928434375177866355009484919961479188017065707173568198713717736, 1066842727288889252545341524463366246376816518971494446755004530943006128880594305050962506374251632986508259458697961194772517449133145423132544874668071, 3696474723620271196278377333868137016134770164559003185452603009160936337345753238648041075864793263213886702309976072379293051385729861366823216602719893, 6454756718360522582363029610970127726815838884327140532384904277997727338436909465216139193852177093168038403490009954208498892619308039178759689187509750, 47687667522098294633542528936541680838701128788028886730813512356558293659858243519710229193271441703057239630783378776574675420156474664645731437317115, 7522023296011728384954034589935045147539781110749223458166486749812988615898001114353518910457567996095460881990358202805287386159172070844349102266613296, 1308234047621642603303014672692021797322229407850250541758794408415897581999808773194657156718339252350350458096302772012365794426965242113468436339143828, 2881691379771879235034912579907181750556445312686314844593106565430325216483682136843211477353634905013389204721450127646053956070050735591909442630800151, 7303581505007475650183248449453225739866092355523480224599701343519498418145436523104072471191765455683202200751340730353055571249314396325385161584420067, 1288800047462816188403162223825130297949323282347610053413815392914140524285674824472190210636047865042822321190673030941585861893409669203232990576000915, 8951044010080423820331324902396031846409645148044591261736250728388762708930857284591059517176345371277684274263283542160336755481569017521037690591749752, 224560877776107446701170712127591200093822403324345661859582291483450977786871336326199273981594411836554113356944196311342041118705658861276658972598256, 6914794162032087676321055269279586683550370784021269001215160598611729196850922743406442411742683348161827200323039920220131549357694552912387060388958394, 3383325101779532099207073492557072901685432952631109489696457656805137597473422623229479822662165756929939178364960384428493312665413101983580277057032614, 8134554996365512879496259478666465420916605948535567086658790354367314481902103055525929669703826041365741667028952154169783838197796785697551730266313550, 8954421108930278693433360146058041491615436299184383231495849062143905373691413023690272464331085865302787261516913300538398900205907484514554717509850405, 2702786388336931174277726376396657407362324623528038465518353599633501116039287261168875425470622311062248115294518869269633709851936927139342640553501460, 2732131115651273718118063895490468358482564957153512194449897935079643876014569363943964628936466382072228986233777485885714301583710557095652333542279567, 8013447189348188655933609077839542136049670363797630377510488577315897577528576810011640132366281076267107633403653672573083685727247144870589779750562369, 2132470872989768873893779529980825275887062578277264625016857109675164163224812683099381983873300767169867745539671080961439111981608991308956038238232385, 3472455037282339130460641499938500602302407734825936504386010263302908162937021275751927617524022340429859995790909319647155671308735305413737471297710492, 3411955358553994028908420679156619416656514793987075702755216465640087122631118108357063824897811126765438153268840985282217660627226317791279882399929391, 5561004732186717927915023010170909895048436084802252812496970629607186485151304952754741895892874474355219968307118617114655377923673086752396964356880903, 6329796526732352090724848513794111898149635246109184316051245050195200835503263161410530585563311568236553844821353282685205177700346356195525622829909423, 7202736414133393023977610402902371469704425250951110874157569609902309116261220887273772993464787130226285561087625929785459546158161918896686274698584126, 7018633768098909145191611938853576617891321561898235658851631742623791146359767450869937931903518625811368060178342845364252332181651585705537704048242391, 2048428996042613097843247154987728652315249146285987256196724582711656283769853908492652004784458516586886706079716583517585850486045754106198922278484188, 5587662735284326681470734510379080806119216157631639435395246256670305773235659084985394201914349759258176941456139625788745313316284144560979334422868920, 1630076056560334233921075430094394965348670764116006711299740402505062720465915140656314128163131847804693337745563454280162687493903266163979260436094453, 6160795085956418806239476915616650705721840163950274815602298798203052585720846205583796547493608744113086828241807623756970643907645897113568841801259096, 5337743694206840955515088742817341841924454649030451648654800523037616424970500563458754525709250318621251703132512983401318936955423696115971234300558630, 9005393496209260948961545779145423411970543542366268009762919279407609481095834721996548089750634781007139426590260050313773896048449758801788076515822148, 3496377579867301289327337863284794599526302615594747765166244920908610259899061103879606335683162445623379109430914056025727025853277420984257505623836047, 959492604109783600783119684382474838188067039348619005713932062971057551674794407089095542779366295424341774785550289886872285597777762916467142859459203, 4005935150772707216789713769937266435534989356924883565724019842601744523594872904588221009567836242349589480884373649046386103845673169761492331098205755, 4083214373671429918866951224536482899476625350555985420540484027016493482265351388709435715580326156234350217801230067745123784484713384698446805073611195, 7828885380195466877046206366536484636315656313507178423380925853974867786751970422751631300332788320756397231086563004664709516278000192939199179826159488, 6171212704338675706985210052753464135908843774342315184097205952355108400878429529636013564488129596240863945460453934115889208654699573174033071482971691, 8537319518839638309779983512352343870025619385071893404629088673025268097358096423103972525448405819620630392761273059389828816780333568757163453638270669, 2274838262437721814012383030073748883131517893568990192362060656269434399295021290840846655950877005223868851021822740161113585890182132639476635009309716, 8730106989811920376183960403732333493884206453588482623149044028446026788154546511724078847982513010242026150755167576925797938990210428766801768418820635, 834752913232560778992653234377686805694527758747203113817955171698021018065387719656153773221742639628528144788881629985693997603423705763006631074605336, 1286447240493370138213319916592442236985983156047338040789481143190717650273913634312859728613701253646984666610392119873038690969838454211792262278505663, 50131245588526899552800678346433635870443254673196072065797797953918393823877749734471028019627368982384973053756730636199474022222709527289781058269431, 5786513341773459973774100088227334778382455164939700886177062005338680441134192444845423683976240290255323796781179147367101918778825986562824676240498668, 5529335416101193440165538126558911645176803436934822369951263806966421651557118608738380661277228992397174033541028330624545427898234125379049066315492748, 4073447009903057316455579161678283303935741456673257837226382160832929755638477271959369012128339174723532185130361080143701268054027468114424628137269729, 940599399862050980121358093287172563329874230733499624711206629601027548713893202760702317069584052740820294924685131828429034109150157631364669626573778, 5174997698543231386918367268910457915220105762268216651074010299157066732467690754001186104714730855242279292569148505637740214571971735194839676842443012, 6740609944607926282828114555884049602226812139273088914977594621067500848353706741683252622318079138103306709470539560316355160435234752879859014198669785, 5196674340025346221244616514000614071486541537802016277636871583733773035098354446106536406613273235176164712481745387151246838509786457903193951141281167, 4377142842905517608514292540601019544162679383042922972398573491768613131301589889994741368705196959145378448015632746980600418128576780783161611739037507, 396193793952219647560733060267934246995026252868243375340125572584278615527140247268370607441933855239772529077018642570262674690312857983650247670811989, 5907177328229273058270352780243670260660976512981034458458515835489257988404094089231576281033306007392832021693879644932723119458368333379533815234535457, 3248203680319726407474256133113101772454014466704773087226158143979622360574881358286244837163260756898848740985359481518120324482745193132839211293590446, 6606840548647528635805777406282891064614959581598890504006530845250437328701823303534144488567375152961997972020743333636328882075866556052183512502567711, 2766987249473839223738841473399426826669996907996012093923605816039839450516667960789074316739976021387173502552526102814619411582181299685361935960732927, 3574697257785525842825970151883132504151723672598020041139147707753187473875624655491351186429661534813044405413492226436531277991719020577230968751255138, 4304071598861449870419758175777411662348929619986245853682087100626391465600165633622178779409875919614421123089446164688173574030168841432857846503231803, 4225082736584950314715914258772634163081076752257478958964739281955781739960183415241749117235847660537866877353066861967486255794327472531625272914815340, 2815957301042557742275032487010476865677990016307136067444968437683156966030070034934247566544523595288630237749640278890919077996273408164983181083018977, 4945596159774937935192034036863322090413572774490994834302991134945901005239744639136698603626249695036740238143152701296639164291606695872014342272952724, 1558095574953756334426295224511690544197008494062380368902203602987353761124985654075006153927574036087236825405928589110894720116727287068859485244553416, 7866380933896854810816569503284602039146829884156642793809553097645124045828848249734325072610087827637711863808290288045414861405246451367590980021605049, 3118222002712439050695860219719551586761016907255486834229904060152718907693920783935613434040394049869279105010042763245152871988842371015162051929897914, 8071387532297270803560061689825900883469047023149229842124872694946049760306668741534011913409390047511127627037477951741643291543871382075634217121122223, 5426137100022784541159300213561247142574300405841342805494926588300634278407980001111183503849476092649095074083459129201618389858048896839067933423076829, 8501658231650588294987774943258347180748810676187347415355103075910151011033826565156588137603792185832318753388673530183366473430594660916067048988120586, 3963654828018542688788275707001580506130124244832008152118753856317359175013290643809487828114983497704359624799717306921665719620419968624133153409365551, 5429640506051030402401712374249388916282830353687134527335246211830574733809367777519274912891607331086130920902984778124820381597564539364325642357752, 843127486831419111707495051041545897317584075511456299088391679617318664575264701280153852364607615628716842045243649967477302004014221322789768288150933, 3221549381583486690392915971198158582586815005406863769645075502274028115102083985206294282789082397231524106746976897938214265413172788997124821980687485, 1343157654855669979143186552762531469744745166986676972531570093122585185365524379834093381155888810613793937890067388026276890981131083853912912995834355, 5194250846515575404133228513875472916747365624215249944484961846099289413300221622275398469050167703540617154196098176768019482390298369359176154734965308, 3439744867529688070803386094166160317556142884158621782245330005310526919453888225550500744050413348335581752603580143617848833378314772781287951814728747, 6910237537032885573841140871852758932295887831061054016318725382090965049555365744934700007964605171459479623987654350432937336220328104124141562072201658, 6652736474569083713227133039421104502536314525157845292662067726691003457639030580071064953221971752171504712476148250621524800459678764059717513592787044, 3700955664270453671502212464785282265071477307885146692277366162283037370681004861939438393600360133670776000709411725039419681825726206088844502958182747, 7499033637141163672586340771051099067206129165119297627967523198397435650182619063147599727456867787523328338832313022419786750697900727482564656411249036, 8119793841490723099339959417221739141979520046435711263632676599143402570038847912879769871559615219826668531440066556348484696759089335434590525675328368, 1284141858340103991664548227957258972624896187705406454025096551567485781181300756979287759845729559306269908380327283133587564913680257902955077948097992, 4191446336861971153626508534302114097771434849804358299825190307944575431735114151952435474209072463893768544835775949201133747141686462480747281570027690, 6765723283448651240342029932269683425428234783019953070766693591842915900600294706395792370260728974673528468481824979397974831950207005339058425292035625, 7198319879633187592936257846713702990857192872529047067119909164774969002260713487011986295777339762973102211536252840279914340629310243760606166272715347, 7741783238957521184870227942469929977608543007176264702998485416753411588497609087290156894895384641044033678730905160151752879296999437717746303819297382, 5048269126799828458288447127535141753857815590460779434332827484320870625468438805427751658582294660174249942338800440164094784812257186982943339730185348, 3285593865336349244801811431673137695707589794721938845067710819572603941461070562100162939353080664404906205356461414874864469012699896139017639845827914, 7798081145564511339744475740097984664742921682712145718165499561769975477825226089098304582854875247651077539582638042464453290571492818719990387244853418, 919973128126164748383933542521347994930854546496059536697186441557155820903944648532879448503838539352226717560310109864368325980234589931307731524354158, 6562733141253932845082152797609108393171625080078446775830449546730115123873755856274651861895467936848361101640297333512910449538232759318148269442939315, 6180234552611115417417299131108570917106607527168681958682041833324793353322647342843568225015635706057941594136853988423469760940374081349884043175197893, 3946632787933434391880137418793114634850277821681315483372358569978432410905199330269080857263315112924276798631422622055724637508014344143391676457260715, 2448573169576808402603188162292746252515120444908049023322888691854403147461353243133491832578053450828389940072036369637103911980405794155671341461402823, 6663451766119103629734150274229548609371530590391461605381960147876811304641144609759044166532188956891705518899415462189440563080240885908021620314262037, 7905386574471349127725765846995254232912808782398013898140677097802607835031601161938877074053850537501571245257133491491152830598540845458228074763182309, 2274686470318322927668735903453028472917186193272376132952072970924431664967874683934294117972339585657516982041019337780055270211549151246269188574857492, 3877097999160080966777064980716568609026647387534656151319693954745683703490853801341282927789820262813773578013988582517417440333286208221682481874209400, 1845033893863948824068994778051731918423823160669818184624489573287023882471361234864863234182358672393969959973499143598239915102771026483318340272839811, 2029838517715540891367577262547989327446414154857862428201753231092943339396382233016854176169557192470479483695608699917181725172771579207173885137114065, 5071731478548494587040495399406674595550573368468199313615995774989549630240104761094714664417957160020122902877051447490846184738167666776750346243183050, 3037445797893856296754125453142165674666889947082100121847351020728148763637022300643412953330672731308554467209284651793299191299676464912288302152563404, 8651881060124922072430651397157108557942681646022712678312670509029444981810632308897150778297763851074268948898991147357111216135199130795914935821245744, 1861530829767153184684019388280020057811629038649478000732867218422702196285396593465075176862417691177709519865011432087131576506185674996307518214419808, 3039176606178719584545052647749427281386399378922770578479477761497686295542948031963306491385631377552112729445510793688314503694492211960046771966699319, 3108556060320547565800010413009049816460764415808776752891486151317127351402493940102874747106687798793791703346301954543184738517214422610594687784265518, 1409015499576684007635253265338093903928964187526335132574156616853892516224521854159648590896524191164873806247217244706251920126239183930258198476433454, 2929660777927248525830276127278715281036638516610110390129278494659874621314264548664208037883726662532001231995849768796206954166585444768483788782533028, 837149471053250385171328646610348264524827260370224755666163228673259365339652280153009759635960922547925988477918703008265718601571688463930740424352685, 4270010736841350871468219112156396946264894864562386850625914340696856097802623335389090464501757133642260593946325748919447730013664616307442793259709695, 3204303185954505047251032424313556465704470163836826059299277181427225814724820655387317368876451200718935815552635812609466540230583124742228432032817674, 812080085930747295969120727420630141641984184700533129165491408358051571976293728795349699004669301423817126942820271436368102062775869280094107370986467, 4752187249499820722948874164414066725402804247197604246089329022303554350551583160900854171810846651613929892534504072065752692928471408390806143830555669, 6843276062052686589811691490953135953212328488955161239779230860303453780093553998397932805775337950935399987109650069497062279265379101298344510954185082, 7740845895154814009102611306593537577704868022354979709749085978648788255795502237202660353883539764788256104012257007743035055467182345925253751192969781, 7542667612819293106277598917397697035573496268839436781522101950118286954530810986839343868672685238443831216558336873741482220672467324448625875019613739, 2516514377927225700469321963946614505579446185417387943171019129438451610579853639243686823010524868954830374216929735939765538974419262644055037351809069, 1183617689984782923881990461265366310939258547989248677721579215916285736648379015892238324200268825219653343121319531825180595630170346077510706890276144, 2109150337936208218948924536130349678780023486002801912806265976350852031328634586696136940260086620057291722207165749907229736985769286640682222834784053], 'c': [122503089700238287949043641391815629710296163376012482832129351608584049531912611444710523965840893833719124533192756356676714756317407212049469675367532, 9193388519761004181378794867506415486046118894943717503052066298931965053550441743965766006261055748092373856400786542128927779852524591363329703700190550, 6582916025669331228912477729855233441861778758571896021110164404983043420010508838125662149581028052382292384583657990654269025691376245480214689591645653, 6915963302703647782283799252039365619096652554911189175988942158776889349198918401095593768120817302204651645620840913680352377213094449023108814595383472, 9084733457641265501148561039420345736938667769919149943840043000058821447394479474513503653259013984603518573679867104274541638221724818139845376320241614, 4967247488514230000444183914133024413785573377017077777132930340244424513109528367296429940519523686917362118421675425560261940889726008658422908213642674, 8379119881671327310392745744374106036606334930222619518351448056775267053109650275230626370420203881056626975438293214439724611525568629051827140297455913, 1475674227347339870225859047159679803041800419348558014722484363453801686250880355278849028449830852294641256609264035353513029489993511475220884237810294, 921012230767521581241344510999667250696448216286880438686745867779249900518805277952603527737282806659056367095018833065184459085068327649860930956113039, 6846337664283311162674704104229349209114209567773641206356690526456565240864899576261966151936041969970345062800592933117277398667824880510912662343996244, 6103784325260941488397726113246717431431217003707303828680969980690754921742753194776798669464818736633683905385549082307793124479890014515595032565947094, 259653669569448528309675338016157459306310327741882050541639523954527542560684999583019525436670477106855370608250599031153840612272718469909462476339586, 3525031587365472150376849784748060181280181460828615076792855703744183344869865214200605494365249354317706183939525197624669832714450870510028577115906803, 525319800884528058275961575136178780896732492686462530437897093841633830863542474179511456488503307252850088022803976150070762687385013849401644235190327, 5471594579134329413696989463489240332737192219185961824894976568147877382142742926873461380570730673849470152004355144424814839200606712458397184933658606, 5911380849115136699631534012031691814510468685361089463719523880479758290147237819613176070591358725561648023234053066364962919794329259318144858449321498, 8298833748577704020050054198453374621767628438895260926070969749216151990136177940924820312587644506601531112959897745653350450625083830170670677976357588, 6360249402966192879555520820041943424943319389586514570443233610537245700164809670108440496823240985834666248740038481218361396877596835445393036406451456, 4946795701342168057461370938170031835451183551356160265787459113281364045400834427717665819224725178298332607891415862340231010703720839527392048518992509, 4164464139510353167559562099367309779466485594992360401748906628021681144357951071005710412720682954267174734879152371514399969204132453221529977049702739, 7173516175178404030852996619482298476549008345818941908356138506535314348013113418249910915647076225132689377266071023986513746011807924653863874165438981, 9160055537939181340682741656903189090186027161360031281137065799843835716662244557863600762096276365863411260514443427430115500801452409543616929791085578, 8289197032112217960205100445710063410944138937764254861607394845432146740589300582134488036608936711362504919002615775073973317737627299406865104241631648, 1794727509707661561638990812756861069651137850415728039439414919841027667286564348563971155670109148024726600488074150999735672972513581460874492438022964, 6833740847584958513437564245379743336029871357216017569180232827733392510121395248306218497062431664669129744750000807539540495203400019294379554163946049, 1198625622729702919847417085081049601267220789137308871356886232616449729066576007663964726293296684765359044031896151723188914322453153394209018375558885, 2553045914591155567633620737296108216847560909758492354476724110518630271243432058357544025640138352298695046533190391577146623930161438291268865235820835, 1807872757599331063984215915289860106069673253399276487456095738489056079855694488646502402185881075481945618044390229037061163231611300469441433123452698, 8562536386865355381834041603572884813483152215668351202256926887385133489387739837187857173070288409794550419029192569145755392900152701448966179538478160, 297434662692759554708892693783320195786539342522584619051240550581805115128333832827159424468921927117601995086067695754683479244707858788682290140142286, 2242027624815872821381161286577239142061435943890525016217369782163275716144299919497499295263230687837053890598103286069721374858508429568288813712945321, 5338197904306754864405492070688793554199207453573069308765066592700461472768660181890103172103166025950505155321143473276216709910248591116271627747028859]}, 'chall2': {'p': 661, 'M': [465, 299, 463, 420, 551, 578, 134, 288, 68, 366, 149, 392, 63, 595, 526, 507, 163, 501, 210, 519, 29, 338, 277, 257, 372, 173, 660, 388, 168, 100, 623, 328, 349, 392, 327, 165, 271, 86, 127, 47, 87, 278, 93, 191, 464, 93, 324, 328, 654, 206, 68, 135, 651, 560, 458, 82, 34, 177, 237, 431, 516, 70, 546, 137, 267, 391, 454, 426, 313, 32, 181, 336, 127, 367, 534, 434, 396, 400, 552, 357, 270, 98, 425, 324, 656, 362, 538, 491, 193, 242, 103, 405, 537, 33, 652, 492, 4, 161, 260, 551, 376, 336, 4, 567, 338, 555, 94, 61, 37, 11, 507, 494, 122, 593, 549, 161, 474, 284, 166, 30, 646, 307, 152, 9, 201, 301, 636, 259, 13, 183, 255, 112, 560, 97, 95, 539, 220, 624, 636, 319, 412, 83, 180, 130, 343, 528, 466, 618, 61, 637, 179, 606, 460, 56, 532, 181, 598, 207, 308, 514, 93, 52, 15, 461, 204, 50, 166, 617, 107, 58, 159, 245, 36, 610, 150, 217, 359, 216, 214, 20, 112, 392, 243, 561, 483, 494, 289, 80, 418, 176, 129, 146, 136, 594, 480, 560, 551, 599, 330, 210, 37, 432, 143, 450, 387, 156, 647, 657, 434, 249, 646, 531, 283, 102, 640, 217, 465, 444, 352, 92, 379, 233, 490, 452, 563, 55, 31, 155, 94, 510, 503, 69, 603, 407, 49, 286, 15, 89, 257, 496, 449, 316, 415, 485, 631, 72, 509, 437, 440, 77, 2, 436, 397, 393, 108, 569, 16, 596, 365, 234, 189, 259, 117, 399, 232, 641, 259, 544, 279, 572, 32, 398, 74, 380, 281, 209, 563, 436, 394, 640, 431, 158, 567, 658, 446, 99, 510, 301, 399, 238, 421, 552, 229, 582, 326, 459, 37, 338, 624, 48, 57, 606, 315, 4, 413, 360, 224, 354, 475, 403, 639, 34, 295, 295, 646, 554, 234, 161, 93, 477, 217, 12, 638, 518, 457, 621, 301, 610, 548, 87, 65, 81, 451, 629, 245, 442, 305, 299, 392, 203, 24, 581, 382, 187, 310, 149, 244, 652, 453, 324, 512, 192, 63, 460, 540, 278, 152, 31, 28, 533, 19, 312, 289, 37, 521, 411, 20, 78, 517, 79, 214, 393, 245, 572, 114, 48, 223, 64, 357, 659, 204, 315, 139, 76, 591, 358, 623, 568, 159, 124, 496, 237, 501, 351, 311, 398, 602, 59, 250, 102, 170, 185, 494, 73, 491, 360, 98, 571, 76, 107, 409, 244, 495, 355, 595, 543, 348, 374, 174, 492, 116, 490, 259, 465, 577, 338, 562, 176, 137, 277, 194, 483, 511, 140, 647, 177, 202, 116, 29, 200, 218, 418, 228, 254, 625, 547, 397, 317, 417, 577, 28, 388, 283, 157, 513, 494, 333, 71, 33, 415, 550, 146, 46, 131, 196, 549, 607, 475, 113, 124, 502, 238, 94, 614, 352, 413, 659, 359, 5, 646, 414, 658, 290, 55, 279, 657, 598, 598, 297, 38, 370, 338, 310, 546, 189, 473, 588, 149, 226, 622, 214, 501, 411, 175, 65, 492, 614, 235, 289, 116, 406, 39, 532, 146, 327, 394, 156, 541, 123, 287, 555, 214, 521, 540, 375, 175, 381, 500, 123, 563, 559, 584, 357, 353, 632, 603, 605, 609, 617, 259, 637, 333, 265, 536, 306, 270, 484, 45, 346, 86, 621, 571, 564, 202, 531, 527, 375, 370, 585, 331, 54, 263, 388, 531, 499, 566, 259, 117, 382, 476, 617, 246, 229, 189, 445, 395, 17, 430, 286, 61, 382, 231, 62, 656, 166, 160, 339, 579, 478, 634, 106, 165, 262, 429, 231, 182, 411, 347, 89, 275, 32, 204, 577, 117, 15, 638, 68, 293, 400, 409, 365, 197, 126, 346, 432, 633, 386, 201, 161, 15, 257, 270, 270, 446, 487, 432, 402, 277, 576, 305, 297, 424, 404, 389, 150, 390, 323, 153, 391, 187, 194, 488, 470, 138, 160, 601, 391, 336, 611, 112, 366, 359, 482, 559, 188, 573, 511, 11, 343, 375, 177, 13, 107, 172, 107, 351, 66, 414, 211, 405, 61, 435, 348, 641, 379, 494, 181, 527, 298, 24, 277, 63, 79, 105, 528, 199, 242, 424, 153, 271, 459, 367, 316, 215, 95, 269, 344, 512, 342, 231, 238, 77, 313, 390, 389, 621, 530, 393, 584, 116, 218, 12, 623, 307, 211, 508, 404, 43, 514, 251, 427, 249, 184, 81, 342, 409, 414, 320, 282, 32, 202, 408, 383, 196, 175, 352, 404, 276, 647, 503, 461, 513, 3, 21, 399, 632, 160, 53, 57, 346, 486, 658, 533, 347, 485, 69, 317, 202, 432, 309, 186, 16, 622, 57, 526, 201, 455, 88, 27, 442, 342, 626, 648, 81, 497, 560, 276, 391, 225, 469, 275, 551, 348, 644, 214, 328, 331, 28, 244, 58, 629, 418, 272, 40, 230, 628, 435, 293, 443, 164, 548, 464, 305, 251, 575, 227, 317, 149, 490, 588, 132, 347, 540, 628, 91, 398, 557, 617, 584, 432, 140, 391, 140, 208, 37, 126, 446, 305, 621, 103, 232, 536, 330, 86, 482, 538, 41, 409, 339, 140, 508, 465, 581, 215, 567, 283, 489, 528, 362, 260, 193, 507, 451, 405, 463, 360, 153, 305, 206, 364, 535, 347, 141, 76, 608, 534, 368, 407, 443, 513, 297, 53, 218, 510, 660, 415, 83, 419, 398, 211, 296, 344, 623, 552, 423, 459, 370, 119, 366, 4, 153, 360, 148, 415, 60, 122, 536, 173, 656, 217, 15, 15, 201, 368, 41, 176, 528, 537, 151, 425, 651, 174, 268, 510, 565, 223, 589, 250, 359, 160, 479, 528, 249, 556, 647, 290, 11, 76, 454, 604, 134, 518, 84, 387, 487, 158, 299, 614, 16, 608, 197, 116, 377, 65, 611, 262, 443, 330, 486, 138, 520, 462, 60, 555, 75, 508, 611, 628, 654, 370, 643, 8, 508, 141, 622, 420, 520, 229, 520, 382, 542, 539, 49, 299, 621, 92, 462, 207, 483, 103, 419, 303, 69, 439, 518, 649, 640, 291, 321, 514, 635, 519], 'c': [338, 621, 271, 347, 602, 395, 277, 613, 507, 527, 509, 41, 544, 437, 84, 452, 343, 94, 238, 33, 436, 169, 44, 405, 468, 582, 145, 314, 367, 44, 38]}, 'chall3': {'p': 77784655045920971825103438475456071800713948476144982787964670572564555994133, 'M': [61130471602340829748280694082993680714982465813752933910314162869273127629417, 61976400221034582604684764655300143275026003782033955158803019105426847695452, 52866016536169475082233629986079018731871377004987150138031897414161847220245, 15242085401060651344369328380045501499642651495846416271841596862423037967496, 39010689701977963217816647563325776894311106561912255504469815636908852649237, 8644703475630646922407195277895544591842159104957397642626665069763334106989, 38235176243916246565546820944263070924685708904381268821218747389793618020257, 69676195930363433752459163012788105378358931334112824397285245479022632626230, 43984843212658432313363213594390298597341484363493675163013759692353493672123, 3505459301400565814584094110389915463562057688992932308112673515689040314971, 42841680551140819825376293098022025734463327886895521117180224421214823533928, 76951079972999045967655592625015434562289437596718618792639856271426039614077, 77742995485527255796409513185807634481733677105217784911838823740065416178992, 71758920782286581959495187864904136085315463839300761883272900765671197589553, 41844204729220326581932495564647321111436344012339326605558949399821515312846, 2933163865441272304607527754959398897036091752017453477605850162269910812378, 34389663767720132408895807391872138228734927452251004706840721186546102936621, 15666870739276665323169741043736501546921835024632072976927561457931901735440, 69133110447086337632005883934391839284239540650434935717973622732679894886902, 53730813750976004273387282328017916357192987539487398646987096602575973617448, 48560193895789394921636113791314792957864363007485531224444506343847954228053, 4869729631481296818600884393884477511078059104486284508642421936000587534349, 61213711893310161310461134945251980539261755019098473191376057757222302504757, 4777936002668514815380667590198283911052953238891531516074295640428819822235, 34211932137457683478741004102400057157175206549792246871340519322134337335460, 63857285438587201044746459363677779346723636953697439766429908569311607359637, 28456289971387464934065034060020468222469621089587963098836880336610193143963, 41241361443006481792213797095843164006295775307043020705036832530497373916886, 40050058498081863242311978167015871434035826376628147778506008964721611582577, 49573165045582288526655245532004629776567625333118706487170613659809306955209, 74598034958155471845571793163158268239941850375915879999978766686911062273826, 17370379748705092768799402892800409389661481757409368599659187656637076155917, 55613301225874582029940735501043543773206532280064562753280485232821164427767, 28428817821261657839513566165342746647336846273547675182230020863972504483200, 36848074541228251894983983342707967407285057378321715345375237099451231324389, 28644085718138736805376447196524240827927914622697661080594392431611296276184, 68157475848766170453967607793764649585545073198446639621879184698225418049185, 68295282544232137500823807698247399059812400718793771917349825177531280006841, 14760780921477001335663808518196232246224833604941418346684364570856553648912, 28749965630101798624342788718321948163715913578677030428519493545021184222096, 67160289986005669452160296600495014023306056599888692520556794544982704079690, 72783466334159029868518261466825432561863500747736668641756265391045564454912, 55155686025431120848596954658085434181124822259086759795689482874113402514638, 1440222585607190789068384097989418929944603019375958922500699358395264080706, 9029089224344878974549930312042137357131698773387460959969529947598281210973, 24273352837501878721281166529548866918861313174499653390318323575394828986394, 9380012322816356607684822073055311848358291142059303634342609721082168305529, 54888025853741673807212396005264895378317570111705705261996681555575248593294, 28399853418838342293564578796541808428230613619797343114422774445766597742255, 11872796668998928963802705729361133444709212381696586098343490116375581903049, 66999300044908747125326113451716945931878974455635990520125690140282338504117, 53222762133441765107345354073820048190249436050317888825200343611676051671732, 53227212656049976639214908841509012050737682592350468856417274150444939344583, 30569316912221645521520928172994711229702808079032960758194482000214813956403, 7621942755130857480679339374604047065930447746771546806704736340527835139097, 26987915114987238358254486558465824593343373304768558000103621692590108043874, 64384492048590688461925610415987265036158309036458994529237097008047572114779, 38243184704009088467106426600510292146458276265545989387609595314633673324522, 15404017370644825304489235302483608933939306165873742669237641065417433419758, 6200796027227034022563144939356491264857154430156961484910801877774958376678, 24137103271478818734380774920294809763557342646060321560953990877278177479355, 66631788356969223486951636229101750971735449583409781037291262406707557812414, 41482287147575127004080315869664543036369618294452198549026700369484034195330, 59633801351641142726413968004320785675903430670592297416013665039846697867189, 6771666977878831293168513595060697525722653499957192000465290651952555177490, 44886100507607447624646130826295894898865437992738891302522481948115072953534, 36985914725791478703162038176744848669394102083601901143257719524180031801349, 5743978062421859226613176987136203858452882804499535099619939419453187788587, 14985205435794013325118549528729921623493816034479656609259106391392769265230, 29486668216347151511549308048838897710189927485730128468460875276431741934145, 64863379784299247308450625891414288587653135361339508773873816598248082932782, 29032850279688042618189316703608562481586339062066392959286568443675252818425, 3868951754538651934808879746556587791893019462403699969428312797490383422031, 64770081508659372449709651118172469233075012714914755327637775688063884243495, 44081758403928458336111794616557419203221807790720461843065266161574663588011, 22468091001144395277060735941413352051474279026578294718173486922822835005951, 1114498494161089459705906286652849113547328643788246683766111781312091827151, 61392302989743232939791960947193592247385371339324308563745154341571737952372, 18004342313579665532087593489975887810305655569666905748769177271091464151052, 68684376051883117681701222375563075342242095145649142033322511602665804187325, 34766282229276068136828580539137337962189251628709770045963194435288047957458, 50089738911240655878758089347331419510093386610972611972810422926707653139538, 69197485748620628612986353328306792355890281880884458592787599444947505879336, 45880796241255771295061236831407227160271506126424809709471026447889170921992, 15280951561165792452714792138499400248012456936680175812687040808032891700876, 66596194883249179100886599619734548052308154848643141925866533922575297158316, 76332452515723809947616695811797390249351380771898966426228871013845683089000, 19092016545563983254358918018812275818931640553787506781144715260968704450954, 46327909324736681935854060973973751408391534424149575533555826907215707808244, 76621634501020636108970047564273407293555781466686532607225511115662418972175, 31454209245743483932769514747801175836551359463327169752754775034027459030792, 4678020983759684600221124737279991609663848911843386012815292654898094385160, 53832531813345850885341944506636611064644351823306155934977098418419758052054, 16423455653473348347096465202994332642760063797240408709157669219696260106512, 64617784441833887471743848834129216132687784209625893608378413445840255442310, 25116200570562928729635270475851735294649537067902096400230877928019430336385, 69053551034810459101123898117331021933058735560030447224953611819243788387947, 70151483113260875546377964841277342111836930337079613117096488771974515493928, 57051718333106494819746499760444271273027436013166264808970621065153768124505, 25833662192342162163625666672742989287993823247223485007896605225884698561617, 39235219286170342181542264916577572307038040535965972621159607922718918613366, 38387211217276807329952537398122209193234302874039368518520878940855038497238, 26408200250921709015878771790193435718435476228046843895955941321712201270839, 48135068116763522509623277463710941688351838631656463552915469167915171623218, 30461219523419359884590342993544348464951403108434717163331272842905492629800, 10275468042194795326589885696194863735002161104183162386847275245819157513196, 66523558673158957076083466066125643491146465203933050171013604626950502956548, 26408661535922376522497654417930694813539788956654649812458805476128253374448, 69435261146428191791258381670948517561818731940414753878489487037163907790730, 15175459592070508802765069834838790185657602940279876616734606079449434028071, 13237386227083766760589903566000068056616948594873771227116534858357424408933, 32153047587263487552668508667750198014799071810616666259375808875021499259139, 75047779906053175070352396793197438807622143287376667642833527852766677026865, 72996011701388743679482048122552518941468949792742235814788997832487027688351, 73575809444140491984062086080177691150640443548534113671622541616970343369736, 27327555115606016548865176684015915176239019625794121153289518635682435699247, 7565303381279549657061282116746191300192651682597875848128814218492146365140, 40356106171799575839421085242652443854428908666258322064877685743325615740539, 9300296362114556849250864685510627380189775470052788257477566980660114745797, 15989203606243746889478842671809762567826149195219586806947944860939256904855, 5094557205190424113942866556844975120400335166510358045899157221555781932744, 37642777595747261686253691256260901645914129695819034751260430711589538964509, 63944029523594049708339136071782469082227977776335776502457630670255359559781, 53133671130057357381653077542539638203658005614237453490916560223321300918164, 4270676442943953573011622863151907181283177241920404753673294667449147960245, 41732009096640429882028046170141526840919324756739832446173579595652136946897, 21878703984121153317904225380494897952793153030803335721965887519082596340266, 5906347094102244153331407842126279402368871799313912275830840191110915401386, 19247300513784660096869505784850959887682376527929581211091423344731205253639, 47036069881504241387803189953653370418436796072616838995223491897680279125960, 13338322542444972218397056911287522735153983850482046519673015727689494250094, 18681109190087579910897877452009097048310082141161322998165010160931089286476, 43371605560480887515712067010265390015984448787693400367350227048485143495864, 31724948640750292776281629957278167789507299686866366689510582360361418904762, 23029356204058761534046928825338046381480241302740899682692883817798606930350, 29849029688235995077658723857456618730807950693447869870535096798597348695509, 19351855091361921994717902540792715919203588763981168347713355861492271513113, 29281135621484138614478595663361377032630943509830542733276018297591673452532, 27655454372964682985363300623752919322242956209364766398874969787830865679894, 36149156836819576864907889504147931583402229625472247299789778771725669745164, 71780761418164403373150523236436945693705697941905780697476690454195888899198, 40151144576656935062380090974841553604753633242305485325875068088909479668251, 10184276722545699200598437067910643513250871719265850084309353312508726809119, 54645342060229431183176265702770073066077733740526800393463112982969048169822, 50558488806503745999458589297265696579665974021589403013662819833341279810225, 21276627681551843976007540039134107498065434075807464952006297536958626437231, 52575138862461399323943277695191418397131979159076373784661301916753534367731, 62183626743927218652451190944829063612038088080811484230379082581971155828113, 21463778826510243433564205301205007537675904049304636293470211857190642779787, 58331117769843934517074407945136421160604256105440334795575269706101293503992, 863256745035656652348580879272376353772356355110768921488226010837995307236, 20475664293191882506045405883685025214776587916753555597231297233015470266648, 25246755168894945435310520010028070054306113581246169556089963869781609664365, 55422060263309127371170026858023444176094128436419266862609804171394774240615, 34716482935195599939386771229278316306609902736246138212055325972196116526820, 54739869795446053140663375410435846035808077473948988516511046811787744182962, 51701731482288924373635795383402766000530846311051176101407631567958780180923, 53872830016997130517522298439615740872300983312937073514218585777292585995243, 50895463843790787195430994451823986363131938375424905802222002298341380404390, 69993057762712362627969567103148101743677996879069689348849366797813597942273, 51765108968937798290582687568956049707645679591804689458312808430457401591889, 11306668084837567905129370130222085884802767199878452080416249836110443447361, 61184412869027539768912083218235052695369740665946215270609007708223669238764, 13944787859526084626157713550924077614512882050238265469701319631780275496244, 3478518863155965851832126358360983236105457404585306185478465824337497030736, 67853410362718032559894807029189946220707812089093671089509884465509541206688, 7125445725770657893313988443272461398097916710450269669860739579251569067010, 77218838348708150497218292222739799887622604030649124848469207144099896692509, 4433480598479000021787280785490897359789013089987786123567402911008523092482, 71015095546337904766560479300936293276335088197006800461737994787981855845806, 75122148603892812046240563834963184847431719400377043002816690389605345086249, 51781546282027406526771129398300348000591272650201223514553364272583465170756, 75078121633004349843176902510844837499299997110940628989056207106156805923097, 27496038299793470172508102113212986556480684481156217964908747199924525156654, 56450200785778740239329794928061956927173692483258116652758300098266087417051, 53084031711346462397677003863057311140897995316285679267401272504832549426055, 57493290203933886602560396161668387892202574005427469303481230778701914153809, 30373929198228597355046895989464329651763769570013981468681682383938946699936, 11861086291564626407195751024585616804743391738834439109226242756855446399733, 18736697767850083193036354525208573380828809196043432521258533189328626271092, 60383292948233942523643107918035112324363937395555446845986254666017658861258, 71282267343571201450625316358967840820053354356540875540614615093636430088326, 45520262665503624399343339606887566469370285661364146732441424646722830926413, 57496078832993174773302367613563108443988412393114055033896246063824991724363, 8546042928151187922976538450114005949022036621432051688006885940370967070225, 70535368464646776647055313286980934518055984843597540399054097049659450965585, 58274005007833154929173920257636312730674551139013576371049742876753765044971, 76780550571947856925096117860219059921625998038312703676873808570693079890514, 42998681673200385417728538625995754144952489867941107017291200294308823296693, 53332733835007350589823186350137600682089180144310484549347998080331981032776, 75800590940813951644158161302110538665815203653772970591315421732506205926461, 44730435244728696722824615284402170407909580337821747769780693532090598595130, 76744163167489682609745569860483474828323462442942142393390617849770224546127, 11128768440034808240214330381926839258779445931099925822744598559156735767264, 59777063568870582041947677171758230965132547205856900963004567999007013532169, 34718921519303768058833837865407717458303532137768642665080433196162643356868, 12184550376085727469814477256092374090873109991869952128879794006666803470823, 50711802635719918896606823531717520880019476219564594092911163293147055875473, 1164972094318476546353350202799727848558888666454553031581887904277197980290, 33881267666431711607383437317230752473912722385428434002687561814675260172883, 56990523833566055967131328255598072331610574913422783950064605250872640341355, 34318447145395473294267338290614886402332762991330298609759519812304878437825, 32865908170734337852151563511766241526051431110125358008498966021900934075282, 19382251255953735505626155363875287743252464262144902691089919001706006498867, 67877467157963028672307601637508961826279734553778518448001807393332357925744, 31190916416555798293214012907644634418175675139840303883720516567673613744606, 59255502943183765829047009821404714172829837718303714124890378953365189634525, 31193480342558435541063228813035508076336504018098631782888757778602040115951, 20531008503430262777008712350198573950434673283915950826887950994438455510176, 5272450843292416869896367005964341449557151013531669311617221921996563571197, 39082364497357906750592418370840235995667627084491468891592040512787929837495, 39102933069055906809351523197796529107847928582137177702403695450548448677257, 29060658606754474632777981794792562582437851220272473727428807923813058893336, 516451094263247286682453125827693327084046569355140875869564997122973776871, 40874715569659074867933248372632223889433576937958247805155425822016580614316, 47152039653137365824028590722451102686112515019031154212519875724176429049852, 31897721812695183582159685044426253055829224100651278326103910159161097076548, 63420957996889060214269824221227290582171351766777805601988341655271952475886, 3736415006456403417279708773893941381170528382396606864465352100801552424581, 30745229037931387433461371559588808939160343838476679208628317542815117112037, 64020058571724317004407148473440238068572384802385411707238119140651612957030, 8184010423884153067807822841710650184267010239040137272079442134077716268759, 9101457579938473854249100209047455511538765945103493224109334008205183924497, 48312614525975929224627943379483208829748332998441681153380564905583439495472, 8298649996530728781156782794940790963062790434790368249313043851090086947711, 9579237224943926529127338522991178880344542594668082448092072110630948219100, 48771740399098313628096012311360427800287876218123429400910580278199485664470, 65997522417667393399522199248507561871113091449692016233869982617780948227699, 53789401473023282361952342873370556343656321313689780244599704552263485889885, 9116393607258776763625198976772323266918214173524631184535930733238931699854, 5488626403027689539515009029300400413842296820185326525633108899434012462800, 49869322295689224593366479047093697426642561515302933979434932123552892817946, 72446451529470639060090190987974495763061608492822266188834042170090038755347, 29948818709510043854382925435242006054929913028129522989831698560864896420494, 36075192953921813731008019385764244584259873846265222699043756886224506872244, 33847250546256621162960018208870687223355130745862921291387353931066800564057, 50824249997530040106617022905761762049611837857603707695560972668731612114029, 70023789679086464525677868566394347184203064653338357086133898015461186564135, 54260870164560000559920687171318887834540649371322951500208494516234745340150, 16534905573279262185185807675489029533621993145624894474270957414607979252801, 47146758025650415929767781653380665104827179598386787418055811430476161710198, 12978496170541431415353022223430698433184582730905553619464771007155725774184, 59543308239619152560092408519249766441833377201269098790865105956621862054667, 76822573377670088495969703714770015008284942280952183595263923141287403296697, 65626074881195241462625983647881851738188317851482896321786203832548631797594, 15461904814864053075249185652433893270326013496522613698797018843929333131246, 64787053104429822014019020892737658531961962032847382588796827352819858087328, 18225429386282695402402257182623480933861743434911424424736763088227756051278, 18470451894972669900688770551480060660862382463731624377288284783220666270296, 1323530852298272247541191707625066200885521403055417754015728643112895914411, 2809453618223853374444868245110935568068433824739193058553564141343986934533, 56179766203027767797625907088102887005768603997336788242797308898594572788415, 56808492234533482026622558140061422709998208458885721814599916692352096140712, 66208069575805581919727708195007951280004044681185330752072148651416526905853, 48052104141067926688494975396742771943317444131748629354527880967740689762396, 51447032888879556543942016666862882512561163466722299262182712794249183533631, 30641563370056317527449942384222356105402742102263392160676867228559138933512, 51900353821444915295304614918158081948717292419894944408787609002356257324771, 51271198833385121595122813845621026380164761696572836121577707917968999951566, 72769417987139072221246551439250272696532636216518562788711576883598806929868, 13644510404433879403188302192347384086998066530315465218368336894044259143155, 69487404334523903052892030955461024254772171506658442536061160906506610728360, 75133932235152914465181657338276383105217537329932414257347320628567228115884, 6174244416310038213609074653769672740555800817323430316262956858816705344459, 30578903111966066396425921299556388415360849679199762498147672053884482807823, 22752303173432509222473245402354646429348952147654972950117995961973640414952, 67981460656847530841305495748132930973043964941449882813493699455541641628399, 44400273021545011623742699293458383689558650707811366274091497747412813000879, 18666118391402445619144765226940269953656544429117093827697585259528222901530, 30570798880805402374789284763181045405688790383195798509191458369631199993780, 39471172192229858919261879698525320622459494971449520046108446245556145871136, 77038364896552631520624022184365939131531256844139795497810924216344769280424, 16692352919087389048266600974422408858218494725343333422650452892346987571877, 55180611278315906518399773115828036929634434489284677851811897401239616958621, 34077761833235036301150043959684519532135291763761644410268212124126692328229, 17467046729701298344702167603419689686199254456171375279743562689940750528763, 58857305701034397918294840278604829986922471223147155616647030745388398013765, 5567130144536189086402661240629829255187121540917639231911008962407838819272, 31149834525277949477499606792961033269274435230894410189490648091590568349584, 76684949847282736077691012367934244004944158958552729929517444876015229132736, 31350142727050732576606747484914774866940613352445985942410609250575786585625, 54362119108944717465181096621847347849448988054409986108714828157039479928564, 27591705202757443760790744188938604083056830093005086738678105948514571942356, 57637302890943606123895447784226343586310973519937066640828121139927068430280, 75465175320220609969884919617382420972568751333246830478424444853754754827769, 70174050445004020470552026414644641628342884587605346098672581650889114042138, 61735700725004984418135393419813352221121057790113742396626748747221335306996, 71887951445765845075015256560560375699711258867564579073131489348963444413033, 39630790362466021264672503152429793287172702469480130170861363596175605432426, 10004227373731266851520303035012227096748724061774090543378385287531685913852, 52197943148276114584769641138240940026357875463020107335633391792389211062559, 21151507804917307835591342518556378410259411364247994781597983275115313526173, 49787133122657608279753388832626293147548583530702582421523111982685414123634, 15154880603360228645985299584526174025235245776183011678577287392685460935140, 58630971442324301063917832765447936528322425098707803572762883421007984408796, 42333037508577959076917225800917703524194102634860321956819063514574476742179, 74280279262089575506273938928546435179087160262683996537160149280027775643341, 64846304180190374780633392318142852405062376000355703046854278677700604905821, 1189542061240503504636810849344378069740535263470152647285085053318014526501, 31177853855349042691336256756599986055681619508244240827815371746543267694336, 27297485226342566117000895893282204891254836228703680812497296427808141340331, 5995053922847638307368239637855701293423504496909994639619949710450135524222, 46642739068290252332737396298185674145330036016933563730219868997701295310586, 52746713572893084465200782145273499867128167168360231136243530962501782552339, 43721883209492018681796160672547692070626694927404132084309991383887479585895, 30241611687104634454966851664463867659249855755384236977374150992921574489776, 38733342893854944725630504203579318952873527702994186122620576098359022094492, 9942182827343726485477262764604343201866546949229428832359669579508668543398, 44002286874696791911995690886176443960469053786806971145542293868779820084109, 3601812681051214474548889116137021064946287360774882397436790166932566899401, 74611023785347365401978171523524065105811621300583404100017218333718734102698, 73902187891790194443518979438544346194827530337897309078144898930415327951768, 36445303667230228416898526353188902889659808404625438130918789130891918468868, 54986648602475477416453299174561437724937941107221616798421704556337319462150, 43458235275758820881966483025379320972894997547015900608190962197139497984739, 56574045878027940597830475254777561755965354622713343116012661335317527912849, 13088345024029481184381305333899750753634496075456251849558507232069646683133, 53540636691069324986374525108336417834093366869308965099808866233343893572246, 43071063436474204725566128572555708002298145179071405687318780892570248078091, 41550683735675612266469375729536986916467374505468798662269409752176453324137, 42676467181008950946307524968892068213338831941437792248182212150294919703930, 62496544034792895978794798813741609694115994878632725367280378669517550895593, 29434074241254535043598254891530437375166636412104454231202353252482720379911, 59204850549234327907566613336863036499631583811366711833850564109368562371929, 71346980190178311401888281609306250693315334341704247745975696554792734244559, 3584537835980282244070719384956068274934555521812029507464387075794837733761, 13970822978775010832812572148413791905862432739667699873253364533259541950743, 65714081573456922309336467863019307785953323257180651461324978247545893078641, 37677995779730007042359728755138089770098597485024826849767357786043993923043, 62824182397870525883963983695187814231300909909442235254156930895904596045246, 59360748284065817329980418930246954773847056850905229398755758234161027882333, 4290998056993121251990339606522313648201247953743328809899789977619879632076, 52215589666043383943372365375667856508013009697881678871163824119163091398104, 56248899522903815837796924984698159259070016302293415119892916670977732255082, 38438659016964907617349177859952627253831201368962457088645367281040494259647, 11949558226829872191612451507185230504720392096532896738540381589512629688898, 28894502795300040113979597619755986325224183563992399592330102183984545025235, 19404965202861808913615910672886975579244220233317073925050752521241509869755, 44495783752291168319707097500466137275594822312152121105901271435769633298863, 62832326500475909713692849078387008302385652730541384735866562239913441522255, 64998763354649954265439346725117514543840644276221926345786372122712869335850, 31649341845915081024734630297052204392016218715135452027187449489621810536125, 37757921699458836521956932836181909739249350436321633944593851768749215150874, 21457445313006495301282281581041015402976117736688972682277403685749936058, 38138553952537355514691087216498041464489545120178024225537548765303591831150, 22426367070018319544289500663812567130456352649901731325853232799018593501591, 10212965209477103293049772785152998155920422206820893896406508139009682790729, 6683969218515529958508862714605800034804686865023446544105035890058616153648, 48117147211453573636027784356954180459351057490210102881336992041139181787244, 22262949074528751354430004232693260655387306308234660383548842458314854685459, 33901639480880642273944513729444272171730994970055565202005127968176812465322, 45664585481242675995057665438038017511037571545696457610677658071996076396685, 67652194116481812491564922564109779379537561168166839872313839401058737787987, 1548789270293711471760730043305081944431594317553076706340189772143003402159, 22181738339546328449218855825300358587583852821855142515606074613067903789601, 65045619051540004780836231349073257148749341912772024743821090346291140554667, 69559212013238255551655787274441611562404971366184607311508511264379374038199, 46982544519181974928538119677109417063822928856976505223295746273642727145142, 16465891350495392260441770250912087753123031701041985664497073531848356130186, 56309683650030619947229660884915154706126127078182052590086209317377080001594, 11703592128822053448076160499755004773633003737927170362368886148413526676627, 63420705582769204917751118479002371368998298073126037455338799857537574309132, 30896239604882289826165994545403968758949653325598448646786138435633371405496, 53280388636839362144395554953285174248153731243468504317241599712812793791844, 5546653569613655125034587579387619918020359157100201006861472906569593621992, 49672188230643917800349088465750262380350183915076493292093783956600440065506, 73508061252578934829364044612092109547208972262294512083822259006670986615274, 66692788032129809705022318775080467347026428001431169253428641502768703030762, 31417991162267589952182789261509723286450728393042926943571818294624452275112, 11642552664620639241362478782831535216522022618575873316912943147530225333909, 47096866613107564130514528769807321241098105442726973807771046877381067086824, 44280269920888098763232848822218954273819767288524180567671352903206972671467, 13128873213156257131160774976311671667453332971422397041888054619089536345432, 53577011336170552055900128429131478649694640057782277715501541254498675954668, 60919053822647989873600341284153236784599230644583221304555033327760031711211, 70219158740279002127847730307052496516460071708367325514432417042397318455317, 12448069920381485850241312475790039316136224349538558441345780343143486674758, 65278939942390169633278710169069736235268630421103616743730480399668371393064, 9448385123267653340990215372932044573692557835327838666403765269464309094491, 37085580112973376287198705961519723018680827594667067333744301821797867902212, 52900406902703366670372964700632017808372815677223288340238616757707185238369, 54127428132924106957502848395039581458707828732107298947978784575454147262815, 39755614322007493433582035732955970251790908000377643451219683603094875306605, 43161444148009705689069196189939356214019117296218289395381578984756041091574, 12168698365213836760529923249224214073777213215600334680820392053456763144383, 39753084365031030019389319399579977713086460718294212209285606817681570495004, 50732098545286990133393412273322977530732645007594258851509519703582493532305, 57283058764939629092001453566648393135616528317981157486260590635252795956123, 23572476309492395079286375533296283492717800762920189341303368148705379177634, 76623597884719563503946336354749327508082993407536950928738259879312848991576, 62047547943641108185307597709305750654675952247925903816530648184013839835086, 29002641626593405269186503849086166855236367576456441545512969488833120942464, 72303415347239131917118904330782132494395082614126534753349790303937974854609, 63415310016552748957975237840388419870415910681871381803270796199300998562621, 52331051493350926688124792668517272883424465535225777165434171260950045543162, 7042041651666962567739985477468588168387637007697440042676693255952624913043, 37574980542671868270852319987515827832650148690504457933227507527937487071313, 69920353867015819897380502305859391372797144377588593060138119066521355964486, 44325109940675815623092195079326601861512437950977290715829421226744668822380, 52579539643244438662612977029163701671605847105716898636470050641130500970950, 19127012897146415242824277383183181234011690249349412348054732644545129837143, 36024386327217780132435076404876077503900884822304767330971896663418225954952, 17286240561324093522289095141657685759069821879935489459428780715654169512734, 43064145859761435982788598412279377909578689553297577871230350193048529162765, 32325229374672165733755185686920107704431373906769631049637664281724911347468, 20978015416123416037908147011852621341242397418989639680211774592741848987105, 56194813856194695480602267499727817713728220231118515048473770320776603835301, 67539840569619142720870770730478621235404142163402919709487428843181151401758, 72550417754634514921979613589101380981932211765911487969062882687143023180065, 22725868853136980323436239841007961737176838514270638078901832471715924540567, 45753166979392281167060024314131905801666004066555326165319932211010985955056, 59050195919325481554767189632313518168569490511825359369350390009597602020499, 5040940467586351072571820866598974488775384095622896901262031683848118556669, 50978936239493763353277132273353173750735194426429859422725275908969086174642, 56001583338349020367135987998910023793296730200006666369393370051373314170206, 61473482613381019159947037077559038972159176836804412812250145998205328006629, 24006921052084187842663079457298165590501074310056641525897957911341623962920, 53783098767436323205356806217278250343052161506866757305661702574035553512289, 54813987907777848152570348052810687964337477234884789967336265849235990213963, 20254848068075860814917091289774297648099314174671632193492752284271389673115, 56661465272587997231938341283368362924914804363696489460198871923254265565652, 55244331230676501922252053449484446802158595100996859410288856255846052948800, 27648074364683639486996204871699103245087480053737886467030763970198034813133, 37297634093278557522832977311161198601354634229438035678545432790488547743918, 22503047082641986217878095796693366539953737398961552294581932500388356869215, 71633256086183368122660519633642622555816679148584228548134195829236637781345, 25328039374566594008439857916122351841076298783035769038379734237700010466329, 46823016564292620598449120554335496002418523776539593763898352012239983558758, 76158407247868822941384189376990745051649513718516890394688766443113403332691, 9768277047529104455414389822038105174302896128270954522828683826191820393224, 41601544472855489831386608804887987989704785736568023058764676499549270072401, 42158688234141708581256022872426280438682420076068088900386955617608417857798, 47332864277795729012914533329901494943195856139031695793021851554063083693503, 56215893753697827554878342183976960163164460020908023756512187133644775964350, 7951372597553904328939723875588697349520683609257713508792084455564463962011, 34459454487017116819410175373706156611544038128404204783107908175689420868822, 54370777240477456693211356401585979143282282198721651006802110279192847223941, 10142585126442862302378441458267669414349856815747150702165681996320759827636, 7254046087917554963352246592985855298197757509273827236582949994984498629729, 45125660199836574370953956246659996204050452428612725049106251658104675730078, 48639854986258321957776703574415609711637063795521432749419416378645799849468, 38408851619835409258484922673442097583784670572388968266265827591059552187050, 61913751888100550512151355152063966623121337740818778054650709646845641288253, 53995475218553173527848608401247570137378377824123224737475068076924189319420, 4962912263241856606943256647460450698476013861859837779266593836879305337546, 56137125478637371163072941802168980084081055741928705869878777716012851868799, 74223087337292313871395630120095659263311710176370954429994165838525335988528, 64168065461615946170572964462724332565211002988509236421429419036496419085572, 5991718989377757998900509764757949853762248886026948264222910470520991648784, 41524964690403890545634513453187448705001734512321934918484330505391594053214, 11697736982980829628065710046677845117761714308918873901899006307257454286514, 35647357053687847324625956242408485438662882186248355833957746397849827583900, 32238692949675633907311212196378976292733627859829381120403925154547134618967, 63865552694921693810208966541767589708657476026271888242502510669529394941577, 26168531648043280780333771815762148033583991489646998384222759711283821767391, 2196549509139611684428353598222023552886851873382822838476317491092008953474, 51740523933814650180018125681253944100484792349461248225036706703232001065390, 76469792663676184117571071188897616566308091073637978935036656198752780968770, 34477770280078348108087015758233784668170866701665367764832438675872123117674, 11254622176033212419434234051542203006340797909095606359994277949854445346202, 77140904965946231969704578293364399203243561035589111166408634125377833216768, 72774897629024224342032507515921859459578207451482847063590303650537314568890, 69164349659481256839723934898098784992830477789800425179392495785399922110190, 8623835945435903721745023092503844790319894398911014677068664868906491869213, 74284454499101690192512513448469698566488067705789050007827896685715523246757, 32610017602847471590103365929569244085969881432864409443641491828365786376355, 64267852213221031011678194200217896694515558833998001297614575717546124988854, 35821271626226736592203132694562918523800157095806391365223037531546225521697, 73533115533321871501465501246852564792644605911420175978191208329555767438569, 75207760523737514658211903191880750641326382891643740826470626368570016964625, 28755039451425174740951006858548550491017311208558636527905252288190471374869, 18171209160928769686060710683436275737018941060346286279089814892153992368158, 73155278060017031976739236704065517387467347658831427868983174942763822739950, 27078168030449950471177907183806843755904191995820865204567056293083552870308, 29259154462657206214467186870573833176489179284470360324914071182314946329544, 32141689419264268451221067993682077628428870285780134968040929084449236158221, 30459759021646057749069779577774098894562598199353872008698332785311161990058, 30547242770772775213721951798262146255309867176757907699573217141915540407559, 38134625391135897056183324427891592714254993688400625805948587859286059825816, 47210517313584843919410133690870919403215203887914144367319972775948057394701, 24546720836842133197830283728238489020126477512932154912144775662085893370151, 11943263800951981244165359648821980269010546897004445626353270651422853141673, 52787207703416674880438170877912195339442829424076250967234841003669368959380, 76293550595671441704209041508128836618468130581804813508571384832185912666420, 72483094716090110060477360786897929274303280629664527374731886016508947650753, 35989868866341987605692794500323691103412950721214785603028445482989461381121, 51814406371096576474181334586599450058076979391263791281309019902624881938619, 46417464097509668061289888691429251520009446167804068452216636555949688675766, 22947002060756046190021102804114082456372573010862184687671327995564370827709, 68501334747217753224204995077128478721777913604004054856512276453510743694330, 59864185746910388043822757400714409688318741646105724238236380467207012253212, 34796113270182917517311284272564023922600559457053904688997030514774471219861, 72753361484898872025602823687890851351979180541814867696073830749585027125998, 46967205246478346202790949240254773138692510680463969725326865035181667386251, 58217049190372019823358261502054921106913925280071206821581993744036025208556, 13179766141380633322923230257207638438307304342836330672700442852774621494021, 68613688269267410214412463325447720214907404126570150294144645640251703095279, 28322951910182962363955873378139917408966856904104636627571400367125184044591, 30027829737526116513463664274799407540515939267543772458541634833686317696157, 22309343858770268727679177972503838033541535721219684177905616028023724210253, 6341543428791087879761676105234815248252298625010068661023438428310814665719, 76747148132855820388430897007012157199049621672520470368315927253202334787889, 30936473161796074121488617144369212715590878723210002903519269783224855033287, 56424912803308937677888369049778875018266915761447746717519559836222176647421, 44769605484843205665145673483180958668909131708506486995229214944115954459196, 57656569463860895297255721185567862563476993756491106797105270894942142900915, 17832783976935217349796866298402774347751901766717483873107143789119115769143, 27045697134139801854262816647272125500989107481194723681705964751798026378545, 23478803999312177042073014681511698470625789056005463268870545689614860350611, 817671488637927391947400904186860559654024180733012677640933519322104065867, 75927770783683981903346530121635992701958840493362107523549561700269707369510, 5588624800769701966714023023246186586213551413063658126355667324488503331724], 'c': [55019217993017102849587872667467891573653275930214704679868421544063887301991, 46523000262230176254354990092127763799163619078778540730959797807727743981064, 31668474541338151746670497809198374772484531282476795921693616432810126199187, 66650363695259356806146555711782062895784562686358531882711813775663570037129, 40424511764033546817899637491206701124355820197856366619729870563226443327692, 10329461483767500877226458963429740323001331041563504120144979925283307458410, 26288477928954963895586085811674849184463306436566883399929564025717307185516, 50140200306329146352443590197114469705124862572980439303897255824415080341971, 46845912860656090555334400628178506686011099293909402751675270691162351928043, 6170326798706181891377907608077203292440123348402133218310837557938292405852, 21996636147057502414338585041487286078073767015491220663328734206399914932200, 73650023807266926562348788500394201113363046386902370959852583610121561421315, 60091066935048430186135048663513901406394605889819298442809988458440718849546, 56601384465891141641405365447239947899469726626196239945195630583313198483262, 76296408376013425173753714028963882409901681218840197245504285657578160644498, 41621610723323933370365586217717462629147138712780487768441368825492085183324]}, 'enc': '72c0e8ef53c726969a91368ca600a081f38f5cfaa1d0669d9049f278fb2f0fb4f36dced86bf9b7e9ef59af082cc5a5b2458cae490ab23c0c8c5b9361499ae2e2'}