347596829064405752002223690772325449819479417335742692063906154292045963701433126107874282854221632562630718213453881653854696506166184465355930388095778470314948347891997729189924154547533308128601134487010367771242404464854847241482098217555179625351925110255241687800533455361307934814282803824861449964693879525868100732861662123799314866635141029981448107619251453105627930285601199354746278792332571283683562964652611331874030917168740486329621032626020023613962626619642699645322543181333215884327682532728893678315798182859155943601429619944368824425368069273059085577157542903865836687591116599455544697698068443238179617125853158712116264562079397291150422183094698966112192338524073822973079923880592186206872169954904533735862831354933740407013578749837025570660439314203392637636219995925780230983725934781792266211801849738727409022507937291958917700440186897758461101454152172070177375636439584732437792973249620342448031027373914233304481269742319268054527416569357828411165773047003927362236141925421492795210597741882083529077444949346293293725891247096238394598699782365533022252730481078313753715982498230295009653150937381472567388913929240180833764664965988501400825356124072426458068702910138019604867512752382011733012638973332730379109578911419530213269293418954336792015913935109550641693541226471086810700974385825208664150072474081499810774505380861694478019520781434129851068585567501617987899248392493620049732283636894702160841204560894339481878661186404167763641894188672448801878733911534219753572275967742463316208652419165833138132261661723966676269751527919752957677334453402585758046451748250147139483690031501582886368698844293515644625353732869687277431488377996472648379556789287350863310580956202217664111219464997271826241658299679216109989038487759942767116572772078421718411113810769465674355728778993679255535150095079845528092617931146896689580789550134033329137631941574825342509446265674533636488052927304840444854674501533970288088917377512981893025949294748727933991798973563246978528439172585870682671277347182665229175266541460793296126872857759761083135452541414752838941184146898027308661708151948608382139886315641746267339977953197376949624118740812414899531457579350964228756865577033682987863523676928343273885341189068983404047682924892987147507199231460192987174647472621940820142667833756866833510719459078673447932494424585954252470787547834713684590989473576052051770664186585449180052206687429351658240111419127091443640472539636620025732918267920226996276166048806359397740054536846365898224650134415064156618794279034583159537135394046177880168861611626152704355324159586885919471424646885115887398461098945762148531963515795671728814286133469865414484800580782533694386571248895512911603138236713256734814628799171868536491615028762249441325759405925415165782564857187205249980267794625353389258124267276564741989991736719162278847626546368968549668468458235383617891313334731557673238406204941455905593627551462994963862768996318914976250379454630972768912749541113729891582714384199609350325382662917008634818359603579307113366449107105359343473322658485986207426127065142733384606898693442627189812715550784679845849903955282414502118220999996690932355686400538197678789474665175637771210585298731953925973127257385692682722002701523253779676782966777772835136242033130932177294373970394262276571161511275358036205034522134703633002867813023446646428806324185381019761354687321793078377714410024179321688906419106880511945009865381263491831738154919303999558551003851931412196247516146909479169293822855238416252239578084834543450585481524997596997615075484180615875900759087479451812617516598401790377651454988857751357311813521510844865528817959369421619659734736119661024372280219818298594232691539205434752753375890333403714315197978128016153919142989643581612651996743136964630322667656673373405046589622566305962467423525147809135554511922014732823822259969466626637247587935972775359558529200335766082819616111807689512713321521362379639392095826923041373691495423326064124742999269418583966751955641095786822609981168925427356331285164165003318573153281647422978519810596763039353157478282636163126605910878282095257967129415488152845092728848293792727584293556639861512106897210066991257729309505515724126812831111323442765820541561899982248619436069409992712279818489463211481254730501830635300844292173130751233929494589062626628653118998802683770286895235810563554098173459604202022536752814316938668017495361718318722094798200325035017272394035102935621725386125898911571462293938355702934817839824397178298588510688865469843512426295945889136638259529173672122578983874652283597457505854166992479702359481332493427729837502748708242995292768807708510034066316474070696290863539118024156252686908580198549341077744413286900456488196697593492751420746894709094666661842365991879875113923467866986783455479693239146449481808581066443111817315949848859056652420069184949653958989533119383253287501624869648355771477923821783517543191269960169755739867729343267437883526290761297220958131207398333687613236021897864961249306772382435702935684749423449711295241527417692162872269923112987625772529766312331728864920956741932457424472358938168168117476426184013504823285654457616943398411648218789407287103150855607841065552570026215680828370168387658304832709162531738689933961298673774114895009434156428787770256488226419591298285074721240634423753995612528258390030194782247715596945764055504586158077137418273640706673342093670399962329554160756586933832671281146904678996752905745774067852470488847136696833258444182454308025057910280395292177655745633741490580856511824058726458585573997742203136813436933022161930941346665748383682272175098003949796984861856262391242632475229949708717527273898591643152389529562725889398948211745207391956839667433776267890