866840495775472058048605874834344027589673574754595388254487669874915910495503657416216422256468665177788346428491562114354195239066516967451980477514718042664470857381502150452648601281808115666286621251080769499769534654376346743497840346758434020103348401907769415945753927734523645135819164965930559317391467932912049771323288369914952477279762491973515258897776099860769562533829727852427360788385193472672025223971672736667877169045274890796820608834287569913474242604777071734044176685224558367205319248529281927196954106894111952716998458195304891782721154104494268710297026161355968457772376966677709794950092750374423615069761210886756157614991916125849383858729352970479695936193997741234473606925222148534830750166204217374761692124458110361585828404040101999877193680961218014263259738570101951626979084138660121451458268330812515168117408536896540679437947511458363708540550508089265371922152494726309800874529063594799570599694617514590041203567547524744796410394166114369195304221372120704614937888694237404725480777130756411529303649834944223978899929832309253606210803858312870498391766207471707159530248323113123989441715355350271051901923379767858937539990775181227786505872063644530752947298713278542029385167953397403862315319166389745735719033635081042077687763442577471875336084442522229871214632870096236590249232539825335144624324291717023988517149956025837670013485603399139256364675713900185667232219943411141754507640959750531790425548665214909892650380571673772270810942460110981867756676899313249935501165556394943619968522394281357840627958997736837145665627075884233041630496185673902379349649986132791794679276048267311011302575163385741577315990804931248706152470376452625891834497695929983523620725162127763856729725226568687920674854102614708955827012602947154083642709210863875363866546244627299854594581314635147397276354313909676437874083834255144718214994586257740844791428909276940255221697939766820986320303280705093245452199692554005157598871935353368832196369156569301281217218348602733990178158357299339178947265731260391785963266968175983966726124159799359938554974465592882442732543534722355982739453704570266972869811693384975426238454634263906644813212804057541978243999013756851879941230271578663870154360662665344166092601786748454134217380125545311438502873507677639593559311808110691499451203438615416729837459279066773481257323081322329063662279356402750516828999525071711075646193646112650030373070361267538314909149648100723284676795915942434417895793885674837968002655650458081204418247412671219835648037890924757970432136131672378017139536105382349477611574890580332259325282487873562252525185660834021119284940307924457840013138021395774934322474988955298911180199637512392835039741986292053336322613741614109706999239072758418888754872491914389156824448568757988871286969152158873949959632037613287957869533070194438648377778271731634737088926999314331744744873980068145304930445141162334446684198855246703303537195153213559561558200767327085631161241285201677089032970410098118939638754144723340656768876870577686085639793698718352425210157882655935796311364118390441675086408823081057242122829672720832618862525007798352695570327343039227341161324344462597314417281480324133425943333008113562734552899357205723284646968972044249213058611633183055487275595742578013843837575175272558013996606651712617980621649630620613009948549917736581624483248878278229346630131671236806802700729462141416533029778545255552696528924554827679284149746336635982713187839543589353434889858865694518565345721595767435237757670731742735339735057168664637781998121615852182443897543496094452344641122764990517528511248759768067600462116407016151429922915653244854193844786543418728305254117081532328101401723390997788460437623744739240339609730369453353269711442509262581717328535546939670530070394923759826412102142079206435322048315444184150998909884565288915506240483537333060456613597913920719819123421888032246530109590215008760315270688920444325116345007155291915427014869772985666193631851155107458559949349083177004474122859704195821894310721744609792110320221054523896458069336983229106912686618504967613372315883893821892352604136956570326081493176781588634897614656194157786630628571120851891392800961812857708984645763795593715392341783754917769371481699261198388430309797950246177659622423077020222861145407516646292824257862799677114603272496577928838695358282262077873436824466923391671552857524364189796065399127184235685494148293398017665082214520296957899049358396911924699110820826116399365827233646851454262162117356475558832350494065412332716769178994843441325818720677137188972326746477545471539582519666103064903734582943813155891861611875387634436833917947941580684253208806372038624639664182286865640586994803170561968378906684390189296769757559536680928936358456205387668116465179128906212495371026211268711911278548661977200697776695475597436339121143584987268191657814494813844288629944316164102848255241318715355324791668991925906448726011556420391782888424441545762840372650843886423787531029900278599153696811982083394786033193614655326747324387544683580664792272393203403432047039037180415165887738063146360709345941697730372027649901533733172537583816227622750316727899024063917290731577558159888423873055726962085717172574146559845372075826791986617558817422339056585755099156553428347773649479485175475841190983617693753344026150162940166035580894513155934776722013097614695511705802345833438290716039226058476897286824186219673893351708063477237917685966756527360387428247385151536892156587282136613721309182204952974000788038403800616758247882748621302279776010859253208354487350192480092913721449782698826895870934182378791610912040754658082314706630927576510723987628536686827793358701388995818119795922233507379485865848661751032696037871544321044520762822027