601346461837452666461849344558127813977823412866791076861135273654433677092274914947231666333613502423850286135822958637367422328930818386377168052707719681575300142794224904947905812744204212039605707821847163025023233095898629998980979706628381738233479419338843182134474088995479739414243876607710221703338325571751848817895648536203538313342498392161723743435421119046654483319111379428177249731573908072653993371997237304420353244966047851224419548779453492129725556325074854148238375796543234210522302508836351459923278962155338687494448876912942014434828184151423475366781756568276498650296262447581523424176870262544835780661968628465722183168133509260595699986822262762943753907432860001964707963182148946610209688586304736746731489397213528835171614729261685471613656930539984419898028520990521132457909912788015125669025981847051502681168082255028719825220687612638534460492156115646904037303136255878204086100445971252271149576209646197747294461218958710680730394149898337842242072401784866404714934839699651297167132783740332760295422024797159288218532219837037927165330548332278663669961361977412118406635385460442811259681136199819721396101660449101768988972679959118599391979561934617072305411521177114603229193369693199444814755737281603271074739679910296487712550475340206288703252794606683928307683123284744415152224103830181410501360730910629161782078957323336594040217670512734317762265361235450977148582244759599772388925388382449366342754807740422019454269403560006931639339948628033150573110477194625820994338551051624917702846829099263549237877191380522297832097434076231479741761844159450148894619779695652491904582801403774612929877224619596613853788393839167646013904954908275648454646790427495497740615397643577527679620592991415921952089753051774874788057580652026781196747522581984779667761236984856462413318138697837598765320526669505622165094989283524482899230592972195529584051851366385119955892663217910508079180269551468786510063293157591982408919631487955863190211885370884091712320424280112523390282489285970648105451942492547743949773168831464687434813403744417754225452967149877987762811557882868907241133484022544874178425129463466794158176609474833724297201617630104520586648397047980990646536281012335101867122984858265546557617462797129248146508555303188880448869044914871874383966317171286728445985360763799568313525230824717442036271535349724578346543783799368825888170543019191541283467477748135679339006665722344902643693507586931347382652427711739316428099446556322242665817134492760326545785944829291127364713740391910993116387759426560554249372140133284955604042865706903544046795652631668744717330941499635198222281886368464179446910013349092900753898408687549318826205501334270901075778747916537822327118825890314027099842035822240143060376092797442721030746978865455341149514124747101280565424955171658486628157535409584888952088432773280324585191052911358548440392715239238810681902209182585918029482086502785149216546865818641843141664531321427649463226925850100726884286350499989621466293697326939984562073671357700586054511164322823906764551133258841888989711341487485459243118568381763959623261261167567160979988515196637715146584739350262058614989792278941884914577968034962432729279349476213936826856853025750187861940222240907603463146795232647695896109265925518795603255959668651812862858990734461633956046081420440173519816449375028614386157491215781641148391180056177832416748827499211432828587956111272301570570858094100689778046457155505038450437112870955258716112446472379091227376096184233199073741705337035794133307148075684273755796662302320414473119792987818577626774855256951691058042910482874131126670057126689217121957305304480729339002194214788049582798087332610445444625445961838722602746376879177221277018955146884963267587374893862899032719937817098505584564025601202304083018801686617414206496140523371823027467491512961243562396045941444573710303989119220604003253669641911767416591963331041252881166965507744656891093571644891018182437919686689813095026737975891371856904950269983961852707407219567828695620970883502672859794003822967729754337715532359427631817226798764678894468673981908379206897197978482516960749340753566281459784878930656836646799894658661797726073780794976207425526827127990365082913691347894788460327581301949872110899027355810339964274920517243385865836938613245866557213581198521034265133838493512000698127753460114720843724829481654290389153906843261681712936747480644541704739875832867535036959111244350476701933978247094708512496437666890856025908903848475656695224565774232592611888592777258992565814470631663899798043537130844528994434851704906233722102034573788076791748355481143600128359653065857349379410315745758059977534279334401011895997786599424994178838179723472239020858182799473165342484601599253936414821394073436924834507038391112847561799854854708384754679390259135006248338332452164493094458987237728687514629962855087886665583611721630583034665021527299344171706532095828148313036905946484983779590378862903914933394537659749262249406435932863137640014057566495079034467469199984696875954921136865698735718595575867003614933549981409687042496214072338341531279235394918816554308816494281357198526349159376259188369514369448521464599651969544976359492526884422916959215552380349622031978939374222894981588014675743836053678843711536172156227863655155647993730263012958847831706625322472197450287274928711628062137503346503239854568718651261639655275195850966451720781391432658742883649288767855777792015878848058184907627199195466528161136176726486530392757540519259304657884004794571228273073008976569374067408212599212801245341577769093097912158838795374717823185999222138869987670737923553548524987134290313890963166642477442330677718587202750674959227834817269547763229605141458641716520491870240328481367169011773989