1032150317511211867008746712307768373641123159623120771235486474487712457453568161125289295545611254634851918112602248359169131362242655901131871186716981132152302898747132273312197621132366338900801133343433905957133461715915661133474749660383133477707481751134341937413061134777422165601135537838510751135792018372251136597606223981138006855187361141008777160368714107106046800911411377272352951141145845761354114131125830101291415070413782971141586625424254114158832637078511416478235961441141660332701898114169159611799811418000729007381141899648607348914193586379505211421569059132741142170140338784114227491342408271423537786498641142476329487632114267252878812511428643075321941142957882851710114316862249722211432398013051587143818926844442114393651858945611440533031910401144068269862048114463638598327511446856248255981144955073513544914510497780410811452384617784801145265721079262114528322733878511454851934751741145542025003532114557121495743811459339617626451146015386946924114616340479528211461995910815541146316988445108114658546865534891466643405740451146730414756632114687190713651011471984178869221147305499611298114732887741035811474205496883251147545178598562114770472026563211483281051526947148548787340420714857049648233411490022554326251149134565623328114920458750728611496424405330501149869065675152114990503702602271510349348156136115109471483574281151121900668003511511334580630362115117710598531961151204450333023971513023893838912115130974307279201151311753161046611513232376137019715134241542443357151387245968380811513949680124448115155225217070951151558612030197611516560820757766715169505237192761151698273172837811517478594103806115175034210984641151781472473203511518020763683307115184629369705643151876963928860811520145787711794115203457242905381152097978648158411521147031641304915211850259705001152155690589572811522636906782399115229302533999449152304721339536011523472201687760915260251195636981152647648107956891526678563100154115267118362607141152717368293439811527421825834728115283740726028327152989983974049611530311970858624115311294202906781153127556149695311532121512076225115322748386807681153353162052687011534155007172832115346439674863901153474601670342411535922632306176915359499476798281153668635054266011536937035001440115371236604418751153794869654594211538194937919738715386364757693951153936740606914511540220670830928115405429467793121154060737443673011540987643373672715411829908577921154188181680120011542272437739490115424463780729341154307410203757511543245527191884115437207870890981154426274554768091545697582999248115459121404628981154606532194598411546786336965744115480516671379757154808460100605011548361375468962115488957781052261154938139618165871550282678804886115511953309481417155195812636027871551984942427134115525529677519001155337076242781811555041245303922115556574029891951156008977231435811560526034943178115610511461300441156121289238173291561911743021964115627432076817281156284292955983011564214677173636115646237903532761156505040685628511565270440149246115655462669313563156749770493917811568244732728172115694519677871951156946478209122491569755894662395115698394539485261157081289275698011571230513635654715734605156354609157360395186489611574575071313074115757635602845351157636107530707211576562544618945115775030257522907157889965586267411579099037054838115806943042831361158141436266088611583906375091264115844942618974169158451427352128211584660973801950115849491953715047158512027142548811586214379510236715876183860479201158878713217061411591577797370622115917997897367981159223290087523211592974530872148715941822189864641159471641304130211594930424123535115958863022325209159609641178349511597416280382256115977426199889441159797907936335411610128625298137511610129251633684671610169359304126411610414592289585011610638090170352671610694839361427071610732216131037511610834620532723211610964502598636811611091146404903211611143373578860611611161622540464211611268160695969611611438263048012511611538799432776011611827478299793411611867408959001811612124730750766491612136936053979811612313842640227671612425910860574011612688332730660811612770084107051211612870257597074511612972380955534011612991234409595011613079637334228511613202119144502411613207510589122091613242732392145071613404786485477411613507275309161471613565792934449291613573947287802611613610570558374811613765238552343611613817071234707011613999983382796411614066164176156671614361863674069811614438134450257971614482493683098011614575012840946891614623487821958411614636496233719811614694188622054491614788685448808211614875569694727291614956804560644111614978929254612491614991040639693571615315032396478371615346540840522511615523169366676611615547379316423071615723060763080611615834357936350111615912449605571411615968558064145691616023529281223811616077376703705411616145222137882211616779355853020211616944652567369811617024609752390811617029075373438411617571541670020811617943768223872671618009002025225011618207327616370471618368341200955211618546861139228811618566639508688211618651853976639411618682502660335811618875628732340811618914014319051471618953367473956811619006864751894411619300997869448411619352835256480211619537903933942511619575050466558611619965007828053011619973473740638411620126691414853511620312893633523411620427324474612611620507321233132811620553461919232211620573166066835211620590005507979691620705431441264511621317134581097091621381284676097511621422450578850771621616757534005211621672158160999071621752062509384011621870352467920891621917460031412411622244584400703011622460896218547811622586676683296611622601866533697811623357765250382511623552705982012911623624096834971811623651878268491211623771561585824811623872613778100811623920813153362611624029216988658271624087936912426911624235894785162071624351853682028611624437851454016011624744445146046091624837030868844891625543770385844471625646234993969411625647438203274611625690362563497511625810079321134511626066482785966971626537491038585611626773806530798411627022923663624011627115468389955211627285331074624011627922058542765811627974305187095691628384989589680071628594857265630211628868480688900611628938749921188811629510280120849071629553946172404511630440315760798611630470472488482211630499332024972611631047075267096011631309925414106371631482208910323811631535077076002511632230015374909671632504179622504411632658621270955211632749026609786071632778809608603511632789504405112011633103595604717011633242926023216011633303279488520611633735392073909011633885882044985611634157316730582511634395849590999411634451010707196611634570245690149411634829161240091411634851198577127411634907211569467871635249711373408011635406357838396811635450092365612491635564323809267011635566864220565011635595023680800071635883700379815271636002550345166871636076104607780811636093174329344811636353808438719411636745423542484811637342947501315011637401723471571211637405095462668771637438874915644811637975141959678011638120173183041611638404228435965971638730738064383011638768979999882611638867312368596611639181538154475811639304279536121871640450777329952091640660107274657811640959723844569611641326378323071411641396177456692511641526484344801011641693801388936011641978807230248011642511617642525611642599146587175811642909373644753471642911508428308811643237301337667811643549198076449811643922490737990471644464599506728511644469221112382511644887626042767291644984146825390511644996635862876891645139292021728511645534252152821691645954634024351811646066063293934211646072552608036071646278530363197871646348272046290071646518754540248011646764956468739611646812218523787811647000931847272011647434825874094971647438832210681611647766595063948211649130891433538211649634187764356811650062621094739011650355460135003511650476451259853511651117820234122611651389969593674611651453428526575471651515595070404071652514319901804211652581433571016011652582349958375611652781525928430211652783498629387011653730373706605271653892257583601811654021153576951011654141816692612891654471876565567571654665684365872611654788303093222411654803667220354811655592552601910811655684376977722071656154776421843011656345937104899211657493382050150211657546821361934511657975745429224011658200452789314511658860774228461411658996235028528011659139928114422491659214927118534211659308205496395411659340299317128011660063484756204811660113108271561611660241773608126411660272804104364891660361580268546491660959747768585411661018327097253011661342735165162211661617383868694511661746941331117011662273651394604811662463701922253511662729538339253511663027167244940811663032421773979011663217069794758891664222571478252611664496105665353611664504128159927011664761988876929011665163779394492671665401891492894211666057077176345811666066250170513611666240650247859811666752947843195691666824662765302011667452488152029011668103932640105611668220619724553611668305092095958311668970118302527411669046245576779411669488864740003511669540681175079411669984004326778091670248655358141411670448310266932091670505201805417011670533134054281811671390511116215211672490000657962611673223830625801411673334704364094431673752945367358411674023080130449611674039175152073611674187331442246411674291445135714671674698173771050771675048843868763411675379251539112371675638655178050611675768830903382491676512144050472011676596322922152871677734502476284911677745198233581211677747800785220811678370873159192871679022750219044511679115004903211211679261838680098431679521800072426411679841768551939511679869692400089471679892361803441291680003560882240811680249908463366411680420908189058771680728182944134211681121139837663411681152865248112011681274133486695211681293798396775611681437018124577511681830989311924611682026993632621411682273254135583271683009212372129691683087189735064011683088515934019211683088787741720211683718659331547511683862349671139211684110711345703011685154540589289811685415983776207411685656564615747611685684053015462611685992224383470611687230221191331211688251619414969811688641813094228511689435229644655011689450718087918611690293095411583411690681970033941011691047896163079511691697363652081611691784071436221811691806148789333871691822200507697511691849767441237011692422084143922271693237434616537011694559064536259671694565850228005411694710306772580411695334466049875811695491779724152011695658351807751211696169339586788811696215906417148011696304727857195211696423886651692611697430286647353511697563912316250411697679233935844271697727080378105811697815346489057691698494068944812511710132311838907917171013333336336592117101442864381377411710267794869930461171031448167200432917103643731158720071710369615141164001171043153212559598117104357964455058611710439493002689843171051480869858195117105726423536124311710589464802718187171060226040742578117106418937484992611710664739537413761171077543143845038117108425831999610611710983417661533241171098393226400340117111508660614697511711152060317523261171116884112786774117112103452311831011711223304080976081171122755288514652917112495862288046611711271055052383237171130722280607150117113676120194538611711379140720242921171146516530512626117114815071381384811711555034347230741171156609162320810717117113444397807071711716271947958581171175090281750035117117881148407037671711806417170248221171192513127848488117119387811481273311711943255610110889171200431920365216117120091977494484671712011523079860361171206678880124109117121284028176832091712185416061447401171230665893690068117125062871598552611712559255007352301171256401010339730117126005211394673411712620654244810067171263548269646946117126782534813866931712709273197408481171271865788155620117127487908266576011712805090175491717171281213895823848917128484177461167511712891953595231721171293623281159380117129761681960913611712979483099481761171301647907761218117130255419201604211713042641610330417171306349100501408117130894453270368011713096429672126321171310447522760784317131049957553425011713140579162809407171319995343423592117132264169828595291713262960007838087171330713581430336117133632804966039011713392861041811961171342218284165080917135546863632626611713561879196102581171365870471278775117136819289051232011713698689606563501171375975293443586117137646805582567211713905336227499181171396988911664874117139815843215630411714076520819754221171407767586122352117141264362058765671714168646103098061171422554710162698117142503345020443211714313975087877741171431853983116025117143219352663675011714341685515501969171438083202547376117143879426143732811714430042350900641171452228427531152117146581560998712011714664280771047601171467552501167742117147087664758531011714791899292246441171483479587841105117149252965680907211714981659856001541171507156284823392117150975041167897511715100276234120351171513391296402608117151633382950751411715192111853629367171524534605137656117152768108646964811715301101502908451171531849985011062117154774068759297011715561803818101061171558335909297228717156408266165193011715648765378749821171566797655365775117157468068998766011715891281238420937171595760608299284117159937374416947211715995011287053917171601264671116138117160227843899279411716057393837059961171607993316807678117160989192385331411716114799535476329171612625344006824117161865030823875011716360366099979449171646091203588478117165058390836095411716583258856014317171662269681173852917166235898785812511716649526568159621171672586123557125117167330171638146611716862040991089001171697386201679682117169758334796577611716996465844436781171708428092065110117170843421345507671717100034569482881171712235195971022717171699629454991271717174412776306341171721735672285424117172269307044912011717333405237457121171734914326170912117173641896578387171717473147028952841171753266371843670717178287850550953811717971190896505941171800089263151772717180637587209815211718230103728275141171824854653807035117183262835081529011718452098421846251171851216611088495117185273005592354411718554568817347181171858231066872658917185930645808070811718622315557827827171882377997504785117189012046868914511719035141775329751171903715854674543117190758674059430411719131226176989761171914266974035024117192373297284367511719260854684139421171940819619149694117194979985331718611719505677079732581171960634861815374117196152843869638211719654760252360641171966856094519102117196790765665111811719934757038192641171996426427730066117199935402392832491719999701605640751172013111849919698117201386142059975171720146917121548661172017497106290993717202873971987196811720311822331072821172032778847144762117203446477309795571720430044096493877172047875964683426117204854515143273611720521473938245351172062663324516350117206803376791086611720759582584018981172078768936389290717208176317745588071720858239073896381172091985245779814117209257174460607011720928640743820981172097680796979248717209990380643326811721031180504793761172104089009052446117210471865724934671721247138706192101172125072571795820117213953728969776611721578914564997329172170718681081454117217141105733757671721730145943978181172179393487982882117218334617606206811721944111345955541172194918259015550717219778110962447411721998342216620351172217217838388616917222089409944693471722218068556119521172222231964036138717222231745134513611722317588790720987172234392990147344117225041945704753511722544309368214437172256790072572030717225817432260076811722779023221474801172278058215989456117229232763795201611723090429393937181172328226478114719117233308777742874671723342984489508841172340336119415184917234718488068937611723564314696978987172357439349021440117235839684627466511723590604994203341172366197405374222117238842501384532511723954358856500901172396447220751020117239806908361425011723993921982898561172403180980639208117240880269549324611724145009522049347172419567222705035117243070560676123211724381328332425221172441467581535008117245714469698344511724628442438291581172471763596320746117247284900948432011724743042660633221172486936197215270117249061473994912211724996564664740481172500410642795054117250998110057782811725120329464575621172515635200247220917251969375375487011725203423481229251172523384519863184717252590873914320491725278356858892301172532252406634088717253532056893240611725448167805937661172545546890873168117255240842358062411725624431675958081172579393702395926117259420155048079211726042284959227461172607362448433578117261023506591804211726187429419255677172619859420068768117262372566598025411726322191338122241172634517840353570117263993050592044211726408846365231501172642408773899300117264860529318708491726566222537085941172657674010309760117265975017511777271726624673779757301172664026086982724717268661303101233011726891469591787961172695956627597606717271169799727564511727174491068964221172718246683770125117273125288993808611727437000103378001172745623087622432117276991383439817291727837305860883221172785390066653750117279047177133254411728078908521755681172818643632578378117282347467228003511728404801688160701172842667409383910117284643362701185611728505556148151167172871058826427354117288742081009635011728893423615483961172903638368863547117290397530432798411729050167211639681172911091827522032117291285647256910871729206812226016251172921437321830820917292561328327403611729352591419690401172940998366367162117294448183715530871729506219874915941172954147118144378717295485656743327691729642371870666843172964534813736914717296789582509722011729908376158368241172995027325560602117300180868921998671730020830945551001173015538743314898117301768453381120211730185228046140707173020393220495261717302058300519791471730292637420505511173031389240276096117303468542732469671730372794240919301173053201623854328917306331559804482511730692638006975981173071496180698244717307472161088208011730788310576025351173082398731270649117308405583519475211730925576777631581173103870603851798117314201413312842611731546369742765221173155683835439924717315741502079028071731691061748437841173180243046630086117318453032587300811731907987969276161173195109936432608117321892413630321611732222851097243647173238122936110256117324460405799976611732453664092564527173251693753390610117325655824314553211732786389326264121173279097878791280117330774224508615611733088874245940341173321594342480736917333067793830203431733308239367167129173346615682998920117335609221229361611733693738065827951173385775544121386117341143135797163271734169048093241811173431702257347150117344527788946192211734487961038984161173449221046363916117345039114755973671734547343219959221173459000257335458117346798245894633011734764763439341981173477856078219806117348099986816596091734831854759625951173489208109239395117350980670616103511735132835093669721173518070208409466117352281268811203211735299340091043381173537576456370275117354324875226359411735457983875585981173547895015105766117356138447144405411735771331223791901173580324270811802117360839130675697511736140749487965627173624146773256196117363452617540377011736409155453644221173641489427072672117364853573752195811736515894585801287173657980453766084117369174265435941011737032202044730441173703654565036478117370941454046697611737104919061464801173710496252251472117371422460167492811737150942613394781173721612825791945117372185532640363211737261839948810751173733342653266334117373715882418142871737403023101797761173746568830916474117376686383580202511737723802273561251173778928297743014117379800155997559511738004351813202321173815496534233898117382920603628523411738336412311564641173835699891621008117386401506695878511738733020326320391173876587625699666117388731813232324811738924545704018547173893779187871984117389610964555927211738982017053547521173903297391913706117390761631202924811739136430214844201173925106588295072117393124617655268411739330892437436321173935517287945526117393711997348049411739459263475422641173947117471624208117394808049523036811739656178690983401173968572783477410117397111717768159511739841902924544801173987382541385696117399200885262408611739979787054165251174006053222474672117400746978901684811740110228653981041174013351157893040117401375935465619411740252331342706841174031154677477424117403382364354948611740440963741771421174051833407518410117405194955346654211740656820519500907174073742368679412917408981625266259511741178175193347741174121675540860080117412673128182126011741397349895042221174170033915235776117417587457175706411741831613122029741174186207876134114717419433844637044811741946302444883301174196451712346082117419901077764701011742032196319887901174235115170633490117423990815255706611742419631174527701174246123515231304917425749184681474771742591673022193751174267784076986404917427574540364751811742848951430793861174304696497937943717431392091008879271743333063433289001174341778671398700117434563049597947211743544513266851451174357658622205854117436263545517997691743676119367818381174377022714979334117439360839782332811744061348366950881174416941349777462717442135622557038431744244141227429761174438268782370668917445082148100727291744555847131494441174461264961429986117446371707747493811744708076807415447174495972569025707117451875755135169011745219543573119581174537726826971728117454988593987666211745643612719590173174574712405053304117457963205441729411745802172502972451174608326123710512117461144806238559611746429227936817837174645601958123051717467217701176928411746834786210205251174697246180926134117470469900363703511747119897729270351174721737069173834117475310657516101271747623066249368781174763404255666614717476695542161292311747749288827959461174776319563107958717478202694146677511747840319957300751174796431749624042117479978784739828511748148228187145547174820777096205798117483777303122578511748414415054098241174851641204767458117485517803179215671748662526941561947174866514918908786117487238686794693011748792069627156901174881508883896662117489158173509166271749150331871834451174915756838509125117492009594728562011749320745186714301174936115352712425117494285475034384211749476834318401569174950041125420674117495494975059872011749607510997929041174975560091302174117497649669416785911750007566386219681175027857504214844717505280819271511811750710628260881361175085109292878170117508790060053809611750932638428525101175095339239313785117509904005396179511751040892282133601175121537467402889117512277513583651211751342294517495351175140550548057914117516333102067956611751691589796722947175169354117005584917517250604590163611751762265325227621175203498046066694117520902206933749211752112363472406693175214317724310464117521811040055571011752371231101639101175244640694386392717524654525278272011752569584938337851175264219500537014117526749542047281431752708769549840977175273941155438912117528375284521155011752858205371890901175289236204439285117528998055393979811752984646809383451175300415104313654117530325692463520811753067501198365947175308663932631612917532020331279193411753311456450342261175334535101299868717533625643645993811753385539545754461175359167438715422117536103636145334411753810953204428289175430709407390003717545660450747908811754718983558128401175484350128002462117548947560518834411754949268162199421175503786438875375117552392856340382411755250504849768581175528815635822864117553757571341929511755549968555842881175558880991929282117556406178753694511755704264325821541175599261220822535117560294110838950211756060611212216451175620563771049680117562342704726441611756449751877945007175654977369626294117565641948820032011756619853986149821175677673184446856717568489666721556611756900875017491521175692660109511210117570657962699070491757204948758319181175724541580275504917572966093610821111757481005057505921175756570667546795117578866377515212811757977357956350661175802820210954098117580929748274709011758285538722600351175833953948434904117585542121506998211758626345071252701175866357907953098117586794527296924511758810659154104511175884853905304304117589051468567533611758940120832548581175896912950411210117590154713683275011759074593249737341175907690312690582117590959006933444811759291836444559701175933547681246939717594534373788119411759510720330805061175951993050807872117596076343066182611759771461934966263175977771393849902117598682929080643211759933059922377963175993341073517402117599815454799682511759996244967830181176002467973786944917601029064253395211760149478897242101176018661439235408117601899615544488371760560211935168947176056476178167396917610705960882113611761090686255331981176136821133148160117614637286491223811761561082514222721176157434678300342117616721900069467511761739950028003521176184162029764862117618753867886726211761989079075563751176203328285189906117621262220433219011762155835117847901176227249460079518117623448869848003511762430556985978581176245472893868918117625330442514630611762701257506675041176270129512738262117627590161723566611762804051517546907176294749550601806117631903909465358411763259576532896507176338322400827294117637869805533944471763987766645316221176400537820894224917640274363897179211764069572318213001176413856020862864117643703136200634611764420215222939409176449968124160288117647342875257583691764775422070976781176482328743184822117648627853409663411764916044446903301176501033962462016117652135430706464891765256902747662081176526089539354970117653317124212517411765348717262781501176537388154656590117654775400076485411765516107586982571176556828808821701717655786694710972871765991309358228381176604171514038206117661021692184549511766210771886347941176633569513627280117665225330891004371766644580609079021176669661877903166717667992338314356611766908917069062769176692737738138575117669533466816926411767008096063670561176707329690222962117672359411424818891767446785559897901176752177577265038717677477741063319411767896668989374409176791158869313374117680341153743337511768053585379649451176817290010960128117682283430901974611768258046117774061176835704373549422117684640612770570011768550499816962481176882541268416866117690813822447289811769172582210660321176926395518376275117693399719055731411769355509055221451176937456478380029117695101576164406211769591335240505121176968074855411332117697128993388812611769757893544444381176979475001183888117698551018605466211770047070505792641177011594312232842117701327071890522011770161044230688251177019280654465222117705570577896791171770792218310888369177083939842841792117708839137986052511770894839545891041177094386656342702117709762145625062411770999805433295201177117104617910795117712751279646166211771360239892500261177142227849445232117714748061963494871771727255254017747177187286888876456117718774625091096011772711840917425051177280044298455806117729044216170626611772909753401208751177293980070833643117729594019708753511772989033396594941177299188360943525117730777866478338431773135455140900701177383442928669472117740988106097034611774151252041855761177428130358777730117743519202563229671774441979354495061177461497357971758117746359281211685411774640581341328521177488863379754722117752621751143953871775270893704453441177532796057903630117756520672984786811775834600895936801177605043147075348917761283810290942411776199272161650641177626969590483224917766035719049180611777048954187055489177727789306240938117773034194220899411777575188540656641177758418331512404117776843363987863211777736043852457761177787909351524365117779355434275078511778053589641215987177818928008143025117785304341057344511778694166360550427177876184348793672717788203335546211211779109293741150501177916797298927088117792210261394917011779467579131952997177972355183724162117797669705436255011779830922030028821177986151658210526117799468094443005011780073585513559081178044835504031018117806244479883302471780639509105016707178075261461738704717808112643198514511781037513511432641178132143912126245117815787374696681411781579852313546681178171833012173285117817287313703978411781787049953817041178200655598751245117823810590537952511782484679344135251178250458253643980117826751693012422511782808528206639201178281230733925586117829124999812512011782951654736609569178297601583501872117830142222932860211783090908775641861178309584841483296917831539277286929011783209820780496187178324712993951882117833288286053055311783492034115548061178352420510613014117836032857538635011783669233810140721178395528451363658117840357049382101871784103399559354251178421564245941392117842208769767416411784224967514082851178447613578007786117844840244124988811784625013529103321178495066139587352117849835574122372211785146399810813421178529815875886991117853270944965218811785441652531081701178549176487880852117855649595752129811785692088802937781178576940564903546117859245418988130611786028331006306081178623433788819542117862762543987716011786329761427456801178647645080711936117866289849511552211786758866716387851178681599497850545117871512578269067711787209012783023561178724444843704922117872727762530647511787454234515940951178760215943539137117876290975787427211787634012354004161178766823314662208117879286041265411811788068153140089741178807436859296075117884119590202613411788728376800857041178879028135486285117891200685049889471789144407719216481178919876661282818117893572261708906811789580478776250351178971356102253395117898997536309272491789906912030646901178999157402269424117900065397817032311790150413942967517179037619705336145117903814891313923211790381929343703201179044306066467056117904544373184972811790517449780943741179054435925983780117905870132203536071790807606813101527179089500689883260117910048644683506871791092005237366701179110518897264050117914973343952369411791591504162671061179210132751056102717921642930713712011792304123212743681179232231043202816117930003634579564811793005515445335741179307643330987517717930847689135817211793212857076552461179328634161209090117935069891211601871793617729784306097179365388425888145117936979329539154611793804378840887527179398056509814656117942470887571915411794299924646974061179430285871571087717944233288720356431795047376712167251179521610932115810117952327358938352891795254602403190401179543827165216130117956975593874239511795702793156537661179604008673791948117960558124920381011796259995878656501179627695073667926117964806439772313611796494442171457501179652319355547440117966413787783972071796793902957882817179702531367648992117970686921741629411797569888609538621179764721599018979717976552526542444211797728769859978701179791178148696581117979411457626387511797980007059791929179818530673284128117982757104737318011798643193080885181179888516382669624917990226825292815211799221334221357851179934330471482294117994547772559558091799644569601794381179973040990457160917997938890336004491799892427604936121179994367494045074118100063606567853701181001384626796769611810024747392834064918100461216551234401181005484686441731171810061676387706590118100816575514373701181009871375059384211810128850633538514118101655889308977761181017605695099552871810178005684127085118101823534585008281181019690114528257211810208108514970782118102091604327624341181020956588034240011810214811351496710118102174928567606441181021918348006993811810219516797462768118102258031218166981181024358909249262611810246576652726526118102802170613195201181029321721515929411810316079941588736118103226721600252421181032681530721027611810341022375867554118103539820684990861181035933222554268071810392165800919234118104023658371063861181042843584158886611810433271000630672118104469825597431197181045983325543833611810469526424033782118104827505767321501181049942486514628091810500164258799600118105047499718597921181052867494668715211810567128085513041118105764436479075221181058192799480722211810589781928969890118106123396355954251181061865138545944211810633819374202752118106396650261243091181065317102040846611810676408380091982118106906862197600741181069427104472914211810714265776145904118107274709512932851181072816270196344511810733999540896278118107416509595535197181075101440594742011810764615183271152118107774143704720487181077974048198500211810785930647115120118107918074280366281181081727138278501271810838531138395068118109011850504798321181091049241791741971810964468875179888118110359459667502181181104828467467120211811058530811985170118110651120577840781181106650080398946611811072060929091721118111141732593853649181112848447303225811811156083987949364718111893469104760661181121049705632293811811215978211942880118112208526937290169181124171457405874631811257960599479844718112794242451259141181130714063037720011811316999613222896718113477394525195781181137509213184532811811379908875952262718113943388743569521181140171265284526811811401818419410276118114039246677068261181141090598142027011811416079753981196118114166530862457851181144324720308369611811512208895662844118115199461205937751181152225234208135811811555826282993870118115712649880398451181157867253121524671811590218879947307718116164097633946721181163064335115461411811642557270587498118116629165648270687181168486822686789071811687887476496338718117091626110400061181171534217852539811811735157979937178118117418070895855361181174290760908457511811792689355089170118117970899864638701181181840383937655011811826036105414174118118466812304416621181184691277530647471811852538789140904118118558827480120121181185855331727503811811912027858473158118119228461097262397181196309857990033811811991054805592418118119977080211449541181200476455284288011812018125859382170118120203805938034127181207082650286291411812099404099471706118121172610578286961181211726807488315571812117911405503158118121490045151193951181215281102533144511812186195032649792118122004267927378301181220267940994467011812240138854677842118122746163216880967181230418607773801691812335256995467194718123807067781352367181238596838193005471812415151243290924918124667289109264061181249360599541398491812498742106647506118125479262185046701181257032470903219811812576643199803098118125770673253115801181259525628994065011812674015523828162118126883498980927751181275670151072587211812757390424566128118128192645359420027181283102508028746611812874039082584326118129032529082542361181290844043291203511812943395843899076118129456122308071301181298694033447124811812990877948246032718129968678681695981181303713153892092611813044841143435090118130518646752222847181307156122527649511813096233195307035118131130150320192311181312726381308667811813171756555332018118131901752910987361181320555477822561011813214939703301401718132598184158878301181326325069317202511813347398655860832118133511313414604681181336152917612352011813384865559648228718133859613859560751181339766001527837411813406432376169710118134114908350086821181342705070346537611813432685716203639718134703607649581981181348082142051703511813518974657440962118135191181723795361181352299336366631411813536490570280458118135662009204730781181363573226822083211813639576270267692118136535000144341501181365476046065848811813694804489115022118137181575300293441181373141705052801611813741016226266763118137435024644095751181378206279073384211813860127760635158718138641272574512681181387003993399279811813881363676352295118139199853094898707181392348489501526211813930883008446285118139474951369298821181394848792425333971813983619089744090118139908094967860477181400850264217773611814047818282220968118140536404079744501181405652252180108411814057551323767952118140807983566096001181408116296761900211814084477996634460918141016887264097981181410555750247297511814136531323040630118141575550469557121181416403269974345411814183625032308704118141942140606575081181420298116992354611814208571257495351718142101481274658751181421745914380627511814226411766268502118142373448041479201181423822566380425211814240522941193934118142541541611976781181426856409850369691814307983494554241918143129300295527101181432073644619956811814326620420270576118143328585759961681181434406479532418711814346067177148163718143564354104249081181436461965714437291814385348623144895118144108019304461921181441966552347518411814456035984621095118144826843708605061181449046951965165011814510093597158302118145174872731931127181453825344682643411814540833254522024718145444850466591787181457044364742345011814586681726350478118146000808339521701181460639087815093211814613431419972035118146493479967161329181466741750249160011814690973084174954118147195422152747741181473665141174598011814744750319174834118147842644771822771181478618298886837511814787455517214560118148345407243351181181486432205698797011814877292868820126118148791988016433847181489777496232795011814911432428870028918149230040431972501181498290519387803411814986160270137576918149963379355068001181502943611096287811815052988120504892718150571860658899751181506742264005478511815102981701651448118151139700245701441181512732117154833011815134027944990752118151366660568458567181516163159666523431815194483099746002118151972748181343981181522009119584394011815221622757041285118152442334038638141181525175090943472511815256096892912832118152753480657283061181528381259141207411815289040076201045118152899972886108251181531914182076532811815326149274750325118153394771105866247181536499442541443411815377823846019206718153924801120583741181542863562770486891815437268884359072918154426831321459861181545891962806243811815462233519070844918154655527621616101181547941879018750871815482014950419118118154893877215698701181550601588794509011815510826410467715718155273745875749021181555026666712129811815558207249810750118155750106604063861181558652544180355211815592261992615825118156131090159195161181562098550259988811815637991066924212918156696417952222501181568402114177277011815687821083872795118157090549053116251181572112877897417411815729503522669535118157594929007125781181579427514512407571815814844805222003718158167850567507041181581703832735787611815821453008601475118158464796456947501181590402316376068811815941379439696384918159623123024248201181597204340882865011815979407813398401318159933618625583251181602098116283043011816050244283312250118160836980508287821181608485824928102411816101057922922682118161580123087015751181617450083269566971816198637491921986118162287765157962809181623170494260247511816238874241150624918162409578969716821181626272133203513471816284620974619322118163231187866892209181633384286345899811816369774642119006118164006322220213021181640721339643747211816409306699186418118165044965568408857181650968780230335911816513220704705434118165200624796788101181653851198360086211816548848656062450118165554871635256841181655764513550809211816581342876634098118165815504000633381181659077006488713011816598685613008144718165993290087664451181662626264952048011816631064526823472118166473058743237751181666492682204878511816693510384674408718166940635049316901181669423149857577611816753182012448308118167547207482090101181678048847525904011816787772761149836118168038405300853181181683680433269318411816850164289457840118168675821697378451181687774564452209411816879683898690938118168842321625099361181690179344364079811816945455151373850118169561534091696251181696114650866851871816972340595093576118169933845933012961181704810738647442611817056397717337240118171488372686922881181717703651872791671817179348527070758118171796158184026421181718769181051866611817225267632357008118172573378990095841181725785797271728511817259881986464495118172669764543244741181729237479070828811817332430370837228118173675269601461981181738991116014363011817402248437257484118174368061660081061181744234822279402211817468000556039306118174794218337290861181748806523817439511817509887354216582118175163916624296167181751706150635179211817524250829828720118175258127746692451181752750300893002211817555450497983198118175591958132155951181756991004270876071817606013626878962718176073031933869241181761183473264715071817615359253789136118176217262266013741181766765195166167411817723588672561418118177252159150309601181774993904454186071817811244499077425118178321876347877111181784283028385909411817862635165577930118178782745815371701181788237926809914611817935555996230075118179372809294617121181794653664809416211817950442146254345118179524953697351201181798711439691978011817990043867111186118180006700497097207181800141338186659871818007941108212484718180635961642088501181807594252884194411818086020591937184118181346158028323681181819233207764017511818197031545541558118182103977451581461181822108743513273611818225406171772082118182546439803496541181828463593891848491818340912544365000918183598538142033121181836513809059858211818373151162797200118183844868090507521181838468236264905011818428095042045596118184564770358425451181845955645719165011818464456557448226118184728044512900027181848488890279752011818512879964521274118185137854056787061181852586493979231811818528523018850640118185356650276362251181859601103597036811818633044301116025118186793551537825781181868479189342896011818710678779429245118187303728341770561181874582013297648011818748525791586734118187657627500360343181876601651830519691818766312481204295118187986671643913921181882436206406351411818848404039358476918188742209659127041181895981538722617511818966130630611678118189679931329003741181899555410466488891819006608900580290118190186197093710281181902016552151694611819026497799747984118190276854795585601181904244972089592611819050831067348332118190588954868068681181907506292895340211819196932153165009318192280234001534251181924586047572829211819282178804875660918193074473739485227181932152861990331011819343988613877490118193655505799664911181937301045511219511819385329509502695118193956886377249661181941793742090813411819428991449815136118194298370792602121181943666789556684071819437586327561035118194779764484015327181948640836122703811819512845432177295718195162804631637461181954146392875251011819553979202598214118195613341695694541181960658784798772811819609433953482672718196230970654928371181965242496012237011819658490682616070718196662462550565761181968118926125484611819718795253239625118197193424842261121181972659770405284811819727277001117290118197755316753969341181979518831108860611819802201388773760118198534152664337141181988240190076701011819895580414605595118199130605498799101181995682111820812811819959585623894430118199602272416611751182001916546473758411820040543959472225118200426928170462251182004646876893975611820053451729865342718200573188521475351182006059645615825811820061206771378691718200770898627640889182009575105932427211820101890918806037118201056516734410751182013532385566952891820207503170379824118202331307871781887182024280255216004511820243284976329296118202500928141573141182029544498079772511820303677202840640118203134058252640241182035183516133506211820383543057751982118203893128714108961182039856313394086211820494662685545888118205126023546098227182053924201243852271820540883678160590118205638104655582301182056479889215736611820646005538886290118206483909684781121182071535529166435811820718074229951654118207267592864685761182078019488746654211820783366802027522118207949429644832987182084862261759618611820860309458137250118208646339177140489182086929381114043211820883274226300529118208884084657532021182089711182695419811820906944661988618718209126162997117451182092122367854028811820925953385074595118209398481798046661182094999666253436891820977373514810006118210696368747769451182112393037763988011821172414943482308718211737808256125861182117960583484368011821179715153102714718211989712102005727182120153567875383611821216887306161458718212170113711541441182124703126151629511821251984769023176918212534449500302821182125714643588558411821281040477117285118212870687543712901182133104046076760411821336002169042438118213505070282217121182136657854743212071821368846660689920118213728268590743321182138838216803944211821419379164941866118214369525213983721182146649632866993611821507695781651180118215239994434695847182156447027513038271821564533486409966118215680641965671501182160384469006451411821622274769169602118216281778424048261182163067518508462811821646955339628192118216994570194862981182171292190550215211821721962787314435718217301707942530241182175836803290410411821814920201068400118218228956893801361182183104268938225811821833314729108272118218578293573268501182190866005122397211821925774526073975118219426145177222747182194694301924038471822001831670586275118220696876290959251182207108295177988811822137876978385114918221569538728073581182220312123782592011822230835699870980118222419502542818981182226626230926097271822287641954127966118223248962014807501182235252031780066211822361709544066464118223993855793451061182245311101704910411822489088830219095118225004295119618561182250439605495542171822504959631410258718225110569550723317182252388395588389511822539953553868278118225460772811203581182261642272496017211822646544321048210118226933771019288581182274642532016530211822796829063793494118228011589523339801182282612187537534611822868838232032195118228788020657254241182288300075750314091822887045244128348118229196010230500501182298690946954607411822986973001783296918230004476882957071182301459810592923011823021209379932326118230245660726188031182305665255367958411823123234295104814118231406045776420481182314710195978144611823150422018801488118231509232351261901182326670681673918611823268712392839196118233108494576554061182331089542394503511823338732452203682118233606695221800161182336935176665689691823388666130393575118234093506070647077182341467267561277511823433422699111526118234399048799243681182345891509740979211823463801734061246718234681115643663041182348255843884665011823482903836861486118234844334871752341182357419884460755671823582177277493816918235829786516690941182360144276993021411823644923916499424118236662983291720169182367545117109832511823686542315229024918237374891042623951182383092888971845691823847594900510636118238729824413519251182387439793627922891823885885566001916718238987405883370601182390480801343197111823905716689415438118239109021327496321182394958034376652511824007758326825418718240135537339878251182402077514140873811824083516820349488118240884389929478051182410965420983706611824109806868960785118241152727822454449182412805495516188071824179746079562960118241811483382820801182422097549671789811824234599573384616118242967207212035741182435139214100307011824367624598338434118244511672623033861182446706446648516091824513623998487190118245474092628329951182456450909267443211824587065803455496118245999736676787827182461391581450534211824626588801519232118246411857231581861182464314016900300211824656450567024595118246811493205017821182468796969035642711824700072103306334118247249908872722729182473011637779624011824757677693820242118247604727558286801182478274657753369871824787513957200132718248267813517012061182485198613120124611824870529973342944918249044495986825351182492323754262953411824928382207806684318249665834303311861182499336256561384511825025036390071575118250422618410376301182508297606593899211825135640009701650718251572454274653821182518540832433940811825189186693161075118251894396454999451182518955003482583411825196269838739675118252470666839997161182525359034213868611825292710304483608918252959720838763681182530172941364248211825309896556718928118253152186171557221182532191332851959411825364783859311358118253892682673065901182539411696523127611825407288604478196118254362004125917451182543681745184631411825459829489997738118255443474424082141182557372408874184611825579508328354204118256025251160946361182562877880172094511825649877919992576718256525597860337081182571539853209773871825730542598474296918257317197472595521182577229091108315291825780001041736025118257804422600438561182578495722949934771825785421606590555118257887272426236161182580396546073599011825813484576221536118258196746555636661182582402096295577811825829695859226822118258306359858245441182583162788105741411825862481657061506718259093739972658601182594502799266709511825954921165180548718259809468131414767182598593927135016611825994890801173448918260260260720389821182606549560366405511826072365123671282118260784554205162241182609075736341611871826104427409697992118261064838833333921182615405273576625611826155844950282551118261570899427720637182619479402829649811826230468415767488118262459938976004701182625042925013909411826266934758637898118262930875875653441182633664897227647811826340185011809546118263668920992197951182638613288586214511826386157691152514118264146828388876931182644618061078962511826463272802679620118264749224857923521182649844107926964071826509931915560110118265266759131092951182652780077357602511826555580178212186118265701449989124407182657750212464026411826613706625457945118266315435289028261182665001690563222811826655315029909760118267104394796831021182671360532183737511826717010103442736118267535563341485141182676346741827723611826781723012034098118267861319814984941182680148436076104011826814930946537338118268717348786560451182689666778363391011826916377927227584118269292071234687581182693019305887656011827015724077045888718270160748656903261182708391397364627411827115947748297782118271220279980663261182714677646902320671827147337687959148918271569319117649101182716087636874125811827224595867579345118272314296441481141182723169910793200271827240179951212938118273326779800988321182733932950556731571827351771950344446118273922943708176381182741321264761893671827430386097941552118274906350872977141182749865137053450071827502968991329702118275131894257192307182752004168384358611827521163433017054118275536939880756611182755705366007519411827566651987601045118275712414442271647182759956230080380811827632650365867888118277001089385341843182770022320934009411827716197202395174118277624748638797121182789087521862553611827914408805537306118279365378667443251182796049636474851011827961878322510002118279816170194374997182802030015079310411828074703619081682118281130943727130661182818850139755822471828191728668991256118281928721699340827182823714169800192011828238090568748434118282582044594701741182838186794846728811828384083038022498118283879830952426897182839115682704155211828412553477121380118284723771692701421182851018190465995211828543341048838224118285458820326609581182854788442621069511828558455387624456118286052025272243401182863004241856704671828646315713911924118287561193837779287182876281475029399811828795772446476408718288294449081462851182883541893061368011828848264603325092718288871620181540117182889501397567041611828933720592631498118290311485638199301182908334227017901511829105834830057872118291096556669343701182913196441739293811829172695836594545118292124787540963301182923459746661324811829255200221742560718293028962225136301182931230398463638211829331405907604892118293339090712666721182937463150771710671829377869346131948118293950543494383821182939824491095294411829398349163507924718294054155703569827182942955976720771211829487504614969502118295090885770220567182955837688661313011829570778590296842118295857674526710341182960386251672551411829627155293645978718296718052521442861182967681580731628211829755412932852890118298072956278837851182981909216396803271829826460716237069118298373115576075409182986229970783685811829865675467547090118298730768391659341182990050143853498211829908057125197328118299086635653235361182992324110613108211829978903465180044318299820144129803461182998279497741769811829983102263107910118299833067585195041183000891590400967211830027283632253500718300560831478245341183006259168067107211830082446717474168118301040245098444697183013979050204453511830182151905556822118302762381289612001183027976423057687511830313679048017680118303442547948934241183034540133155990611830433299815601594718304397026622687041183048766151855165291830492309643099245118305021333218177621183052247531363602211830538524331927788118305425687504932961183054938965295488211830558995410147074118305614909027285021183056523343832864211830608905842579438118306450157916943727183073353080994451811830744748534449264118307758254057802901183080552009579171411830819119460167916118308302657508283301183083201732115825611830897185815338174118309205443017409247183094004593404585011830947277142211958118310028606682916687183100848357175579811831016316249055095118310416103561959361183109075395820039811831117662035531172118311243708401459681183115185576484905011831162830523071688918312062209320643867183120765141481871411831268924863258194118312995651338321381183130567680566445011831306036276647312118313305623741801701183133962617017087511831352223959277210118313529853003111907183140969449946473871831452747439717648918314841677336480797183149258894984128511831499267752651104118315032659397868001183159520217822280011831599571101549552118316409203413921061183166573640819846411831720557759890925718317239857666100321183174200498807865611831747819608804096118317496614857387681183182636668582759511831828657621774008718319314931441332121183193868871592986611831949047618547706118319690412114882581183199693924873084811832012013482937360118320190333493804021183202911714048730211832044648177104558718320701409134633621183209153748834951011832162246892331806718321800254067403541183219006711546496811832195950378117326118321962474439711841183227100750643731071832274770549999766718323094226714922851183234543375536377511832352370818958374718323529069862887661183237567227054433011832386577014675564318324043472110031521183240457002579306611832433710428027872118324572242926537451183246903892437502511832475478164529914118324783748084871041183248441483854855271832491233571730824918325627459129514107183258745975945832411832614056585340020118326482579521637951183268945190889772511832764849374290904118327648594097877761183279713711271175811832829817162310544118329060552956048321183293497215266169611832973436018837188118330020263217394751183303881714630976371833059855869894962118330604608490320781183316890970553716811833231988060144158718332463116700322561183325903065287620811833275057541040590718333178625653523821183333444140014981571833344204613034644118333465309038607301183337672142119617011833410233501181808118334167069519385411183342207979898647871833459448986858300118334726374585375271183347701655172384611833487142807032560718335037108658269751183352264282507089611833526469454616275118335422074956864941183354661085708719811833551320984248795118335546995070580001183358244489321198411833590826157734048118336210005304438301183362782697325342011833639837208333002118336454443993431521183375940771243185611833794331210723366118338013911703144601183387214128880295291833880570564890672118339199516444588801183397948651362457511833980927240860470118340114361305226647183402442936553671811834038427001111832718341208068647157851183412495864425058211834129697519586546118341316122591813557183416833000733490371834200539281849600918342515836085979601183426375004288833011834308954198146667718343285202837289961183433849398278937011834356100494481920118343787355803627569183441188444768245811834458869160311382118344742322839775381183450895638501753011834547180749606320118346338641858393341183465151154913966971834678994766466680118347681330689549321183481100598676798871834830031457497986118348506464316809501183491098375039731011834978590249711696118350242809794830541183507893940609045011835095304726604234118351125085103776721183512452651134838211835141838057401040118351589123636044661183516252107248534511835187148756722300718352005238160091181183520122862432717811835233244551690035118352351820103270751183524267908536648011835255837774893335718352633267526870287183533212288345696211835342226620733786718353437445737432981183538340586594523811835392524718103560918354127134652786951183549750247407169271835509581531136422118355272608079224461183552874101713909711835591724237758706118356390103175855849183567348587038845011835679091314696240118357106234819289581183575787950431450871835758181865616542118358266699416446081183582905654836864811835835226966123686118358502607588721681183586751956690281011835927163930613518118359845978138299901183601840320591273611836060138044213595118360635710696990387183608775593190217811836094260469513662118360972225018953701183612726116288199011836171195995756595118361738230675985351183626073181897184471836308707288253298118363133563687168847183633791833795206611836353505907483728118363547141764241969183636160204613869511836386457085729296118364545930932771941183646190516181559511836494052502258494118365098203711014881183652978827798846011836554176300742784118365636350613388691183656698040034167411836596007681519618118366082507811149387183660901421079798011836658720430262486118367379055684015451183674080250495083811836773027103278574118367913063315447821183680549896499343711836829182706521345118368987072660771251183690195502628250011836910025821933974118369729863015894461183697610946663110411836988726850207535118370319520426433021183712878162147678311837188502466368710718371998692304560721183720104637917893271837230098705809020118372566955024768961183729350569988557811837320559738034958118373226107038381451183736654299412245011837413509543866638118374656488602414881183747072693029221811837477911985752375118374910906620458981183749458214293770611837504349272637856118375082794619681501183751131441134748611837562923962063456118376070634183182401183763038741417457211837631896930958382118376413919650739981183766861135126161611837687468206166110118377511618437716951183775974784967457611837762394239245744118378229436250956461183782738144324190671837856186305766400118378678933855145951183788153850552370211837893373944582345118379109125009120351183795819243628070411837978913843455419718379835506675169821183798637467510904211838071730103132330118381295688213527921183815300921200925411838279101552885368118382826987691244951183830543424958958411838313579454123410118384140952332707201183845071499758672271838477181696887934118385785694079027041183863127173286168011838633959343441178118386417654506000981183876329829964871171838788054120227984118387914923428681307183886973605564003511838874781723938624718389122728922123561183893740103179879211838983387007696274118389876481345067921183905275401668256011839062820656908050718390946168274804011183910883674191881411839174305545032492718391799207647442251183919308693111556931839204942372897714118392251129679853181183923648645408137811839257978790554244118392618690937281761183926784830098737611839295676434536126118393489533084487841183936979026762576491839381179982780825118394393579929296641183945819770334148271839536857071778572718396388296550264591183968847301743854411839694064374650096118397021230040815901183973951393423904471839768675389348652118397798783951352941183979874029110813011839799361246774454118398166327235318951183981959761041772811839900249410685597118399293358089139361183994328575100365211839984320841151500718400045197129915781184001321450883655811840022382637739610118400885445120904901184017863424918136511840200677390830170118402243471780118741184034403924486433211840416378217306812118404605772528717761184054021851479189411840592576578466286118405957550010950351184060742329325104511840640296210039995118406411817598342181184064557431450648611840669488688479066118407190172859614297184078463569317988211840794303659458338118408214070670963787184082433368334499811840830427765693674118408461096482131421184086737244781178411840897839981907926118409021651019254027184090775238409350671840965409618601325118409963325654068117184101130036123881611841089814050381470118411960132756772627184125171515396878511841266057973807502118412932247759121047184132001671712721611841331210105072888118413348879709484951184138022493193243211841426565683595792118415160042263962451184155718616206590611841562290607339124918415782484265545561184165486155543924011841666376838832928118417620467689855517184177639209881467211841820425475474978118418293812649322261184189528407204250211841902665956035398118419092191171323251184193227691995870811841935484745524160118419389476970541941184196640219010954271841971778706933075118420011012275018201184200812644621257011842042352067721288118420447949302574441184204487195860869011842163601383066446118421935358770641341184224570791415340811842267955188923838118422701751687727943184227135348573898211842296112666594288118423308899584722341184234012108907992211842392951876943675118424079941511194741184246123473762280211842646214845883808118426505772744048161184270150868617966511842707865826437525118427179602154422851184272640494367032011842747975111498030118427493953706440141184276876276280084411842807653622002535118428298429747999841184287089120569257611842961636578601792918429682856186549701184297104447386711411842989246237935602118430575947398236751184310627101007797511843112624582648304718431376964251483421184315140727374328211843175200207422654118431870771394562501184324189018815997511843282892089095904918433113717865850101184331983796937113411843326917948166816118433432750691311381184335401074488153611843392001612320018118433992732816520081184342238013962228411843428586851107874118434463985678839451184345632683489033111843484658131241285118435528366268776301184358050270497206771843621696875134178118436453724401155541184365927367005818471843661070010028754118436620343813365421184368401581762780811843725677481865845118437312353655929207184373149710432799811843746779597756352118437594009333385061184376236827463588091843792254894715974118438091940207532451184382861379797755211843837617329928195118439075769949026101184392496374677875811843925987562420124918439360515016657081184396362324281167511843985225449159326118439858600004882407184404787115822011811844059788344971962118440717646141285241184410295376087700011844148401172638880118441915409005816481184421437224507491771844241087402703926118442998259997038021184431048785142033611844311926756030960118443213348355038341184436317000386999011844379154393369362118444038322040801027184440954849839310611844466052257783840118444679234818907861184447299350642877011844500821241921308118445090691871830161184457690205637825811844583406032204270118446025354559031341184464795026271508211844681402202834864118447529452188457451184477092911138494511844776726475202495118450416172971050021184504438111729374011845085041720381124918451951413047605921184522337109562555811845283625900658162118452862488139832801184528998262562947871845333747552124572718453428424519910951184537656397488713411845392360732433468118454982562237704581184551011614143966611845542126830800096118455559356799109081184559081170161201611845597831307326630118456617386473426751184570940109198177011845728548609079536118457410566557517281184575505439328665411845767614324696992118457970066681474089184586118468898577411845881638043011444918459072586581881581184591815977618602211845925220895460434118459490974584495401184599634598739223211846033666836788466118460731653120340961184619183335992619511846214107744216104118462164791313427841184622311933896628811846230038660197056118462426283136144161184627351174358364071846332368073629748118463527717445696801184636156302419479211846362614548058910118463917623132107717184642961309671555811846455843088292382118464770591771023541184652493094563628811846535549952092526118465636841064871121184665916267353031871846685311173041625118467535347053874401184675980231939273611846908105863320308718469214622649876837184698401320413309431847034497571711678118470491169155640461184705295779521960011847148301410407664118471784536021289681184723498688847724511847255414496937020118472648324405196881184730438938839024611847352700640425050118474121601199345667184745461096423452611847486531569218066118475105434019061401184757215940547201611847605304868632766118476074593694143181184766055694889982371847685827318296338118477037356457926421184772824784348076011847840033320981002118478756998357326461184791182622410688411847931116115601890118479875308629281093184802975185018675271848064620609321888718480728101501095841184813221260198292491848169566428478750118482380933759997581184824816617624313611848249871784621488918483882426225705601184841885764934142491848433761616081950118484392884361456841184844810834554363211848488530828378518118485414628304271221184854816708856012811848590496184752630118486004335991357501184860201902125056311848731039274471606118487472210247890251184885743896083832411848869220782630938118491500600702024321184919361561830668271849202854089407025118492098744259993751184922613928781299511849287985186061268118493120826073949921184932264983755851011849340099978089182118493482114151359451184945017518025983171849472965373644512118494823907258712461184949884227852837011849516186251227691718496089039250901167184962039640869460811849694954837452452118496968766208517331184974194344263390671849743142877950938118498974932613554321184990831957650511271849923610763803245118499546174502890927184998931672072325411850025367366700526118500336701807953037185005576384697128511850147104189340574118501755419550158021185019450093605818811850238907831809496918502521644122230721185028423495344686811850352138066402072118503555522076972751185035938889735709291850372073433811175118504349252042481281185043893124802087811850441317682466042118504914574326909041185050857416762309471850518907307046752118506031144732863443185062004112313794371850641785644845245118507573545627420821185076835755126406211850840571338931789718508498967445436801185085473007541498211850882733588269895118509045546526007501185090520848994124211851019320592530525118510349730546244751185106034195828441211851067863044809695118510934587163101667185110054773365523611851161496290280162118512327988542642581185123680745424139811851309468855820410118513186270969927127185137059016720686611851374214912097350118513820626442887037185139602079799078511851412591361511195118514571254036315561185149426857202402211851499721059904625118515929097741532001185161215532283294411851640254238766292118516506549915919751185172556859410951811851736385874152224918517497601252196251185182014316758158411851841720693166976118518596960664733607185186162131500219011851903234949886190118519449418861962401185197134767449212011852074629367879996118521066341931773501185213079436387332611852136793703710576118521408043753344281185215029497498177291852161502491604662718521946521819319061185224603753111891271852279701315487758118522923830862392987185240127090890464511852412847447258630118524383074005772061185253184465543287011852531953512229828118525397680646101649185260816969086380411852612293287315034118526459912832267521185265137084408256611852683247460785872118527022401717793061185273991364514418011852740710236085742118527420966320845451185275409110351858811852805014616448864118528749098407919201185288804354025949691852912011732338286118529989642416603881185302766873038267811853042046331713768118530491639854640843185310082639923282011853112725718077718118531173266719973741185312885701061957471853148443713754340118531563804873334241185317736758858576811853230773961947556918532783369551857581185328034958685432011853283495485134926118534049563499447969185346236752346432891853479140418582557118534891757684754497185354453378089736771853567608534457904118536055137054098201185367326510129556431853689817184749520118537086401932977821185372126456819245211853729744371865184118538513383757198501185391858885958603511853945098015552308118539650747957417111185397861196106578511854051611633039475118541691855777497441185419182785347648811854199478874334230118542645038717680247185430730378063861811854494808222799458118545229594789381811185457019715044608011854573561167960250118545747897832368941185459645580199183811854608520527404785118546855974864103061185470590827780719211854725081651599968118547271211401538751185474020016710351271854761524300117890118547944156602219449185482352008745463431854837066902605440118548462929515512761185491705722890257811855019601186265278118550335426780109609185504856399342988811855076064941158125118551273630636554561185531038836373333811855529247624184752118556101169816315861185563466488785984671855640626172330124718556466176972817281185569468665068622611855706718993199326118557196560268159841185575197223090906211855809705630513852118558417729242711341185586053864330150411855890457846822368118559005297858060301185590179862524783011855925204998426500718559392485596960681185594069815656753431855988216478813945118560415096930830221185610518063631936011856124779255140158118561822038314224637185622330314022294611856247597006376272118562849976520688321185628898280135262611856358121166190144118563758766622398089185638980069167127911856456129427552270118564863283576889741185662801902019473011856678957481928836718567380274198857101185683674160732756811856837505816075600118568433571852198781185693384305475953511856946581970859665118570879756739967671185714312250923167511857190806792602010118572027719286832451185724033780574547471857267846488913645118572952407600157769185731565892409393211857341936162899431118573498910449682561185739203970109711811857480603561636426118574841287486014667185748480315617054411857537718806751830118575390060925936301185765368374751102211857685115079439344118577818134626236661185789564802791202611857954984459822558118580239304141571227185803123721697010811858090728750453945118582189948129701341185826393572243099411858381537506571926118583882373372585281185839415162020372511858403297884165650118584225347365603841185846304953393047811858467833148853968118585144312493875751185852283173363514611858543821359525730118585479166445441621185857610046575894411858633222332222384118586776820800397921185868673376955503411858736224803803382118587426785877952721185881496309328124511858862956851317535118589523776659256141185901278973023020811859151227646613518118591642020776662901185917169500277614211859284119679503246118592855884043739521185930584846744904771859309864740458540118594440559638806561185944850739451155011859476719253141344118595178189148044587185952992928985032011859531271753346956118595366796544191101185955233759434848011859647377540696048118596566331533186381185973696699599035211859756844042002754118597599878858286947185977951526738809811859896324410322662118599256239841838837186000637726397959211860033284948420658118600372560081790541186006554374606441211860071621360026344718600955265525778547186010086345123634211860127060669458660118602584874330325727186028699519616935271860287233720925295118602908433289322117186032172488949343811860370397248010454118603946631708374249186043060070581531211860454721755782219718604953799762818241186050056655497627511860546424667575374118605516275743792661186056776593050110211860582416752295856118606505517090471701186070477755271908611860750879311556234118607893300933603187186083117307740769611860840477555937125118608598242103999841186089911584014183411860921543739935795118609468540311027251186095300969777678411860966066720021606118609985353410805241186102183178601294411861059786617839716118610644534195414421186107001735849873611861077924736784856118610861114508630047186113276016652763291861248076450418970118612830958578809627186135676712160688271861371548991115506118614036014379261251186144772002448365011861468905053320866118614796634515444067186150187087648668671861530790168396566118615347971380735841186154793718650487011861553519119513008118615950105714865001186160065792301285211861601454232295392918616737238821669241186168618565635695411861686869871338208118617285172750385441186176405962212024011861782456936637314118618172904199053521186186493385839681211861885523532926238718618960254220896941186192676090372753511861989146556476310118619965256486063321186199922429005636811862061560108261514118620653035593961541186207605754217378271862132765961416850118621604250699868901186217803428008609811862187094822881600118621943152601692487186219735910962057011862205961717292250118622375085029938241186226109512216425011862277554418144390118623039331334508227186231752610991022771862356301233335375118623790644719982851186238559844883546211862452824824393874118625115803218583141186252228806564611811862545021578743490118625484918950280047186258636582574293011862586896402018742718626134617687917341186262533735014383211862637677538861906718626601616470878401186269112412100581691862738033464074150118627483035203970221186284953166309997071862857525283738640118629377027681948561186295468198034774211862958324696607602118629770700824502581186299530884175452011863073732246017792118631192325041121581186328050208277020811863316382043487716118633744074282050441186338204873362362011863428796573535494118634373079563076961186344929623102175571863500747677060410118635043048619816321186350507523649017011863534641821088238118635358457299211201186356880209021968811863601550940745092718636806008216044451186368332965455740811863690568429372398118636957744377553787186370159338891153011863870226518792498118639011768543479801186393412779886407611863951956486794638118639861337198351621186398706069407251871864009349039923542118641251626472494901186414663620102193011864203925651112502118642094329845545921186423727242941263811864254982924641834118642703829734257301186428431534918048211864369085013035946118644098549233103777186441696615706403411864427810358360540118644631748662588961186454671223535040671864554479221101660118646192760794881049186482363619037181411864862921162789164918649029909207745621186491764952299276811865053249438299696118650675434027494961186512412935762982371865154511428565974718651566036648522227186521420722964589011865271299508670860118652792382041300021186537212868488707871865391852785748580918654509636579405701186547234008629145011865473771318281534718654754584635817121186547828818559239011865483451651441078118655096016892174301186552830930507804891865559224194246926118656450775430281541186566353111149903011865686960445899308718656975319615331921186572457561411779411865778546165825510118658415719357907941186585889622980447811865860947149310768118659254327751106181186592577944506813011865926025285216146318659532592846136641186598459997787229211866037946243007294118660405654582832957186607463516638637411866103829390117664118661301016708971341186614893919005003511866182286908501370718661847485670585761186621474532687952711866234994291475844718662943146599527517186629491720221577211866337928826378048118663557220510378721186635796500160360011866394568200817595118664227888962924161186644380908287145611866481107428884848118665163789715486951186657531900088425011866610086371557563718666168694765723801186663659690870374511866642413593705092118666483016252107421186667189706151484811866673408339192158118667303558596329041186673356174545587811866833421238310727118668540886864058981186692141706377241611866943183448212995118669952945336160053186708672541821837611867121743302038532718671583155642560981186716076079202784011867168617496117293718671829239222739751186723217500866973671867326016832696778718673823725176289843186741932256682737611867510861999698528118675206808299488711186755157302063068091867555066184502606118675888534960924421186761890345507474511867620505976726166718676220256268678687186768284348883805911867708673910779442718679424305667976217186797357776899622511867986934691696475118680601182870862007186810128429852246411868134902310724856718683100169287834451186831175937374177211868361604414646142718684054271371171781186841280986112934071868482053350823504118685413341817077281186855224996092867511868574973940633034118688349091858333751186894290436036190211868948697689510238718689709200633666461186899914590863186471869012785111189706118690240479366169187186903639018765175691869170830762867218118692021774291667751186926938329160405811869276106621090386118692938632438521281186931410803938200611869329077717863444718693735778525854637186938877089197782011869396621618881520118694254027801273409186946517123424635411869477009580751175118695057232762706087186953402863644775571869543750585965526118695453985697205281186958970933973651611869630570311255895118696316539705763201186980499114154612211869874292884027224718698801309905494907186997368811599129611869976448967353724118699983617481427901187001541644819208491870059221224139934118701248902496906501187015155309242713811870243093611447372118702704202727191121187031432610113194811870529355573450210118705418980466180501187054320972586885811870544135181867750118706245209049313207187069486332104983811870778589749416512118707861851485730021187080883203034683011870894440721636740718709156563738921451187093098196802073011871069574434190066118710702182351184761187107192074495845811871105374191947742118711213709639632541187113388308244759811871139892711618848118712005692463714421187122543064767117011871265271148045856118713919260637765121187140637921136275811871422527544188786118715068842003650261187151081631983299811871523887674660020718715857629520899251187161472878847184891871642762802216018118717785115797262061187183985257943332811871865264872222622118719530446508599727187202311369520377871872024682824391096918720378608413327627187204664933366542211872089812170274230118721325677687195951187215669052479165611872204698482296912118722080541832371521187222794510807678611872237396962155425118722420519111006647187224262351687854011872249987292500558718723114432389823769187232299360890129011872371618349479775118723931514142527701187240972863548111411872480072966423174118724821520799577277187254383123805651011872549953570226732718726973314836858251187270398623993776211872752874883857126118728249717031296329187283578437337113611872910018526995540918730714867933027321187315942886518939211873207739647131876118732414160291874581187330534838699043611873377478255971690118734009075521878241187346609103569352491873492657328503504918735297896742990661187360162347307972811873645740559811670718736539689328508477187366757594598685811873676798637948975118737136693547074901187372271264519818811873723191962394207718737863059100343221187380950059261584011873839990159370998118738722509205173741187390919276995516511873945693946870445118739569771738871837187396036401631830491873960376769438894118740484675313779061187405405745031571211874076094797655104118740954395449653941187420214084808593471874240189980754112118742953945159011041187429914241086542411874353805660917036918743647932252701101187446291682015378511874466377166097332118744683054852755201187447765689607304171874636402993511084118746507637674853391187467289050194225291874697518431380075118747242171614874161187474035720900649691874797328065704246718748659855846881287187488939859200574211874899228072697712118749019774425440867187498053885514397411875034918263337872118750462109159704481187505326925535432011875106181355020928118752157700894122841187525819353109968011875271283072352864118753337429129822609187534867225150021691875379745007337914118753990252845069701187542061064068849511875464484735241056118755570709113630581187558908488112691811875628382946233644918756376351237717381187568579237718710411875766885510063368118758965152532950001187599097821015388811876016846603166222718760870004812711201187616027545151203811876383123935228388118764057295708885181187641839931479611211876428936220335624718765471218046331843187656242753862736211876613160928398930118766548324965194201187667927617335903011876683853294885854118767068449941824201187671115845811173431876741224772850832118767992377960973751187687469456764708811876945167380435499718769543834492938781187695728411100518411876981508138052975718770098333547349901187705551103858155671877114192328897292918771167990476482301187712368434039702611877233019924780848918773011387076032261187733396773173882611877383881196602858118774042328082590561187740518077480849511877425663923552795118774357249025039681187746899808283345811877514024413103390118775411853107330441187754952884314807811877670982574881920118777419544731725351187774821059117538611877812927457167458118778284092550388321187790436118861752611877941219027016700118779623185512262001187800804898841568611878067973302803552118781439655863359201187815334275763192811878158158705152666118782808965874518701187829321563895175011878298050910690026118783322008296115427187841361444475309511878435797092003815718784650110485360351187846600285159873911878548798957291808118786035333998902241187863394335480469511878636359623950240118786766857065967781187870419836427481211878734985312150690718788352270437244241187897973684170007471878982269269451394118790268843006466721187905808977358406411879079566434358908718790897602516567841187911781238098684511879127712085452138118792580514121675841187936078383209464211879403866145757568918794947873360397221187951186892127336011879556374122958416118795619525763013661187956494979367005011879622792704350550118796355355315172801187966451002504891211879695225013591695118796961093816449801187972018747011784511879791084394983234118798689139826145401187991115929166079811879984023400563168118800083558959212881188004216499443244091880044700285157660118801240929783260801188017538345777069291880176316536827630118802999047644939701188031797212151183411880324147121938982118803378668147200181188035719426506376371880368048177310610118804602263992598147188047497594063259811880519929476782392918805231018761000001188054561147574657611880549163999558054118805935530781705061188063357230985817611880849035201886514118808609789861695361188086762205691067811880869148166176478118809557784636606281188096730722325541811881017386684411320118810503996364349381188123298585809121011881289634807478744118812922197073175351188131496813918896871881358123593423285118813827756933262637188145516017075281871881478540865315646118814829704262170351188150286854996055011881577651415136390118817011935192709187188178092214022108091881923968240054650118819377096698440961188195325053797604891881971560035748845118819779227471655461188198598979599699611882049894842520160118822616470280772161188227252721268629111882290876612116130118823395003513102541188234100948746305811882429456690500174118824578539603701401188247352856617085411882692722010713328118827090854185245281188285253860810100611882870736383032930118829416772223592961188295772981349414411882995723191326528918829992280932133021188304317363460205811883102830926387045118831039934582956961188316188514039839171883183128391004246118831986861139413281188323105113235224011883259212111283600118834174577308625351188342296182874279811883430309114819810118834976755569775937188351873138864038011883593178802749616118836010725489728951188365922887340993411883705373452648064118838724066485989841188389834453557211211883974159621669194118840134920586259451188403107577934608011884150169022517930118841684776033762181188423220442683288011884245479275792300118842908243948169197188429660316489106811884318602052343302118843397104087487951188436928513829907971884507760338469113718845336475439108201188456106442315692611884585604797333208918846259338747279529188465775335392825811884696450642510462118847745580629760961188478452492349369611884787265530075680118848273576791634281188486969580159201611884927719205234892918849564104393986381188496879941320745411885029847303098075118850443275296965169188505532840453259411885056220860613392118851597160747898951188519385350781798071885264551165903375118852831676852821751188535653026035307211885422305260319310118854483341394939101188562604529588887511885665374363991978118856933668890698141188580569711791591811885812724130322924118858391526742422221188596019534903673611885972435819857496918859987790043389281188602366729816777511886165348580915870118862380461118747451188625218140206358871886340223159695018118863711270957000881188638997549181608711886477851883101656718865191637705360351188654627110202171291886612789330828712118866575964611906831188667903551440431071886753738586388032118868536011211409621188695950410413121411887001281030171235118870434939616769621188708794298749828811887142795448945022118871465343226494101188724297354926025611887297734248664550718873341934505443721188740362410159635811887444252742264488118874695471094463761188753335832498170911887542472896630622118875460614697686161188756762602567289411887676419355777056118876970846076589721188770079409696979511887714615349124550118877535916777555661188777225632912453811887782718304889982118878001776183204191188785249416615453611887858288959128938718878652466859633761188789554605325631471887932847894544026118879733689022026541188802032254679419571888049389367111550118881234064675389701188822168006612925611888234097636933118118882532597109413141188832539917977474611888330452865515945118883942804712496787188840139753471553811888401714682765680118885365331895552861188855330065267818611888621559385185514718886255810499381827188865825480920581871888697320202659392118887474396281288861188883335850665362511888900407684256878118889005242248290397188890054721610325211888907606022802896118889458884458529941188895072041992281611888951619199419262118890155884273873661188902767164823195011889080953719414928118891143280110848969188911491881801164211889327612804699568118895312919029612231188959710839850084611889621141175366174118896432173840042951188971742913752209511889725759835710554118897798132357215251188980003094173584011889804343327792840118898408182460843207188991621722708284511889934315139350054718899677172008732321189001115944316267411890236720046190498118902500384826036641189025179993277936211890267028840696845118904431746566815307189044353006647939011890483979702017618118905136934120242721189052103624647028411890524580168789375118905459468342083021189059806536905638811890620794196899074118906302003223442081189064082303366044511890669395311075458118906966180325423681189069929275973275811890941990055929712118910356166065045169189103716877683126611891037387540123859718910565162829332851189112517840258731811891145698809493050718911671006783883347189117938152416316811891242471837191202118912594854737252301189126015377706478011891349472315508176118915033529563801481189162269470800507611891664364968716410118917121399381933301189171266292381048671891772587439096025118917739669356258251189177667252965255611891802263746048642118918652840674275449189194106351682839611891947486195234028918919924751417950981189199267046501387411892015473721860416118920174884637854957189209129624915152511892091687783544995118921797350563985351189219209084108491871892192247540426345118922123448662780981189222261186278863811892325104643184684318923471650581197581189249389828410941011892522137802848470118925302672948128311189253582033463956811892558706542984790118926620948544131387189269078397329656091892725874456578704118927269554137647407189274995783894851511892819467956296070118928794219475356877189288008165990059571892889262554226974118929440230117825427189295091820266745071893000844451044134118930182998199491681189311879545009384271893190392503467542118931928918284061209189321126505578743411893232697078019618118932471156384345089189326137491641049611893289225744973008918932988320076328627189336950386846107071893417625926465858118934513853683813021189349223949403252211893580291657544496118936154465546265101189362625114793883411893633224245957095118936700177690616041189368860171640899871893714335576712648118937959880064883301189381129027323140811893831624002163834118938878661001594721189389411775946188011893955712399125902118940204695512940301189403636610326213811894067323803992556118940849757095745251189420808836695707811894209747958958625118942429459865533751189426421909489084511894298420781843868918943547771439934741189444144004750312211894515157891150524118945626303100462301189465275672616051011894687200972471978118947546879570414881189475478669874659411894771713536019984718947814772285809121189482870934094872611894886096847029712118949188826290835369189498016178075197511895063560607508192118951392373036664747189523041673187284211895230419749565975118952349875967142901189528481051140011411895341572930561273118954546507516780181189553924435527071171895554988476218918118955733914023246247189559240276234195211895595254472319164118955967975902290781189565252410533272211895670570764685600118957779765413464151189579336496017129611895883884909858232118958848982380453781189591295099529176211895975120417557482118959875353766705609189602406838573080011896043995727590438118962552985745390021189632294187125851811896466368652367595118966641509802253421189671158508093454671896719744490119520118967336732612971001189682524815135568011896829737670162125118968508472621828141189686851950502702091896931564323190110118969367105074881341189699437935214186471896995316466272780118970338073137337921189706584422398624211897083381278967888118970852735314599581189714427563135706211897198493752851480118972332809432160221189726716306483064011897325407528495254118973430432227172851189737135321162304611897466829102654225118975758386250871001189767236967337022871897690659906475422118977646784457644381189782227862770963691897868542787941380118979117584826351141189793074959018208011897948912367217408118980500211465802721189811248558758516891898127492047903034118982267071127873061189827511382010647811898302588530858096118983682595603426951189848519271776362511898527783064055345118985315637594657557189858684893951134811898593358748382416718986164233042121381189862836424798549511898665589496928608118987112765453731841189879723503530245011898852395767658995118988785425370299041189890285815744713011898903472857007000118989198373597935581189893259803754732611898987070389975775118991619283568581037189918470555723039411899274535214579408118994243359160684387189953053754870361611899569344362245082118996230967524821729189970847782320262871899715950844166844118997197071014365301189973343445138711011899781308414317152918998508218863731409189985689548392189511899909092271253590118999906164805229921191000139502716622451191000378478119194541191000406697347497441191001601302773598101191001807035741107289191001962043961142951191003755709921748941191004003280145857421191004201340999384481191004854939786301689191004887373250794881191005440419216165921191005537508485761161191006061197652239501191006142953429858609191006295092371034021191006458304545919681191009362408187772341191011902039912858221191012934089651795741191013393934339979501191013405209703114581191013622528955657141191013831669478437461191014358868001860947191014693746089506601191014933220346920951191016631853469545141191017764370656738767191018098461651349781191018166814581358241191019606567794035301191019751420708424951191020072037990831381191021716257831350201191021770587613502567191022482204073050951191024501707582511861191024509172772054227191024877922980538061191025015026855068901191025388500783956567191025465742796493161191028069766679501981191029083514314418181191030030588786608181191030884362087269861191031178682294636501191031233855729782721191031261547913571521191031795709956702209191031940871522381477191032248100448668421191032909610504763701191033708622468636641191034421739654041601191034933738743835101191035745574239829251191036649153247171661191036745225283463741191037131977530080981191038551399747394241191039665419443664161191039727336074784281191039807690681563541191040755877159131981191041187620417339361191041266325034126621191041409716215581261191041581284133676001191041758019719775289191041800480547201101191042175526342179041191042632913048722451191042719050036736901191043370736332319627191043523282491972101191043925514979429701191044364800847117843191044508518767865601191044816597136559341191045809756792213661191046522123932062781191047909402615477751191047994961065053121191049062940105037601191049733631287681601191050158899437462181191050501343681070569191050788557927547851191050919195874609161191051019325510892201191051371399679644781191053074437650634771191053114309995040541191054875519013621033191056260139432849541191057204628625504061191058102907262218721191058194230310140661191058403205403894521191058927217795427501191059552613855682701191060255028332442881191060677921360019201191063861388134717507191064249920485996931191064562996158065951191064753933229435961191066191266555957851191066388763582970081191066439632580448001191067337474205268251191067678681347149301191068699838387890061191068876754459087681191069121106966990241191069938439739867701191070932470347709601191071089062563970081191072767124157300161191073386411292540809191073501283833186041191073889620239160341191074106471057528681191074231174588425101191074386316587892661191074922011967316761191075280096283591061191075339577487959101191075350664403211241191075405415091222601191075943062666272481191076423028257163841191076937411917704951191076941260679689541191078001779709270347191079632013883681961191080289660554059581191080635035475889721191081561486537183969191082603885350616887191082853300480299041191083044428840929127191083273476930422147191083708054942136801191084134076116916861191085264490287651521191085295744957718867191085552315474172001191086181887406661761191086380748631543501191087245173201274181191087865318566730089191088834033743425601191088921217574722421191089131256653060701191089349463721007261191089525178803272221191089907478903494261191092710113479351821191093664822223009121191094642705133215101191095204205424037061191095907409538255841191096793812107258721191096876071267780889191096966433510875201191097869209499132951191098168760153403641191098421972304131729191099010284936057621191099604580226802821191099983330462812251191100129518469311849191101207487195101661191101217851432757921191101790618841006461191101861695282872681191102266999497142181191103252214034285849191103380833349869601191104381864677350561191105003815778470961191105242116435631721191105582980893711251191106828995408466221191107607568429347021191108130932208575351191109537680161211381191110369779261901901191110844433522942821191111458379473320581191111700820336936481191111759421483811361191112547459695049121191113242145436164061191113380381654805421191114050087532489801191114097127177189781191114859788787432641191114952795498523061191115886995726203387191117522668265630201191117574997896475841191117613626330186261191118075470526719981191118075852071860481191118311760110537327191118520538862398381191118545218108512851191118612072820305449191119320312226669001191119343250304733609191119867768927441901191120585902721733251191121610818668881061191121718167108672173191121878162804218751191121885585602505527191122000948925657921191122280351153918951191122409854824717161191123272700731975751191123296820704362851191123501281728635981191123565116200758797191123791709157242651191123792790477412889191123899519494498041191124401657624993441191125206471722591261191127463209086830661191128382040257879501191128531915036978769191128731617988947681191131332468403882781191132196173349204701191132202206168068001191132385423622430141191132443935495288461191132538207803388821191133051437529025121191133216932248794401191133537999915280961191134065170669518181191134931906634489281191135425162993124321191136505168101655901191137591832486698751191137887856521445961191138338427995984601191138864630447279861191139386709441890009191140020372056401907191140431943449642581191140467780979276751191142254761191369101191142989623473053441191144336081150073701191144669231837584001191145283532960079521191145572669210218367191145809573139649421191146081493049048641191147685363906860351191148616813161914951191149647927791577581191149686139950719381191149836447271309661191150213484020813921191151213119696703449191151611068582886081191151646000782890861191152733165894853929191153926532634263741191154169368256602701191155118057608802561191155142972583818921191155154759534140751191155341244997202581191155764240881519501191156628331517589101191157036994733912951191157581609322989861191158418013049478261191158530530569781141191158740364190211041191159024868685730621191160162012756847361191160277239696572351191161151472451912481191161593000484137761191161996404527625941191162412803640554021191163811835905795541191163867855155158341191164002812643707681191164039768182858401191164607631577176221191166174015190395221191166202238066704541191167274960425665101191167748053436849501191167782900257555129191168095968184855667191168688478392422021191169100276353478727191169554047827471041191169643510815341921191170646316393720251191171266981209728021191173438718798437121191173746166486720121191174342795603337851191174558542730496701191175079080845469809191175248154842932061191175481263918234521191175697339286388641191176436733063550121191176753734566059427191177524698784455251191177955862377376601191178831053233922861191180140169779289441191180416029296960387191181234977924782061191181695889460002407191181745573918547501191181925063388960129191183309285628954111191183686032511851221191186718052971859361191187127730564336081191188090347983084981191188097354059941761191190056741241887261191190205675195979681191190225772209026801191190752847506377121191192791590611911181191194084529842075301191195594620124372561191196102275068564181191198842943345588621191198939778211857767191199232119877409081191199591959712000401191200415030303174561191200468918743595187191200713692702899451191200873119499831007191201001570318226601191201237352914891951191201915292414796541191202014821390035407191202528448399512851191202571027312358861191203227091913355767191204326399600670081191204704335486057281191205837289426014281191206067499909097547191207691673075290341191207904476716330121191208352631839010951191208740765802766661191209196792887991447191209850792593808501191210435914803614687191210742540882932801191210848202979793121191211175167406998041191211450439986798761191212018192706476781191213016081034113371191213949307533674141191214732288698495951191215857144588125411191216998255214853821191218053441770584121191218263222763297721191218296382963989281191218830974288174081191219492836852313921191219521613848385387191219546120373902567191219658725828983961191221592064292409441191221793245611871481191222886915650345501191223150039834226661191224619954013015321191225051868549780281191225079104585714381191225387174621145581191225734017737879729191225999319005327609191226339907623608051191226816227803351907191226847276770832181191227200574822299281191227366027554900641191228315164127401169191228851492527278621191229433903484943227191229463536591183041191229974524367464961191230048644925025351191230367759896411361191230368472846162343191230710867918305021191231122040584014881191231327963352882851191231559721989382061191231632833624507557191232150401764666541191232158385686367521191232701527455491087191233189332000859061191233331104282655181191234390469162268421191235349611846588701191235657808653135251191236447859041948961191236682206001534951191236747172211477761191236771884318307751191236978663947028337191237047680483337241191237284928136442751191237490549227738387191237961550506530627191238670447201998821191239725726777321101191240117273045354861191240687128646789561191241114558985216541191242982428657400621191243265871378271861191243776452528216701191243899287725644721191246246812656856181191247132039402312251191247898027401512489191248489032700137581191249773503261084209191249784009439832901191250100011269966321191250682345384657751191251032633714729251191251150466273318621191251796330694026981191253104551193036387191253162851344153007191253275135496635609191253878963143405301191254054125845150351191255794825065296141191256576821231857049191257394143133992601191258435018444509751191258807447664816167191258845195620277541191260082108745407501191260276890218957801191260425496318298201191260442943136986251191262219843108848801191262527163726281441191262527686197362621191262768531369791951191262801822311402081191262954856889349821191263499795070164081191263696004978893649191265859440760831841191266119045746001281191266600948489742141191267540215818208667191267549348737040951191267550740828320301191267592871101129281191267651834289308441191267776340460301121191267950096089176501191269174540488268781191269943348561209001191270366846980232301191270405340386675201191271485505187301141191271758782445484581191272435786800862841191273207585072832527191273748716145007607191275444299945879251191275687417026738341191276167825723938401191276675124349060901191276685374617438241191277398317766826881191277633658977987851191277894181221136181191278030776374121941191279175489266557121191279336472412306661191279648602520535341191279679617941456601191280266448264704981191282633227283370581191283839357126016701191284216268748449501191285282304938867861191286577874192316161191287190437168260641191289449891807794181191291047031271046901191291054920170306881191292736256602226129191293462792114366721191293602262679900321191294398200095378951191294472798947364527191295101435239575281191295329724115605641191296466253031682981191296518425932659581191296734101642779361191297608035690968801191297916277379106941191298798826786296461191298868964402295287191300497475729540861191301039419551484861191301285409407046289191301963306826974221191303638927571792267191303755870207321541191304403969501129961191304666183178934201191306264254869170351191306409418781300567191307179379599594021191307763458075579521191309003054677161761191309197337707916729191309200765394198141191309351217307837601191309577303038799161191310069843857272037191310405497124641681191310827314407705461191310966824293837901191311316316203675627191311472974283913827191311829890931212481191312327337688943507191312999854400211041191313117293981673251191313318429446664161191313433209471121601191314595170300618361191314699405469575049191314720051996045061191315108066720741441191317488090388101641191317966238855508881191318248519698598841191318258456941018421191318442156439073681191319191555458865861191319525274816588421191319767013790955621191319886136863986401191320250281644398747191321010840378158561191322301535988872141191322469635003102881191323079694106061249191324391993777557981191324560224618398501191324776550751716609191325201444858828701191326157514143568377191327439659819270861191327854206461508461191328177284842740221191328663467211600521191329294766096587751191330627857107260141191330792692356934901191331192886058442287191331401222501411141191333198820814194881191334409105497336551191334495362481136901191334792633821210831191335211057965069601191336052017821618541191336224643193552941191336956463178480341191337224520295820621191337642162076709261191337766211104573421191337791728231764821191338926897653925581191339291470640452961191339744917814832761191339793575983722887191340783824670583121191341085085157048661191341656807956557751191341770269222444141191342007820385307041191342197513129480961191342404487600768927191342669961774282221191344211897170786841191344347481767892961191344780781728661621191344788260085622061191345548840388103521191346417856756699301191346429772061514827191348086181841834401191348351844502268321191349183221102540981191349196694385908321191349520369100146517191350378824346717301191350977055229082401191351610585983992721191351901302911191341191352596744210929661191353573308167598521191353842778011972641191354131839180545441191354301568157791961191354885806289173451191355719038613821967191355942252541370861191356463631297935801191358297247453249421191358959123080120451191359715737035212021191359743045769566461191360166131880306827191360266714105946741191360992046933401121191361944795424960977191362696380479739341191363807926752135041191363947498473327041191365375062003342347191365959142176494141191367043212474887201191367233986385625221191368223163888819941191369047682508093281191369796985223901761191369887948411033061191370221944035733601191370319003384639661191371550829554887367191371679356710831941191372034764079876521191372294390805993881191372443087581174701191373049134593960141191373876221510427251191374093907761350161191375249075390594951191375336889327725351191375889613454081441191376224316444710981191376411463705456181191376643508972127887191376801328322576621191377546166982033821191377635003430030901191378192535720367361191380191771580180301191380489080600797441191381150441291544569191381226880088346881191381505552238434941191383405746719746751191383636946850462851191384682503305434581191385030625970280701191385955750084605569191386327295818193501191388182263173225041191388451348076093381191389996749500312801191390275259402726621191390334089364437141191390420390321127089191391355861009303967191391536264528809121191392322227876015547191393816276122145921191395860063986038169191395916180102515781191396356044914197751191397054133444483247191397534012942816401191398119471493892951191398572422721782951191398725067288517741191398937837042902241191399712318239489381191399871740331645101191400458909534750621191400709888511599751191401226591991342581191401314983379517781191401561288635412061191401634420953499981191401983034829812847191402135132497482161191402793943573866581191403120384403995701191405976349409751701191405994563871916481191406352668210088301191407491385651799951191407500396888175361191408365359435354251191409347705134608821191410477762152155861191411292078306082289191411837788457021927191411841264286382561191412042348216189101191414201058368536481191414382877824085751191414939333923067681191415050968530867221191416107866505924677191416555524001782851191417181234623487041191417871513381614201191418076384292481761191418088017257826881191420528528964543041191421023467547188541191422356779851420001191422412194725450281191422685876798903207191423825089386719951191423946592495375301191426623837341788009191426769337385543861191427315894570579311191427856470292243421191428130308328893751191428554951564216941191429560910921968001191430735649453707437191431638012442161281191431961782908012821191432253536829287201191432492638993377947191434593657950978141191435458862452566407191435757595414569321191435914945881137567191436983064737993921191437880707073853281191438343075155384261191439302033196485597191440269918159916901191441300150064225089191441355049673450081191441709906925240961191442790835507002367191442794871415103207191443631758593493241191444112806770337861191444542892323032851191446469794915410449191446900751200675781191447134658562232751191447869529739477881191448022482693498251191448506302990711121191448597068364110351191448820123719215249191449089816079436957191449593085713053051191450142295090277951191450483407641007307191452584925989971021191454282799280151521191454452645862627251191454955671575310981191455625333692883501191455767271768828481191456549500390819361191456966431999860347191457537995181220961191458070064571647521191458161075562765727191458836901437380741191459040446483012801191460556733247344981191460762860082640409191465094907469308781191465321281963388741191466142786813156481191467075315565648447191467171963436280221191467698858761979161191468487971814589601191468662339682965961191469299043520897751191469328248071876501191469706269474531041191470150792217184941191470847988736371449191472109812280008287191472179949815989781191472273758145433601191472496655883626621191472872917303951481191473373644001602661191476395506480662307191477099161269645761191477164148778868481191477944988962790321191478421908130298141191480202794878737581191480717103326004161191481946946389336169191485377802912765607191486541575853346721191487264210110870381191487509263040056301191487511802456024801191487686251998281747191487881169882020321191488854101827324781191488949770834441541191490241357001422451191490568498828716917191491207373977593581191491299388194550301191492783198372971541191492822055619405289191493494634402207851191494278533709021341191494302787081610351191494785582861941261191496057127491374951191496359351967801401191497136891400095501191497812105053286569191497902143127959687191498605392753768161191499528683947069001191500592478640222061191500693613646794027191500745233802742881191501236582105726901191501879159966283101191502053449118414741191502397481489208461191502401849747176241191503096483541141261191503189279963909541191504206772164412801191504388826125812369191504546287314064961191506816960058166401191507989048294618541191508466319440118741191508603442824486401191508815032459920641191509232213805269687191510616165230665751191510744531733015041191511282163543475681191511301489602700421191513338798543305581191513531944652701751191513556760381810301191513746802142377093191513910697083263081191514951335841809141191515557555971269049191516323148308309421191516766414420556001191519646817339535501191519817639064167701191520481257696842561191522587957352413661191522906218791876641191523232611173092751191524277806389472751191524357107189933941191524386758266799681191524974854802950981191525244884051434841191526017630239441751191526725462211459287191528493877887946481191528768318949343181191528974403193790547191529470489930707061191529522959865952061191530208128128682241191530651911038107301191531081097282910421191532550251029523041191532819034356969341191534156726882053427191535693682649892767191536795163774568701191537381236732828103191537507560009406987191538005928078503621191539019071856025101191540220793075149221191540498464076778317191542104457591457717191542515868344491561191542918874534005151191543773585003661441191544170327068866251191544775529183135021191545948678223484947191545970526986626001191546023877662343267191546082566640058721191546187651657688451191546343946701746741191546515309819032101191546533445450247981191547224499509236901191547334269583250501191547358262300356661191550244558757162969191551794254297191451191552222681200793009191552723952526109747191553384007501963841191554292543606677001191554550886390311981191554889451610439981191554981504954806881191556082764621342821191556279416784965867191556338029096731329191557679051221148081191557932690100752101191558590701407178251191558608898544603461191559029696260512941191559596782402313021191561256705003677921191561308837975139501191563941501731293301191564183383785384161191564305709379749381191564462144912031641191564564246132960621191564883760833500801191564984835048253529191564997948113125961191565692038766236781191566187699636397701191566964137141445351191566985167189610351191567766946934843021191568501820911811061191569189898595292751191569223048835349001191571465056367824129191571978187442982881191573255359465038881191573301757347610751191573612014811341781191573797868909414921191575314277663001501191575738602472460861191577003051999821951191578697255854646021191578774872057521141191578799908180728641191579136869616841721191579737556804605661191580069130883630921191580315156445951157191580601276633564751191581047695042520329191581194725831952191191581494130852941761191581824736073700821191581923346802615981191582102646911503181191582368265071399961191582750102039858207191583057429200700251191583487821909949187191584108146906950351191584713467469249461191585936243857131041191586625366378745351191587612104370961021191588367397382201801191588827746171977741191591614097773905341191591890598010512801191592243183500232581191593218105027541541191595056922087003041191595725125259669951191596024381642902641191596674334352148641191596802480121366251191597027492427378761191597377844920424951191597726086501639751191600272862364706769191600813924003395181191602275431526721121191602624071303312221191604181006675271201191604195748715201441191604235552561362401191607695897145739967191607859223583950801191607919050122733701191608015458074891141191608359356750982767191610004516611402341191610103507986377951191610370602845148341191612779981056291041191613577146792032507191614301523905134751191614862038300658951191615611535205930767191616602414447041121191616955447043687843191617236175007545517191617671650962565921191618066185599629177191618121131791721021191619238183731642251191619518960086593281191620541911872376481191620603931791619963191622280684839679901191625003911091562409191625341534976255329191625436320358692641191625740503148346041191626739952297458501191627072347923867161191627100991185342221191627228930840621921191627717780866500641191628928886576595521191631375065370875843191631522893208403427191631594566459446751191631742661260811081191632384614202909661191632653754405943501191635119225463376927191635516613720495351191636254178782088141191636321040384581981191637268115557422851191638310735380823681191638363582121308661191640175857322797761191640914343574397921191641187364730373981191641237390827110501191641569163671522401191644197977217089681191644607985484820561191644941970063624781191646158459112470621191646537683482361447191646697619851137101191647003354890679367191647059412370204687191647460405168071451191649557956778270351191650200828417339941191650215199044797951191650645586727275141191650673931199714541191650920211577423081191651288284664577281191651905671024913037191652550440267215261191652850204651532981191653068367166829761191653106356747629101191653233567420958841191653269515571128867191654775976960206101191655964594305846281191655985176896543741191656732791166326287191657083983117701951191657307548630529461191657881818937538489191659306287931500161191659396371447213101191659875316675585967191660000485930228751191660738918814331049191661298610318458121191662434679189230407191662672960413688607191663731135267922951191664726847445450951191665812066952754951191666014810531496501191667069059101156367191667263633905823201191667643404797463941191668259779969732049191668630960737045761191669626206652297307191670576402368839169191670826588681011581191671046277137285441191671816726588375361191671952962048640501191673216022155888449191673321448965194801191674268634323597321191674318323211170677191676085286075584187191676403914417981101191676543479465667521191677317668289174341191678267977932717641191680078900997521181191680563747204426701191681644123415390501191682385203531838961191683726073555750771191684726757554345147191685469483174101689191685800295215143361191686046905946949281191686171847524664249191686317717962135261191686707159179105477191686902379967983751191689438876234639307191689515578241008381191689583155497836321191690046793187505761191690255724289704281191690652668169628901191691001770170310461191691196417906571621191693897682388829147191694268161104339507191694821226581240421191695036674344186951191695901789800314221191696693986744875821191696960588111409701191697746740878636281191698093642506781451191698361717323129769191698590494938847681191700597693598582241191700690177703318187191700976729796552981191703577939158251621191705302728346441001191706177589209611381191706768171144183701191706798323714435381191706885969710167751191708086784414998241191708257106677117751191709586369305785981191709737435729195867191709844638043441901191710154904029792741191711629252154097641191712606608603714207191712650739300635501191712946651127105921191713027776689595521191714087968435080101191715711629117822381191716007286509293781191717326640009967401191717875629679247741191718203506192345061191719116353748579521191719168296920020361191720642755432668761191720811320016612851191721295868260354821191721425478178030643191722164739661150921191722671881898487571191723513002279861451191724983802241186061191726295532144061771191726451068016966881191727164345926050461191728136441078586401191728791767159448161191728940711972839751191729059117385924087191729275108323478409191730263283215522987191730947664286068581191731009904141716361191731203992362083221191732034645970267361191732220113476182221191732380933587543821191733478953620232521191733826300879103201191735255615030675201191735976004143847451191736363162853816661191736771914801213837191738990863014109769191740463248773473381191740877953435313951191740953457925192117191741167886206693121191741453438450194727191741707834551369821191741788239607104041191741814827799694787191742593161613153807191743007520246585251191743388129664316361191744793237346443041191745833506010939621191746028415098434721191746463695440436961191746712606221437221191747378357860333061191748874587684173951191750197379534826041191750498402006745821191751190027050948221191752225991692583681191752268793851742251191753362256085860681191753430935197094561191754259974535161341191754264333055089701191754525396309748001191755402904142828461191756258410162741409191758462036395287609191759062678666820801191759143218749274707191760106900706287127191760585784845295361191761722699927185621191762556068669958701191763508033915165541191763723939445232381191763867733549251221191767106680851990341191767706811951701141191768406885963652481191769256343070895421191769527376520409801191769915539616893021191770000254601216007191770114451452404401191771017032930532661191771024076024340367191772930398345962787191773298949650288321191774012306923022321191774814405494886827191775567545031353921191775807472842606521191775872830431488141191775997489515055643191776008426016189751191776008977091039701191776122964354349621191776696122411471341191776995911540610251191777906098486891361191778905439260637689191780210954415876761191781449943900154067191781635893005395681191782486259511025421191782974785698978301191783153807877200501191783610788834970929191783673356522310401191784504241828493741191784639131969524841191784694676450532941191784715060085829101191785218741820243361191785350272240425001191786347190076528641191787116821345841441191787841945274669021191788391118705536621191789214157745782769191789785312809387851191791954623308099141191792531814661689557191794742570053840637191794793210316005087191795291698271462561191795881440392943221191797986906768346841191798515535807171747191800633587344762249191800652742766094681191801257226185524647191801475173363699081191801925980756652407191802068169276880961191802328755884627141191802506570662193327191802517188108753761191805561845556017207191806085826099837101191807211460105710569191807246881650193301191807610691446363161191807975183840476661191808736005649528649191810028308523054881191810083116518189921191810674941202801451191812346319987632687191813693377593613601191814194534188392821191814705135014959721191816589231055355681191818103984066631341191819582806465225187191822764558975325351191823495686584193441191823545623775034881191824106688441620129191824112422199040221191824972496671587581191825681889695101301191826283858381073801191826459945441773441191827575265841392451191828265434904594401191828902088645158757191829956212028284451191830521772032763889191830634493991259951191830979404643051981191831020622033442401191831986237482271751191833034295061967861191833082545770133661191833240342645573751191833527631054564721191834594250469318997191835286234157206907191835374103725929601191835472899127525661191836825098463688321191836947420058542221191837148453321125141191837163634769335421191837828040272309807191838387557809205021191838807623795087681191840620656284711381191842558859971234721191842808329650349601191842978470772490081191843246191892723129191843547001610130281191844693988692047741191845189608402521921191849822782159865921191850007819157580587191852174612799982901191852397383509933751191853057268671787751191856181859300239481191856628892581344251191858351100788395361191858426469622649921191858920655026288961191859175285717797851191859896485145609921191861478223925780027191862005743390674701191862215413888299401191862434326432374197191862604174485527021191862697249815008609191862744858206899409191862807512192476481191863993533966445967191864101649592936161191864358419554076321191865640918765104557191865672815040136451191865760880419915481191866289073844861121191866526924765335661191866768291904127041191866832807703825761191866955263813922081191867331006489156161191867845386250688501191868436729348129487191868887474011378901191869195582592558741191870752290262188581191871385555284695621191871759807715225781191872103911512350141191874165030718640921191874290396789397161191876464092758728481191876804718339915101191877315302876073581191878034796200707301191878323422916657881191878601760891067529191880800291332136987191880850170990364121191880984686957505761191881380132732812141191882061291179553221191882797993593876341191883027835128869201191883356781766742081191883601452237537341191883644313167828801191885655358767098621191887850117363712851191888360272119192761191890131287701296641191890291597448219681191890364697397778951191891543234042343701191892571742569331981191892826228347064181191892989935553110241191894514672620877581191895020184603583901191895353803379501741191895558007508491061191896035617087873381191896949177904809801191898814639892515361191898899007138650747191899117871878039121191899794801480360401191903348625728537081191903420671626088187191903425307236531427191903764930048393121191905048548332420501191905495844748775841191906409220191206741191908056781021423367191908089246461154401191909346815053641701191910144659682074861191911646522911745621191912952538170134561191913545286913285451191913620345418955421191913833947312920641191913837269822571341191913849947603029061191914272821940861467191914655777123685221191915115277813302251191915209670452065527191916662632325214881191917542845723881421191918321011303622201191918964862273450421191919327012292422851191919351600888078521191919869586037816661191920475362258056341191920889989804071131191921083322457328751191921420974566273251191922565506045507641191923529297178073601191924728830709060421191925478647907510529191925649478458846901191925741279007603427191928769694305613741191929168494286372751191930546007920022041191931518653846984721191931610301638060781191931699929829841181191931879956060474447191932650204639904751191934254047113080951191935193668395944417191937672091155459521191940626912987154701191942015330040315251191942848048430629601191943381839153122721191943968448312363881191944253210119870427191945118287912578241191946185996171438561191947609191369534941191947965427534283501191948175743539296701191948446944987470201191948616820695580661191950503417850322147191950600254686665121191951926925035476089191951998332109560101191955850530014200751191956241099438953601191956270107692575751191958791707138507361191959537341531022241191960677845688033181191962173292138119341191962490229172581767191964052677374230061191964350693904662801191964404174007288161191965385231902683821191967701783493790541191968270298027986781191968710786592159781191969060831563112381191969152442315134721191969165136693975221191969650374413231441191972025758680634441191972355635312833781191972846160403476221191973186223864335041191974303077038179841191975740498006198661191976584368272933281191977656350908622561191977725171796227101191977981652178587441191978938226690530661191978957802840759821191979459176265297821191981274679095274181191981760799913340161191982106955382898241191982880714372253741191983382106456829781191984023487788106969191984458011128293121191985076027977746861191985554740811105621191985581041962353921191985636369224025251191985810859135259201191986461631800460181191988792357703074569191989699858872844121191991318541578518657191991652589563156451191991681040650663251191991826371134363501191993078721395829341191995883361766063001191996007037960178981191996273327307077729191996698566558502901191998427432242757141191998504386820214561191999376857884500641191999871531726479951191999942963406652421192001851391258003421192001999866386458247192002061974193405281192002202449014074581192002283477938521289192003034851983620001192003878189166354047192005835842232803951192007948604885220341192008732900058334451192009839580826478081192010188064641008141192010615454273956487192010924400211510941192011238226015585661192012330236921210081192012713824198513061192013651155445905809192014192280978712451192014256197753869961192015215272821485351192015646593318115421192016999011103477481192017268236949980141192017494333052459381192017720441824692221192017853991762993541192018090246160065941192019586968031860481192023149449386112851192023833498269663089192024027548026276451192024317171164242527192024549820270064501192025305501320887367192025498141087601207192025617781102203521192026245590223914809192026618144193600821192026622009664400501192026989018043947847192027177744190449761192027866882965756661192029599194587135201192030245572288426751192030399802806462851192030829760160266081192031042652942009141192031872502560957281192032948436536553581192033822521887725341192034547196833864261192034616427714491741192035025402321488807192036305202824767241192036738465342533261192037123572445251461192038472486440898041192039515324451218027192040050939852174881192040889366052880661192041388824961699461192041803955753918021192042147586002329081192042850285167781601192042967613788919261192044112192693723701192044660093128158941192044913443038778861192045180762211731041192045636691512797501192049513093916473751192051482235069775751192052164824212286981192053599908714942941192054462423978225827192054945796766149121192056230785017473121192056954933242193141192057309329161277621192057493781805147251192059475312340299701192060360196823522441192061601986017231101192061700916447851381192061782461359951409192062738610601353821192063303943989656321192064062081120132809192066089843206678451192066746875345794881192067637669698691261192071061754416962561192071086880165041601192071159710001130521192071715864200360381192072155703085499201192073056388275283769192073090463770463201192073689881639818751192074307334310150351192074541508119414701192075917397085720541192077064852369607361192077153347773062261192077409468735176687192077613910895068547192080996968016154077192082201083880477121192084396705656665121192084771237487128401192085155868638287369192085213518250452701192086130995586734141192086391251280703361192086642899157500067192087157423230911201192088411021412176007192088599355464224987192088602754573009751192090138706267768001192090199177475796641192090605310245225507192091449910540148021192091930481596846061192092193826545672851192092203680663253601192092865408382315841192093030259400916461192093395888132418647192093446679271685741192093694193725089581192094374933914702141192094670150991383681192095109088353012161192095523503977758221192097167419898403841192097888808711106251192098772267786990881192098863883780698277192099185257894247681192100707280123531661192101078195547644321192102411392158592747192103530467482115381192104230529262960101192105890862703231361192106026015894909461192106128770012438921192107924272604872541192108061267881587021192109605700936751921192111485397447685121192111668603767574741192111774647018468141192111997115831667689192112274316586917809192113517575703598241192114265702573540181192116396771348643101192116801148008262689192119276923996675061192120365894872033451192121137606823287851192121764992920972961192121841615294050301192121927332953939681192125285552574208181192126158033785699601192126185684240128001192126490954099046081192126730403061568481192126817941692688161192127124649051667541192127180960794606947192127607815965606101192128121737614354871192128649583732968341192128732777703435221192129157191291897341192129561339696466301192130015719089277251192132370635910187501192133106214255694541192133480520696240801192133531436969343251192134336560697493443192134435111669067041192135980844716085461192137282676603673301192137411781296412851192138267076371825401192138846490418004461192139357298017338101192139937440413381251192139944628376215181192141209224456423409192143163224395790081192143437649776985249192143507351910132851192145176028733467241192145269486262909169192145469148900027341192146184335744953661192148576472655624881192148796354693021441192150902681863299101192151306897446170621192152014032200673761192152294697252222461192152414386456718651192153078028299572741192153814697935996481192154445591766387851192155553349996771367192157344432031910687192157537670005498481192159575250839164901192162909894447125981192163359436841471177192163475487090375461192164175396179976089192164582933752813307192165417663770046401192167172378710646581192167735727662762321192169996449803735351192170171597053357361192171706147099543421192171947952986156801192171967256165869007192172479501231081281192172798731004180001192173139901019071181192173257984184045741192173461134762771101192173890171507640321192174768378385019489192175105126747597001192175438461486133607192176257279507747409192177570167169193721192177639333829692461192178336012699486751192178430707656771521192178981353325140101192180038890903465601192181752360137415341192181976191855331489192183712496705787851192184091358124070807192184225725409125329192185159828987808401192185851416683250401192186015295849217381192186083736109641761192186503706690544151192187116475806826367192187204533375983201192188260036027800101192188528386139935841192188797800187302461192190311512433696077192190423359391890401192191245436202560741192192339599929093187192192905262131340221192194915180613208301192195239432757777281192195904390377455621192195960158134710701192196281049452714401192197018594949322787192199548868190159201192201570923467290563192201917695689404009192202957071540531263192204062896962767051192204430267956864221192205054334069554241192205127264986270901192205575356677451741192205973328986893451192206240521578690761192206436889161113381192207518738520545841192208174253590221281192208264609895928767192208519578501064181192209136979698687851192209261832055512851192209446798388692001192209945015267495351192210492421439916329192210554510951419907192210699255157325921192210785314883337851192210798550298319101192211058963690773661192211263368665767461192211426394714267741192216937455513342407192218163153698461061192218204353750196951192218432125015162127192220168428113847221192222064903611280001192222421017394599101192223128049585822241192223784532056554721192223872931316732741192225410887844808821192225744063677282501192227745279881337287192228616080251643701192229837030991925167192229875385254890081192229976014213852451192230614920668628341192231120854482370021192231262810146726821192231402724131816047192233886377390887451192234976697558475947192234987716959892261192235176639952141601192236335869726623801192236418857963979461192236966568184131101192237763634250136301192238472946149033441192238794482113957307192239115766252879361192239838194377366901192241203270648595667192241513779181901381192243715650874353701192243834873522581321192244616116521748481192244768540198304807192245645464116679901192250828786943066501192250863679264479281192251455414769389529192251740112063295587192253834984450400801192254555203842979901192255835602657583451192255992595067995101192257186858647242881192258234572417504801192258247212685872641192258964455057095351192259595409111160121192259929113790988751192260337478922215841192260627475048245621192261564958598427047192262093295337787361192264613662818019521192264950139055943249192264973387075783541192265568993580024161192267405486259961141192268578376907053751192268725292746682661192271963050670344221192273839558588150351192274236032673702161192274453096476354527192275533855696177541192275873834772998981192275920942310836901192275929390996899641192277124910130576061192278326634758115021192278725064124736481192280674584498826161192281415838441783847192281620668261787841192282696697448384381192283113763071234827192285565704135927461192286306717240071761192286771466348469101192287243873896051841192290524664535487901192290787412970704451192291443600987134001192293053701429887021192294449157351393281192295181917389672851192295576253866841849192296760370194875861192298244596232490461192298491804828804041192300257195092439129192300506583021304661192301878499195258367192303542325948098861192304588176576637661192304825517559845351192306733699439233751192307172889667664171192309181392291941261192309254248282821251192309672202300986041192310427740843270187192312182595282169781192312705944647518197192312870613212755261192313691671747867841192313812739229732261192314987438923991261192315103178764829441192315109831378706981192315216217322006741192316495069225341929192316964340488362769192317156898498623261192318196016125721621192319612712195156381192320843081604964001192321575240062751129192321665366044965851192322649651134448261192323244033482337101192324370579096313441192324576367570464101192325642011307642721192326161724976269207192326219156548099541192326616742773118421192326671061628881921192326867565046884161192327453959213822141192328113065920030451192329359286858650157192329531341032949301192329645667461741729192330108894011309951192332748919219572587192333539300204622161192333542236008948281192334650280386021461192335419267186299251192336553431827105501192336785986799377121192336869401988617541192336901883855519843192338814783147374561192339086463155979461192339147964512346709192339422850770036741192339508347749003201192341323791293293901192341542464300328451192341990992894806401192342288836000477981192343765664545270127192343936311831821141192344669575417852301192344882265143458721192345377223728623241192346042339618175351192346203766071089009192347730148502934821192348397909717512641192348655651465007249192348729282856490381192350074838933832851192353762250955226561192353999966762068901192356270985216758501192356428691251273241192357479879874211751192359362839390314201192361596870627364001192362503708442801951192362632531813426421192362866185263692961192363057218111377061192365435936821433601192365678700435297341192367166749522563341192368564685037232921192371278283245684541192372037692042765251192372536957991020801192373252772906756261192373664293711109981192374045364456823961192374143197257296481192374724521909641061192375203760512095241192375568271236599251192375683689739094281192375777904420035809192375887623932183041192376603093604237387192376664142287877287192377311417553130701192377814853962187649192378990051862243751192379384305364210301192381452423585669729192381861146589586997192382280420073561101192382543846965336161192383592892580062901192383868531525385061192384100688475304541192384342834335756951192385931825250207851192386428321393541441192387884568406828409192388194937758280169192388261514511108701192388349870647261751192389125749583601801192389406692435113781192389536454569810841192390271871720243681192390505813359695201192390593865788013761192391124531201452103192391186380731866721192392798398176704867192393411463331844581192393705523559374181192395216542759878701192396835232763496661192397478410991300867192403350188282101061192403493087003113121192404114526251227961192404466346730039021192404665730128705457192405985496172965981192406504096006728581192409623508833550127192409754119160939561192410989024792814831192411098116705925741192412171741198814561192412533301119057761192412944781032457289192412976283052110821192414095449711349207192415523491374905621192418277430515297807192420686788856293847192421997223206546261192422142302893147361192423536896849788677192425046527494230221192426129119188996301192426547668096810161192428020533864255221192428749082249355251192430577255790583901192430827286835374001192430879411329074261192431023004797266881192432984437634128381192433186008952805721192433619247129440021192435096017350403681192435165849778244201192435206070396789101192435759535251266027192436814727243775451192438132875378611049192439461636653614721192440347957489815521192440704441849051727192441126752592793301192441320580990908081192444856502584936889192445303445430899327192445857194428463861192447901252482809861192451097267371135001192452196021937099301192453009233662271369192453429258547214501192453644740622444951192453680462193364601192454159954730981841192454996238481524501192454999134007801067192455011923256870841192455517557258600801192456173554275226241192457857528915006401192459328383587774561192463586792238766487192464434707318517781192465869968205079521192466244147052053369192466411885859021381192466519894540055927192466721900285965121192468054865246576481192468064609065462317192468389573093277521192468523172202974981192470012812059718061192471023292577270037192471211036724021021192472255226262717281192473396971065591581192473488055388125777192473995744246341281192474132592977569261192474947349804941021192475380944810634941192475939548043542701192476068305025921607192476263203605149661192476276797580146241192477337973379708041192478005667198980641192478600987813291421192479560556750913047192480319853922217187192481168327118007521192481384728698177807192481595613409496321192482151524017050621192483572081546592401192484264637739549701192484700647227702287192485699425677988301192486273910823917367192487542377297754701192489019805390891321192489725255410948787192490028521774012451192492575657741463251192493684114664807261192493914792705872489192493938522617121449192494680597284951701192494980417819366751192495018665872036481192495450590075075387192496167382649041181192496530423417794849192496887733330043201192497087856926419751192497943678212910881192498486052196930027192498517992037893281192502475724251548481192502707532226585111192502737189831371201192504798389264222801192505025948578886981192505717904141360261192505951385609077121192506765958208586441192508152064909616201192509508985043637851192510341176668532481192511646968695754847192512670960987067961192512874887609579201192513864738998919041192514571856894391661192515522439804921821192515891740726864781192516018795124095341192516364980797613221192516751035518568941192517733804922105941192519162797605627421192519524284415948981192520326270253757681192521531144618279201192522279654855479261192524119366513357601192524800887414883001192524898135136264427192525054325506391901192525996657587782241192527657848704867581192528255889978082951192528415969893520961192529730686877755769192529845388286768261192530419833191008481192532137571167048461192532639615729364621192534308894609126867192536158136674719041192536472200675492801192536869658985813161192538289590531851521192538654760824912901192540083895682206257192540198948924180701192540261158981982101192540382335542395541192540908448613436987192541292912208259841192541873476539854901192543761295286249781192544693555928450501192545449614932298887192546268639474265441192546894411566598341192547679346310742381192547912303376624687192548479573341046901192548726655954791861192549158223310531841192549239824121443181192550800795078282251192551688851070916481192552691367733444101192554316303882759461192554528950600058981192554940375254276267192555896176552582181192556143618427203941192556346030445008621192557418188032480601192559204942539701387192559860509072834421192560983279199643647192561627309425079941192561803035639529921192561884894828238701192562174915115145221192563221765812558467192563801350111719101192563985222083333441192564121738521269387192564434538644249441192564814891030282901192564900407674881347192564967636042844861192565478294693910569192566902487373586721192568263360595017221192568512425366634587192569197074839302997192569739536919206081192570537481344800351192570870411999190727192571045313126446997192571830083894273021192572195874114700541192572295217017534401192572331419059980581192572601213644938547192572937332292758861192573680440128587201192574948571808362921192576728504277140597192577995106186977641192578148548309404727192578924624925842021192579051625835538701192579484088216624063192580676205068291501192580935748994491661192583014454703193587192583345338463050569192583798610340969251192585301052532919841192588826979817656021192588961127539447361192589410940773547529192589944739501440887192590435241611505641192590523114196985921192590782483084985351192590801875471006427192591868596533593301192593177121933185321192593493380725402781192593992351735517441192595636688633963129192595739295326267261192596847575930452001192597110200249994801192597554559916537301192597692195384074343192598390208210541761192600114181389024581192601439272043824529192602046355893215681192604027452428345681192605071134294207041192606273265044670301192608628312389692421192609439980550377041192609852567738381101192610453012863415301192610578201036390209192611673599740689287192612945735327018521192612982850581090961192613669722562883141192613888666832761181192614897290726536227192616001286065899481192616643538436904021192617002392441827321192617410346602990751192617551313527281041192619857801553176809192622901495549856641192624133034576920961192626953535037449621192627150549874850561192627407338855269587192627634332753859529192627927876672199181192628849176939095951192628934317488665621192629920248028174667192630222978376261529192630344814003672851192630566272522661021192631901793256855841192632774922082574081192634344001666442621192635794135622231741192637843491169213601192637925859374287841192638719900801819361192639349871036139827192640717686331637921192641328545917972751192641653274775273461192641689434309088967192642105707403403361192642757821426134729192643348769239643741192643472380082962781192644008047174781121192644091610887197927192648310793499067451192648940596344083841192653359001278942421192653719783097232851192653830621670974301192654333918868152641192654411773126949461192655089982289471567192656162133980391521192656639257590094841192657491112166751981192657738868278933251192657744295081294721192657956008380602561192658097667414593951192661465455081723947192661859668085637251192664117154239438061192665377633372897061192665855207212121567192666289242460241261192667944371012882121192668125061606928701192668407018413758651192668711055628536641192669188536763632451192670727451594360047192671390754178157441192671934438567233867192673594736151250757192675333407766079061192675518833150346501192677380067596984751192679892070164169941192680525039481175121192681255201354499421192682041951884393801192682270689780302741192682353237928755401192682916656010833061192683630453241879527192684172676955953501192685215970437217661192686918987335231001192687352882320381269192688655937946524911192688926327641429849192689390614910030741192689614108118500751192689825068737610121192690322569641399681192690677100882241901192694029839734175027192695272306234212251192695416764676686569192695515725915724421192695926432064079341192697046141355272981192697586876320279841192698722531534388477192699402954560953941192699450909987837851192703198932298969301192704177822866813541192704295341038538081192705336089275240541192705673760154861329192705830730631866701192706112685270128501192706229850798847361192706803955024001381192706806084667239521192707512067579427461192707663343018154751192709197278686631981192710605502233534751192710733807870821981192712352032050781121192712742412757851251192713441393604213821192714374431605761849192714603878875739861192715310551756053143192716067420835739489192716402894618257001192717674282394855101192718108496582219261192718293160034146061192719221608602570501192719293151023213451192719542880886405941192719935821567778661192719998795469799161192720380940143624801192720528875034162851192720793709557486751192721923339864222647192722650238100723941192723424273945989461192723529018071151181192724307251948322501192725314098092478209192726721598921644061192728243467177245461192728419406050005641192728723021918392241192731087106648229421192732309093840340169192732908973545576237192733382522694505247192736287206460288557192736810598484166751192737559160432957121192738552369767840627192740430326974905701192742578173261779841192743672149646729381192744649791508117751192745568781672750881192746845103956663667192749205428770820321192749989504178936321192750764380544677961192751151641027833401192751535232990205481192753115543059347201192754126585960589951192754635899011995701192755520388857520901192756479090730637607192756681115448778827192756801769818870881192757625288236528481192757893438200425661192759309834775272641192760442884513739981192761353373059826561192762205408154864981192763647641705783951192766030552477294607192766444090755348767192767839099691623301192768944340242982887192769004141689537181192769464329561659241192770794296852215321192771438527270459927192771504902324520161192771651685444012961192771684725111981381192772577387532100961192773459306122610951192773589780738028961192775013628087422801192776654999902039301192776820570484582169192776852983373726627192777393381923420129192777578608065640121192777700839305885741192778400081277199289192782789103406070963192783822016690047041192784301652381939101192784805868504829121192786631470076137251192789401841708635147192791264035896799847192791403701006249981192791513146813897061192792331506515536541192794977392418757981192795428520686980181192796355492538105261192797714796744839861192798003769538002301192799112677889028581192799803194855580647192800186024185100981192801582890520387707192801921134421345401192802707792289035707192803285400900542561192804079055564732501192804230786838867107192804242184882538409192804521254898791781192805504108075446221192805925952121530941192811667773115827181192811869963048274031192812359738450915361192813671636441568251192814890851908948961192815010387864944921192815375248974098729192815530347328541441192816313030115955371192817286626213686881192817563073514831951192817579066855504517192817802826699360761192817829849984630867192818671790447423681192820507989045244961192821610069718945667192823591403033116409192823984593066323261192824983373317013567192825037170909084161192825555940590782591192826070450686629521192826487486176316321192826877177371427207192827549395066780541192829142286101430209192831285455795848157192831650003329400987192832606046122435901192834497740615576661192835745884728414101192835777827223318721192835949362832875061192839139664588931861192844462564867017761192845011528812408581192845069064394642361192845103976346052521192845207138531607851192845488175543953967192845829470783715347192846930813516940151192847055686811869781192848318604048572561192848756848250474981192848787980868697841192849865953050644481192851388133586457851192853331995526738657192854881127863758401192855809765836984421192855819809097202751192859364173673198621192861234082020059201192861944300173495601192864168572037326921192864754564212490643192865812267414856943192866614912593138461192868334003012301209192873334073238654581192873492579671911361192873896232476862851192875536932853624451192876547415016625211192877105232082620351192879579250968288221192880071716046452021192880435764082289141192881307672004337201192882503555442627581192882782764430095361192886152572930814881192887137316115338861192887934965680796741192890208255755740481192890327423141962091192890413203024215681192890616521508364421192890681152665294341192891185787459299987192891416382929375381192891485576879807361192892091676749412581192893077054555543901192893945965655925701192895685390478740501192896141659959393281192896329928148455987192896452158090253121192897005550860225729192897542796932227601192897610467977202251192897865209032732801192897955082040071411192898692519265794161192899426164758180569192900740909828388041192901751800480789301192901980471651138881192904062921229372841192904193352184024421192907352352702662021192909122374605375701192911689805205032741192912954828695585381192913887553983812981192914557064692586561192915761566381233221192915914920301210081192916043821426874141192918527327144038781192919124626975990721192921682714540018547192922242705772082447192922339366375915361192923172532217027261192925183621633378661192925627190595189761192925694091953175047192926145973238440961192926179265174860061192926708215277530421192927096486348073451192928762629699771041192930663393652581047192930870183304779701192932777139692640761192933275676551449769192933607453899234251192935347134687644141192935377402097929601192935996133903009101192937004667483710141192937071586736418041192938521605187025369192939686164618068251192942901421267785841192943050985924413281192944348862027310277192945136835905462901192946242831612445751192947608912462596929192948846112535662751192949642805376032921192949965019050291041192950203917035343107192951336196709592401192951525172535116451192952088722297648181192952124304015526751192954344710883162081192954939919408461791192955601221891283681192955792393469565821192956613477220977941192957107407281694127192959322636483019901192959625677122099541192961316555255484161192962221718452307741192964651926231472751192964714048919402081192965681565013658501192965771579522174741192966851860175614421192968980771086306209192969211339841771207192971623914910239689192972581930521234487192972788471124876251192973108843005378941192973343711050844489192975693810445099901192976099569667032581192976886184156935129192977171495196860501192977258955357603797192979961580179100611192981185139269175851192981289886592545477192981425054221694081192981882878810462087192981910286192395421192982230517105700351192985591264798570121192985953937195668251192986421702784014881192986605641384603101192986856109334024021192987284920764751181192987650402680297061192988400637828289601192990019130081935337192990119310909663761192996641308250871707192996934546691149751192998873323200562781193000130051221269569193000406968883771021193000431661465859741193002233318204473181193002700443426202241193002845996550132851193003272868417873481193004783551128455561193004883721564873409193005114352427462507193005139805215813541193005508985369768417193005561090980050121193005658779590371061193006145432321587181193006154235658309121193007691063693990827193007823776086705643193009424389777870751193009512304810506881193009880428910765489193010133701904346181193010459944500353621193010492334170389421193010865384272479841193011080336303781281193013400961001387951193013403877339329251193014481638433112801193014927272644650281193016620404548296841193017225359512168121193018649735292957851193022253311137595201193022558100513642701193023252078695006861193024892331769946501193025758960632418667193027072473250968227193031630722222421321193032713167774614101193032897521722780421193034679039109989281193034785186641376967193034931514777883801193035244690698580907193036963017207862247193039695338406143861193039789220111443361193040030137285751471193040707559085966401193040946697888432481193042902054012209481193043354070733303421193043782481740333451193046416400539032641193046883436999699481193047020379636303491193048229816245287521193049243083508338181193049966199289193381193050202327702956161193051393266842187107193051927545885024641193052134953434406401193053435976063792901193054007741649560741193054358065334830643193054845913870491821193055500574912549081193055600979504115121193055607137240323751193055627694101832851193055797263521696801193056269606402787851193058372479004388101193061830211000825951193064347889087069621193065534502251293081193065661098746457221193066716728870655407193067660272440800081193069060785172023797193069397797914089441193069622875226922587193070208643151277767193073511157253961581193073973805456931441193075395945818909567193076007014638647251193076741236139314127193076963226320002769193077003256908422717193078532662998485351193081950097394531681193083542817673768451193083633498308202401193083975525779333597193086126547427413121193086909992117394701193087358961028666127193088580437375419421193090148817777927461193091964830082987041193092298007965847201193092960763533475451193095994599662559251193096800067184986241193097225099010301121193097876189756167751193099068523431228701193099480740366440249193100099143991334689193104977659884682581193105102694006235281193105324949019451451193105852022229016607193105875408721201601193106766478531367081193106947151758432601193107598710877159361193108707794162791901193109038736919202181193110431689981742081193112098596913992401193112220865933099607193113356968813824461193114948399549091381193116200702199095351193116941570375786561193118103113318698781193119032580274712177193120235819481365087193120533900574782581193120693388525463941193120944020682228821193121267799559808081193121459855846965907193121793488584503443193122480411820808741193123924196354219261193126665218833392167193127133867897060101193127218707087039251193127757211659138761193129318394602638941193130365004437320821193132173592909678241193132181071674102251193133275329795535289193133785269563012261193134243391964759369193134460786529534447193134938693419049681193135327822792390781193140150221710887941193140547794504297101193141119677837321441193143739640361008501193146249504769308101193147598211028034501193149162304443099587193152195233702405129193152910084867264961193153166487404533181193153271960422036181193153402639370163251193155351524024792801193155768268097248541193155911771000060621193155953978357109821193156134014140531481193156734865371560021193157125948178701481193157290114335304481193157460965897779061193158669231439456041193160443009488226967193163596196905836077193165479549055048781193165604496769480481193166005539696743801193166620108591811271193166646235202058251193168280033585605751193170281863598487101193171192956781794101193171570613822662409193171653540215687621193174134559782283841193175446224523255643193175687793713027141193177394709231941921193177618757035904261193178478120950243567193178761762066619501193178955598010751161193179697981210235621193179897709661650421193179998786753192141193180295974812012101193180301725023406721193180433073372902441193182783187463568641193183455857162065031193184259074115588569193184355706413625901193186671608884589381193187712797102431751193188102744034624751193188304089737943221193189547578311265943193189842118739476721193189976391876178061193191260161456648361193191508457442406181193191556614669727037193192547828002863221193192563632908263347193195643873299045121193195904197115683901193196752312736248001193198476806825030741193199523989587091741193199786267410991261193200382858507056161193201001871183494381193202294234599966061193202536581778816901193203183232061569751193203841746296210321193204353359987988161193204364502830568941193204625441135038607193205577329730858701193206889769584872617193208623776387114221193213062180877569281193214011240371696407193215529533957366557193215829812946825601193216217918973876281193217109430237441601193217997681836814341193220072211221309207193221712323073692251193221937008214989221193222200812319253901193222789739398139681193223422520946588641193223621153456393861193224825022746297851193224860559309161921193225163227227799997193227027743084262851193227384955265796641193228471927574845571193229468501406893021193230438999239497781193231070030108501951193233164691549187361193235123959661122301193238883250325238881193239422230259848751193239703443286258451193240747093755464021193241348967229130621193243214213281518941193243402478926212221193244192407817982851193245100784140761101193246234038725279447193247922826838332001193248737254974207851193249487070868599641193250176268842887887193252584274867026401193253422660676045021193253651167883774027193253928181152917969193255012137521715581193255447250217014561193255578764704001147193256357845480784687193256706128975376941193259755362803845751193261795875255739361193261994876723335301193262034722524158701193265224095047064041193265295546495500381193265440905073838501193268510600696081357193269039108049004837193269843674063890661193271572161594922797193271880037576290401193272800149997118821193274248795003753661193275219855181065221193275679945968720461193275758213039900351193275828798445770401193276677829709083361193276822004397776801193279000437125469101193279262950662429431193279455481023964481193281457478441199221193281477460657334921193281483301624311941193281751817258531681193281859640549273681193282122398412632321193284757276142023343193284974789537128451193286106721658418401193287082431317716649193287281639677563881193287428803532771921193289228608297821251193290234597055838981193290499335409177781193291880459631789089193292223473526025781193293493466829148901193294001061722063681193294861046681148101193295463919198149161193296189421996640801193296348406075434131193297162692182332751193298453205014347451193299048644832226301193299426698766993761193299468551870924261193299643349210978849193300271311703975381193300967401249477961193301138303328731141193302173484431033921193305713137201468001193306295122846402781193306739492236997981193307242288820229761193307531075872993601193309099969245397601193309232578909168451193311301129680749921193312488124653117581193313431733677604951193313640303773660981193314612945880849601193314847828276001081193315624518510423701193316467543448267981193316731480663826501193316840617430860451193318231679608774727193319103919673968427193319345718789290807193319642114954312681193319798645784810251193321179651209576801193321815092255246861193322774616919363451193322784470635662041193323750057973419101193323884032001269901193324212622063841861193324645816454813861193325724606054532481193325986731950713001193326283031185787681193326534873791246981193326977505750416381193328572463090121341193329004674679630451193330171518949706861193332230628626343947193332329280629980751193333385035352796581193334223777918338381193336096695970371581193337990698988611667193338718292347535261193339072294980547841193341341908642323041193341940272142000301193342361622509015567193343605841413524611193344767161188349121193348012532473349021193348659161733052001193348762404628365227193348969705977721547193350034323759096821193350332519728805621193350413630206579169193352951001525068261193354883129188157027193355149538538912641193355220164329226441193355359695457692161193355480555258415851193357506600374875451193357688313320355827193358296149716841581193360649097350259287193363884594874596341193364901781652176751193365079292005617647193366301123447954147193366479096819648461193367696373014290481193368166339727746901193369288478045805281193369860859037526101193370175513387307901193370469786991347587193372048166307429701193373683189998985181193373699718700932851193374330550143982241193374843936579514961193375410898639656341193376801928741805721193377798994332241181193378216639196971001193378410167837810561193379152699373570351193380931989154794101193381890903529338881193381944771563369021193383316949618698751193385090431062282881193385539778965860851193387285485584380901193387377309793617251193387522240463954141193387577393305361381193388665839285783521193391215582465928951193393049662637363681193393870228307482661193394680524555017441193395898148931199367193396317656032566077193397550054338131121193399286052920743541193400773063367346101193403438416713818801193406089155985033751193406564360378766047193408488114771064529193408927546089179687193408951793299484141193409065316331599711193410031355610647951193413090942320305751193415289083602681421193415728376259740087193417600887233000021193419526664685278951193420332144069024341193422468051499558907193422554951721199841193425604861521768641193426264636043883041193427493059619337061193427899785237802169193428367884796965041193429891333891149221193430312212391197127193430423768998103741193430617392009581021193430721081606087851193430973219972376781193431093165764642951193431431923474120001193431525822319436927193431584038990606409193431655379936735381193432203410473087769193432557695649059981193433292840508488821193433920908675616001193434717857012664041193435142055736875221193436402790640163969193437136742067080081193437406515888204161193438102465015145021193438423919746514561193438654352084712251193439242885042222721193439244608493349889193439253625043989061193439425592976160481193439621860694215661193440527426547359921193442836390758432851193442868732868916801193443893575060869101193444817980935758267193446657319684550561193447647994597331141193447838227249180451193447840009811530451193447892214024902561193451050095703690061193451902774786914251193452600986899158161193454000621740107851193454451982054899101193454597302144948961193454982957788197247193456659523328007851193457275364166437921193457328039367725161193457938567909514081193458097279311285431193459061057603473121193459919296817641901193462710126646060181193462729705921488941193462758366468379841193463572952338861601193464797841674993981193469538952403658947193470599367679738421193471640496237939101193472438436143562089193472783438332289507193476334552983823961193477215191618268101193477807620700025861193477838636005662701193478624631400646729193479100851279249281193481144431528266887193481704605241249661193483077775197998141193483431211491807647193483705576995109397193484340403243614881193485463097901049541193485835750310132969193485875622947991101193491240669953552981193491690955995696581193494775537264324601193500684127618331387193501180343852676101193502970248783629781193504927426040284001193505444120881967321193505687738551870301193507627540754940221193508062781310461441193508328163584983201193508405135980370081193508415818123834621193508557533478265831193512673062968694689193512775344781441601193513205870268587741193513534265404649501193514445851424063197193517167188801068741193517283039247118261193518041601506857049193518490963538220251193521805858961048777193522855023094268261193522878352382557169193523035320491239547193523888029289757851193523896371028912481193524280885587777941193526086882360452581193527419372302506761193527906009666013361193529350829917111781193530516918213057761193530910181277592653193531516447479125951193532212487927827901193532692165730453069193533278547240232961193533489670478391821193534435471067590721193536625551876954461193537360904815455581193537660302169096421193538819708657686181193539899480977936541193542570011838853451193542938974055483921193545917202221980811193546914025494023381193547951560318605491193548629715430612961193549877573519920001193549916092418715251193550009173111439741193550919880409590781193551647762766154061193551942189515739251193552637436804449951193553559049643390327193553618152436510861193553679577959960131193553847994418909441193554337032862165721193555501408650594341193555937194749971201193556007797790085881193556039203193878787193556329789791307601193557148946920583381193557663818927236481193557722906248771751193559160241605470321193559958450643084661193561017104152511741193561264298238586701193562533417277520251193566020482573674329193566324269923820021193566555663288077981193568130747724687301193568572500496052141193569010160306175227193569445828080702461193569853972257025601193570096734466076501193570194095738023487193570434806434634951193572351276626621261193574519908888126061193575515748494954951193575728982431831501193577857249822117571193579520855892894641193580596222271757461193581203289467698397193581635160400177431193581678815969368241193581753328584629201193581784482795783461193584195264181402751193584507926551042961193585268827803239741193587604368747483449193589084723594995901193589410434020149997193590511705803007541193590963205133545991193591894277993578481193592342220170197601193592489989120716251193593002573721682241193594703383222015751193595132036965763951193595172111369301781193599300417961684061193599881245369428251193602262438188766901193603786108397458301193606411374578539361193607093152069419041193607364261714055481193611460291097426741193611773730276318701193613473932689858681193616567965834673501193617640295006035451193618105310646387641193618375189434483521193618924014880469301193620146032718991821193621987728465511961193624142619195836741193626100291511278127193626416918920103951193627006892233976261193627038396716381921193627153303002073001193630904722360475561193632723306751462661193632913908135426881193632971941956724751193634059149784107701193634447241577578329193634450310859453289193635274606288478561193635356698639679861193636034254059379769193636426309262259521193637108076454228421193639886810498615141193640441130407966501193642470327108057581193645881013279808621193646387830153597211193647640323190857401193648660178443972121193650342452215847741193651276964076705701193651509176128733921193651678756632383921193652182412841361121193653635923428060347193655644504370407361193656042973659344969193656559430185064021193658609258979578129193658917397972922401193659859629276331889193661530716096230141193662793578913070951193662987617119508021193663419064693303637193663483771898026581193666096482540708287193667868496775379521193668822669894286061193669623654205871981193670755658773228451193670799285015278291193672254124101664181193672447174224582041193674011764009305701193676512994918094341193677651323694026381193680118632724222781193680465033615435101193681870120444250351193681895086517742461193682040974157411251193682056288311108401193682077642085806721193682094487645057247193682626800606322421193682633013877638341193683294037864865717193684583897468855921193685447090832324329193688110760298421529193688300428595398271193688597737848708851193688609180479486451193689795333182830301193689898868479822721193690723470336215561193691170465270194341193692635512360502597193694486122944578081193695392171082300761193695485431569862169193696818901771373951193696844515695551501193700918543577699809193701003366212457581193701126776511341621193702663517314460609193705182928408390241193705281669765349451193708624824290448917193708853744312842049193709674539551500451193710755364306240251193710987558405017921193711775223545560181193716885315406561301193717667969498140661193720152436358393729193720877319855617741193721848058120905343193721913171387928721193722650196242586251193723349079336166307193724737180559633981193726500782268007901193727003399521346447193727565565572592901193730142128185360721193730634958006073981193730711199004811477193733298526388298321193733424127544361251193733945654035475621193734274246436711981193736035260995128841193736192272027791647193736213957553181301193736687178620215751193738596878970190343193739448531315444641193740239964665142401193740353802901845761193740610181257493741193741933773665799251193742299942818526277193742373067370434727193743088100632855127193743563214526798889193747087644329865809193748030686567320401193751782648821920261193751945311495890167193752727649868461951193753600431798891521193756169601147048221193756547192154480461193757385985719579461193757404411924457951193758795369702308981193759307998317949421193759377097274403221193759503622821634997193759693644421232381193762421371820868221193762483767202578881193763990936274691361193764932755678490861193766527991842633181193771089732893482721193771671008405186981193771696056659210261193772322819515709761193772858110102968347193774016764145645291193774239971352475787193774437695156293721193775351574836037281193775739685094974241193777150645782546581193780173938837630951193780368735478234481193780718173081287209193781889021120933341193784389065341080661193787190084464152451193788319021006086401193790190678459272627193792225524443832449193794102070965479681193796019773664244961193796533802583090827193798672962293317751193798792754052177701193798830130545742841193799466680331972161193801563412725185201193802439399116452751193802544191009479889193803273052545144641193803377936616665201193804493965873839101193804758118615915541193805108019259993001193805778676924075277193806910545088962851193808032231213889027193809115644279276341193809589957095649301193809608506241502581193810082585348221121193810846763837407421193810993594597224443193811387927375248481193813127035588342181193813631426993938211193814319797193610721193815282356744212721193815749843106399701193816138577320791521193816716149871411221193819838606551774901193821885196247456801193822478656548430451193823693992552807361193823847141251114207193824432422509454381193825123056546413051193825611015537315161193826100628112560661193826891234074669307193827167926120351361193828189507793969207193828280531078926541193830964513485092717193833656247751855661193833749907491916161193834113355511320001193835049619969921601193836515376433515401193837211596781299281193837399052809168001193838989725824872481193839479984980865261193839557797684561781193841480696706274007193843857342995842061193845491618429480321193846067204649586841193848249179661609341193848266873672913281193849608158856594011193851283926427025861193851419808763598501193851785905962023987193853377712969661341193854841988438069441193854888595212947951193858131732083167841193858738502964301601193860255301802502221193860524384244691481193860860248892923361193861544448563146901193864252756405995641193864378927041201341193864986116947032941193865119280122212251193867088132283501287193867943986429758929193871977817795866241193873838631498193961193875792723387393581193876180957344684341193876747584011570927193880150391500777921193883560427931448421193883714938280139581193886990344016564801193887341797321988741193890872601643247741193893823851773611841193894965208512140951193896613083857255561193896819351191346581193897563097932514181193898587964308677641193900125212050972061193900145760453696041193900953404598388841193902229884815240681193906351948817870561193907700868698109001193908422427198762881193908785560488595667193911257864849568641193911591638006073101193913617148582314421193914246996531496901193914685838462188961193916026393296808361193916608754422877921193917258931681878329193917322501143346751193919130230822295287193920087252685519541193920140022187018169193922336153526368321193923093272610668801193923379310731408481193923474229646795981193924153795087659251193924966200109002821193925305459938492407193925438600285597207193926030049391037941193930649579398054061193931370295063276451193931517011078185301193931518357051197221193932141709096786751193934141428566014129193935037304296040447193935554311020640001193936268086437823361193936971616466180321193937820425330393951193938564887681760569193939190104865596661193939976343965611907193942046566978860341193942701580918862561193945747099970563841193946282737648656329193946556657447305901193946573695996339361193947192017774024951193947434750586412361193947474352009843931193948835658621975551193950089428321819721193951957207633892381193952271639759173741193953670141073399501193955295144695698541193955437574885361701193955541530291925941193956096780078000329193956307062168948581193958484394054421009193958604961811299361193960714124434081169193961494417222780787193962371181987910721193962542373577889201193964337481866859841193964780711503660001193965720916822439141193967486744375647751193969067797414393451193970148936099401441193970262760366691951193970449623182147381193970768171783302541193973124881419795181193974824188862231321193975371403664550689193975512066787874861193975958877438987251193976079873137316101193976961131224877207193977141827195141741193977308996701670351193977591288313051181193977619779435332801193977989742805368947193978274328296518421193978773855289167227193979076082632101369193980032281539936161193982976641931683861193983255454719303281193984930241401404527193985338668258828161193985551088465531861193986582230442081089193988034902130558467193991577865536419021193992176407141489169193993613803771797341193996731792846485351193997110874487414329193997118044291382851193997505919029768161193998216600099453089193998860006235687851194000161212788813381194001661581428936981194001686061984692489194002630520968535501194005131665819716277194005944949743412301194006471020016452751194007062520210884501194007128424369338621194008512536889265541194010750114120118487194015089145074578581194015632564687794221194015699865593911751194015950880111591501194016113443495722341194019379340739537851194022838558521974621194025569540864442581194026800526082221889194027491520333215301194027810454523724969194028052232274148427194028387965253509861194029396576043799041194029463130476436641194029624898150995343194030295626785397861194031253275889572461194031682526089808129194032242213469584641194032655498075760641194032851919627106621194033403487706306561194033441890831602881194035427720731552727194035955805113367701194036426363115694901194037143078538166061194037473839269796661194037494186190797333194038866915867025601194041759949873722541194042414025877108001194042605737829726451194044609291343545541194045254500129698927194047939414949590343194048278734190543841194050412737915055969194054181208013816951194054342150195875541194054702319500897261194055935558735753951194056894570869929951194058246226581195041194059567196631049421194060770589746330721194061164952151517237194061488928720937121194062085553246832541194062599861356038241194063191770319990661194063800263417769169194064951971509872761194064998162679085061194067073956712272941194067553607662254161194067908126485525121194068754553885668741194068971585019382861194069424835894443581194070548325296414369194071434915679217921194071643695028022401194071864745071463861194071898989807961861194072325006367936181194072377334224270241194073578528371058981194074018334255494901194077374137582908667194078121843922030451194078660692415228921194079337616787844421194079587835963303821194081877183458259461194083930775075712107194084086920048481781194087913274850215841194088357687646609607194089411396721483381194089902164128012781194094742724251679369194095948224421806581194096068435558509581194096126137530699821194099016564542319941194100782810780790707194101469608969063361194101879139615595341194102009061679957781194104449091398451421194104865460829814201194106276372645401921194106780899854813727194109148999527516101194109307246059598901194110774611718666601194111630322995700569194111818420373558561194111931559165106951194112532408673531201194113777936880702261194114686342955243681194115800387400459761194120305955351749901194122596528849596951194122736258551182821194123029847641737887194123367159379897529194123937766136181401194125862873347951781194126648548687021727194127429038598957521194129194131649684541194129825871207783251194129941797991873181194130110790998297381194130215086804896251194132330730864283751194134638312511500527194136170682377825093194136381149354861501194137246137765091781194138543789941409201194138672526972689441194139469427817386981194140575539952877451194141388013212940661194142172245928541987194143447726968183041194144244002349025121194145142003480257851194145161226382462889194145487732754284001194145489806265836381194145919392119159201194146575281854724951194147721617397382649194148376808291890721194149231518218178641194150255325242622221194150455612022056751194151606537421559261194152468274758014221194153913752920467647194155336845921181601194155926723106060013194156884388421315167194157674488174803221194157993539636569181194159943951003021257194160562885927376321194160912632754516101194162277929461677761194162657516922463301194164032546385313687194166434850917347361194167190209337796089194167437047896147301194167901776011354929194169578333556283481194170673027784114209194171094200693778221194172969514003527161194173283492591815289194174322309864350381194176414730298409301194179087019895475451194179171506390013127194179609959415308161194180877351787112021194182825638875252141194186762583465536489194187007044606251951194187325278435988751194187477125605798181194188344661381959821194191528172022729281194191656621141886007194192510007547174721194192735651786313641194194365461729157527194194609698743925581194195118556349065901194195439263753489597194195936518246374887194196050151599788301194196491652632176901194200502379644544221194200858462637580641194200941083721716951194201125337330475401194201393836102412237194202806461111852397194203161489352409741194203337540697051221194205677629972150667194207397713530749641194208467842999126631194208963120561123107194211721136243354537194211832045177635581194213271968454776501194213869654744768481194214679808393691443194214865435947107021194215184147238706721194215627167165319361194215652173337528951194215700959699916261194216196555507331361194216841140698559621194217016777873192001194217477855292564481194218115492503168187194218711761007127441194219427330187287221194222272760679219707194222423700120923741194223688254359118821194223713366012827781194225451134229302141194226077444680217729194226426304276323911194230978649151321341194231410817690567681194232452730860001551194236068554420231621194236131488868848813194236193737267151843194236614290926368443194236997714877696161194240910370656051641194240953924060759361194241369977397642251194243267260461307781194243474563865922521194243687465887565741194244123774401428781194244594071038920857194245371292976279021194245954556806652861194246675647834970351194247790630722797861194249716661502636941194250200161667896901194251880381115334061194252408798628533861194252733157162117601194253130657783177601194255168301197639381194257790727729963581194258933821265077247194259702211723970021194260010159704421627194261427918235232057194262156810603963281194263200683446909821194264111677114888301194264188016962687547194265004638518207741194265186605968234451194265961200558841169194267170026973453601194267297047449912941194268588289090526081194269938068245495361194270747336975012141194270822003603489441194271584172089912021194272803452944208729194275020053245780541194276068563161524781194276897341135468121194277730370781701081194278027150707770237194278672848641228381194279285076094035101194280614438466987851194287633089255853751194288378744753625761194289304533518335361194290235674414134881194290312389472689329194293439277591714329194294231863676555321194294313453447503201194294634969824066561194295234541836445301194296801500915181607194296910849794987451194297326544446922729194298652843976123921194298972997765425281194300420370879578501194300598447420808781194301553648154238101194301785440789286969194301933083035980941194302039223404647929194306200089527937281194306843310408641621194307741184145994251194308749850765740641194308787965309676201194311389556956496517194312703238980908801194313225998024234201194314419088780984409194314806421091662721194315378789900412851194317358688428674241194318787970193014181194319506475941747843194319592638403662881194319968813623728821194324162117218501601194326973246793861821194327355773352404801194328380142120073451194329439733657276101194329607044103735351194330399544415922141194331467538358866461194331837693969538301194332485504344447621194332906571736214181194333394182309733521194333439679807229441194335233543874254407194336348646165321341194337071012199449261194339085909265503857194339253318752630981194340438370744107941194342760968902317761194343307276376930681194343659191879897781194344707702690306401194346092927363248181194347116148720242341194350086012278988101194350808906098506881194351333199491068181194352290277637171451194352542082330137741194356535567993324801194357314763609131127194357797807876296941194363974834740529667194365414742430130643194365888395314437001194365891302469870889194366183777912267741194370082487499065501194372119077200418701194373379207161064361194373701986422643841194375978691420782027194376267522998247341194377717930585304321194379506846587879841194382527275465330421194383118671767943361194384255479172983541194384315117265073451194384946987036334721194385015705996675569194386028409889801751194386891077032148821194387494106349818921194388508754677881761194389498311498838541194389633422473082941194390744084412669209194390992437092747201194391342755821419401194393173091828100329194393566617661198721194395903068794412251194396370984164703701194397665591529723341194405188928338701281194405930941433837861194405932366303412981194409869647614852521194409939970299337769194410240800135791141194411722800670337981194412960881349847121194413467551409860747194415126507729055841194416433258566780361194416555699789990751194418995979062354861194419052680338273881194419283325063165281194419473089612256209194421865937215467287194422409895458457251194422717613967176261194424853533363427781194425406157958042421194426070923954985581194426212744822360241194427442741762934741194428322645171762261194428395498236381381194431604127132794321194434283049338021951194436018814731456947194436055553619696581194436063848304768143194436292972303676801194437315376366938451194437722420581507921194440533434819784287194442383125009555307194442717122865583361194442771401448702941194445400098940054409194445593414892145181194447705502327953141194447827453705656677194448104230827255041194449813437536625161194451399614102617637194454930898928161541194456568417911606501194457279161442377441194458450684469805407194458585213549837541194460040190924040341194462279289321178529194463042827565733049194464527745873403981194465868212171484821194465890757557063337194468089821706099751194468109795413778809194468330202334665941194468476979337585761194469222052026927821194469935308820687261194470242442956201341194470634945234829827194470993975458211277194473578048053280251194475033332546318081194475438052352797421194476447685396046389194477084460325918127194477950800163330661194479138370399523221194479283223145566461194480941560945897881194481093624716905661194482411424724177101194484300973463014037194484321646744862171194485102953948565301194485175913180978641194486004383526469541194488782563830682981194489698746580805621194491747191798291701194493737487316796951194493753653608108541194493876991076394347194496617360419617161194497169007884414861194497293005378726561194497908287626545221194498038916637610241194498769640630120787194500716793041741581194500921407603111521194500986203629610351194502128576153620961194503113568180152041194503228370048902451194503628455632502661194505266904725739881194506093125753130451194506871785912273781194510972645187634181194512702600291586357194513913692478783251194513988739931229281194514409842073468751194515094481279640121194515336179930891701194516005771729730981194516624197808588321194517207503021460341194519403636253314581194520105732273498461194522638373378014007194523749681894044961194526548056340167173194526930338837971121194527239100691599001194528534233377135521194529497180001888641194530970328106361441194533245020565395681194533400994790212821194534307987411080621194534328880339911407194536668761584064381194538995888702265761194541114174721436369194541574427530058621194543470126481746487194543702279919582851194543767069904749781194543925516229628621194544061009057945787194545047635313465281194545373263871580251194545716368778839621194546721933373169441194546741835917775341194547294058435240421194549712145642307801194549807347675683941194549940471501473021194550395233246472261194552050333874385161194552103357624396701194553090436127370581194553226194827495249194554894321484448761194556755801503720181194557134042095031041194558287578676161221194558499058056732851194558637590380603901194560250121368342081194560513431769066157194561870672823449441194563732422983398727194564920519116735221194565786056555160881194566258789815722621194566549580818167251194568986129792888567194570031077066017751194574170456812710461194574800319113980367194575308160904418449194578277255597201087194579033607663544751194579474761732268261194580194954063348369194580575218017997661194582241269367825449194583581989765073921194583728412077224061194585130987440126861194585295604263727601194585326856356482281194587047283026608849194587076053129448621194587578839909490881194588328280168000721194588890495658744969194591014764593978951194591216451612240227194592422346476172851194592489299783590241194592679509329922851194594228645055328001194594545287106756547194594924846837600351194595846078550383281194596387414720836377194597849698979734541194598658304639481701194600926421690522951194602623958616795567194604121711810131941194604740044074443981194606021316938088053194606212304411314451194606530819924230641194607447648323986901194608238891791512251194609042571558995741194610526284716988329194616887137257448901194617309901041857251194618347537160130881194618698658410724117194619474294859673021194619534843170595701194621132104587264251194622427266861108767194623259605778544347194624036282199168647194624088045274602101194624296031799213701194624527608873340967194624921947387713401194626068366175373981194627484705229064381194627849411125477001194629094776501282181194634820646379549641194637673761764353481194639051791685208641194640520809065740301194641105461500905643194641197575914065167194643200456484060641194644238673868702721194647090368984641021194647414959942769121194648438462430454049194652175423206528281194653673362143648461194654470019680040141194654650969170226649194656043767389306671194658884356680833861194659202310718129301194659579994037147041194660310782099819477194662141334889826061194663885769889320911194667467790867360221194668900795894813193194669350734908141921194670062785366684427194671241617369012001194672125615502375201194674082011030721921194676000408967643381194676974037672308921194677059551555772461194677372986808092581194677961575049781761194678972624387501021194680941009524354147194681762851534965281194681918319472539443194682680363322746849194682790395361910261194684420201041540961194684836206365804147194685081507032940161194686199985147893921194686501767433107707194687823419518978649194687824388541119381194690296089972691661194690414436354548021194691089044762708127194691653060044995227194696316741703575341194700528638898276341194702092855267571921194703563109956183021194704596143288130251194705381704052045351194706250644801970001194706366615160446701194707633219931286569194711054110017062081194711230556704212941194713094246969855501194714865421638891221194716211996315350541194717738641594003301194717787666407700041194719480468826753801194720644446627722861194721072273856186751194723644830490371341194726640264283896941194726740275678968801194727344909928786881194727802294031685527194727879293848411781194728647399954436001194728983657546970361194729119961993650541194730564297032235047194731507285199173181194732241172241867021194733803079051871841194734448414826175361194734494291569872001194735373752399867741194737858251284007851194738151426095090387194738251625838332951194739937490624967641194741593459782267041194741921397998290061194743498769324645501194744556459636555381194746739638942213907194746922547041213951194748649596220126061194748758097841322951194749919332290546707194750122711685832161194751758134632162809194752993664448134381194753516710145650721194753833559269310981194754244352243592809194754551560114529951194756124962399027141194756160481694836787194756449178351319221194757594620172187751194757705781490238761194758879519518744089194759724526986537461194760266948804973161194761601104721932901194761725531788796581194764089954942662501194766253976818379627194768260191468172961194770004637843798761194770206412855448951194771583390923147261194772609261027430643194773797821298491147194775205876118170247194775598961856520661194776158226928281451194776513208454038081194777718291826323581194778849733217592581194779862579615555981194780032595228123507194782057605953034401194784099401329042451194786251177614602321194789277044474269601194789877350190524021194791285553600146889194794388865409375541194794763865665603087194797101549727004681194797526691231552401194797533686601108251194798487624755942981194798606584796448581194799774114328595201194799868395484336301194801067463558460249194803104355651899461194805154065625951241194806924609582160801194807347441430907227194809505856489172541194811199398973351541194813419321506411281194816487135374299841194817925144934029901194820389547441520601194820777946183083527194821237238895630101194822251675817863517194823866860588727381194823903388160105021194825568588690118067194826085270519448867194828702215814324849194830314405787612289194830456332287491361194832579245614545701194833464790447745201194833844997531320801194835943394452507781194836419089782400801194838535213866698501194839360011025262081194839408765650639701194840524618571703881194844929505766517501194847110630092188461194848658314716172421194849849131016883251194849921012308738451194851694511148081637194851799205528140027194852061839024593451194853348943180165121194853433036870426241194855247144152029901194856159376515560387194858553787549897943194858750097716870981194860400656163930741194861334848344827581194862459383573740301194862707009467653347194868082787208689441194869874354798420351194870023764521460581194871706951538986301194872677650132627147194875071949826663861194878372139646936941194878821353411827361194879402219219373281194879474950211517701194880248033680270241194881695419628628763194882792379708227141194884299455641288187194886278994718386821194886350663549812451194887394329033151561194888140431810469121194888954819129867501194889072634893883901194890770369425533421194891052420641574881194891220200421729281194892101464459011797194893591571976051101194895923544144288281194896940083868453141194898631295972450081194898869809289288381194900010997436619221194901926725408756961194902096600495407167194902225194401504087194902523685698544641194902584150365749217194903503753518241301194904198322385255093194905618948540931141194905793019166626467194906140676561411381194907803023867128941194907987997148388701194908966679544964581194910711334783881467194910959176747278227194911066885343187341194913628280546152001194914609879179193451194915564367724737821194916570526600316741194917330371304957943194918782284685257311194919137187083688341194922832987605959561194925219611114146241194926948920249605021194928233083835810561194928412096809017741194929339749703711847194929919199830537741194931363564735271049194933493930085163717194935311617635793687194935944585551023361194937418654074230843194937845829693913181194938842951883297901194941214012119189307194941752680188865621194945685018519666521194947257413485523369194947748733715179401194950291416843331541194953793752257017207194954135195346545981194955425601158322461194956288823967406241194957867463968768357194957943433847432381194958043948844753861194960436204099557261194963067448681975751194971718248972526081194972752021498705181194974766886995126297194982234136585561901194982281865317443781194982451038749362751194984383918178667521194986432186570423751194986891416260459261194990150064677408801194991266221406403401194992112332316718797194993244310624390901194993874209713313081194994595172475572861194995665524575671221194995969932038139347194996654989394073167194996872801337330327194997497157141532961194997539678748354107194998019794674695651194998815876115771481194998861770785661521194999181577000501061195001136893139051681195001496684333870951195001528351845114251195001577915383171361195001701561281286401195001778582383498847195003874101768428981195004234523062983347195006344975646880421195006906304579856951195009046155411168947195009601631111328143195010149504933673787195010398349548185441195011795100426352961195014255381338084001195015215216515134401195015243347322546341195015428189124534281195015450097373204261195015469633375147451195016668641035221341195016909664955031901195018075889616962901195018962394387839267195019833222494688641195021224639480060087195021757260429822461195021763181131876481195024120711453101441195024268767824195891195025352480876778221195026332476177612161195027461829168425741195028720413072541751195029896652438575781195031653467402704451195031658549100330401195032078361351841361195036699621419360021195037273819359320351195038457840406443701195039371351700392141195040206460320229901195040575912260032541195041459963406893681195042164207801167541195042668082407765441195042820238470507751195045136229323761581195045804842727327251195052813641423061247195053177931743687201195056349974682103541195057545997536683661195057557447066833061195059055461120349761195061385970080803721195062388014507869181195066038472953392481195067691312082337121195068049818371006721195068332982839911947195069417333705001721195069467699449917947195071040617813311961195071128897068109541195071984626895119649195074191646191554347195074546671823114501195074700385368844007195078501057329186717195079106626232312801195079546798669660241195080954475072165581195083560617701867849195084499004933447009195084760921506158747195085552796465688821195087383826991759541195087994754134965221195088099258504219961195088923478085983769195089806315121960981195089943056033080961195091221559335457361195092264472409612961195092271505257327821195092666343402290201195096537167532643841195096931791877298081195098058825225514121195099908615869324487195100620004459028237195101749545478382261195103291094809866251195103483043123810621195105007476277947101195106031355899285561195106789848713356541195108175927290487061195108472806609049571195113653812528244301195114889839307358951195115228892815434221195115437899076941129195119230449889291847195122535472315410689195122917629913736801195124976350175773001195126088012207476161195127712117783456321195128638397377392341195128845165667607581195130272674764199351195130354016724413681195132352406116206701195135509694960276689195136056221100545261195136405551923857121195137683984178977421195138663384177610751195139228135773997541195140652874607989649195141231185206589021195144032876912347421195144166055641471751195146291813013952217195147040731999166547195147811750805199101195148015824837614501195148344662071483421195150555922350116981195152324656075385141195152444842379684501195153623666963755301195155417299583280809195159277245339722147195160204812919758401195160207645789809761195161622036985516451195164790597882838007195165115132769115707195167407784847873251195167737642620105101195167901988766216981195168074488482553451195168267087636745751195168486971511612251195170066509285210781195170156277255894107195185135006184900341195185251710164269901195185611104840277301195186042007010110751195186301332122153981195187389342534090893195188233903635053981195188601812676693251195190346229446482301195192199403092314881195192752821268858561195194740316342309441195195368139096737951195199453013353555421195199786114654566401195200169643908389921195201048604884591161195202525219163969861195202668827697552641195202857341099183501195203017169934163841195204758114107726721195205931867683106561195206459960361952343195209027547007564001195209605963691243687195212535296100851951195215450762851439951195216548584910780981195216567953313515987195217291259959887461195219787903838998661195219994175038908821195222534901894936181195222811813328453501195223256220906302837195224468005521702101195225559606855251821195225612048341835107195230232315956613281195234432415267718981195235584317523075587195236197604095843841195238401261172566581195238839013651239041195239896764376299581195245126085832312637195246295265347033061195248435138486761451195250159726509494261195252365873496426257195252590381406874241195252593434013935901195254016274604111141195254735158529218181195254962348523832101195255724773346019681195260762332198026081195261299360698319849195264633813753869717195264873084741031187195265277025336483689195265553205729795287195265995867388674881195266676013478703209195271264359485429861195271830966687052601195275601972043149251195279226610899093607195280341842097062201195280620433638428621195280848182518239341195281192273381083361195282939489971799701195283696848455408951195284521739190229607195284722472873725169195284856430349599421195285518763099290801195285527090489162441195286172821520376341195287492108231483321195289089428937666701195289281466020344621195289482860897218301195290878378351105541195291635996081078381195295003197101843501195295342163019292541195296375529294207221195296458327931141381195298287131193614447195298538380338014951195299597342165157461195300023188489225661195303807642173583089195305177675838191861195307777362765308861195308651845819520351195308958964775523221195310722391289162849195311526724072333901195313470749990348501195315424154582493407195317968014691796621195319466612397515441195320960021474490593195321130620175619021195321187883537653961195321669296178119501195322227499568530721195326502336049742849195327045021757755341195328090486299975761195328662812882594741195328723142047518461195329101578235500341195330689602303175951195332383234892080907195335836149033405641195337885435836904341195337891810647911927195341693217334263021195341930512417806401195341947043131610081195341981895210061181195342092506334233541195342105450264033881195343263799348153421195344943159322779041195345905981133089681195347047530604745351195347694377703305981195348489119146976321195349352118709989347195350871502424754767195352147651542836321195352814124705551681195353006984422668209195353166141812867951195353438235334406951195353508862503917741195355326635087386961195357281912234984321195360390598206371681195360899289579812441195361460801097289661195361781402754710081195363793608781046141195364923529090411001195366902973615141941195367343745973970447195367864916810865701195368403912915562241195368464591611383201195369156745125184901195370922503718793101195373647353039117609195374258967280588661195374951969144087357195378232935095817281195378364166781267047195379795406995027481195380375227502816621195382872585466058129195383756238171310001195384291714387694751195385767555853151801195385974586261744001195388038246741295421195389048672145232751195391545521794321781195391600689132362981195391849733771286341195392306978980815041195393226942479056801195393803940083266247195394717971248412641195397471567461893921195397477361994588641195399494157737597807195400522463491612451195402248535880264421195402430893270642401195403050115402761641195404971319886370781195405161096122654961195406484887896782861195406568368546576001195408800771111986751195410891824328657921195412059216938924201195412374838176991187195412746603073641281195412784489453383661195413663409562200341195415943159898454751195416426639386945121195418736559362396441195419214177854458061195419600949690572681195420193962096519041195425882721018056837195426466099719484847195427449985338691481195428587499401542941195429442789195214681195429723853829923649195429735809652625661195431411559527071841195431807135148087107195433988838154620641195438242120821095167195438427824539799251195442914868610495321195443087797911707327195443966098034241221195444006682188845387195444092806740090821195445507292765149781195446354703637238561195446795615171002751195452278143436635941195452362151849365301195455278137421906067195455577590980201001195456586443510221951195457730456938406501195459356222176202081195460749703403592641195460992716845081751195463843330524887951195463906777107291341195463934044079095997195464867595071522501195465482686034945351195467446952785127081195468519632458414421195469409274252004451195473191605450965021195473607694328171261195474093792130026911195474938649676397021195479375450823312851195479634958435665281195481307489490736751195481448842802451221195481699296107375441195483183693147505901195484886227219848221195485058720904623941195485745542935373381195486507933941990621195486620867542228961195487542608919764801195489478654164199361195490777189080397061195491740866803436407195492372721470245621195493707085605096521195495803184870991541195495831829611471701195499162911487168727195499213229035958141195499654980730269941195500482417449984161195502544520219533081195503008894872613931195504646813383695141195504956190433898201195505359548343825341195506110030709907851195506360324510368943195506510446486738751195506625861675053741195507918845486764961195509312883660660881195510317770371329327195513140932064830241195513848589963562241195516860065472236601195518099396998726721195518540965679143751195520084188131398451195521812243141695581195522127414959485987195523489946615634401195524205880389737087195525425955333007751195525899963816552867195527317623063949541195528107795554790447195528233148727787681195529739310863725961195530522317606790561195531986938735288481195532072978022311841195532721161218674741195533231321331775181195535637372458322387195536448506326313621195538338983593990289195539137796826111341195540860180251002701195544649407187897021195545659660167193661195546776298131668601195549411349191731141195550833053462393621195551583559652167481195552736071914792837195553989100591726367195555071259999302861195555099258814131461195555387650713105241195556540840789491827195559281574642765601195559892095365311861195561614900748930761195563333970208139861195564641205949370561195565876381590444929195567620192337714941195568182446075788001195569286923746195301195570122718228943841195572292636335757221195574667416979652161195575341635145223021195576841213940217761195578854826875293701195579022378373909741195580001678638899521195581077366292966441195581941705563879701195582683042817127127195583060851895001441195584085352644064001195585036660688528961195585398275729579841195587297963305374401195588011568577050201195588192156896137601195588309175823415467195588353315877614081195591152783499405761195592410453890420117195593441471726958107195595730530971784121195597969539443186751195600322634556256601195600713042321272541195601295409909373541195602380702562007101195604192435589218901195608838567824931557195608957365253030141195609612158323882409195609881814436004141195610003635449385551195610146372252315041195611134252479782867195612666878969114771195614000155915384061195615881160690544547195618337494228482249195620692923107120321195621686624060068451195623869682252278451195624661429854082001195628719358625847221195629120232301751201195629371247615076261195629750126533124021195631110921600421769195633087884972145461195633808083817135751195633809403032618081195635907881206798889195639015893858572961195642583025959817381195643469113361528567195643700532182517941195648345899322895541195648544337762491301195651347210258602169195651421996763597207195653388837413058827195653967115275546761195656002017889997621195661208583983664161195663122144669152901195665207837860181621195666531991845437261195666957916646314241195668086483000566197195668109934532504321195668110029595260341195671298015174531041195671933621616918701195672583489850900849195674035577441312369195674398565137561121195675329139976830701195675528051836932061195676234114085431751195676580078622270821195677337563156138837195679696299431574701195680083679305925969195680357180765936021195680477569922196161195681251090003229821195682136802197405321195682306246167369281195684170675337588167195685672788990295667195689177805659066951195693269463316171901