577942406252292681537445189553998736240697018191699654036639957292449170719748125591483815275152098743336272065697904011474262774369268097584150258462746743769315049477692588027368419042521337919778356881674173369394197793038927180377657780322157828595591302642848804861554647833792130835071318279986133179298942888573649021545661343630324775510237620123061119961380494441327621591908199674176232769670179871999243268532795791511888417888731577465815866508162431764409907312209179920843475348134237241685194894321876503657122916922914297956189174399349463559951523421220911893190687900893168348609247845404546625657153638825656278461552338776977888996104287837931423481673959062650685887076573914297610212531469844683710843906683954464884719367848179986280663724247332133783062714164172961975350505411971982500960674142892243943895810228554702365535766778957493916603889338787719732565757889439132556801550541633434684149630183852569370094294647141279161345940877241187720475431829003325273618025363175612224364433923694615871889854391627323557981325144461751532981414333152015314706631657471059513499859631126954652693940563243434053542480239219506989740358038562030555429730364117346856216543593759542862184771637743891790128712587452765190599912472624329142905440253330973444838467679176753866726964177272555852356860325532535681961453408419705760062246546221312411185140295253144526062038545857235727110845446733458582577131569901616846619200197748554933384221422318647331571679334255877267492691361791779280576859646957515188828904820434554621193045349550849432972922937552782385198278783285471273463704773507441147787249803557878226389817329792067322392752295104856893122948985889008208282623948791256359552235631962897153150586656748631877517695015803653449203995307346796505976203682716915973846488053115519062587116825043985343679858941424663324605439447018659451163599318233553890046872899827293784449200068054358375469182493882814061494298104614039809262320411258504912175472249113401043990471797520433975162561667281047125465353462134829689486499964834117433027311041675046547861593158271668003138396389859318522860781388627306255693965089718318164324789481585285966879342123187219782026287810082688309289178585264950823716170658169593551119454462567412657930166717233945867439810915518883142900741752638559891937347408800806269073775267479491113590896835648715547777513807169101392290671833575996497482965384159838254838262391618165230709337136638049489541823059608431484381678973334810052931509568983952279725999765953168970189985350390628088236763820606931273399729774313227026656336753346149984237927600626087165549764980116789572424273597758253644816400844492589503834577438676295340062444136715210185218102097484266468589381090532476515864668398633484088828506228500263027615440081631132874629362652622356949003823561285497960868425482934198155395086934943573971526156984852336379964942236101872768294780810519854846358422718150825164781891798095091249792111783918921769744770126247456984369422858642376728406637205854260877554954664802414042125064435041941325108014489878952244199161347525277479999298588683404471795794572907421567245686613223568841840383059548194241607621265162069575389995992260196216431963924323655421527674003281795858891472341517389539823926069187152675449687461321304485048621166751497529658584508614304761728352463491137225670773427319083393937676546380692484103566217534845687687411652073647304933839592925178568708727556685849285436138785463273231556595943046299037563590807888789716762404457795971997959167173828830623586157132144323969933057314165977652324539597038733443116829471783505760994669932975224615839928798466204882069375051286330753084167932618416158797082718200981015771469462304884078470635812965995530655362026844828735338368718819295531500378848380391449032788859969795852637215027175990038875802918181908404481889544544329796093608730838359188246604122910962248008965860936687494177730459576808687745098237342825991928872570209064576142645340274324376906547860435286008133547801974607712366932406929550068794643885722136199797177599641518780788893319497940451374294660149399238931750704977440034362500842658234606319851741983486973310526476514910704618871944638897295981641245724913967578608769589514574660742783344012469596791720998282509205559766947084012338127717984209958610043751591558573483482839376205828932690477322607876429551670044128897414478968105018025146539369149174993548468941314549433661337719923387710100581190843735271228222778863164341697132853884474404124165713754053811349311392284542894418862519602197639209377221589466015189022313659191456936879629176443929870562899412210526532564581123460566219737605919586619774778347808765674618637647444023309918159614588547192281786393293438967186759732275552568990824882526708202571335916089150350092469907956784851853989980839667692014837430849431393440360927562966859907515952292442376476249622174311518241227455695094657128045989075321837629704247623152211971980015248728430131359471733364956974741685884197199714391598233502748718229092130597514077678527783208536521151118385470260189051858851953817227749828201959399519975228200998932733855778835953108332564835575993853523661049621151063349679287048567894891111978703453183247913630814417658279294103861557732427323746924366484838051481615552599010012575858415497583179131159945398699794999659265636248516225978588942677958574348872901677650789288163615485575884531970154562608397982789528431613815419115902581177259334504244894245274979398350608079982548717698874801822412414277735176532394663321474256295254272523287895673745955848478739185718184934883706749541185984660327957982401819936862932981651331138580429903906149978653473887543588103671678580138742063538983012181218371048775684425706250906584934693563359663827141425733543885099053073