34493902291520228329972573180569475384656192338612334713619913772716654469647207537196841966580336586138316420212088446990141622812312314159131743860423583003232143198170697652384552371118012545856518526017015415678639727838579984387312554677475522614589071730368151824431757787139492664165366024397868187816732968225486471008532693565307711142113356838802913786079137991923472581654164062951544874485105179477685750888143411467149407228787789699697635334658287586789308632532887909289290563501605864255586193909543356468462242299385286777905178775782561105417519174369999092904714624878082653275620641290515655145527852668778417159196688009735378134038373529310429731713267908427028346884275243019316968853162759616145290806996636391236167643830767479433167907169782841796023328748442354193844916796993253007432597817974015567965222664194560959669690311337011199940487612523590510536478595925616316932228656136086313620921531013639238717258092331409793646907434951437377821713961232944235948338059103867425717839146624953232213355520537570045173316282954737146013573683240123461849432307662856096249379761842199127937753577571296191528423987492385094132253431645805338266278557607470708683945115286353130757813503614369439543841776022018015133459350291927174299319464968348818729688489732746235502712741780235827743922120168317783112252360173194683843814768534127262862215755514366796640605108961150294454279845374866319358147161989990895570391576901089464673885429945694448837988252466998888506346366275067058209149806158332071680255535603269911096361754464127835600540793769226799663479806440341005895600674208402278462025238910699264339739564878807758811244542439569737776281678491114137243457231992432853665556473099993271262570909010701474361814164714137027647231926137399214899654178911702901164051347609791819072435155434571129317771077481446679123766884489136573427852874648649471371170164358724798377847703460781485309456591222166714695176125129913292566018707134364751550977943923245938162474901913521416133691134399710817058269111914735516091254160929827169525345834901306394538572489525363157983652353751417514405235738805644049041169238102839327011175960258440115129238432551720281423269053328924683817401380850319516404959532806539682782061571548904953596779338712659065874377730320483648671241292449240795996532236247411821592261210951526775577362118971133862503760414254936638904218933292961368439605956287606191283827896423926376204723883596663355747515503253596417506824475928699136345557676300193351495253591770485820656012269967636019651350950321772134164019079070323749829230505782339454289258727260855816115519651506539795632817333034293352669806502427581211459524432528814628952351726775050360469683119618491667463576718968409872414648876168505820981489933200012712847216667887651120152556251223147135605693442746250513882720848953189602425128003181118705427574499911309189029998477123191881135646673698739775541414136942193504778626965488711753201502604527918827491180617275463370949049368587953078853148927168553155101438477410354508511412031235637982530226615629121119234527515423171290294498324620753472758855930061516780847934411846494441386788479330673507993592088974923815819603571307614502954536982549555178038812680367864662201337997998861698447377782069343510310628220194050714486839764587671530510529029942669120739774418019470342024080931520166719919118615093396932897462481890048501292680868525910615667964282201086117376405052543296897315906167761413332261864789936811911533935685052940738897528789497076864743583918753269961528721399126385764813529190076941751456565215110882212152916972397146847544831372421844231476888148961425664971224348157710543156334217775735185389834829065959416380589041904799432332160916738416681572433838197574793198808884032199816499094209190247425822121705322892546202182261348572216730614099954717333674021651658528748803940335898277840611547277030948824651713089444363254856361332239008666231974972835581529595289149399931836284359958381661239660503739598391544721126483877981305275820538450851256117432564995891745274645798922746115318324765960896406076198576992855423564952058193590937439353517565199773239132161767910851284221530399446242325876421780413746203965478939691999358980632513626814181965215259877448456923695974303874872859583821965725988948766173819350310723643790336837601442167972082623773704569333926953957471117365663911591062233303189455948350311318227221628621981727134318646536555799019081819590638781667747356954355316738699697703482361255344419525470681908885372297192803438033422211749129277093214349411547502520932782640715484713934918579376955176453255123160184282207749940385109722916923758536249499161120436072496868101825176157417401188651622802358955335062765625671744283327803283116711792721306487211836898646021517763167968821223236963176500910840538729898154324222511940232637609172573348272671578907539101667913345160844296062566716845980181173371071836224733069513206514294625829627560947483257561262579620615863045856178185507868490861321164805915453754871369819889907273525399317671229813200199742347843968036612717604765362825944942861139834486237624975367062863543965262279467498861921728706352431701538284838959291954078995425519767362499974380135757065165114099458155199119374776128697059116180008940929021089863753827933222752364764816851978499999357358933007266445623828430436228859530706395312621282359259502188937338671824429124503930457675147390403521123843283138775074026181017705911334032088204234547111602779198714675560862739272755506581160959473573727445629617522096732891991167542985330551373979681511287627350239795079282324256233254417984871982428658399351083932717158160225635685605646684352271347084726999195207925025749965321196412816044018375022519950614636193724191633128973288825381014673160194615367311