642814679356929024957124710694371393953882496698719244752068533993773358943843973187322794657162787759512366931819979621597427061352085740922837424883140270454606846982448682285580449297852985457273014996113547349322712906750444163998368256820272154538137180964102960455728155566929240561857474136300950502644400067427963118584707799778950007552986989224437313298025872307685406342194822516751544215626392137012762679855617021781676713839268683261562221427733607985568414857744765117608858284955739416811633992089397110560177371239875177647007740648703734731743545258333263272336133304597024806164929051247060555612079040372250412441132049083067959543431998313896273491397306808250777153521160822794762339739568264446415585745574375169013474635767359568276155372927146723096242854961883359067047120359172363084247313252985221799463957921997089857677533158511457610491303890770145048692695843914255813397559764432780633837101594979567052147661056395387499894947674117146183498751700385414572110351581705835018856192546429971439520877348739306599721248262710742043750810414284929399282998990584979471451535678957268660328582739773912442369951174347885467452192104377750699015566534661618895404640911861363515464733412592229856518544816672369345751243088952764934011741326823354621286475543489344813392262921747524488908132433488868821247525294089870799094337205075746924447845685619805051596722406854267573209807367342289067914815406543522729641233959921035315974168697839197297462998161075341139943897384847289838421146157830781618641258255565021780286543078959400617744969636770143725998462976431612192081874490631490888696203721628638501009903192472179993161260307027489046049170489064274834856478592444701461990973936869878015331279538680551694291659869551838683076898764496061871630258375022153240777509446092284517158615184398857214760223653545914455883859747370261434752375827182051809310848472264339159575682044319392783228194171156227856433965754236105343766288547942271127231190912572731114477623842111201955257434379308488965896225597619644550106735990401755996473475835378039681082970433154815788554504316904380001544139667422462698190122872349256095267186552816156736994554410378158376229716928850619096988773748881912622372328483959067163260526253347151679341125160771421447132854589629784991925547823483114819554501720643626793516287386494452373983551873162805476111263178585155402757832842378463260718137434340841319951141412359326265957986435157761306327735952303132981644545640173786946025804320437384378509516810348827903640565629357410554315297661152604867529607362719485085724582235611738149065416820642288216832645698021133105591479417192708507359629568481758385544955745707332781034076453338772576032987265666197120039169526222690672896767411665149610729177674794090496885273964776064934759773661643417114053351766382090086345293867228476262508559443743989248140774107345288792801445130523824449540022918249278932937942668221666633936403526737580792908554323906490946431902972450692208549127179953675286861093260982653688932256472167894164647284703388178748723899817257957526302192302384536230572074305120345730743333941125637723617481577184418126266931319973116120344265137729209485454303981052983353962612173877197661869827099015222546356013352320566291233436030806120147747287217905581598579658828383252824479833706520672892379748983414734977919053518128174436933866240280147956696520948227503727457987363856882678968208583389911647205127810875416677248536634127457149279084740792970757916953289022976931452134803969710499071229879882597503730585107598278431115258405666467188717548219889582022191477534544070943551904619493867139199288594462169156746969323895548919231545677610529291502368149344578535301655848725501461248204091167515154937705111196374815156396613796168725362245105608993352102177858134430336027925996432086596045391513777385408755842858424128443642516416574110766043556742776006265629446349987182671858340063874117615241390381169563564686621059623658773295114718473311938216641958302365985356579626449469863814522570186997314296281494738777664631699021853223375198851671111358436897226126349015925957683151447036369354985721993815605182996738144160224411552987228126174539796267068730566822342755227866593760443415123589113413588177061087886471477004062213356837797245895263309783924244818909364864086349229974169436278249179878853138403001284545632171853782593349561650325142524384223043682745682412530835437287459596189355357462637671711226477929364554658728853051762282966649607466872810786630293890928503846570427426368350212426586717224694295847398071106012509142436257305289434619870413856914191475126812474656451112119621033685617921032586102572907141376069663925780925970214640836491241135737899451609162838928885952394534586078143370758678622104978405419327585620636328538036290545156613966735666614385787325622011171894411830322087955917131288280311627505737910666338871134773532635552392873995332287891020265642270982238137574971389760988119238092504868158526219485223640679638056768836555756585298967384241843489492102558076219260791957258634820628084541371388862067026779520512569753010981119595716551072707146465009184676123697430252065940114726674655720598371988771647311081489275731303762113637402992494967933390209623993645127653776728208558402869321959838449326484017102697912505697620798099537062815246607230882771824901406586797916623919570194311277120957770286666695042796258043326232983540389119248189697191832621769755610998941273835533205409574510329975604629407062377635149516802466792887334477722564302642179056151995482769763531393761462826613316462779518931912927751678403510614873471847674545766388594657179354950111506286753970821653229727477962753521009424652572016057691534743728208571182502977142481214142165228487833386463300099723703