683466944475337192394167188377517190208829973770532910817603189548342324404735017809341896638004075929798492380491695832839791997358873263794422179214848451605785765961159860487478477808147349514930350461151107464996349486598536408858293277515434241537087432579349077303682690424319928636377663556148370182407522246076738957719366113316219514598863625509435644049612687057685974355742984617058863609575146906495666651734287562167333321819586713831551453634266659342579465359376486513302106914751319080886166446371381200697768809558586573025947785645521406388812268306424560468438476070307682117968769376400740437727157978043421182345815420871893762222621273800196164354895455475414429531942763665429132616474308599623260621998533334088839971918340317747184240056634217026965278417062614480874263402504941501961711691589590949685620747759881720924618687132431200159339877647252524775862336331691600132074187017731766654889571838339344834744343993579983874007614441631369226582018314473213454275046866556940565526686181299212905918839349825347430029867907325256609347536785021447587666471168567225665850509771212947987111973173101641698441384511870815916726121111412993420543107757592760769983633010283149940789238407912199315587213302426640226231260996429747842537751853344228905118901593008449898763163482659480503116581073861612150769232258168744484764640709773076672484637988285206330863380413857613536529756492298484624118167743635590594775250194136556216100332970954353828566029773836362676414426831774013909466621999872872715298881910497517526477223882528849966442774662717979373947958635195345551946255132435434933185520042539499732828603344194454421219844732137128560721653815746180947173462195166172142415490996157344625483406688331664261651386381551763854179056635470922261597600423395165965215711973898614453472756857809790839212048312122930749862273666256634206361993212741176979409132083770653777771659886140285679968740224949659992725267478837748351848092493694167298596546192631021440898105748409738884974309669655458685163245412945092747427944136202401355060826413449779877131809216480861375919124857132279939763531134951790481157131684244878944717398513647749892533461865159325704620256257958209220629543038799589350029746788223363198165091301255557151727587500951374472425734313306002336164969029233443155450258671547292804390597144271164404657129041622980713883873172362072226327425810775608256672868503624718466035443584898516958551495327636105166293362687865656194715073812251281178938414026727535716602719226221715458575381303246166298829896679841417704116811537241230532174978918247523010175521728656496880347962106001448862325117454956938871465474019799632339013054749427824968228969523543549290657414836335817028403596938139286632256319533246048212733788591402525817825939837327649673328791733656558630916321465391075709980719148742432559457799863662169972532698922663868954966726024916955401434614061871620813191013677750243817980158249832380447578408941555977835590494072323949135859551521221893194540218857702498796403634718320784652683076747812570854149992953132480893110554690735207281347067865232958473986679082286637404111747491295900707068928535605734405011596570608873373974591538944759915847360663725056439785028311205387184114405158717609331240354239932399188573474742590488326691802610465868126529921824288028297596805096598568912420833776988250356459223681111961524838099069694174898093484361521146229568714769894448687743528445959338118905201357458546457314698993578628305772221667537001174260867677146398408667877744187466269612704101589548659898583615882334517929019260887974907762702324489601866150477662154055754763917051798627322192354496851837043499381626871679245886934897228610212363383180371542184316158717586924349518494235238706845327898768122022798051405932457965985934018286541688039634560196685109079285489458327601892319483457534127272363662498879080272570064915733586567103478733576786826025534409843872835643778901440237196785173611080398064781925149798518530799347251210278078387682030753624896289565059327573292877278117617608104366327674477845497241216957271864937839771223385455858993122539209541610454480950983058103495976218277191422651279934895195378789677410542244585789573164835651012916149057795286477477217439458488106629336039716900354306921690374936911601158965149054999355899873103326122844326452074589650666291472763880469286023569792256137276479007556642377383335164829393605489812432993109554898945689134041466058603370078078238642669505891267348913359655293630737190239667437588217395961456199035180405455858824091523796711084958175154015124603685587169438153754968676976895866372787312347440580923333117876653950764127245545498775503504407067368314179755177737302289256382582271221509715844526539531634870660412130341260496873440833986928120490675180628815374718294708206370112668311581307294488965886783841427929187179485003109932562725299609627208653763313431057399898986107611744429374130261115952368154407219574943681624618959908219894386587472370667263345462197117867403772439977162419257761748021786732218445344182795878869873906381299865401873530702974156964049969964217907964616146806070226011229598231367569844894236371211369430802858499344729186595344622000142968403606459766361558299494453086896638196713301309528957727716373350338510992534253996257142742525862347662385443893946294443770343078056533698635341764569587126585188754750238552751915321042480504038753905743751639968724583152649805414535798248734925175591591869815751679927941979402384691125366638272814317969017368922855178595553707285011462474655710324699937177068969151498516043345169862607624917397587080339018806931567121359140532722521581522330967823681199094319502650735499894549343339249815017932754825757360229047435961974024525781412206843304829431342430133699487606781956466622173786290593277745619771524522794616