687525758727618556918641110675508541885764301266948371884234260330572838433810651584944386336278559224949414383677086503234450751596053952779969140643328218838219251210147059295065627182890912147368600775690022225853136232297141882386462286748191728046976148049856730339378714125559941406097345493005220235783822264540611654386617978849980515454578580583574435519572499869343772101615232765686700610278043320650638266788006488420831193427888781422507383055277689953026614929798676728378031713969138786014701991880975931898877076986104938636334468606423384883591438985836926147562116061843085073615499081275549350158311909927784493845922868514944493625256757121690216318287812185834713725110211922028991845537421910514778733413991800854612154930139688507966966593075999649737561943461389731454626890787949612275362882404744995078398134939426167143107719242037269806635924047772129428924702418089344525997944867206720482001857977459540875913794017197098157589261035827243641978427646739855971234373946726734473515541013835944966226663717137781925395283066887954493234154927752719467009401158748852155384883612058228546116653520607230706794179346829629716052332267387332407886652794137668628763125972450296378716182267610812108113548426657181501372169873821254190871607263254245039161780939592507686240966321347270101147725051059611691989210273741542260427987599723884825084778556714745688381727102812281236298421366337022372121978644371875275834543858794537957400755339492136208475866044979594684031402132706696178311913267738997660392019820447287498035905313988898385999978318662996261660668921302653285127177631294769821317963153223132703219376033869210449391824334208211846825373839202473170910475648299174233060678273311084225223526697986087375850242825462747226553379469133282499245740974416684499992663280943789029670823731055183930281685925414874609278950434815426455567868982660221855151693576017944333214469591292545377793207939086845049507399043216383183478032699688849346702599537821611436504462494577597919105234968518942556293454986558692523541601828447350824108238148762788278555823136663257257179254560085998774668820357198283127213876324284287445187289970281006143696701258396866267680526266472476714845003107131366859094156979821707923348085321607512810459856279292555235852216617850402674215652703871657839436413431347895739672929186689821567729004444726973887965623304778188370745698691533072143931269615061887384799765444499665976648489590210152927675226636814547221066212259688461882280922929829659566184642870627078110665582287910457567407073719036317715149424358054654327245659854699279235682712896332541142772056498277673916459486116101811154175800668109281265663789078402529410709009219867817826539795242828281173410870306649349579713664858221247608940964341820614998758991957392189198982164646965482086352769611129667241530565809809984856506854484211734583760876188562370529931895528066621026209881719442616285649158753831787957723498883766272194968505564691074651266330020109078427278374438864541358817042643640727811056658327543533346538778902381344274404096633886898415821291062478478244227852970991629589303433691493471999029594282540496747502093868708439510399955591793559760566463528825471026997310122737771777130878123499353253253860447974282204876405789041860701281354412438381465044342120740687675905288547064307621614621291905589889226162322554167996977115866874885605588200240987522958183317472596534723701268856366312197274423037129019708805271633749028990052239863975111673980398397657565321960042653892126640556785536550672838195538317408969046860483754772029312978993797258100520583948840481144126187918711545467179590468828862069535578233619268216573573899078223379847688371398414253215144376386838545253861414519096284604817246361443337326469482509838228215509751866406672476957757356826059842731292410144399947258391553764763235299717765111795641864005207214027542402843771092518544934999727782760793646343089824940164746731860575914224221112821215501789330813956754762193512678961224331519120752903330202547681643446313132271102032102010685163824648247558866586094608937972317314071676076635090267212343348752492163993184942784368081485639543095668037749945414691152072370929898183604152316274366416678698417732814832276501772710770886725960750061334356939726739954837932958322671035573459722375676365917920226433672840281836189919294456455158825899415349176379161314511901434930847261931096905222862371954180878285538717460615176334160689649832232250749496352996384639402431913339245765820979361404723804978295919091852750146709270962397393825884558601535082296141298292469823577201769544183254466322825648881987364770234776656255775185461562678226935653157481059680220272377914773221879375835004878701548813236313245481787198102242675261211760145630724732675974219419353761937354702461797152972399662279114883242887724264456969466535178285363456658611484371868397073121377483733266426412222870714366641404162456517291528241288300544133787188756888489844515959367615289216226884579408986820607166502132455666225251832675064153346288426482495893158102059289873313676840179284186515279171359592467898888321999889048895318291274894215879629804278469879413398297795578906193855220705429274727629330830896710910574171204361961384261979790284758609051084458523155139963801957853208692160043483217729994742392997448548582306864413569950419163061160853692417554343602712760127134413795841991874254362337466039437788931579489173304181211577164588781415534241716552846406207224737829152191976581706482124897202956348609875714560655268484156441543203294431822159012747280847814467077646430834125647792660007643808955191272346150022668681777184402505228263539508149822576654344135710544375254223127620985737951456971648898394948855776658995977098669308491330087663991153251748699245429933345173