21112785800049362119893888378736863585348433833282318130802979287827772676257524742373227221712070196918681767166615651464136312621161106009590858075706560555045403530252015100499948984797469645936159525691858024190356522688855021187353519685852018184350516682849015181347513679846012178344510676843009175341507673840006172338504670837003169335501667834000166332498664830997160750807661827994160326492658824991157323489655821988154320486652818985151317483649815982148314480646812979145311477643809976142308474640806973139305471637803970136302468634800967133299465631797964130296462628794961127293459625791958124290456622788955121287453619785952118284450616782949115281447613779946112278444610776943109275441607773940106272438604770937103269435601767934100266432598764931097263429595761928094260426592758925091257423589755922088254420586752919085251417583749916082248414580746913079245411577743910076242408574740907073239405571737904070236402568734901067233399565731898064230396562728895061227393559725892058224390556722889055221387553719886052218384550716883049215381547713880046212378544710877043209375541707874040206372538704871037203369535701868034200366532698865031197363529695862028194360526692859025191357523689856022188354520686853019185351517683850016182348514680847013179345511677844010176342508674841007173339505671838004170336502668835001167333499665831998164330496662828995161327493659825992158324490656822989155321487653819986152318484650816983149315481647813980146312478644810977143309475641807974140306472638804971137303469635801968134300466632798965131297463629795962128294460626792959125291457623789956122288454620786953119285451617783950116282448614780947113279445611777944110276442608774941107273439605771938104270436602768935101267433599765932098264430596762929095261427593759926092258424590756923089255421587753920086252418584750917083249415581747914080246412578744911077243409575741908074240406572738905071237403569735902068234400566732899065231397563729896062228394560726893059225391557723890056222388554720887053219385551717884050216382548714881047213379545711878044210376542708875041207373539705872038204370536702869035201367533699866032198364530696863029195361527693860026192358524690857023189355521687854020186352518684851017183349515681848014180346512678845011177343509675842008174340506672839005171337503669836002168334500666832999165331497663829996162328494660826993159325491657823990156322488654820987153319485651817984150316482648814981147313479645811978144310476642808975141307473639805972138304470636802969135301467633799966132298464630796963129295461627793960126292458624790957123289455621787954120286452618784951117283449615781948114280446612778945111277443609775942108274440606772939105271437603769936102268434600766933099265431597763930096262428594760927093259425591757924090256422588754921087253419585751918084250416582748915081247413579745912078244410576724758133782537201734974977645779379418089823783858533868188298977912592739421956997179866001401620310045806060754090210501198577826941642179019382086223423822530267828262974312232703418356637143862401041584306445446024750489850465194534254905639021871346082623063786526667468226970711872667414756277107858800681548302845085988746889490429190933894869634978299310079465915750523067108190967111512631411155917071855200321512299244725952743289130393187333534833631377939274075422343714519466748154963511152595407555557035851599961476295644365916739688770357183733174797627777579238071821983678515866388118959910792559403955196999847999601440292044005880736088410321180132814761624177219202068221623642512266028082956310432523400354836963844399241404288443645844732488050285176532454725620576859166064621263606508665668046952710072487396754476927840798881368284843285808728887690249172932094689616976499130061020903570505065308010949109712451393154116891837198521332281242925772725287330213169331734653613376139094057420543534501464947974945509352415389553756855833598161296277642565736721686970177165731374617609775779058053820183498497864587938941908992379385953396819829997801260274042205700718086610141162513788581606175419022050219823462494264227902938308632343382353036783826397441224270441845664714486250105158530654545602957832986046619463426490663867866934708272307378752676747822797081188266841485628710885890069154930294509598974698950043401877390487063507830931107912271375152316711819196721152263241125592707285530033151329934473595374338914039418743354483845921794927507552235371551956675815596361116259640765556703685169997147729574437591773978878035818383318479862787758923907192199367951596639811996001080256040405520700084809961144129214401588173618842032218023282476262427722920306832163364351236603808395641044252440045484696484449925140528854365584573258806028617663246472662067686916706472127360750876567804795281008248839685448692884089889136928494329580972898770025017303210469061707650913106112091357150516531801194920972245239325412689283729853133328134293577372538734021416943174465461347614909505752055353550156495797594560936241638965376685683369817129727774257573772178698017816583138461860987578905905392019349949796459793994200900238038605340682083009781126127414221570171818662014216223102458260627542902305031983346349436423790393840864234438245304678482649745122527054182987883458623431927863063875972267504320016671947342749076387786793480828230837885268674882289709118926694149562971098590007015503030451059907470895104311911339148716351783193120792227237525232671281929673115326334113559370738554003415142994447459547434891503951875335548356315779592760756223637165196667681569637111725974077555770378517999814782958443859187398887903591839331947996279775992400720220036805160664081209601108125614041552170018481996214422922440258827362884303231803328347636243772392040684216436445124660480849565104525254005548569658445992614062886436658467326880702871767324747276207768791680648212836085088656880489529100924893969544969298409989013702850433058107290877102511731321146916171765191320612209235725052653280129493097324533933541368938373985413342814429457747254873502151695317546556135761590960576205635365016649679769457093724173897537768578337981812982778425857387218869901791659313946196099757990600540202035004980646079409421090123813861534168218301978212622742422257027182866301431623310345836063754390240504198434644944642479049385086523453825530567858265974612262706418656667146862701071587306745476027750789880468194834284908638878689349082923093789526967498229971011902670415056307110859100711551303145115991747189520432191233924872635278329313079322733753523367138193967411542634411455947074855500351515299544755955743589160396187633564836631677969277075722373717519766778157963811182598407855587038851899991479295944395919739988800360184033204800628077609241072122013681516166418121960210822562404255227002848299631443292344035883736388440324180432844764624477249205068521653645512566058085956610462969612654867349618699271407288743675847732788080288176832484728620876889169064921293609508965698049953010102490397054506930841098911371285143315811729187720252173232124692617276529133061320933573505365338013949409742454393454146894837498551335281542955775725587360216169631764656613676169097057720573537501764977977945809382418389853786858833898191299277942595739721987000180166031404620610075809061054120213501498164617941942209022382386253426822830297831263274342235703718386640144162431044584606475449025050519853465494564257905938608662346382653066786826697471227270741875667714786280108158830681969914875088989046919493429490963897869935008302310379052706750823097111191267141515631711185920072155230324512599274728953043319133393487363537833931407942274375452346714819496751155263541155595707585560036151629964476595674368917039718773357483763177797927807582238371851986678815896391119259940795559703985200000148029604440592074008881036118413321480162817761924207222202368251626642812296031083256340435523700384839964144429244404588473648845032518053285476562457725920606862166364651266606808695671047252740075487696784479928140828884368584873288809028917693249472962097689917006502130361050906570805095311011249139715451693184119892137228524332581272928773025317333213469361737653913406142094357450546534801494950975245539355415689583759856133628164296577672568737021716973177465761377617909805782058353850186498797894590939241938995379685983399820130027804260574072208701018116613141462161017581906205422022350249826462794294230903238338635343682383039784126427444224570471848665014516253105458560657545902605061986346649466426790693870867234738275307678782679748122827084188566871488629010915893069454960297509899004701950343049106390787093510831231137915271675182319712119226724152563271128593007315533033451359937473895404341914339448746354783493150795227537555235671581959676115626364116559670768557003715172997447759577437891803981878335848386318779892790759223937195199667981599640112026004080556070408521000114812961444159217401888203621842332248026282776292430723220336835163664381239604108425644044552470048484996514452925440558857365884603261806328647666246772692070687216736475127660780879568104825284008548869688448992914092889436958497329881002901770325047306210769091710651213136115091657180519532101224923972545269328412989313732853433358137293877402541734321446946174765491350615209535755055653580159496097624563936541668968376985713372817429757777257873802181698317846586138761890990579205935395019649979799460094024203900538068608340982113012781426157417221870201821662314246226102758290630543202335034983646379439424090423843864534468248304978512652745422557057185866601461626310645866066754690270507198734674947642779079388086823483828530867888268974912292709418956697149863001101590307045506030751089910471195134314911639178719352083223123792527267528232971311932673415356337113859400741554303445145994747489550435191533954875635578359316079622763756523667168196967711572637411755977077855800381518299844785958743889190399187933594839631977999280076022403720520066808160964111212601408155617041852200021482296244425922740288830363184333234803628377639244072422043684516466448124960510852565404555257005848599661446292644065886736688470327180732874767624777279208068821683648512866088088956910492529400954896969844999301410289043705850733088110291177132514731621176919172065221323612509265728052953310132493397354536933841398941374285443345814729487750255173532154695617576559136061620963576505665368016949709772457393754176897837798581338281842985778725887390219169931794659613976199100058020603540502065007980946109412421390153816861834198221302278242625742722287030183166331434623610375839064054420243504498464647944942509052385386553456825830597861266274642265706718686670147162731074587606775479028050819883468494864287908938908692349382953096789826997501230271041905670715086310111159130714551603175118992047219523432491263933913308332313379352736753823397141194267441545634711485950075155530354515599574758956043619163396487663567836931707972277375752376717819796781158263841185598707885590039151929994479595974398920040018803360484063207800928107612241372152016681816196421122260240825562704285230003148329634443592374038884036418443324480462847764924507252205368551656645812596061086256640465526700684869967144729274407588774061622032818083288476862487728920906892169364951296609808995701050253040105490697084509931141128914371585173318812029217723252473262127692917306532133361350936573805395341014249439745454693484149895137528554335581572958776025617363216469661767656913706172097357750576537801794980978245839385418689883789859133928194299577972598740022017003180466061407620910105812061354150216501798194620942242239025382686283429823130327834263574372238704018416643144462461047584906505452025350549856465794594260906238638665346682683069787126727474227570771878668014816283108458860687548902905091989346949496429790993900870235038305310679082709751123127114191567171518632011215923072455260327512899304731953343349136393787393540834231437945274675482349715119526754155563571158596007615563036451659967476895704371917339748776357783793180798227837585238671881989679115926394119559970798560004015203000448059607440892104011881336148416321780192820762224237225202668281629643112326034083556370438524000414842964444459247404888503651845332548056285776592460726220636865166664681269607108725674047552770078487996814482928440858887368884903291809328947696249772992100690217036505130661080909571105125314011549169718451993214505666437258527332881302931773325347336213769391740654213436145094657480549535101524953975545569358415989613762856433658167296877702571737321746976177765791380618209835785058653880189499097924593939541968998379986013402820430057807260874102211701318146616141762191020582206235425022650279829463094324233903538368638343982413042784426457447224870501851665314546256105758590660546202635064986646679469427090723873867534768278307978812682748422857087188866901491629310945896069754990300510199034704950643079109391087123513831531167918271975212322712419256727152863301131593307345536033751389940474195434344914639478749355083523153795527567558235971611962676415656367116859700771557303745175997747789580438191833984878635878389319079922793759523967198199968011602640412056007080856100411521300144815961744189220402188233624842632278029283076322433723520366838163964411242604408455647044852500051485296544455925740588860366184633264806628677669247072722073687516766478127960810882568404855287008848899691449292944095889736988500330181032904770625077309211069121713651513166118091957210522532401254926972845299331413289343735853733388140294177432544734621476949175065521353615509565758055953610162496397654949710841698971377285743375817729787780258173832184698617876589139061920993579505965398019950009802460394054206900838098611341282143015781726187420222170231824662614276229103058320633543502365037983946409442424390453846864834498251305278542655745722587060186166631464626610675869067054720273507498764677947942809082388386853486828830897891269274942295709718986700150163031104590607075509031051119913471495164317911939208722352383253126792827297531233271341935673715386340114159430744554603475148995047519553435491563957875935608362316379652766756823697171197267741575637711785980078155830384518599874788959043919193399487963597839932008002280376052406720820096811161264141215601708185620042152230024482596274428923040318833363484363237803928407642244372452046684816496451125260540855565704585260006148629664446592674068887036718473327480762877767924807282208368851686648812896091089256940495529700984899970145029304410589073708851033118113291477162517731921206922172365251326612809295731053253340135493697384539934141428944374585473348815029517753255473562157695917606562136361650966576805695371017249739775457693784179898137828584338581872988779025917393219469961797659914006202100358050606540802095010981246139415421690183819862134228224302578272628743022317033183466361437623910405842064354450246504798494650945242539055385686583459826130627864266574672268707018716673147462761077587906805482028350849886468794894290909238938695349682983099790127027504230571071908671015116313111459160717551903205121992347249526432791293930873235338335313679382739754123427144194567471548635011515953075455560357515899604761956343649166396787693570837231737975277675782379718119826784158563871188599007915593039451959997479896004401920340048806360784093210801228137615241672182019682116226424122560270828563004315233003448359637443892404041884336448446324780492850765224537255205668581659646112626064086556670468527000714872967444759277407888803681848332848086288776892490729220936895169664981299610109025704050553070108490997114512931441158917371885203321812329247726252773292130693217336535133661380939574105425344014549469748454993514152895437558557335881602961776325647366216769691770657213736175097657780579538101824983978545869388418989913792859433958197299878002601740322047006180766091410621210135815061654180219502098224623942542269028382986313432823430357837263874402241704318446646144762491050585206535455025650579859466094624263906538668668346982713072787426757477227870801881668314846286108758890690549202935094989646979499430091023903870535068308310979112712751423157117191867201521632311245926072755290330513199334734953643379139394087423543834531467948274975512352715419556757155863601161596307645566036751689970477195734374917639778779358083823183798527867588238971911992679415956397119860000801560304045206000748089610441192134014881636178419322080222823762524267228202968311632643412356037083856400441524300444845964744489250405188533654845632578059286076622463726520666868166964711272607408755677047852800081488296844485928740888890369184933294809628977699250073022103690517066508130961110912571405155317011849199721452293244125892737288530333181332934773625377339214069421743654513466148094957510552535401554956975845599361416289643765856733688170297177732574737621776979178065821383618509865788058953910192499397954596939841999001380286043405820730087810261174132214701618176619142062221023582506265428022950309832463394354236903838398641344282443045784726487450225170531854665614576259106058620663546502665067986946709472427390753876867834798281308278842685748722887090189166931494629610975899070055020303510499064707950943109112391387153516831831197921272275242325712719286730153163331134593607375539034051419943474495464347914939508752355383553156795827597561236271641965676715686370117159730774557603775178998047819583438491863987878935908392319379952796759823997201200268041605640712086010081156130414521600174818962044219223402488263627842932308032283376352436723820396841164264441245604708485650045152530054485596574458926040618863366484663267806928707672247372752076687816796481128260840885568704885290009148929694449592974098890037018503330481062907770925107312211369151716651813196121092257240525532701284929973145329334413589373738854033418143294477462547734921506952175365551356615809595761056253640165496697684569937141728974377585773378818029817783258473862187698917906592139361950996579805995401020250039805460694084209901138128614341582173018782026217423222470261827662914306232103358350636543802395040984246439445424690483849865134528254305578572658746022617063186466661467626910705872067354750276507798794680948242839085388686883489829130927894269574972298710019016703150463061107590907105512031351149916471795194320912239238725352683283129793127327534233571371938674015416343114459460747554903505151995347549556435791593960876235638365316679682769757123727174197567771578638011815983078455860387518899904791959343949196399787993600840232038005280676082409721120126814161564171218602008215623042452260027482896304431923340348836363784393240804228437645244672482049685116526454125560570858566004615263006448659667446892704071887336748476327780792880768224837285208668881689649112926094089556970498530001014903413657059307793663103711851333148116291777192520732221236925172665281329613109325734053553370138493997414542934441458947374885503351815329547756255773592160696217636565136661680969577105725374017549769778457993814182898437858587338881902991779325947396219769991800660214036205100658080609541102125013981546169418421990213822862434258227302878302631743322347036183766391440624210435845064654480249505098524653945542569058385986613462826430657867266874702271707318746676147762791080588206835485028650879889469094924293909538968698349983013102790427057507230871101911671315146316111759190720552203235122413959279529433091323933873535368338313979412742754423457147194867501551635311545956075755590360516199634764956643679169397087723573837531767978277975812382718419856787158863901191599307945596039751990000480196034404920640078809361084123213801528167618241972212022682416256427122860300831563304345236003748389640444192434044884636478449325080522853765524567258205968611662646412656067086856700471527300744875967744789280408188833684848632878089289076922493729520966898169965011302610409055707050853100111491297144515931741188920372185233324812629277729253073322133693517366538133961410942574405455347014849499745141