Blog

# World Record for finding the largest Non-trivial Gigantic Prime

Posted by Terence Spies, CTO of Voltage Security:

Just a quick note to congratulate one of our intrepid engineers, Tom Wu.  He's now a world record holder for finding the largest Non-trivial Gigantic Prime (which is also the largest "generalized repunit" prime.)  There's a large community of people competing to find really, really large primes using various mathematical techniques — a competition that suits people that work on things like cryptography.  The primes that these folks are working with are even more gigantic than the primes that are used in cryptography.  In Tom's case, he got his record by proving that  (34120^11311-1)/34119 is prime (which is to say, it can't be evenly divided by any number but 1 and itself.)  How big is that number?  It's over 51,000 digits long.  If you want to check Tom's work, you are welcome to do some trial divisions on the number, which I've included below.  Just to get you started, I've verified that 2 and 5 don't work.
The last four digits are 6521 —  having word wrap issues with the number ðŸ™‚
2148113144331884020240740202538593736542798642541159883242933148518626062734696
7482251874816305000213886141475725482006177265158884624210764636520825941743374
0020655220012483597468525750693374008686770236185285560156433674204900545125358
8535626600953884925605871782665547527990639894731154430466901982685718729660486
4881369886141453004098981298912124269668420975657731805167769706658865564400487
2985048301786874040776399408593887318771648233738526328648257086879429582825753
5618052464284594947182552118866969637409623368759754058413544349424479429944238
1453366100204018476267730436220497916402494405788738528648736021078435253136151
7221171963014964372932655229548939162418946825005859899350224301930274634753020
0684494954828308831152192742278833971826220347054551466100595325861149025154876
3672199795312801583498409563729827948921032581308182964332339144176566665042149
6537476986749576942866749228558450645686991802785539256065294514437338404574296
0581331753921690498721832447164340888676652634002213991227881527449919104387357
7714112701020723693173437557360353486408207016861410061847705906827947328787099
0338587646357879171075768166706869979077383366132722341443467314751436477687326
8564320727999910848074754684093502669318849084214843691619574370967153540046164
3890040248522310477784199951373598788743549851799177851422951669850913577026632
7820776247256276324832854904768964216408291993892546368828111262651880527178492
4021471609879802918453502709224570818417375789564100533842372182327010737429302
9341677402308184080347222587930987514937877627473191227970699649139039394165726
0708385520691526113694936166004577577587114224437644076543936490785659381680141
5314277165257570973696286109859929694209323103262593801973661493029696184313897
5546093983815718627771060159699461773993711699051722659420789323215165168321628
0379610663704747481331009787998105998355988455151229732167683133905343230173260
5617068761973449453255106017837632886918193790195500113756840561556821567564844
5358359527969139956774404068939754551340847875237626391196005991239633640169576
2088320476292796243829829014042499596669808217003372152782129396290076673055685
6452733557890821404400870808625349053504209190097099116990783830306482148977057
0280224065596773811777869210042210847401271222070182068117602977590148539491228
4451319429831469022723515804952432670980977526596413589668913565483977974421666
7174734678177820726963610251276935412253869260133088544966591485080753611111001
4377471951016900302640125969316898630940161576777345391199434550942960896638971
0870484768518403596900938161019780588657271082778844823998204467180624324989472
7424420192457838263181659119047403732641695091450638991917135466056363340328975
8846397152835772968589118385280277442372426828842245397667969034235044482750272
5397103180516682859669954313525846361092620590787635141369496849623427305651094
0193640006617275290500922032553439908799972027428157522053460023990380732452904
7375097692009070816560425843881364842548899463026226603114587053702147128948491
0953954109860130287303937422540579234078371135834293368631752859878503376855040
2031465643811943173485054028093243916123479562705438024735962264847848507906629
8337452721700531869177195514935268723433083101419822250104822536439662115520634
1324153566030257061395725562639787753978764416251574410801376842835170296038166
6069517951668931899334188623751084964492633344850737150625248310189657737396964
6224365199270425061095651586786711752323344806649546571830785135844655544581851
9943584207838127622962304413211338939235014402029218119152027464410553087571535
9819509437383929400693822006993787283557395270865543089843265309082398968964910
4609897120068583286073543433387986427592490172970911980491147698394154333527971
0647137885608315574415563949234625618695411457357634968244288027311495818896405
7099543581303185435785494831411001523198973273933363760529547696865774759243387
2470137034383252526665218498934966513258487103890264921396303017730499110431555
7784578164256645248036805645498504810691105493123261898444260781144332383147727
0390860677712890318832473355818918903108275518278576398728080503296982698580209
0325493861271224628817678474066424469522292108166190961795660400693541183393732
2018771919593990208099122718700831116186802832791784784647287106532282338636933
6177371936516082323169983682860868309709483726038296022401110212900197683157490
6317967003390999043709396972917997382500962535677915362119357165770410445837442
7012246311969283737666209187585178607123107967345990874244114932034790391686369
6575845493506958188188799398586631064769035820397923640012422074554812074958650
7786549783342061339081669620788694009196009973335611774918351654244575349837388
5967531175110142755172490721273772079975257592575476591143555498009488198294136
0426246020837422162594831118973440195517576675496270644015096257924828894175919
9503175512404080078879168240584310357544642252280241570235498972457527696402423
2845009331733707733553401458342575248377620548689571186506143135603188310280351
3383600976595532774164205259990282685470623352229126949069782524524239995594035
9138531745199785543315508542916721300740703646298958592474356324366656916468064
1310527469342728171608904921878538542833387102944038740561316088932013626775413
4962643552639832526836903106282079505703127879363222897276551672405243897844670
4572255635890328027198080051503255081578867967160883868806065955044756142650096
1192632219815828990795201170373804965149526975804464328597606374128417263209284
8452818460407651502442461215891079363939692876214993744737571153021443464313764
0228123634084636032801936043649733646528148308540040894244006381588700863713297
4605156414149314697482321261139617081427156455501369186369293822894006675796264
6644873303929724487381169448010520606528527718100430290445698655379939105434853
8521393110096944750788726100733132939630983719158549375405459490933813261312242
5105172758256560393849304845781185748383436452834826184026690560461243094064592
1202564101811263829307932244791696540661731421804674558011579725584308277390346
8886436647443740946169115083638970730800676436320246617012033348500952726295560
3277571029168434594205521639310148100371766284538023895656250879482499803321445
8957399029132779068325694142796470328864354798306513041214205846123145789607268
0119131001959259207114176430960777073080439400091214671722046947284559720821596
9235778369956086652964828726007642186125913349646995958071084726390989327793489
2769490010872738710707040978675601351627979607449339019148643138914669842790910
5069671420172177667618671532010199084101351160872147750133393921975716674567637
2875351676005755516427557379868615511941551326940023030018327103767273759511694
9792879600205731487989868123007979581830135272743837373111868069688300900565954
3192204082808218380114328104365906680020083986420725741814865336674308370285236
7096020643636182685582919290727146075719331034135086743836254942816389873325136
3191562303902262036116660130903871611322405540622229470297813026841511221606249
7634724991367284079893338464380437520783928407700300631778700412491384111051230
1500407073629558033456078796650886303138616037033045149803502645366108846309445
9250132860973078634558163467860590401104140577059023058628769566097807011711022
2696478363371515138316994902474220623329984562097783141971316698645785644326170
6601908395479610073941108735222708024886451738779593887486585540333633259229887
2813495970453973807836568079951264466748827012856061718902361263108625026646630
1682103053724459537775358196018056505704126078609243356101248154612007665989799
7426286161488229795633815319438709904609470717825563572888251172714057633637366
1813802351445826623358872655012909705896001791161621086715937589626378889940253
3942529979367743908611190114653770971627733031428424457973968719204202125392287
8257972099565762354542266121255776039410642466889721489084395263697907839147572
9812730781792535159454619181391549058633601921369054903942431790638025358570386
8958387451596173547218395126698510716866646289839775950839846633032592257608990
2622911882511576074156443311850393700879656751683713093076379641609822731290315
7052069933674095873180478762968599743025056664813923197435913873844263682531817
7771956886680197293709034047521671323682206271430604917364101875697961905187716
2411503063617368755864752448934103587750209733203053375404317369184529426421374
1200109771024216714528647376905203456097683627155186581118175408517658430679457
0563435753230030641260589410622808320370528661793347330130807612040586770388578
1515460045647130438073157536702418281396469266861913940461052517148057590219901
3974504207422162540319444086683745403630618160858287323058430650568956932874917
2517955256151516516656576106984405371892212074034791998741291454436402004138023
4404984563849519817670300352509988849291016910426194411645965111395177756584094
5704951940961217290283545092574923239463890686203737339158768267004123786389540
1424056158835347716003170816485123421624251026827493878212978490891175207786431
3097605420952306321549316579499803890900635559957436984611341505638314443824201
7868054970745531599598790239798562304723737831635862859648003885078322193763194
6479760872189885715792501621743200607245653211726445067409419189628251446064124
7860508892861396135664819753143964861444591262662890974072572975989700036192059
0776281014520407799420734843630667360807968853856861884763512265203382843236722
8179747723979952835667221156317645517832241044679704158374673291021012042079496
9358839589636590448791405416026915975340840925159105124465656000752489677630267
0666189415687615252646020801504187853622979705478576214033100903269006494051036
8714743816078282114690988833396145603269479777367204381584445784968265203115459
5195291159466244420992789779516859598031747943208485741982640020822857016099208
0108970224167962726701775218638428609029776292817158517677424002195677300684332
9235019024901188924482953315260942158146069198964164326300800129273849500463083
0224226543512470375927753142484077398000339775220444585574016023694476661651278
6447273004109386930190166875491657127352872457301519983708153632531985822161687
8049936234005094888211179399062106935640792952435687549667767955241911996363085
9848086319141823841113910798453836788196178725546646985298442125223133948783712
4816542607023471028520778186894633367187959400024450112155823420057511217439181
1113496952102348891388756107507308468229186906200613572926093737873984855786572
2708111442705938786394328220617070697754902330809701383537942949048425730015392
2606114622222613450497580810040627866828403080124469641165160909422552720178880
1227959834295380992862272217074068890699937821433775023139723961916044361118849
5558371887188231447454384764548054334305855950441873655425336350838911688394640
3044476592750599370085419502659297508523289605767879381589071919426128689929655
2599032244115565101629745345036327443597655683643092402549260085145580000196965
7436991250136071766972998112848471957712562381631716978671643152430150631149649
0549209854448753978939775730752224181807678848533551024266555530949921046658530
5054169824682105662802534942886835704222893970559978110553868120279727876916227
2945472309482568037832186729433760594278223266020375840067702699433748759277800
6591494944448791840714807130757370694639362773479760039563677979488315945893648
0119693743208828816942433934426300444325010003190752155241714774994395575599769
5786450096716783976481037039600084863142245798508543444564800064265310480589478
2596634169303430864895915142853660571343645083631598112152666254070412535121894
0945332119271475559424835640320831603554808105235099059696202754320833523279645
7840710738780935471616634843666606767496577163573282019781407188965905422841844
2334524966955966397103297301946868193400085030440639511249871818471031527063989
0956622675632894153371442867573220239745419037761140988772041708136900146134527
7428053823581580745793303867242248596950949311334627489763508019196097536859355
5366434207983893549858418682721321627598492914293654554486841281782129129348048
2178547609514398745090731452939161399064034653829739286770095968353822811349124
4655865699559419588388126419868214491231737549906286010140620834000244477408987
8734676683664560288337681340594217136452569183428682722224092889736678587265433
1945451193821384587852280826589661383327709712749741674261082841572771785231145
4382816100599540467405304034976689963276068362205710072786367698599341491484975
9144779437646443298201708157103435011512225052686685937712060992916147400255564
5735205419793751417481487729167498960375248763720563131448849933207570390642197
7421839828571448187383754234200574804028669947666020675807748671343815114356001
3768289985154733264976729301970138207243226377211475686963762433517652853461566
0024381109240923294626500577418704639597156754566726105039269474665015269517416
2501936712737122663959693599766510102348164036278402432533756438165442727390401
1642592939267583031489411455165324817614514898640389835546695547324199111968497
8764953461644164750961640493747800322188216796927701831917951451485836978789208
3495885082932476613421074173926286679532445562815128994773671600394973613651483
6344133838818189940207757156030648321382078704650126655321739826249475555720983
2232556127380528683746399393777788054937258399588605327000827021908239855502536
3966760038582499179109017939990047289984288400166894806832304190617167740917664
1852145447439869719782802934987783493177365581304922065433900500723284026922392
6206067417559518486515860848712736477055822406621711995665858688462399557194526
3007500702419665204158832769627992141411521836841891883492878023271103719349417
8344421583832454113957661871087702069417239688911002192802045287263726544894629
1497661561398536923881521220902147652782884265569579556957967925186889874327649
4022637298044011877154403599467099645091404931239563076637638763213213742216554
9587207469430701273550768878348958246730037514648701255820302018834550751555985
6133989098393821346662003413158717245357630078452561312535850009659458990911145
9830997995249057222648726947775307552229226775700738517122782672614618153249330
9968648949490245586189441961187160123933096389706410734106710838222397859599170
1273122535910765612838276793143122147672058900964559544291956050638827125639169
3199881196822218904520586527018191564265069250269814940767061011753130771678824
9454859711111515511464132015224098140573007822536894262437731108820139735925640
3040686391996721087642604451460839899579170597240963668455700902387770890463675
4143828843558648744421793863462116078956102183468564618716376082122470939970994
4297404245986086613827938286672822193712293425080899751728785447288506914448267
4976923130035865523398870483981752037622238962661780834279217348377821764030780
8957406640803489401611276748845785633165451751937808530964258176260036492188523
3636879939377855691553066169754567311435819562588161714301195220410147645812962
2141783222075792110594580027190190364170638254442171385183189813236016521973378
7423596928543750504829639286763228394804223431692648522813275714024590207341686
8994446414502596182249154838808342521008765459409320863867269518914642491373302
8633422387361273929388080546018634398947097864847234963063296629987825916366581
8744620339578498502132977128620606660487057362769137751063459358661081739503650
6929545960871575873647036333559958714892711037742189293934108778184943813652805
5795080031974986663048641394734901784293379059383572295875224670393128370148246
0686291401148140851397199085732275694111615897799103981865118971096024051176175
5229057258594278141978100734058516282171994898182775607402254339186726887265403
9754633353490293507586111371621329542834985260541294610791097891576793929848354
9941717618176887402980851875272683589309763906307994188238001824379177552773117
4097363507658540667351715376361844114888280871001969330801856706899768693795570
5282789827379767514886577442164159518487116428184087184624015987350870407559551
7497621262427293912659114660192411129017019069121742242173424719916227439008461
5331290925552783124993248952049149749228864645985386187672709736641807677659064
9353094823879208294615638086319280867999868704801630443424460938280708092231875
3290435669790320554803123537221450528963399211864795680283303681777283883402108
6574891941288719299997132870121416210526546879270877038392860530173305410270354
8851479381768542921232941035282722164919070919888929008448335935333502170264442
0984113817216954281820948345686685307586160595091249420528871435522368772337458
9410603143263341253471750406529583405623764960405594631367703386810457441672852
1735885143636971101066684150142442320729033333538495638071116649970500177075423
0798794701927735362870690163851439200628142180141074251516107666911462586479695
7788061500138337405846360698731060365552589209442876808811744402256661026503969
2089942101050368295113676426172785920425259172694948530211931235221108257856333
1765127551609618385179924882244085404378889164374746644033934860374618640112301
3497580429378562423755236398872968926806300491342281641215955032748362881519861
6415812049088151645309142190216602307639102812965643764983156853218108744016531
5420523619106115209462924386803173447548706432648055976070779065820103711947502
8738146614186665422970642344824586221051140169890161848775994917201618777988112
2525811157773175439947037848285892815692135477473651640922514875305109160529159
9134483762724042466224965994299728700977727728276794625932431786019399763907431
2595992593845416207251556468205682297002800523375164402899678763769093408614113
9965537847287218173566296579459608927883599934935445765290562799427114013470698
5026394297611632611341157539578528514859113499472133801241999877137395706897551
8678451110268183289498319494513331689052008321295232276276853659856688809501846
2958000244882971719596028131551470712047357888835835309973393906135099417694817
2273600875119176498337855891033152338956329973312409112099646058780418788750864
8453845432673855409146574587275076787507251181013698202257290575998241050819452
3293054961327506171125331841321579756530397636246950888284450519416975127783425
9446713950905812813684666254538954574240477094887719011763001358350290002470210
1641999795058879399949962423359592709779584935130101457524438401430363988216186
5469825544060931661221311249034436664894896145510129120181421374032463170049917
3143747653424886026183295617371450043235838813979222148281114109175064628008965
2592299171634731563402776102946229273958278149811675106901928697296550845927339
4163540357877479553545720365471108449107069564616429249045841028543972775806611
9075433903230210879002470144260422591582712208071509410862958391020313654069096
7968971288035398037276960126235688981022740848631167302982570465700569179623403
1503672714388508142873981062076262625672778302352060778967740152924373311643951
6030291461202569790931220338619630527934384799532706482636285362100379259943298
9836066870983308408372811805913103758781828661190397030188094412622261610527975
0509405808049512527786711809203058870935633009806226870335111363682869855455160
6083467220988695791686309003957801298579047444776786949305509670393340546061694
0950464863510060840072274017506076874931863667936838154533074714681516963040358
5955144328141796181384285765041416996821743218845670430861814417258368303429055
8652639434771131579438369756443706622595738046083841100165400799893590982207035
3336838602584316731104434398519406622950632810474757371153218703878853187058138
9433064289599238386335703063615895244666361851081532993349768013589525682322063
1418851342739965331982649857171301009327631529576862021193535322737949674847987
9752038093973670626543870464145154114084441873744094495700299173341746219425103
3102796182460410018866885432649733243384065061656542359142829770239122699987143
6798287760725879473027290279381822443743412922239690683871336562029934806743992
7916681365625207889180882122362488960403830926111771978342780649477093127783429
5862414239167235230636538835103413088254717078461232474326635702356581390510965
8020495650269396369480086759359233395899542372831957124136624288483010676672366
9101274974710800170650439107027708027502523791200782525704543230116059637877789
3944489064322076363937260752421479067296019304126309423969850239840152458991237
7440010772907607411707052436979670204733196458688716071740105524362569543392181
0584472673363291472010553416989990832459073804973042733285876459652998345885394
3914956763334038110710058504175223686638471326453275704385485014065282284121309
4287064459622915064195955905725275847213070738329312496201518647613599611031191
3900036386278236983336963092411751433528723567807931283370554180167943163051807
4936673237067521091013750329810292793977802092248377833541972256078464621890087
2022481505204821273840220161835640981986073478614209906397436690878016460657452
6809391968845167910710826174193791560706600283284991332963579500815418337138368
9465420069175401185514037088689175474832705759773849356188884588528947196449650
2150428487733552971175062374838357964984597717759517491511269348395298355499345
7691264276838676313105724580371048468605088938159410597026932063687673403166421
0390226939550501450039575586992105047907654502869079677637762135439864572114651
2128158142015865726564829651238195970951009966944224852421233511178910975707355
0864180475348211326685669397735997463444897348247444394476799764750383876581880
8341910013977665571064092664094548114499182289681766831271250623096502232400451
3729570921614686741786736726946948072014666720136766199414191342299968472216331
6515833856446053358439068897611050719992678158596464788679297830726315721993281
8125317667341346781148632551393430224155807640355560319385141475777520204626610
9892232047602918218820779889287960816123959237833899945372249874865794806330704
1909013931019216624088683208632711313717761484323416287676235296212707417134556
0968293468510253620095046081125467919810827241862670375688910866198475360131619
1926351150938636485266471864013694718080940843337338509681403770440512275618015
3318757696998963183851540351295008160382347079319866243352079609240456531121777
4235805658604449769528496732586351317576192042073180855371926057168509183775071
2010269843855668804726973186652766521621388645728272038246799299497448567842507
5420804075012303591099577931873624082880455052272541634584670352299425171075771
1868061425011154287902563711933542835117970696882691505333653436783311037371224
8085712356565245392808662065082637044815107707963389398532365140720414747479885
6089167411573508746909300292330292459746226396343508952816998048522255092504232
0715898931611045976802195817051818325997182902576165768983551809705013734973324
1909301024331672165245492873576686703751351577276632137432940565739466439841933
36226351485850295389563216642694511034102398106695053965418379363686927298516155899330554516758722022522468240241533442048060732629578012508539642915727700565162981577933043944660114471061662315055564178786740809242905020879352157918806515781970662915885789638946906300498581957236354869371857719880909683488382609846101235486575073611198520117484367734617717414908520938018413174674404216165389463181802407410103187994797409146891717736112820846390306629254953165820978137025417773374959756228633246993047590075337912929546637745598347364545777939925464014326067645462637414191417359178753419236285455982161805277434230830583516471931330423904593693850141167684369176449095196353220738392120005708973699762309212744556739433650241922292542383390740476412593712561729299155457948342772434268103467543354301111734837238528240537023983491950507052672232648335406809995090122982204164041501499856545476368393156531285452886914158637814487719937972382000229518806538953102488075505664075567823189836871756276153247350167669408482568123284123893045982857471957265723397983096611441508361610332648742089592817875555326803158318648175435420610470301904888669364453680952547968065862314744773658083558979161543844648800016345313068553296246660126428782467347543333176808811986485623947140972232356888395727858210484301730894721532444517844319359527871281422942339258560494734002258824860641437106076487733292273309030710729821698182199818405958356966120613653785453049200272886438400329202273441924568730343236080548660601315707598141941049675297875972911115903553578049520128306548839406691789188751304072577631085319260236976893288924130435679886287124694538735384647173017698831423252766438393514780494226897034407781030925617778683940496275101316812000547567770394629554776200877370414763580991686580153526700879901811365863199447571491347719969109698560222483679860513161880564298900034745334325190828940128906306444348747702743710471719160223697310188290758572043554689957357902295105662998183306784899631902052349421698914285422327814631565718370777377484516459574363048142096732525494180800676565281190800545996591594916857133595699432564343197624023687506236503528646207418838663962300220421991992723382021550800705763638597860815373985270006729338027190912821360181527443475993355598232969550280295969175118439377189401003247310356167250747252883075650484896954222808444974693272308353019106892176023394389439301360523858692509776940700961033335992400758476503707515209338859169188532116028575654496730687226118859918256539210554362403009116833662194172776361261304541105794485842127722422737950550149966560849142155657680496736347990665010666991911765685498482266929213216249584878552333049748317301569972062220377118369513468436827661056949895264194360563171488335251082975250568393623139965829540668004824848743062015606277041138165062667320959861700299107608954969370012850836153230659927758130208555821449074925805197147725240742965793107004854572582753251962557971331967601602561088408125134437393479829024156436045116468557986358437911748145290432617790743777115072409115254271490709636257388397170371174053110176360407931356825327075673215182693984112574796881059798482735664210695269604066514975167051683025545865472485703879402067245230308663168421898545240580131471928472221495144796535055791115751043205483603224803589564220851117025073812218301805151358225769440855422268643456507824499154733318368511581898938308935223064688487156789070607010216479644478886091515893593862911169092977363345099182054728921651810060713394497865365181316563755598181917547144754604922857891944675541463420643909617563392284319426485071709398627656222742633602001547053324692684513006317652346726283842536718436534717650223034393932542927797102931039370440114186825953884917519933504266045300643945663213110993826776827888083584466722577338081802522321472072149272894418727963925587981728084820546921439203549203443347342466387042278862069872148237790546208871200961546508407869857090521572775432904327500149059178453343369772584850638587208217917687741246162032028184239603948674397081500796223097127525530406654346688790232551905845701524936374869317691908990594698194799279633583192381019505704582849165288729666878767643916649794829167185272148703608729053530557373074867058022271663557808898119933628867839311751100644187543909469734179939089325904204905039311193584689457245616514223368034969034697856934939281249273025313897455903475091530498549009826240386484824110552580812498308698090531278370306011201982277821464657748565532519239282381343342298694473269592958133756315386992363566919611394326442851978664885378009524704245190041598221133047281921075727937136305512944012146315037482764528767340149942507223863910983657836581675563263042679503934419881159424802296458484795905098841484255818739919796181681116110645425352636899383227708451754586882104077657638487737316068139043761567337709401093304484573666119521922762819624524763232474747379989573491594007984024569482911143990358789514026573112158873240158689068597296432377831116006469214846033010758294470978902214112541296358960660195527641244065851968716282795233111422220021644888377322091805368548948860456114289079477333921641893466827996821130090281952265682327514845872400627492478787217106405327934061340006298127038459872496918915506203840251187853946265528369824990903991367700225945566785208740293851110015030211294409772215880373804635710227293576068375010768099365145243005310331872372336097465813485216735183893403267810604564171145644160683682273737231752476473596014458874459984550269785677696797341920650796636002249110981634762040450821109582821023362202650146667561807650330214103318924677979172487705227873781833357673789858982499770753298968577752166039074244082247302346792357595163598399369888498208415856163401978965878671070445316446454707002635527096081399727188121297059967690147343812348095214023755208293187157859899147889061890236636772594200413602833481993585438131428180765202851630350919504906268799676095048507300576755660816436662333274651872502058089342427034272192999988876124118611033724106216075176410345732312286655353827981376579863667079192953537185261587535684242708499179796227833679089749772392564413891255021960360972912040845910374668412392878222119434282838069815720528020025103325913655028001348926854683342921195268315711609901920599847699140603950836024756607927328517839135166493151811820590734447142969905757276003415785584986820705388735563950186211068952434977822468113703414337947963977196285729967275519244358134908640962289963818442436146354171935680275538881687580465738410819136186117031532558299671655643874259799718525660259853660151549738704126833476912196854997304326214759636278109752704859271246383306135086109664283539023707374262177288982677498319010225735211561434590991905471430863009834869552156643162410895491132695886587804371491178765735693550247815573915500991738493663928264637826258213366785365026463463839500537437134933675280562488878595759694976433577988328433842661706589428747156571117135999674936444551580258714486587258385991303844329901427645521440591947903667941319289660253859884254561620088125028052644974421456233409235718772498129833149397112383371079683271552290430258219060408230627476230144212672600444871314883322767765766091056317180646626817737369884039041148771459442299758323139830421332839838789265556071819609550654666601713958375801906074618714984976006421235702717758350486273749274370760077144404040220528058262497939395102663369613380439628759545174185879222650362418049908832887243236665761331458383321899717194958660755312635064254664872675983864235973712089389557418265616392488021596151797224135482105308986389962030366904851813771046935415498730782406381405479407447245754868653158118715287352976507671661958139378778576720022991004237807210894348583985443532241276112070567747222256165616205710788653945519828213935462044147661749938753930525805399815066227453201650388549101768649444921267008365042046870557500008823041951554890675904529900449696956480965989539696817120078770059792925781287086329263515453693954915158075113034251847772044183810791519975394751748689898558643184755405049918895166279673309822931
2282938588365667061113877557823031535708176492458330323336678420542137578717303499328682926615847808735970660861364423895004759128392160881198411084863916623470620797312546729026748990296995182140583012007507774570115644381829225114425210019959842682561388699314975938801796382568718796170361924834072704540616305176381582431849326400742144483006367628257877904658157646685634964639133082081326499956987353731414153905558522914834845008159883211850855620369021457067894380179070288089937566977372064552750377924389345091732981081205133155599061716311984212840295875941477193638858274414781671450110327694681209242892022327783939120786428975402270996094583724211651417588662879326461709891853141064311495917000948025148588973966990417583394258444642407510571199834733224466167212121472239925801743345570073509609278818673159433343326429406954919697689944043265000283574160776450182087355225719097430099839495149692951879421273294043786771608323365199608253181421971554163407318512606459193027251375445550710015871383618659138696100200468139642880296286393256619440450186799900691174820626674085400781596654767926277276094643788276515429891952958354034153589754208646306497503059927095043051415934682920923075927528699228355021774912742091374254392002218742289955068970151566805118443556984595184120404527285677187505647964324367993484324493006568384639436749826759894771737073522582317438875438903708319238477768974565206363699690921620917451842802766813372903135403106681132274942453149592258658185455190115417665707796811487611936262106425807892497782136672946244348825440831974075499377747248394377987315871418660217793912523956153127823324437796419278678031173044891030544648626802627953832677261886109711929408942137905372940714167267302054715948837214332283763685046129541992818756827223540083680088292161044194117146958593658339192534787620630716436029775183890637827206563572232632412163135723618201758475048442529829870578741642200680405216723284698364645923067935631548775712961886096270344964601319471665384462129190122546688107163746883993180315895283949295634083347998652169162437917432926265582662447426750750431419322616179811298925656654035743433086226141460840172306633314311376519254338763159862671536346045506629504158247475024804662006103910512474407269646928080947932791116909733699580804486640846021687473298142563469081880253509884087550231490236022343812025210941108800457086029782793305851866823705430054830789344213748665867558952312081600883371589864196933552033190132393530782827748335776909560592078645005182870959069476209240299499317531758744355621437658747161247664151278258246159644328488159659501135549089868816679252220699547704364585386426794154262238497829993526733723000955876920344704248175849208356065920054162321421630638118606752262968016284226024969315502829268391927411789560883212540067007537365283652996604016661860571917628326853199513941463996072571984924875527439662752368233581676523452637368453284847289628135069116770572973442631475651720289909232181543747439779869725571543640716864737291207551580989724661647643641747231337398313087491483516075789671676637316424960275983242054492545895697743477979345293480957619919027585972744927144532700084494681777171985587783528972278813173437278625762266839337810095309964638592617210299992324001828596830455696756897355640942207020152005320467579366257678246095749313011404592395196840612151070827505018969277767135684024326260246000370239333629269505727720132415248135518219039183972064142285496096708039751917164439678449517163887289987940314214737352722312993503980159103853610927296511518216988804179454109040780938681012927296864323171344630099204699945880367255188801427350263534438133777180278295054060206242093205169506366771158835416474823793015278270302538938782285338961149342724498877238041786473770700698085766756588622974537684269621153870278315632048562723698327973575249873699512399753949558499915772443968106400251162947214671133098592075276116471726565046666178271007234362557162963405602417919655083809683564927608266190303801495273866790964833875619856275808586982134175444489393246937799038568831930472240749694723043712048159245573867890162389556699170783875267432934224711107980983079192951496983516902920600517686645178354001394407077371530587083749420679144796256534895762210466891020095832759902044207278055253152477632977783904571078545909999225047065339570002812012230373334395820759412173892940070040662284079081769813611524832267745029663454194015208392941648123716885996170614781458512444725957401061115311260509726921126923246445366966388299697556107484921961405269073715798471643597189306543801171745641163068317455257829176962937206148973295673298479142957820049963396086168693353146663100164404498472140807311413333051552289432122361089838156598544887880784151774337134205101318807513739395620702240338267555210571645503823642217706618077370430596658633335514787266813470753914188119892555789592479615139212435115301255706504280188569375284944611045327648538106093965850013556539854074119711004753909196329644636724459595574573160027896307010177613213565529016193350993340343714559198067180700508884300562154155049820590826806087856950242786733255977974602445647096417217649539308071210921767880232610674252299783290804849371198854523703630511749310165712268445011078172574308250954244136997357249420850670832849713454522718271172830804081996106481483055018013516996256664607475526442537338901029921552430687197407063023409782962779164462658919395058150367004379347108205972098918193808458038243734894055804530126022459232285887119649464330660309539719719407261844404577977713657047791803108424768945146269619194203132111746692401803393087074507454358499082385664809318202393967308449398341595398355203652676521531094937440246025727109367114476767932980014998432222061983674613623474430378728408679213379385134029211745995328033374190289416557132580447684829110851482084107452691283221640009649055885860251966261953464933837408498863768387988841717055522843574655745829023398073273856811571979692279673770195221310805395430340461204807595902110979404681972604953770034142782598864982842467969240833726995860474463699393508216794520217594060251029055847035175647093835958445481016844843940967225007336761497703423616886031906592088874488906739188390472388468251822094763446861685756627251715737880894284158781351558385716821758540212206412757340745317520252642735733533620026927096266133636280406120950177512413921142507805299892764735408486106408533325984255217670567644494121509447519838857024976594717454433173153267620702935574864905660975995420277533354697920619480198226138936522581383293863220302210863411210273582667366463968846360537050809887246574006904478404644614616557733806771004212720402683008507898444360929078570179208316840798662100831943832839595424513151661549386204438857579997133439894817309063061014677770167869534809872357507657066424096031959479575721645096326247186472824693935360944945597258353375085031619480596633369098475002277661960982157164453540275420693630139403600810575564060947258330980440119210951111086713893101108692924376546240155327582301081335324831943774174089828789938721975984876365031362426059454851419637282008232953386958229573592954062865812426231049595019644374733777215410665809517629071665673925241189424747960515319371207843444655383928383537024622379554636848954505082054024017667675383263737460469374399651192626535670343471847800641452309211296385566526845028975799055852089285857477247675094594536300626513442637785267081697311034634690293005498299169104864470929318696671394503652731760111295373296412266038943872308762342528635870320372944979096146715675916830384325118246865243934520130425280203240992781709840251255219541678587275177754210625710766223882964397159498378144599850005968063529687765864169794997359521733173686788254283472111649337300407513360599367822020878448416611151513559209994662377631857236508981966697576915566532563999542829150083821364008712037498591205761354224472414067153822480547144939078630500436606974149659629521537686882607820423489885358772358138170060377280000538600450173919837328283150092522558237459733501366705171933037934621906773056227917070320858381528983319129
8575530643814078218406632176273630536625879527164368514822773098630363927999813489689517780170403621673821894264254109516447975095927539931428790723602770891948151444636670060674092045758301556421351150023717955553920702890652572997188745772049262727233301293694558643135329399598608663885341025602573595721469307060097890681731430940581176236264780582620132980349770602369798432214249079720150907664572368074474376047643845988529022115492878000870148069313299809646372887146884652967442412248029481008809059338576956597402011292857327793965447961087050124891098051616184214541468181057033147822029581461640294762114386965715878494911321017490959917626525911688160661902304791859167191688045418195091045513927881349523369322012904749687981310466617814110825798122307460251516593610817553283936725447160568104764081803779769855582083286557593508400338094686307997963670509717834195997523483910692474523181011670158636679320026378549395366956128471441608107161298401696127388478587770439047789008846291555569132168362372304348713534809101661651131651003523883127032399668454526803247457428412321580351124007151440546323163046982619654737829361939095518625985521263811952284650781089715407837275418388581142471936457692194964682435006887657903221079164102113192063073360883964946217649989741786101585626776869193118203933292300477739675840440810105806149066502535244292036695096573756557929599343474310501480113719628359565051730707230575339253788211846771593540256162255634690348486180720419707494357982355872094727278056215012163310765262756821712242445558193381986576394384360620182303115566106861279638910870775814062545795597760778451888976816436589583516515724376447140889240599079691667399396230839121896890295729652100002930918256689820920894516251941733345057006360092617016911398341100266713561358773703801400978926697734400187578768428148538937249040124270934083648407045927489082329493830417069667926961517043289662651308655001612005041179401506491983938567953339781353498050939359301269087605146692458747325537090770538409683753920103168322635481696415486972068349013746006623875260118995281221606729388317359828834373809314458219760250886602772648670828570591166212374336879744423928016647615697998182830680852311029045399923796125326064656056742577449514933028517834637591957560303643131393065447404671883701163574547905858905595122952020868137987631524956768955713825141416805885283859433160409156188633899000556874468771065974969958087868929335560831208417597233213165684809050675576658167003722266185996072569536035639966001348222398077317623611477475893197338726222925642603827779243236906122688238225035903748644450306280957824086286233476948327911134558457164629678478267241126644977871567161991852047246402297839913244819601981300741522318942524692986312611741258536299422609103432105278583780298367478531023769747061754447668454526803247457428412321580351124007151440546323163046982619654737829361939095518625985521263811952284650781089715407837275418388581142471936457692194964682435006887657903221079164102113192063073360883964946217649989741786101585626776869193118203933292300477739675840440810105806149066502535244292036695096573756557929599343474310501480113719628359565051730707230575339253788211846771593540256162255634690348486180720419707494357982355872094727278056215012163310765262756821712242445558193381986576394384360620182303115566106861279638910870775814062545795597760778451888976816436589583516515724376447140889240599079691667399396230839121896890295729652100002930918256689820920894516251941733345057006360092617016911398341100266713561358773703801400978926697734400187578768428148538937249040124270934083648407045927489082329493830417069667926961517043289662651308655001612005041179401506491983938567953339781353498050939359301269087605146692458747325537090770538409683753920103168322635481696415486972068349013746006623875260118995281221606729388317359828834373809314458219760250886602772648670828570591166212374336879744423928016647615697998182830680852311029045399923796125326064656056742577449514933028517834637591957560303643131393065447404671883701163574547905858905595122952020868137987631524956768955713825141416805885283859433160409156188633899000556874468771065974969958087868929335560831208417597233213165684809050675576658167003722266185996072569536035639966001348222398077317623611477475893197338726222925642603827779243236906122688238225035903748644450306280957824086286233476948327911134558457164629678478267241126644977871567161991852047246402297839913244819601981300741522318942524692986312611741258536299422609103432105278583780298367478531023769747061754447668454526803247457428412321580351124007151440546323163046982619654737829361939095518625985521263811952284650781089715407837275418388581142471936457692194964682435006887657903221079164102113192063073360883964946217649989741786101585626776869193118203933292300477739675840440810105806149066502535244292036695096573756557929599343474310501480113719628359565051730707230575339253788211846771593540256162255634690348486180720419707494357982355872094727278056215012163310765262756821712242445558193381986576394384360620182303115566106861279638910870775814062545795597760778451888976816436589583516515724376447140889240599079691667399396230839121896890295729652100002930918256689820920894516251941733345057006360092617016911398341100266713561358773703801400978926697734400187578768428148538937249040124270934083648407045927489082329493830417069667926961517043289662651308655001612005041179401506491983938567953339781353498050939359301269087605146692458747325537090770538409683753920103168322635481696415486972068349013746006623875260118995281221606729388317359828834373809314458219760250886602772648670828570591166212374336879744423928016647615697998182830680852311029045399923796125326064656056742577449514933028517834637591957560303643131393065447404671883701163574547905858905595122952020868137987631524956768955713825141416805885283859433160409156188633899000556874468771065974969958087868929335560831208417597233213165684809050675576658167003722266185996072569536035639966001348222398077317623611477475893197338726222925642603827779243236906122688238225035903748644450306280957824086286233476948327911134558457164629678478267241126644977871567161991852047246402297839913244819601981300741522318942524692986312611741258536299422609103432105278583780298367478531023769747061754447668454526803247457428412321580351124007151440546323163046982619654737829361939095518625985521263811952284650781089715407837275418388581142471936457692194964682435006887657903221079164102113192063073360883964946217649989741786101585626776869193118203933292300477739675840440810105806149066502535244292036695096573756557929599343474310501480113719628359565051730707230575339253788211846771593540256162255634690348486180720419707494357982355872094727278056215012163310765262756821712242445558193381986576394384360620182303115566106861279638910870775814062545795597760778451888976816436589583516515724376447140889240599079691667399396230839121896890295729652100002930918256689820920894516251941733345057006360092617016911398341100266713561358773703801400978926697734400187578768428148538937249040124270934083648407045927489082329493830417069667926961517043289662651308655001612005041179401506491983938567953339781353498050939359301269087605146692458747325537090770538409683753920103168322635481696415486972068349013746006623875260118995281221606729388317359828834373809314458219760250886602772648670828570591166212374336879744423928016647615697998182830680852311029045399923796125326064656056742577449514933028517834637591957560303643131393065447404671883701163574547905858905595122952020868137987631524956768955713825141416805885283859433160409156188633899000556874468771065974969958087868929335560831208417597233213165684809050675576658167003722266185996072569536035639966001348222398077317623611477475893197338726222925642603827779243236906122688238225035903748644450306280957824086286233476948327911134558457164629678478267241126644977871567161991852047246402297839913244819601981300741522318942524692986312611741258536299422609103432105278583780298367478531023769747061754447668454526803247457428
4123215803511240071514405463231630469826196547378293619390955186259855212638119522846507810897154078372754183885811424719364576921949646824350068876579032210791641021131920630733608839649462176499897417861015856267768691931182039332923004777396758404408101058061490665025352442920366950965737565579295993434743105014801137196283595650517307072305753392537882118467715935402561622556346903484861807204197074943579823558720947272780562150121633107652627568217122424455581933819865763943843606201823031155661068612796389108707758140625457955977607784518889768164365895835165157243764471408892405990796916673993962308391218968902957296521000029309182566898209208945162519417333450570063600926170169113983411002667135613587737038014009789266977344001875787684281485389372490401242709340836484070459274890823294938304170696679269615170432896626513086550016120050411794015064919839385679533397813534980509393593012690876051466924587473255370907705384096837539201031683226354816964154869720683490137460066238752601189952812216067293883173598288343738093144582197602508866027726486708285705911662123743368797444239280166476156979981828306808523110290453999237961253260646560567425774495149330285178346375919575603036431313930654474046718837011635745479058589055951229520208681379876315249567689557138251414168058852838594331604091561886338990005568744687710659749699580878689293355608312084175972332131656848090506755766581670037222661859960725695360356399660013482223980773176236114774758931973387262229256426038277792432369061226882382250359037486444503062809578240862862334769483279111345584571646296784782672411266449778715671619918520472464022978399132448196019813007415223189425246929863126117412585362994226091034321052785837802983674785310237697470617544476684545268032474574284123215803511240071514405463231630469826196547378293619390955186259855212638119522846507810897154078372754183885811424719364576921949646824350068876579032210791641021131920630733608839649462176499897417861015856267768691931182039332923004777396758404408101058061490665025352442920366950965737565579295993434743105014801137196283595650517307072305753392537882118467715935402561622556346903484861807204197074943579823558720947272780562150121633107652627568217122424455581933819865763943843606201823031155661068612796389108707758140625457955977607784518889768164365895835165157243764471408892405990796916673993962308391218968902957296521000029309182566898209208945162519417333450570063600926170169113983411002667135613587737038014009789266977344001875787684281485389372490401242709340836484070459274890823294938304170696679269615170432896626513086550016120050411794015064919839385679533397813534980509393593012690876051466924587473255370907705384096837539201031683226354816964154869720683490137460066238752601189952812216067293883173598288343738093144582197602508866027726486708285705911662123743368797444239280166476156979981828306808523110290453999237961253260646560567425774495149330285178346375919575603036431313930654474046718837011635745479058589055951229520208681379876315249567689557138251414168058852838594331604091561886338990005568744687710659749699580878689293355608312084175972332131656848090506755766581670037222661859960725695360356399660013482223980773176236114774758931973387262229256426038277792432369061226882382250359037486444503062809578240862862334769483279111345584571646296784782672411266449778715671619918520472464022978399132448196019813007415223189425246929863126117412585362994226091034321052785837802983674785310237697470617544476684545268032474574284123215803511240071514405463231630469826196547378293619390955186259855212638119522846507810897154078372754183885811424719364576921949646824350068876579032210791641021131920630733608839649462176499897417861015856267768691931182039332923004777396758404408101058061490665025352442920366950965737565579295993434743105014801137196283595650517307072305753392537882118467715935402561622556346903484861807204197074943579823558720947272780562150121633107652627568217122424455581933819865763943843606201823031155661068612796389108707758140625457955977607784518889768164365895835165157243764471408892405990796916673993962308391218968902957296521