Challenge:

from Crypto.Util.number import getStrongPrime, bytes_to_long

with open('flag.txt', 'rb') as f:
    flag = f.read()
assert len(flag) == 1024//8

p = getStrongPrime(1024)

print(f'{p = }')
print(f'{pow(2, bytes_to_long(flag), p) = }')


Solve:

The approach is similar to pohlig hellman, but you can only get small factors of p-1.

So you repeat the process with lots of samples.

from Crypto.Util.number import long_to_bytes
from tqdm import tqdm

samples = [(18987645585036695925905023220951373197965873715912468151706547996685051409404246388538558453884852889153036955078302443458289432976235644527532416849946456124514777914785499450780928734494857407771948647339188723570116016640928414203084772594311166709358396577808725257014529417671653339325606067523515261134, 161533677076127521209204220015186711908545852043550826546500793737864485146566938991660216033457213492925854002314420047100644801546745204560006888000109813253163712889227101893333457199205139909170995137540742705452842384531779096549794115673605967755218735324615201220194519970402617367312527502032702877511), (159686131946596269619920536487828469735426903993168821823956852116643635823250129790637502173574300263297840528675348632445638935094935783435551922682511247560604250489779966177770172496772352875044607176417221286472689449627958228459432490931354056553662364494183185474602499026330453112970041993627839412014, 175367501958889371775469368800696688671631838244341528869096125710701911723476496119832838962768934043373684521083866051890665939552707964914999540269792778552812458304148244947426546027830215506837932255812232033695363583205219585078767625095559027538894729178078486681017604233007379304039326492878159498681), (26679500042093735115677528574034922353536241646111368489602188727104896455529324100395641142503846940915321005037465961515408451770462454501977165507823112415364928609136700728504383548071529158594879103066769528367959880728676603789904741644826843915882110505290479814337653416500486563174588817221299101331, 137532775285111270819227749686274136394948603590553902417407749960938480818611191588654776524907897294480560820817251545787974656001071699381254381465964177796862474549719513279763273162088556922076250567892566386389115869219053332134729930149634332771505630512393327263055629910894805185423943661067068443549), (34046399920092688078077847307619876493733732081971574396036608954496094454235999355361382906793055508725236169824533252528403515690756288759948562541808425089340163610112390916324064316224387151437180060019980821518636771135078316196270406476395726101840778030694277113059636251277859566692619606011589465671, 132458533518999234208778949286033694921747673046871197677022404525929389533642568489218549885640423114501646601667613730764671379388766022876836735425430593398903591098583172141111844633205563556160542068902675164190851502185378201812024670883380145917433783275887032882302758679005156289167280878580510306737), (33552174665970376888857481968057067070536708862878167328450167170209483741449825517490970039723965262248697894768444628603993709259614558927903666900508958529141490555812416439237658614312242000260554055293656956836820902835819252204556864902209771518400686438959350473198112634361577407675507770816725084880, 134614923979649083008710866631847433987461956532328171888729487966961772594264519162901460962572036290479959675917848661317825303393209403232864227841700139406303611279172179741904504203758207521441206173966459088186734635675318218426287768259644399919181696611254865423435187954774724634545954452835719346001), (41498128869784678555157406925194241801690612746057864430449177678778242107649117680360941529747848131414629747679105203108823637635720374253619898525227224642325191513026244373437306271127365006499057450595708649708631250871534400335799737848050241343590598468023835516494190915137041701184068896454815051570, 165351293529789579400384337431871022419619222438871823630707125597733203008815610002826402622145143023768901851600685760590325696372961214293691860604706605431483986781568978530375392706757191423357421566850170206267610663949392997158271510772127817270488703088377698955378473081937671926294833868286027221831), (620416309661259767141442410089336544055459570256735951421926906997223151075402910268521340923914699197621657062617629908117392297230839913423673645200950048812390068060076364511101744126357116866628597366294135171591881165069393822341231910659713783549068927580732354265903327165643894085190174932856799828, 163782867214958866456833626329810837234773940220727046906035604943373656120606203003054639593994813937113354222803982096729172951542004445848852914229669106484727127637987415847466693985450897678760473983717403191106645780987697182133483841480607229468277295680151131600433718061543975094830303785296924753887), (24413835221217784844441559520397727638019960284676160260922448094604844139571753707795559868474991528048696872778532269849659896341780642512041022307291928079010531452597792124513108326240104728551142360187621575647759239786791486441915711577915689076289179662154510448120946177205290062308404515153010023656, 148158687123271859285283429388733648457983342665757399622649873974222284988060956641664039480858224717578490995905950597820185291741718397287131186934220225676923993191746662859615633403637371824160248364190814102813885261429931867702716387373047374243502069871640634570522314998223394062630723973966067811547), (141955520917181803013922129760179611754367104878079402627946432922789206264044281489211451712461121636754675824403753223239288823240932576465924176657756604256363383999448139295803701677323099738607519445886083318237876332727657109917942307932078848663257344272743057770801771238151131610532372235769109862406, 166399572439354229045227168469476943468494161636392603614492414792488115544025738146217816299406285311962527482153195875625292498540755615599054278063452861182610976771468035110821777639108297392836227340518303627481254301738865402097890614153218538098979274388832642812607748544596704687366018131666891618707), (24301146743469532854961814003169984112762212333891151089018084376067723853827855542316758977771101425444224370357671870380791233820241720430977172329059885140059350449756792297710073193097058609892697495078353297993087937930253655208752780199592512333596919049945536233476350074522490938224237649792257438701, 156070538029758266670139036630804585865704480036843788988608987154767619244923014556866270601440881073940954629562395896516950794990498906582992971853830082701210464055299267005391819981577011235601490192200570005817890084501005310736838951673482551891058273562813945581352834229214528314306086182277754590061), (21620570790761024220997107865442565976163529580735768802800758772871392120020541772527347725960958596373449976543704852268793249680854239939376580972473338078025019409191278669735599221062353242515602997128594477621173537841188653203611920142304987237231806255861166815190967234689373490030271366154201002400, 129950268648553105731802555545323175663081633430068656855399046086847546480165199271702957191759802069034604413701996703420884498004203202151396453918136903626370437412124516696949891783986317442245901004856913998329030846576366231658418036507738525245363765684762420875252832006260351997224711042050112668671), (100995640139193281590761171736157599887385679348691911548045452564952504337077461783817495146022560564676668218231403151092799835080241644547968723709660822621794285461619471836009388689910199858902704788013967624742703673614521464799664850426735940552718036789725901610692221699350331659082918805568112157013, 162541314083151837141750732096886637608631748908233410751299022008790928976746907555215444488741746469946898483926576474074845783842469905488202320853903958494765741885494776263658755489012868927209911821340210188812731773156370609000195510080219891714488520782084646458826174411446823511279442168986604759753), (69222514640119312779642023299500581725434875456591765694103879677460405503858483600763644182876483709725321017060830332950450774408531026409292197792786757744742288429075526146893165484952962163508958004490860857714568672030936086909433902742425656043515470293561535553046595598767072910930215800509838993860, 139186650653155361197551822995171651552494533581722605032361906017969957332089780789663630913268734065458419349051210168191234251262758136293473252238639481662257596571465557835624368807968624999867182446373342899207812129665254186410994883807134053463218088599536494559084143406456210306122762716865299104477), (7870576891056379909480743812502837624006453483965629891668941332498895542502612025874378644644933228311379326863812434127796992658171203494198403650680928793989669974056953488754665360618084943591312929277868502146316922052583615017119558291876918368069771342545703155616784530434009693008967561945730973698, 167328025788530083430880227750995049832596950594911919095196178260059471686725886929940829843056737106914764015226906847959577115164786809773625552601353798445993409804235616165500030408567544231373045419192201100348236469788573085076646150454329618552303196113321497414028015691719636238725190046095269070329), (98162863513858976618672281258120195492301793942856152380098695414172554530805551567010181716677668626364923061591812923992628446760506020482098138685117897511722964726735307428390947055378041991378976611240728144554042995047937960098490360861381355034543797039407807811544615317379829291903115606140437183917, 141171623619854188763940216083324779313991452177559759744287456668745872598222901984733327343490753661360800321145710986202728163864522845809240246790374584398496882619003126425511166470650219032281865517901233393034364800155955469115267598757149382099722332221418185998685028540067578597169276638288443624477), (153488635990267907870701352367438957688834848532310872728155140464098602385720342654307904270504897002589319942049190845547804484598403317600684739673064333815838882618802100251307471551143637421972142245499342816448776332821889734409979437526033706986342738019501249082581798980235458970014795985466009359167, 171842669110984529455879388440202751985122115387857653128508465203204007891906075608049078858437723710866628964597109380743454190287843892428518983875051527561433415111419445077359809805122256854526034040970241554074030564272701489175138409619605409411879346955710548647757549024108476172238253406789722342209), (57140125404005407258856245463291539170434717509988864977956802437565755951479208314496927905547530258588182716736109038316805684397711512531709867277185259979391511005500277998825038052352671075628337610409952532147574150581782303136241022892006134307164065490207443685595492783162070342635706832714502327708, 128007241332433677007266422902469538802803738524812430915380942274837660407318304450582288962748345323870043801745639634847605681284527505552819237856792009831512216796335412778636612550925647085653312934679726831503155074028964068963270049203069938145552425546253027129760086885524376399285209937312837133241), (35201472586351609686229935116861219703404308483452751611914520623595788798112717285092599952713416834805092786990538573128204670360628578271046888017339928500185592857951032664412263934356166805504242905597206045422702099027778929480298619076643048424495419717673418397633696976079275122157633904402678147428, 165420770691838200889248832561945323324071951141554232828219757896021879622129758397735400092728351360654998540931237858580232005433411663619911961820279076375319188728928503247976769779234508429272491093307567020624973726210251283436440503960565286017567141912657061920274563990135257741147767964810167028837), (137283645884927779714324997152587722762361129215383862539991903737332570829434341092358713075474293455844782472367768191249251438669956670480382264659858734549399532789560515373306573779742412697323454071647706665641442831446926529745338530751387641351464078284625267419528776271021522095750485475133105203193, 156372939425140948632975029277322333533913296116244520918316423762633250147268656580507499590328418606773802181646966938314560523481520806053631610582665103926914988275440550461194209628266746252545423751952082945852879472368333962019294129763890730421477542854090370106725560702779738288525709151757883340473), (112157880623152754070144819907848808407252582887069826989967976475213616385383630859792211578086727375926017880505813708596036613948906865215368841689411183948150043787355806155638696545142424643348901687699987446303375592283043595055654381430548089834405766600538303306581655762904291273127789314174264864785, 152880584345288377310527235633612100007815657019641936694971284059225333324322607111747484275021830187088946447618334593417843950862937597067559408986065970202947657212056278542033362253812678188716498237086841762663878265774227543029581874326476384691043530326242320206117010934527479556372659830405357522619), (43250093283441531692060565022435170549392438323263719685945920738036890865178618253913378107618406818850120482754026529453536507704377210299181692309219611588437115963561544320993905647236658781824268317531214067658063597007822856709459165067187090048576215895270215587775984991193857254414372991500687595523, 152733620466204268617596401004387911464396536025560339306751309946876697706005241852302156978908611613824467430405354422452268763285264215917552804886641643565648559421757891997792472629976077021947705717475919107342663762480121403329272183182503504244917544164928728131967292566036049828365985432346588962349), (82283948327872453564982727431277669575924361596735200808557390429569924287324115942257035530524347961039668070272219280133815460540725692470321103852975058666325171396778355751934024131041294600725409111736172992521859785452788564048628404032639056149434828362823215123601773063339968876464322549949948742753, 160250027463339229259360146373129920631326652214535463324800859790544915340438468068871840892755579283747974637713981220302349499908508347612671679306947712765834056391490507506317445934623137583550400174014603947186782567333901577468700023289090818165013727399848564440319775221876456797744657621652154772111), (140554953700793265960994876416619561643371968711097152056357555775377240573065390747595309228705110133021063324583280898042045993798289947455643833689045860693986283752122552441582507454427961269599185720912712039929367532819577803608985283317668822544701632402077055709907095612455142151421452053471260521400, 169100704795451440200729591154323299390461138488514295327560007103533974563983085593458582230202491962578342977570078586332100192855003182582277164128676377720870440788128095259120271130499070118535981870474129428341891633458500952548302300885207092835997015969526987297840526669023609552566542964647537216683), (25498691248490988497816799247405326575709381215912083914894853537108156960068653228523241684966229541361029522584161460053594862387481121960514892894483288301088304290712131860813628895537604379531346051520370112096973587284327831053713578212645481685347462802704451748820314512227381815364486884113864361112, 133806352275953042659247460210928311591775768131936673137701701105228187985219476897663577220475276913307493679394430370485019767982052026145389486047168841406694212028903704065887570533941905877467362837471694883835924119474708090661047057448918075764382563195744215831534987089349633937721026821072159109283), (133025145652420587628222392991865700381830812178418024398211973056343063557007244097595469439121737240478872472118939222374824522994350677090531070962088698952977661531167777170325285697212771148739781204893116335000905198672591394266473378399451850440255426437861758288722284158308480686971028039647192967534, 135044631326225138204281398142637785195569888530286689612702528485444967086040345860145431216934295555712417245357054049809446316444357927848118382467617081705446142313682673687673668079079502022192555676543466343356844877933924313859546000877794399712920210361933050452504692116861435849416248247728659550583), (50076731665749402339761339583872003378211232034486745780905730174021891830255175880106452676142711529250808533130980727429189119718666979812570033202011287404332898257067374606496059118820358261011637556565597309687184486921078805842218572100630399584885164556084953340657261266314132537683176392250619496298, 171247335820409033758735393168012287174759221067115947908893880342638813989725211767170844956277826161790386902603613664783043070941553810675509272112337041162827037635656454767509708671325991566568364649809381906630586785853405572936676403099244426432970840640696598062822892107847853297893323304146279661761), (73271187879353643505265099161853520654362001335318258216529509532166663669678321892445888027556824844837188502850991140031941023671168549388465255665217065895327221152515170933811189838315268391909048474390543275239218866369627672609114691135131017895926032838968204120209321799261832484478517468386491351441, 135492024031008051553756291009874010125649736674009355536199841915944316023311288802563554324782871137744287652678114345503337912828880090127627582194751771433868114141179640286385470671440599482609699588428829993493381108875252286361227845249731343840373722604735153132886521320139721129793037146992476563681), (74362550139035594180126343653317172005737682848951027573065692815159369122929253683648005651769048794323256111344057637330284981478213248288187537401003781041435558240517740412521217026246885980821379590593332294354360697932241794958269687068562897617973746705766691593867370862362804764200272936034867647624, 137594041774703154073553784623184335587493300494225611466667035512966480133005975880378365898727554580964780171506300262183116042920432370442735838161865451249277337256650959878113706635299559272005286842065632023963884898702335861300947266609980601171291389381246606840377979007689638823317229357637933594119), (49007269350376916088053759386220769867890503457221119015557491012994114660377032522336803630671159321356235523592352672211462639820553701485063680080241906259198162858123848075102273518997975228902113114680467407457184411062618234396865808512337688770991135620065364214121424213934113162321158721167619693873, 134667113534652487217473758504759969773738411682414839937910704715780258701742547727429332420018879222121972765753575414236856578146360225096537356362305366956081674562916766068990586351975282982153570632786305287001964806041269180559547341243622197896004470086308726913317330143323878474822782046479721319191), (80815500721708717307209181786056501030089932857022773564033422025760835949888220755812937109362665727860987803254058809848109581625805394030756561837032608551807751856459086702725841795216861957302594713240280399168940741787158612168386375729246854842366805349709311377070909380642906948795098049380851359171, 143806228923868253673221668458621777740020740996529493667881617924616845358089255675557122699995294271403966212199225958604388362813429947456941253414973076513219845105790588813503869934111673638342043171588493249934238187749595937226816734827229214530423493689786603122594654784861476972159646343273661657091), (62830129517179216733171519524164375271327025542914443978318174682611503424399898530896635921726481833353146374657933491806760464965890089203943913046513004258180987155321109783070909974713599879953154777574219204666644687500857163196959721327481266469945070223227812722516965498533979469190534772136638805432, 152424053408002949028603987834221487913901345652288023178224280979435293293683511189650245107988014483735763753335850599144610286139216229703026913343012227286100875256243121491173122473650492329929158725962641359322941885684718018507544920148869460590822844008013657298405924679223206083741492440928349979893), (61834038838887892085495923981372671997522325979687452973605536386898935196191530139475758075905793673701359008838096818493940561713291981556036170367740900462509732654849298286183863775738668072379266303151263971580896884318819676187835387766489776900833522557278705217761717405860626923814924932005927762372, 140658750512176339760881030736001860994181261040040645068519418439034468877836197978331030920717076299505312650760980972312497162387296356909033390871406171496058491467358741541960326547651137415855460380703793669280520624178993973978376498623587539539085935185989933281918011326449313553395432992477466874219), (130572384667857866728278583112699740759808873753272372442995406961018329932657052067411826708569888543730043157560458538567106357179855640103400631444572308342822758486243079637452813323574851236291321190806059996956912039054507822782925581574576059975995609389856326903557389971419055722293300329595238489681, 132163560364594581515694201840969427697947995955166002609278811024007557222041955840221568259686898085774285492025840535898895138384300955615864912244027669966053850307550403863383307545629476522915558225080369676392946632199842197869070274476947510568249720593299615663253369252563825871396703484654059230309), (121599314870776693319651698761290527070560717007516489554012337103265566696334190410442526465262791717878422126076197494437062100736243548258063135191646348283175568181008782119757893868716254607914229238069050750184697089716065038705019123318401131216153460381232555491178751191486633334059773748448515618854, 167294952273971612635106251480947076550117764730325223945075488474706466357017044519497830666449556519416592833256022027527921863795105434711253186794224142536315626757041960610546123969973702486256124616199795220712784571083169055273992568884055074590499402447236023904400238526517888220603338610091495803153), (11703357919393430485450952570108626435626739553595308600819515361258408041944683331510861513290646410747360398571974235530450399801670345260907218408108784221564749528966299444193361502710481174894043081484644180628664849113426091501835019672648267053336133422603173506425880151817638969055377409408779723595, 130327115882617261849857768167956770770908482045519393085273141024164354241975339423364673542544136393110959618111310848862764331746324580698458260359008436699481785948832792321210456806466432199290219556313246533232096356716243590818872246451169800934498231924239477621029182974795235702864074899651732762403), (58775725310710972403456241369588554617818909143519510692819064565221814735307525947095153195700604774387271173659870596957897260153897297317698115360485586716243195939215707826819838185093063770837911849403807202863257554009573574155015393478472172463563949136586336462731854980237508165782764469388273757475, 135262666778955520326472522678538864741601531725399123781994715532094412574013095573749736835019943386292233059373409935598378177518033357763404772395319434885954318987170919344213939780426113840698432356470937348327204574245549081886133118800376422874706863351000669919820821165872130323164213955477190010341), (116312841208969736982854535066590000632288608979817039959836910752058645578012847433514061688902237157508113233301566216825240169134212426911796190478650002541793308867305948903155414905041529141299104365500562042265682896901386336349758908321423225832852502396953055122726891593816990482137197100870596092436, 139641524818292059549606754709658706319683504123438774045214997609305923587173362433491755088494395288011430682137726846172120419210814256794044737289735219568390728788593055000349569716093702822625218810957605098108550627732777172381164789003669149933981581459950463972990955550668590325542688734822311980537), (64859488685310679538684553781640719023127639363547100144348839191563712356486218471235424278898097204223680323588727374551908847503035419761035580590711112660731854833565525550557534433965889013687585863902412192599914528146758018104721705687500923912615746241760638055657210894260969983311267952706867190122, 137912567383264096420274383031164505470684088333784907525643407312936715540711665143427498247207707228118801303984243911633956410281372630853834335991449905973264880162934467373353265899347214378910458830912997338927707643684073647451040733097570788152433710915163269146043868570609586156423379148655366366371), (17253474880791144931666953197041132888545705940136737753784072189697384453011060718399899688409439686503726970063090476706095342038923236530763371446268834774733054233818254094786731179375869990903609190085116047387040040722377367087025882716334459723441031747497376308589013999105334874076767924853703966882, 144022927063074065838161006955037937309460484542425267069933522343782709192401387941179368188665693654030045810668433420381879033682552433570853387297677718408180953895887170943408703502689468183191041830327519020842774907654755439221500604827600087511453363044680511530628220102499404989213275997374556653069), (2037281166525051161554847017401669792110735929915881631979070487456304876609952656826435314865220419786999229042018437832558581546524423865300755133589510412212966294769352453468638014569708596980378117468315920796593330001396542482017919239677058106183546056955711419560627689468127759901893096258581808291, 144153612165601130775602316531534054858367333995748627431383874794199698931107918709602578610420696260746436835144461955608887643911797458960500117076456361682476428442945462177248040246719401392582164267509017746462044104231286721072523230703836526641894061602722249819429340237176591247550134398803578507679), (53455551188093793081504916907219667638903422358658001558741672549565604854740430237708833052197144296715950885204214271220481166733998721401724705930194900559744130982056807062325035405075812753820455090625197815433600647681079123285872685092546214192561329127852728633720273763873518837030652500076771763108, 139041312361066320273368964670516843833744569718251256633904520529332831078532641850806282259229801594772936120712939049219329844788148893208798816711027633390463788116663205112403881457016032154002757391016902959667154364881104786691749939607130037537830563008793664122932264054070394423129119029035454948023), (60282237326139386510715037691417683355698063752229756514347426881828462566002502682554523713343578875199808957538013689114241463552895103895412959441245854386280395356868097985091723857872169973293440438979661541470232516161965490431090098273704624293475807802538147230622720648021916746181064254636687554875, 166575600495882492483150719901987192969146512241953400880894446339344450180024755399028318154097094577055466330278724236949908052000751721660615190099066722305093090622703886368520525991655900303188102477191263681408148425367913146937084849520786768930762474132088408327109935497562895506142607072659843708493), (40343414667901337861207906463088075533763016495445230614608269766032263164798874041335266742651738349115830478248408268999708990502558232953292163954063061545326364800013837117905185126134418586350709295987085954673415988023794850648255553785946787778094834331603582584558910443819560643280305568829566777209, 162784629195847359275199890875398890977822341176847512983568063311074890599739459218763184284141844372449657765375344126952592096097046637709764719690685614225358274475002803501398796954425570308926157147200314151374994258404880316251150032839373882161521573480547476903508289173871528464724153335908170655337), (48773075236116568301387251017700812360008176643770849245115398701957708538221164188583876680057298925649205927461254316007788134590629374562863703345851845220275640701576264494223298915158365092367606611493851320260394068461721964613128823429497157035113768926483449487288046348257569555861308897275883042651, 143854998715941344530381559415866229012466597429369866471637011951640784773982644010159119621307103396142795018750101517116287224288242690907483264300582356220348585867380241787232191615136325312280652766243930480783160757313333606004676207715658415226862908344095498612698313074462808640530833109709836945959), (103274258313151013354305797214606339182619890768395104712650831773484150855468307315246779436023221093773931029365873204785429157472441760219147128270344807253997946064180466889875926544299189190130235224926506493270259487907790786056699326996344832874449866350045040034980633701228390259089022089183069972519, 129084706814294579584160206635991846690458070070284823352783829908957348075634734376087036715016037059330502310154262003431312582753155803965501516077597371989937683759034289614381659699311967077575736165156536695798015968357597461309681446364549594461832543732730608084456787813637964500538526096628264506251), (102693858928285495609021617930231247541005308666537485231752562058367754307824916764168725585039071317321365204845596760256751297012604735862718620779110133974836841475853424534690870248774750688681046371317460628566403241114225987709274501026471201041588856548699485344843207546918282802725967286155654165914, 152446461324794555746621582991696096154568573019843621368752652752525479548578563886513931558771051493096848230456903769682016778154072838717565822783265877396205870066871777642872133039108361014124950955713876499773727952077700023781048146639876593657159717141483713465495679704978272898500270984461257009591), (138192985793392111686177792948132638125892265264089649178710511083033740703613093578889632991953467935058105432768672181132171259671086295346627994927258936773746426724926121733370617129430491093419062037025178894321362431848984375029900694330561600965473966402138802441151538077945066693017454765973479890058, 147849359397559049688572079270206772159231725869723518946416732331634022760505246300876866763138995999616153440748455901447311975149786110792172397394711486997777800394533820923143987657011529546387295722544030077807581707524928884545683811862142563948382783260286735672344927264654460058133290490799809908227), (94303125414929305011920415185311461712007289133432413101314268236275097747865514338876454004687077835745929794292505470656199711483455593663550484385674969360050233737863250971623478675992400701181877834353014458156357016368700221590628957044377948443571096661733185152871672703230600465775029307502145007642, 148708645439033675744585146488635602389020532587405473360905902378237716642532579914306546625618470925815090900090788468937044735351408892820416574048409134430189799527295710732337232971842408606331881946622856168506413525457143873205590599487035374966463461472324059274437497538776955350833265881832107767159), (29495218135346770155952419638018913048172481503811158655423701539473808716183332614943703569617360324067730680376284981130940748983085259188471640354755890402470135293044279823449053871517201050093171195734610974463843796405426576362591143439983598393489918296426144366022855351549539551937802458111687152954, 154729325603561338728145464622433908280894860506914985079542695201801982522873812298735563767750686280807864646843464219165675084417110449332487757779921684082489446903069339335716674597975149844510645046363402463093795858353441311675355321327314196667221866271751312645421035363285939712168610300563383525643), (45184962565436056251827502339672026259754791727754444689662138185804305929861767793450262284160838906056671268221726583622465857790239090955631458404054525648346686268926783417436511051869370585290107075921307400625046031963345160587679003390337525241366018840288148599406321012787315593416672348658058579383, 132205458413534268307932643064946812686334822723693015443560934161821664961275077326522181162174863744777290747561591584321400954921523285345246524403984215411021053585066708405390617399191593438158878961026899201169411772208400174117710767426146141198184279611475894805843963467260739493140633802118473811707), (16800905697021098341767637840658362735272525625214798544524221466199400212549001148541636467423252938803256911080688322918329839035216482756034961125389442175550839425723054653762784560935233378562641921121993434542367348319194105122670084020150391668543593565019194168377775475157257419580089331524172428587, 150182644514072538547896818589274101649581681204342328831952483639811777006486171436023836388067848090651718268748645674350493202192283206054630948875565451923173142253728495028450683248076408349421041200001481576881555840261289475137765013537524199855536757891127739207047422770119487045113688573258513894209), (51295047779009939037059363588557568525393348242429041248497399351328888737930568875046347183944972975594733704488508189376288435283046953005869484752886270458263975095355860776097637995632644617945583533855854432516367359738905981713644379672064789946260192760940831683232382656476846370248778759086460472962, 142927077011856451778101237219285653714857826014086927961987138081545074918051805457749756118572592871801443994086562391602602024717229883971825429812211849834338583954134350811172736292214869519534682503429997973173840749951229838989891922038823161130207517471664228919332847186428496154175318192548326491071), (38101435935220351119081151225104587606116642075827875177109175807888277330734586015104001719463223186635448331743100289697530394576554654609206366436562042905802485369289991966463981233684725545186761109072891957461771142637482702540367471272160581865777731650253417232210033519689706099674563489451461654882, 145843608323753412240635663358134811890155454385246568582363933733954460040012987050811651703943033752861032552711713001206388919172125015344902680474864967834938091934203788025068621930477243902485971115078427299576306621049266131452148464240722231358473146442522167089716642191596487117792070712753461982319), (119809187346531332256308733248820409286661570749678741731600532165761948839663527315182843619180228797640922225165591939543347455185513343570878420711927434068965074877052029531267391916434357705661769391245947672747691675764280034024733487708580330282886566640631300562054661925414741216229693385625756148719, 170217040115143689255675577665534376128897223380984713912947740981728558396022735572617280357852125950112641385220342670689174991485353326589087206008019810225288999630059063598891346747143210932576138818292979998037705160480931711614730580603991137769490234479896809697866189635477325664187219204685423824571), (21663969496111417475095045220701622961878037207392225761410321341475457756646776825910937479097666088335081368535069004849240942597074487878311621566416555906027519249557760520960069071607833848742976468531046136805457388017042672960286388738228289119710560646190459365808292976312222516187261434684768674252, 176464086836331953931406355793194389446157920372184151472815706169060547090624240225446057394760093526090058450874479699773454133253830384161193062523672717298802484977090494651768425393072283321401303648886658389839570205758459585679539212560598603421521676758557810898512695706091104071913867915714450602307), (129014372460568796139294427829849985651521797070485086490464538697483111861942009012849966646194181095754226915909616471901352751831561047305229315977397683038372300315992916412480803849617386456932926013793235219113422602222171991557268304564425486747883050015006528194343369311781257071393069437704582778231, 155936148390557194005695916662149702022107733426796236893610059637139588317967574770777837829966875955326510464230975297269606207640360936460221720964395837961064156706909788042362406945263755123303744714573459297743291181818253058537955295064067408317759079721377435434042190860236720859993329749069067084273), (111849153189485935147496705803373363249264699353686408483382009706196420517522971407945873565360003341906004756511513054453194592603952184198936014612187543084891391518760717384563153391140675453695785725422488413554404614894204371998448769069754802659842877927496151499184957047671063258258420423838762528315, 169494706535766352709321257546551637413816587149188907073066642514198242503223623624788250183063297235958910588177802860929886354311791499770582462626195332998348465109107259143584847081380013061399470185382309054588520494838603279783569854491747860619566423529786212919375686847369230253770344923021512526769), (55170375869993034642320122959435385079321414927245735011871559889776666247477970654811272870613094203150292988747685383498801430682112596508479848517921079112496032332482475958892982467803738769472545217116832431408120298180718984840913153750663176156636510909231584020402851508074569758025891296680307027292, 163144895694891076572943564636282870322652067850717468457317466828965143248604687652265670950458930394539477186038797344180568101605720401262005582997658394461871378909834808376906011054379904405510580610394798261217004169182356465914483847987780305236936682086747525597393108329347006546791712007544648281259), (150343880178471968641737633031052921100985473278160720634480195990495202863627816846032721164359978366029409728857635748407507449167586803638917823081132879207498510456046690345998887409783705165313104298823178471052323594789307164487990663936611948812391299710915427739964230194248781110729531915611351054950, 165171483248412135654876391367641552544513177853485386778971521867764787689830769902105459056125067824369244543925163110047420819605234466988782483836068974187400718996372791725412504505162903184877826973803348139285279808287458036178363124166134032645656258882000571639985856769493420514618766569504311808361), (40645041537181531498046533264076108583067797743666754967395712028500694838432676999130232805896979400280944575305824855121454476109043477173850590064892245350667277796654729710801507111061141798766754525263983224748252784358307610333513761795283437594004557216402103190808262030368897945258696656284580316517, 168696313207012986329791672375330908830501603735609052592562621729097151832303771491171797435316023991548726917757099148999396501609827381573833648773609659865431282529254941254220943032576984806250894965184418312819411115838173499314720165955694789514407048300027779528629766339129983893990046765404725110471), (59028187694574805246054772711352939678459546899410646796698634852866331871935786750819793041673399028277554557444458296650325970383867986614782179475542368064183480472160342107104674865853860481965194752758967073031315752560542977745078377241927465930146679241871229922873510578308513090891549442226708707786, 164789812674680195635644356040303372380474871388095130984321984479926754399448084332880326501160861884780082407848201231012163040672839579218812490725383668595579585861898743746362088428419181190528251609486594688780118105057494502562926525581385492635661918704874303595735404275687462166055057754407967342879), (128865321108951103865786219509179427769262356536410386634311260916437495305926190646606780528142147750382928981633084562256837398103121113211635139207786333482096604244379216854853450393569339616905198102132500918103189427797070962966893228912100231809420473589588972162960292524401154816656232065984172048808, 153266127433692607981065623440763202041083784048736646995605344898450217392436892266618497042513837694265099789037593826697084533808537286651601849646394745528917442579083638336818001989544475843294504664432290151317830467979386084151172881269935230105685776207875482571331593848758136325976206135907309313889), (157575363542676707084347955472150616151945531144938201268779658493402278257233237284756612719828808166150096297043396047561937225825312269818208582580317636095272929214745147588731814930002501221276424395896677446919674363379911876316175524098786856804958064361398546862606929665901954154912483805160233429310, 177503391939919359461144076533623402833034493778338420175883939171116467611472950842926200367619145628613810113876588340612402149863731031006048060194053270864871806182195581890872666542982257468381853434347180061084422167781056203611776787043218458494694966826485524738106290535837734551984087628098551863821), (115456118283153465010187047836980201141171881597373031468150941033110028632429616034703087773180062442165997737850616241011401875667011162476597223307230263833492402270879101898159161123740689216221526311798278003221671452256731809120476125626909700037050972360462534667008179800924391021506977490688162061788, 146240612884713634175218765549133839117354297436394198592551424413687259199955419004507890100861441268139352902833894389956664756140649054643655177313789555575004137515314919822030870420778123529669545482869869071165088304914090888840542645300593512384461825582736961517443820273234214423637075450718199711401), (97724239017731852845205520285778384964889690175815636186873293989622335572640185372240149274159096862700754230902818058242776430823717876899237122948525939758230189804782491787264562554040648090364230476101167715976452609117564309296825611969705494456781553779526862807061802258883751677064611767988785731513, 128962038406155239019879637763551714602201877594005991707041539092396479473410532869071376576296746102709998477268750959925703542656405214025208661559988170754108446300210050085671730765307306233943520551101797221785624911389836444598546587695468550353228558593234721528242306157039029827945082747147024890317), (69265959555891441508623862094753706422846561479601778840900671955104057910104599350381823327978286444549884022498887136145754363444136301003556187663546594979343753513145917038556879286725506111939146083820004265918051138007108014801077257250567342467059084832217045183046089544620668998376287859779414938989, 130934351038632248674730738942887052607450604333657864238335746371080730498898912363166299502818962574677056156173611947405251740474620126860821841576750066578472261675723849216794408270711195284114810093143715809515567237500842690880064359802085512340924119478608810336970284740974243259000076885141560174931), (85531619762702541953029956072568043996408056611125833510537213347695832574504276962687122910626483082086955444052922755152336600433954477091203842348822883546154722402375349961655780899985026801890130080330449300933267628375915817769202096458062553922087841646306650252545907551640080750167150264619333526007, 139615073226494133975930405348589280648252851108372132210729643836336053961814026540925316185553486547676644916128153805882980392131975032100154603173969038668493552893388197216676060908177715736194964365501448089303480549331955380454880257576068629643886141428607790733931173820084957499466100773336137219937), (149764418194770350309856267906421847388461292307295350762476193185437342745639777043684801382803592446490585533646687209534441465735516897852224982844199966719849244755505971645970136113762376904367692883503740149329602903886380259865143329672716303877672355282400415145322516443689369671642063212868078818701, 178807913723332184478073350776551455753784344516338780096475298031035869247215514592524844484430942000029239511988274248917791024115246722201653071661259118220123653909689497936263105170239256885515858081234631912672352933912776103013525772430800269224094359006162634370904478066013869421724175895470721293813), (134021362193668779114192581880048872197782355796647722462523114557854437003757643070574099517446321742362967718197858938118842038535421235575395844317172143559230506596554285516985291410854460029329270989654636958241888336199959147941775550120635447670547263585724168854258167071747428526844154449313053886367, 174872105224134872094417887366456095040070756923636530696140333197680804066807164371183682560997819533607758205700164291965962907440539548118807321739631809730013696643161674397873524747630071701794719190525883303016199336408226365094139596041874253836223688849500888752533279573857558329572670202804338155717), (88847314374442059671237249295586752304195996235793846275067743706406865973234415083694450099848969404172894025474045240758265952990352200888477476003602625649891849631014006997973204253871674113255924530320129699706860628792141664398015074759442804997312594810417040767008228422473320447534173646052431742422, 127229625441855731243194658199706949044171767672935595670883508664581519864597132556556157925809096239601471539130512503517938148783418785701681716981329203165777415780125798810004069389531633817233253990946771668199803434558226379678146447372868023048108272475842813434245141209576943063867027582473750868719), (86301268302469215817066247004537095276141820480634885817634623492727052770093927458953451024390540444704464437019287933452019629686189004924458373639656104877877539657105916078133954047150535770913860010790463975538209388101984045430755124687177976540081320668740764602159834961304007261822035794442787720279, 133183960340878197332831131175297837193494056360317550575318974515969938125627889759428600521087569590225277112486538770089584551434443891770989904082622996015409511721194330969379026600686051016254387239240259473117463585717365483738529364305646070776109593290089190301377664429170725561315418722164359833997), (140766855534877229447480120350288997801488223725164456899875713912570820621482052853493583633248959382252176030145536158156308017072093177452988991352313985912386269214423218503313683433939378171103215148659569782516531898242026075898114395038168358911770781685683782742665399630844125930476838192159022868808, 141589502216433481378740952600602456456713481244134122827722182405204261793307172580815485758445865493179397670563750422727731832792005704813759454781215830084657997751805135556149735623572038193844522411503551052749742345439055672465267226428146851591218657322647185964714336309962059822937901724256976190623), (12486154024972023801845982582886838014518261564542146605950946701592205725524476149020650074082698046350606371231670764801331918453507252964516658689178109964722851648201453356420972521492851337300546059518168317672335923357700518589237744340604391735438639296111461606757391007479799067792014400859643876865, 137299210191803325429361582420545205605577186470091232267010587520118540000874479695733440035924729464940646191802494998517946534805014357192136200177188211455477388850564574330576078872814454581327109660173595192382798954836549033924818036571397765713597000987722693153005829046528735145127549266522786419311), (32008623371501360972658512877974311219965806677678376079571538829443798005071957824660035269031068641437336484170626438650003281582179307688454131423696561536296698797726846750890144802341720344492219718959178059093813213308294317711696700371058589620743469398618666820944270183486826051614304765951162556718, 138705297112249615268890109033797666100304026604486662735356980771819815650484323796144046523551653295903346880848027211771785515764200148662808322632256764550671988278440775865695898283936260533332944729716031645171542774326099344737217470005384479553166955334655565689986634538427317626630406588656927243689), (89390925191804945115136876892339629810933490034518769353883751286189505809477986857549561672351377315528318432374950383673267640431801371602096381349894337343960596167302455742937124552154138763910366733216162521365909099161762652311903792154810633794026278290948356044797908170570990547316715636985552787804, 138936221150198462412431304930929682936659158329160933309144948991082833251376940882089183812642541287217908244759112935312510777248751776997592918229455627396214111509407045835672892976124155458471701683866934420721848356421739020075606453400985549146922281513435257513452882057288311746686733855922217230749), (52833836193008167909404857819575680842073907698470303515065260807125942132002026485640292720453673312467095943161491261740406123729508447503695972058165678682977731689317745340337924269117424430310626257068766403842427712590954973667623956877877231429955889719878978800681419157178050929395609183893491572505, 129157539623366969493808572471901646731283396618808367701038658431941114601826480641128781400779983615370246127035910817638859589397227827025305958506543778036446853488059270929871673520000297214941041118029037403447781891549628715989104450550956686057028214840028701836679858762174415180485961304618818598093), (35405837371163934403720865371877203955526958874492301852447658147455293485754159965257479707727765953219830147011514238972569828073780800149270207587992100017128436743139290332257378550465695291225426246673424276892798657937983829863302651073891838142082111039748869853210022586263114993498684673133716944858, 146874206436296500232493413391458665650122262839126732958590670572107192210529226000883583795940654886217500809203795825559636109583733381024301354963444824291395638293073066008792727970535130878346768319361065623172217984765813529573114294161491332520779313400780208622118047050500587450656687124543371491923), (107968711455396050456146799863945685397058743432919670864519353858912277949686585589042376098924985300963809014851898938663739514756962442410503520202197829063666916123766411386916404606438895242871593905725545497820468106424623780383314171660239204949319741540840014641198680357270747444945559269977372120588, 167428815858885074737986203596308014258782482872432104352247661507774270595502899912576159769104404608828675863090713099761611556255301292444103094469879919102367980044459867772496748469812729415866382870814759024180833194789932852606132183005588845952714532106286650342721790351797882484286899041621267546253), (40434914528906261262573187323652531753978824754137188128580194702776644489989925863848913470300876342006711532840485662935041914323037040842338430163366027037585190155666296328655553432790167872615228055718741466362900404472024166226569439035606018536934237502492389168128601027880405382549086633236443197227, 161860194620247698610387667677266826896935368165683481472089942767192549718497449962837572272609157873095686419698122474367905788956120396892390113272635438011839250090368418378038881088259514886283992079106788439936968444711538048646740052156558730383100357691464248267522016912514543734736030310132697928459), (81788523266783231074650827693628072951755368336272086818869031565482344067046736595980147028271234496784498110922429736638810368382547701316005695217992771531664994088284486965872969497976699881927645912649330625935768902602779603613275076478469126474314022965456521370582974592961125749357604669749007361141, 154531208061524726957204388367057259092349937855511991696841883748468271142374611406252676036844378815137528343487176773985936477169733358952982524261189897860686650668407655952301109089117866632933156629843710449388973509794940471142119302292840732580105032810003863369828857826202883801273615298423080470681), (33706484591745298309188755407818709029979609071179040124091785556390673061685438250800431366706920140131814540228610744651798203220034259025240851595673974667902963593605868597062432954279100106564725667173926009557346546089780398958800273583366084832498644337015941305195776435883213106145495360573741826908, 176783885664947356065557027959781218629830223406760338310197322953955035655700106502958058975596615315903255539731529862119072764199366421931959990690362853510641361979065149777387747936050082264556606396346592726073946332638181993033859252747856794807986491117061530209182096724003164979525235564680184549963), (114824572878285325075286107795488491539218701108896065744165614095260399942049269718613544117511130692422308041041119336944219423338945351872145717172586061613131164776612978348189913063661811256244413435281774093505683732758842555229215195379121506739575421173603110139233808352829950433499435539530038557075, 141839218750975769470877938099768196805960352567645781036195847712872835237766084982387033679659605743865548956802853094633743088995196775552385857357439564514789407577700304643145586776880596306398256194267733079298288958272641412019895601811313687186181803236105850352963618110970118888762508615767413451241), (4869023778139767412758962188735727120028521919967955915046479040098874768252464589675774131091293161457763153984655080435630778670764769042147590286090515251667645437408114990442303075962122268871556236660350665068323184462962395004248310079571630195382613747276906257050965348775548729973420059204967863617, 143588748192781636094314169737835770387420027417374039638210459124613423337742267955572788832587336446770783292613693064153767230137660984077852481553638657037753798082982514003593073042261269471621815413711528997842615276802294276992875396765383177471563383711093993242158122216274087244883025376089900042811), (66608416386033227750812857254601192326863791904343889008839988742831195027015200258425451067474683798221369664167519753312555826330429984464428624037190876637354410230406242345085545078399436612072810014852739497850027859387441395598834664020008460321836496587900845976622539604739917797339873526443141091388, 155412984234382209795705090581780102880118437055044171126332624806806600544047550096491443661645559084842647125898509315346509165193898197241688264422028898764936904486403515344483084739493662010055241884711058794896902009702287386164219748473147886520060346195396585540365982895766506203885570246599110617797), (134401714353933536722815559827369855784824382766713139337553606351945930063834831070064300327714994707584100925075697682001919599833773162684079330588358842224022906777598589830540446874470657256752103883173796432730420176978868142731753898853262165220545977406230357421442575804646962714307353617224376143829, 152763448788416148602824295631966127270314298980636401154728054277567335052097599010490802737289354231604792438951976434712597883206548342059622178249868536006713302873678778790355229571790840782005057022724373694285824316252643639981118623186875100292360252854043089492881099237081663334850687193313917976457), (77550288341724227294500497541967443256543185177441269815584967177104836227574226783346434815682187261540683589839313530540565196379579112488800312385919651059936379740567987526144061138187442561029632442027423816178558711010683476049144831176122885361472782462429662975771459124729819929606990211753914591807, 144678862327338222860232826763966083408049456227872930069190392678857656647072446581080617621643836491808367871001962985594205946244208178133818771623631999017899321625083330756398320894211333720594266415815297371223202539153142065793648168270053732632806893362872850175044546174127667529384479115576680591277), (45720927723203199650263377627568025060797041131408859359275745377041385522434953155226300685060555920218557343150202022098130140624537583767595691997200828854273257629901989372039144301448964824208241743283097137071581282233291424902846622582455915400309300025630527309698835892355020790613263630130712190888, 178152856387919247592883619043602870657027663726074742893978338577052924977934960062813672640242427073401932574839883680771628158082193248741040920550489605054079181173015014672220700037048804114029274990744530584412898679964912320471343602990426862915025296327246798106756669163246295165487462994592139205337), (105713973828724565031707197352396825411421456092545836370089745017281274786088639271982950887143676468478304163694552184514595872540115155427487610939974159089585436707699190021679567011672991228056328429271865446542692060171078387036834462914870542758132384784240016089958537019298875966705620482549765421572, 142515065666111318598742433514575376645110713432896723906689175003192443626503027616405082259396448212478604561773639469734194105153675231211984998516385480648574756069997329388636042752794844454960263666518324335877843668177213577676365944082150269663095743580007596185429289790628169810487615023790777700087), (108573280507374179006653655558522146267255535291273050987833004890483729873581707627714451252503800598299326876831095070056476016427156884127917232475748481693050800382457874262628410287659102764207642009663877198540533740346505181589945685031053179075252925053700937542998616362096421963751612418294154951666, 157880115226145272133180896943834877547558984301907576042630479870534853474993538323187890899203904156208577728391813099042120427521785956420264408739160352421998456228384006807848824656900486704559843842541671580200249254148957388898856718384858222279809187073842825666714207884259355371097685966639790587727), (66237257975005616604814696979930067412872428724606259168074546013734155019950070693292949788538599226807042120927871762045165465442836857323275258149011434370288496324406562023939408529605354330122470133480000402882772920001949987577755620697791828611887177035535011599034544297400853358070587996949935894859, 134449493908315540428582814522950877268226735013234478504484890000811829123897165849652278065655055145872767959951896426564280184317770294390021715076615109645883839864230889638867025468458088974942736419961909071376402416504958709835454110990867527517831030725299790588729322160008226421764898244993846837837), (29560894076472411108274154594720886913051049123905608217197538582751917040971855020093552310205747973135945568377927387561987330515713030936368727618078932309357277907574525046697413231924897298062705211868943156919329887131612924201768751888970621744364429723063423556209624025506955656534008058915629048362, 133518388291432160521698580523887274608142224461614474451750869992692565175654061125888723377245662663456374926969661910189217764551260519357411933062528403416534928680541090114137916236983241969620027625052554288214974614876138305470275827034666101296759068301928360489550330751747966268122189980295707514281), (83453207091543480769254748716828049088812754616845894274156087767624629210452439898167632045575054209275918621008131880012527776586383557402822441851594888041516053463593787761991728952119281221874098203265647674909599639764207319275747774136182655026515728203439609835249871625303917441569322786643634699168, 168697042503432574454035450556524026180560967313267984519775807797158375168726972281959424104490327213437298287618671610976236370478905751794380612074324859118726776075085482879426089936212162517226459742049990262701077092626039902128085941845876440637956284765913625552658136276759847655430314386196203977677), (125298676037235442230459093434069241144648995344286160065562616202284108144366111004048373910431748358837618897899102572148380932464264821104888362507289697363344547845406204201780806584494622292035276378757084054667718066634233198467185142242234052872440366973587018069042921728516473122907266281880714561662, 134615728496825038403751415557706267600988576273573344586073616759562667822356497560159935259802534864788416938076410210562336267007552305315531123693896655015687846389606826044138505871994181414873035002470582439520707023344579363064437209485224056802853932920846543439731070261812017124866949296041677012577), (74665066167131897526209912891393392151319324867640416899015829537015219441997476261363683002262847668070650161051860836206495436560666871978769542888700603380243732494007279915905900065297546740867579856058766849262017680823223722281617888705487207048139980850343506379233993054405177930257655961788973951099, 135316370724097510636733813181840004815368406360974687240019390747548208341694180097163337347578816089780599354235032098696994212092122697443913367580742209934062143841438862417308976855618771407035522745042171881846525716466546826406092058399689226739955927201627915337048203104293120057911365891566701808521), (2644041952516545367605258966181650193202303956371330895812092467995385872874757037313771569634641165926921357845462242957798533545876295869150103238068645783966300100104313812863966306724191710682198945874298158928754260672667072045848144918187548046022602231635910587217850525881484551451108257904767412070, 148696869308633022277035148781702010038163464420118360328660760170298256043286197950046156462068317884311613653765824128327842084793278938031028958232577204897044424520329874182090127985351955739064170238708575513627772351327834007435611315797638032198027282608649081188340783918098711152871275436771342605643), (95245002077139376438013728826008510776770826254967806874768133499843664277856689617325722471970435297900030933179011158590197570544160069809359545264132236392259278585742616356962163787095378319925023922590264342857842343925364090458983226956502905062909589485678516887111122312739749563943296974711666200092, 145170926132284206539488150595561712310079113946132718479658780485741557424773838115495734407646694635188204200807863747110488224818678925220302234582186635797346313627960404753252782137813685379039865452893855430027947485865239574242858373643553919849686849830055873332042757224905636477284263490210717014813), (17972079851665831471768496300149966271092031639423815234161155097728153273744101814884348862520534073292814299636276798517878285136181165053708501006485240871070187333713806956670690309359110862682264599042436618252492057058501747739623245586031204545889699675730428259702911491894755383243475228153297745694, 158802598014203940228959468858340624761294780355115179958177359644019737626459965654083991660695875613908663760873213723727175560066047186052643183771925648261568449496098033190158519526421818569297047487890732933577206007576487259913408516313308997666783389754279071832248250992410819883939525034166904697857), (156517843398949993914377298361282718678655378500606136050353048232130273918952822519648552167483968938383223441681739483173442574442022901607882739548306537844935444579638672741686107916931280145283802913687005626003051883278297734898929114963873846195478029805447963660466093008711847486939694563658847519691, 156884486182135015451162429475061889258897601653576008652647359328927489864628120694174528099704546513108596233789824051315790276609389868407987657911851505782381222683655493855605970974595593572039899987305550719455896938172684954854012949654383061822139923081384447894605429794710502922764705875242803656889), (8794704122375537512315189055119560575494907708223565670142907180168944525486574376700457906068047180511442131580376870565383399257500755184563774470403087920345809516169874920395193922248646476740221868330846453424138470156637119660557878345212853380461610812714563289249557594018635215180660654895381605573, 155206055354571130760516911130745196218644797595278937888264731932260995784240118074937773122336488449211371336163570501068853255534544260742689015718416919064491002344969689351542074878610069562380964747910854769815268332949735639369892473936649868603526374617528031441819479149313958608136957315125502173881), (30044719003677583631073930333951808281016962324014279151213876212032184168269166754709280789364867626366126386469513513584730142262932877674253540580743111282243792193617507261072015698062861996642945230653384989246578499641834925749047530276842467498763296696087568635328753534199297006415530328394579307908, 140615722222442685228326342688027133786031184522398013465344258538237958027177139228064457916017123206284905541577633244908301695110623032872085339684253555215161887685660883183214726609006169660706466580926185876016910437952329266704256277538143739166121023713774450401374111606160893268858034212218023861813), (138463165705619535024149063330206953990361487781981647662283690865043436874420992005459342292261716408945614202009979590121221741302272722511106599349574623299109818597212117017670606213542901254469985093268115936416195796678545612607308883938680942653556715969385815197400975058842032171031989746695474930007, 143368929946453915484188289610076326739661281045216341522088601715652535800954926831853538458579080056186694656861440702889642685668073133441528358919173989669782397511700736067705723933649771466935114699051820207419787229824146239466244047087448285194207854209809182106650852551481248989285599898801696674453), (130024171617332401868016273601921338324268251162647671980999717226212080417742567480142614604923855314520425891777734302441584992439319400447069971404228871620319232612743120961302314618781815947177582158418417535037413407208697620902823368301246153191751832420234073667316207047971930105101390425099612743393, 171395209624437659987170959141175819369815085573503180465905004163792245752379806806830062874245811397123966364502742606921936736497591153941180075309058369488906109649605891940138004162771238164808532085526536924199875512127037749246930801049368064216802848160906329503020334080890787763021985721316955371131), (175763888095594513094475750056646006783829685269565124649689901119047907734976828278780407853426764076046949521229848407350986591175574741486708497395767278743637629310221892226350537543449942434325816024656497337745318315214991954072126816793961090465022929510937886816523168600296810892883192900006060864541, 176680112015000657944940557176484563700587656474173939362059851898631029113873375320522738452190859409177328460079043201650829185748451003300105578239703204376077462746419195567819048963506544038751494233219162922713951047371984435016495041827963349837523930077287692670463871908967869910677352293554241594593), (41586485765116707771119107684604255751164037556312119468256645826568217801490442613578139142521304248165385607709864894379152643973727330669610447613867018357274619190703103216701567206159565857899759541462736251030178398176059466967674014876026708245898235203716815842405287240705460255279345210602039344179, 151882001252898441759388189609391415246196764521512937793184355966966075398902725759551845292954918164121154126236778169249243155429566449780329487537171286837554475800672992124754007251718333813951019029813058543586814939810033421383005563341823277227528594217002203216472367946808174150472108131627943039957), (109385407500087248835103828141946395038224615797000476456118987186093096768525461058716710029530173720621374167144332768160654670746283171583846071489320443216752692682881397583403909812955809464384131681718844211693230565579582262440852837102211804803871209625174312593766344408686584364472236788801712288663, 159107870678292238209807942798675427335388394661922337293464176948003340739382318173649054782341049997144731499823600625384779876709637888474438375483750180629706026163689958353705346921268478880275449503709418608656572334878663357803866973386668632694408036580076379067680541147340349610740845920083149569297), (77338662562029872934382826981053311784277770141537369638137575658148759055538742385092015700044128019919874667134000888438122451496872089042493457624746826023796461599243530627875528298672223960448235417874541125424636424056843247088146905717607267608091090238880161234463497531565739471511417631790749880318, 150891565596800370732862368039625371955253422767664421006677394208279076018826621940922129642180575195086840350736714976324069031693989263593732902693981729611166589702020808915686948209670198875095820271922270290079908892563839507853668816692771673223153528299797453959447001279521671686423279497216111364949), (138881557890818477755196543153957414812493833915772030642291782922263444698670197243393794418164892236846087708206604315876673677619504235208851121306190973170367801066835846043012632860128700205120236421689696093845664887112382200698213655571349777561233624774851452249090730625758486351131650137843144229165, 178415741934221594344529427346904971398833352431258016603232413997573302430922629189267133303017490090332118984209571812019709610734331985369271258052966984510217073653234565356409964375920798494223160194577773535324987769682880999982938472797426060041482365302114780898594771878261292481925137123022644668387), (144728343096621426019653825349318749450245116063050847243992752076530149845834911044211480934673247034102723037751594985376138620542952955024901640359061357786487425856015389695759307159891801179547493035873853815309807940718597451645816013728296728158416776822272212510990795555430232561550639567306991402789, 150235213685310079838652909285537551506242783259460514209557638217125935361067508380713322492319334934578187231417869459808512357046617947756220103988720114823392392841344737884911016856701909712127359218825034316014383166688464619786808929142355278879642006190485469750802483935230720201621463776983904851637), (74803284517310457593977416948281871015341681001858448202844596643387563795958508844320907267404186091738104609398987632951386224087649659070662252284474671161080366257739979234780543659100931242502572526189523586372779322573482132415826369199249627903965135369572726741540727653986834034173472853857088716630, 127953777304453346145696874599262440929115255427235276536272300092249728301705176791731914819121136524459549584021745332916131841999886864455725960514099598344309223489172389531999482737615552331147046122501288767858397676483802435786708237098589102082539099671451726374764005308136259875132111993777739355719), (49792231426621168643459172130968935517586838260103740353945233484309621174235899945866743397571681321918582500317457187045322869519073516490468217698054795950541431760808848986472957479201788649334470391238422861041332906314915437932987581531906456264275254523953081669215017446231355228728150149853929051638, 135918847814022369483386048504857723554797898914613639822472003195872407403908125422273106396395105311725702793959104537714801753348909672569377271878991914341240746403129526896093679720126400132963049049174426290863815275091419767534082965969933154211327801565128804395511965694450975840610992903990034247379), (131440220668079419872091694362816866480176167973467033441678879402504419715211822703397822901034244187962289965944915845933550491550223247076834574653088641176469802209662480545747319237446301594466597744442193675507499795524562861289162808285104713237999748538236641352220288269751299560462840713064848847469, 144358494293192585965529136799557463882095033739953689765261091937667132974194867664015185097203016838296772929386522195321289960174815819119106335881749415122656886516589989220889434016397726566233725581191295392439825227962304886622707097314216640956601756260304948147711182358837508511756713889229816791491), (34248089241760738900784006120824628843261828305801900390248078591900605286707851290943693459698636831928424582958897820172872613698277541665526328391196310733975071867154048738317839858886941436552896984305734460882863551964820681676590920474373843162945037529079564208007442410472667944601825444460230640585, 152756602084018463802172114523762150532246291897404290833254796094774900202426359449019754670433383913541208228469707335047858472873817677838194235816994018531830380783987460632910350014122566728206453203014947847276664277963563207140699141667696430720427074574758488904302897650165878814604441867714528113309), (32588483220672055418317752089502196518883113337463760329475930249431210468595599869105390208378214610310889926627958497941651648062724149515614139662488093445066877487015030947149175043584829019720225259625694596988177128179766357581204661961135511239304083138518629411159672601685394165799754903090960663784, 157493611442836850738356372779288762785774706729960126755277349327301701779098985578047981773552945301406012902307305977235280322682686633323247620090122930892255775208639629097582636057760597190503891347645282780141125577186034324504978499147960642934420514175626717425056384376980986986198810335107703766147), (38326743713428678709859233209711790854749232878274130397834276460901053948418454432841646181023638194409091751522360731440377097553876955722713067898348269328983451820141572438119552044316009058273459834751790601124387216101577905111104748170357658818296803957372444078878798280581069848118597186255254147878, 157115474217202826491070601559989958343663705173614091421910499810025532763747958052548949358464206451721851319983647492802682898573542749538567960208382733244576535670586879040510338521553923674517219269558312335216512847524850377493573315050079674448787926517913294737216585923481774899440410835213638471413), (66222596520229234017097354304287706399235908428317983669751953186188625435354657128117564542288210807203966265867111512524110885295663059729666206332868449916526320506646941240092819582892038655867171773664901343233072212295961171514453530516828841026526799507833013331110915733569729628769204749016106560249, 146100175418037908869339318888335961552388002990457682327454092311313232442933545301793991144779343151135174666924089481422617476169692437812250964829849132327403952801042464770648421079330713925906616299322259766829766539541417131896853417814737145325795229821211728484285516795716029152369518452652020573327), (15687857497656958694109222195202491766335534471955450435452554016009825745769077320068169459643937991728820461490220744819105202734021809650833285881374831343970006992754263122028834149199687181780524779120502001594982329413090330424889569821769183166570406942563165283580518017611105562648844163029147509021, 146277507393136791103988939531436404873333207067900390660867235604204011173523340156512394109550475038830245332210167975309204711044475546459113007611565680126124977860191004485678064004507528906444006520331362842177245891444953435625050723336934109242754469965172574363139443531001079039970164597682335104803), (91944561313464442604657786141274188481814452817307864507593805148214133905775739694690262354706491762948633561353805723542982583384942767399528165984054527027262729281175886152533566230665150633488745144197764722908151491192864060410622448341052427612817520178104093447565705829792547376859175848422837680945, 179134058099137565363957626104056478724513085293279982778610942839994951713904638611339714686131095275294924332840303449337686058824987162230083631481652448487243659954158641249765768616150745095364884655813516149426391343764294274795075567777225802139437028532683044370917237236961910502148766841167087653193), (119475772115193765819756177575461995896721193592191643182211107952091012568463781769162371886573763146012473680337092150302169230831019599216558807885421705176073033546134943823525052722114565798994229354856314476719701131381988120345361894158392433677453705056563828653909446544979098313580670636894762278730, 133601206116922971785016614549652943593615424393601229083665235150369432336147833350423029660767518125762722964641890435759221043590234577222587457186807443135426746341770542904517525930085240970831646298201741513026187669725604781700369868303133054026207107445393574916927637785986921104225283271149989566101), (88594200369519944504443798678601512654420561036836245504294980185415238049514463443353753275455704102775646316396381988431477271787643808151392849734365532457835311964054598321720170243358635834203212997327161074565760165584251928515965208225132544239451664756905764343922885328559014349332510709107673545333, 147138102223867774479891827587804162051127052616915165114675312974652397254963218250596296065555827391357052857113394034342930070734279106071172378964617021985316691731227103021774700975478546153605102480750371777964799822219146738710233362433786967910132353620264441686855979059487762598922560798941126698253), (76764702408938742817497021175146524791484316776698969148914387172856262454804202263299817819753988245825877344404825263843674033180126027413827325246468615627309629610071400497613336256781798995712208549963324559958958052647135508797083812499489901274720663403721961057063837297750591764638392783833637583921, 144819059249589242288938503076269634974442361072486564548925989444591284339592034980591012992139365605607831955970015105609455413507455569299058223747509724020645273725966147218306656926767068358980889406690760423583220223336700982871999841470969916540242550715150290446324443270014039964554400927215811496511)]
g = 2
factors_found = set()
crt_parts = []

for (a, p) in tqdm(samples):
    factors = [i for i, _ in factor(p-1, limit=2**16)][:-1]
    for fac in factors:
        if fac in factors_found:
            continue
        phi = p-1
        g_i = pow(g, phi//fac, p)
        a_i = pow(a, phi//fac, p)
        F = GF(p, proof=False)
        x_i = discrete_log(F(a_i), F(g_i), ord=fac)
        if x_i == 0:
            continue
        factors_found.add(fac)
        crt_parts.append((x_i, fac))

flag = crt([x_i for (x_i, mod) in crt_parts], [mod for (x_i, mod) in crt_parts])
print(long_to_bytes(flag))