343046929874133660460177491833991768833466165524675613152886512228440596395138730026341358156466603579269663705765213445795511238674536519191271825607949953488091433529522051971663487934066942586278496914374534545018187372330773721996194066106373417104515970239511596308443061485470178257793873967477117600572534628553586812121431859688957195875073087372272027919149610595456975749914052055690267566971883682742361482890154350884759880558851827186515904590150218562801637517587801188252876901359277186487229152251225465438540978070822369594247575538413852305966906141889448570483735169890378483772538127286986144441050838846258918499448375640495292451863462660587227662161556847803709794448844368762069483979445495881435556139215992104564179096821061492975043765582963991037933542774329039839622246590714278899473738653944974576458440491252294482147988637469746276439595150451363800855546683803887158956830878330928806380110850506909834064221136923464265425904957956087141152751153140136951491638255860136684313985024764432406401361691816357967375184579019549420069563727636468879436948719547838521265200252718492650454265464126539301199117909960016785069187369688033474678780051392319880501800637153129842281858219569692296942582716837177788402090266264150249070859413419157293013528313897759169741411614648870177377927086099866843150428945905997268944322733675491462450069346538557816651843623080116133827277297876602955972875519996213098935075833797553779400957052195679665943151471016888716251058145541939086516342343023727140220985103866974861369814746318447209450852778552670821146632917988362636023475532119283512855282911954786410220079696793279359319828673246266977049674895228983854957457590171982571886305717695015446896238678733710140869655968263341370289673824748245682204723947920304728668771265558021020771807008646748047571492612894004837299677165906311484011758206399045184033252517378434991824968882961622056677320473115395530325799953410631234683889675314511273374511238292112513046566059958821157181123681647134749832135818414261262186366991490342498849314783593875768062381566689928362237549398336500902772134490316946211824109946754225849145785297765626759047176744375328823962162399563384654084563737238345247194829448333346944268563411418181176174865623601470135230946158132585677909990284977435904433534716580942716615887397542865476229069013489330583973382857056441427460913432832390988344765667052220363704320708733873222775011179512176835284793426161433008693700467993034908137874987291108195288319796782780397266325098715458788074805173135840029116973814897555658895824068526763351588585228869915051844664110845247835704527689447479860858601981934698282666449434933610875587969979831476806703332667568702876316645689377676034833396573687537450872856645127405398135896078140914715801276614625271568845322721566988432012356156771813965331465199932575787327688624969638582877886977790935048526117600154831717117993438333476074985275800055664295750425636284683134927935999256141248123687042293331209775342040247491123073141854265464644466042595651719131757658474057998326393487775795287893072839751277371198255742808598153330267994076149010204014233943999523102892656417179646183896601010025060308376393675135928387424459811452673751530896952365953992163410931409575991184546173300040936778527721241864118294267667256958311054868824362723302419664924540660592692469898718835326388838350840309523105941431263507166631735244268197101258752022376622749092393849281458637977227359019074129912318367928782162178938255976633204372379237354223895327885223530615363742290916741399638649884764566122593122639809453562816335510173852910669691549786592772373558777162745615355524843523365488639232865794436612597522687042382848977231925549229889742673524817422874271764676412411554730584274820097630119075327562294852005202289853675947218167053269888151771805462678535038584905922036721824530614671138453656113979602427255084775948589808305259734057363984242563584302394019542846871499828420348647023090666946737747397824076059401490018184672692449803191483658574379686478911277963556467684098039395798863283707134650768317243976551588866547335917144715865558547330879082026202535473595184428054944016543050126297112686263059744399566841361989558718982783322569088568400195841221499670883314116845539819376646255654987875886383719584761450877818703786092837211018360599085232610529524662662445264463417966749654952214650855304338188492935287323482414356015313255898535332839099358733140096081125829959203870951287663808647491265593841098994968901736778890792211525432629623010091686885755619599846754652005754086646636966959161169494351978182228249823933393421931771292894684146837524438377470120865010938214597731675922811469411511062753482176660680978685786081238140303258851827385944241738138482059180523826641541214698088392392076229294515633114225270440252649765644816645911489842721242815594056394416897398264686148167108838893893911339697840136164855520124208730657147891155272222380824417744604492955730092232324746394299835993018344984543082663624273396925067885621543473484943475776979562723498938241922909375150245125402667126282352232379937691730195013722446267851012377760669413235634018182523441401376654559221997928563979666830504681765669915312664387346697699352622686934349912874485294311839508345653481878535847808552389947042402570271808841109574636325663765134806614095269247340214687699471058421633764994645371014916324621064305914715729633057537082327632497287364873534651020453581980036752740810615964142717284268260446619496566311493941561375737328670289570015881994367064497735709576133058107343633295467776332388236784056531134131095908989103488552478224697571584491719761726528501252954096187847369467307538869128600636544947466366464480567569581685011608253951253129047343923935884479889