5127402762693207238127857636203402218800465862270699268312403841858231274305620361077749499092908732125557093200451596185805491533791569813459934004301403420963876503051395931102015314923539804274582396743992807950474719225956493549755113731084255868197796918434581937598237719449693830758295558527988434483984402926845375042397676916772484150646410917772519028191260065794740179769324698367726983862151189703959842488900061272076024459112340878109546457346491554143925842685145949023067551546771775954793260432752945481806098802929000907427445042956652440017686821739642342283937834042844291309099347969102747457019190141964862487369125287232304120180671718300574342513576699411857774313395067287653074850588324937103408282413195256438383787207278963764217585989297652130376043003743753738855745090992464814545996050643193581313404735505484589430723093798823359856272522668336385259952677756552856551289009892928585351817997597030498514888896397853351107117298797441034194477559304372109097290724770947530415951652971238902317815917038680603767679621050951143780665933783692044966565073528785267030895450902209416549087515755497095539312904309522657662573379910237333667849079849220423840762884973739500200127298974934830066840393158838988914961956695510930546945980827951096112962664643335992487280560134900886679764181190584527535596309993103344029282425364639953156663544682107454804931256238955533113496018816854182195543330531080906323445078316250967348939638518364397769154256659856173480003883657206670525805339385205102031809817585314840602972682019418846238655285164004752145812574629347496147187860255836399547712572271763652225900724547782484635289547426451805759385599266973889795734232290479220332115891609768156288342457935909120914007323909196438381794326456768293490507645188049139856490695855921347239667106058599730403070475897761777384876428450587345819993007719724539699098055541679729873655504576709009905603259030920627958993042266397424051597783360050334896922727141271478699045082152228027176387242258926795536797468085134528625106976095345191577913476371028410646742037674051628455878000216377265397452084015240867090868867221753597264076182115949014522094557935332115678514099817970329091688526234719385466559494653373537899003323166107149478877117006392742932314559290084835777094667606029780458934036386976039274781268555844995512614964439932924940312848333645844887797516295800024064774185402159078978805168601770447303316431713617130234794350541866792806893003400689202963176470263352023062089730876527043230463014879144521952661217703677799441187657662973384737966402581038747961045995695691052348543766640499372261445442597160606259053966068732511151005174297931072476442070654725728997312468606997496262806957417754746116751611888607847520118238695988605632005765040116452483003738222108883182645400927748375991851316480041378139797501430225910917778283739088610331481527007155171810533856350046610519043759763735287608317720758292043647836090336580690160570305468673327908088769346820644202222370805567789924652533710283013623161521566452434952081959455776793645596433449191241875779804568888134130384052737038581482023245957727102774269790268483623397849877307665566360077642424686431521362331535538625236147207010477726452714608576639216929513668408452625607706353883532950870370035801874995812813451432008448947266393601762979801361580687909591815579389477766834753251940287557801066551722677979963148412466936942280873277595719690771325214856788811424035793433963398993331031119441383882955389390151657476397193836314471258409404667849604708290823276044211968110911567811341262080360778790865947551395744817070583824061150098445032835197917407298691261013378898653579321522078640368048070984501086794395042330782390396751845471525030920057416168578236420486622426378767586883883893489433813011353455573101221128384406545741394033581094437631769412130294661724106175181125398050027695112993430023630323675490992939496504744805578635472179788333768200664819607284340917322755531869709230020828192538563016722363953568715031024807326998142181473135798116619125308672912530256683199051480596855619122644251686812232521133402619669222585668465906911136832572514562009274392880973584373798361547406479432084329403349301000394827230213855184882751071528067261670154680072053788815282747410574737453703637563630570435117628195978573859441739021314639609194570617468380964312984898051015808531249520173981451879164999414743675749804234774729611723419052649393703587908248649035483760388377673954593219972520460512648135037493641716623026507566948568177612501099277675842019773333090894923829100110076309867969151081052588982607951865471213313183245060597002272693110245785965527572016217588182180611542407587567815731154265933832507231884099577591490145058574363430855132369561744047149760935326046633080596172554087268798000846691309970043155701905733040446549921630716557714857851435295738244739711179222259227248795100488126594739221835603749600314934633344076353028287578586024598839126822069713101750598474670812758693292659161828026166950346748815143463334704542176784521435388672817578619278494672228806465126368945625182069538753150748681827976974516834491919682447499595479376473830053931431014725195530345010374265299332489104132410271977780102176440834625446012866665347194485014498192213906712461571558461856215544094243315778552512002140950670825241426485599659881554353612591403867412422460776539555531219070870630305526323467724773070119652811134935638289746292798229378856888363134940926708114880619599116394578819044020532468981521819176025207014749161838288323149490258523875175248280151699750221467024407911729970497221734109043858511965549018877943198319459589401737280330407518862630051588881613569562108842459004760199605403801598397565491823651148326901400520661066194241035982518345069096793618981282457558427497482957008675010720183774437435785017575700492736626204612419206706507710961635642170205274550473597511836675925420381368309015709938935891601621321760036916411311681516123297874975915480198703078663419458804402864305516787820345985693428927205941604062174961545371679212308834552826121715932392540107379577154361826818491137529526738049383903575651855103642326413630121139155484164888243377500163407233045622466976800124271944950319285079471209642615721698927302762004348567984609484332582529312222882172855754718970819602949196772520214463094595900354649955409789175317792173269967890029142271205494449345217873671282295612587729305103999979929743481579369070622515827110227043311618627937047489237015082734016466143123088742374780178674664214517749524379311269583238249276515231135759218285766054677815440082858362452031356522322619464971908751741399920517485355931154276760453082651439938324557659678759861325499804190722614943694407186007001553845676121681900718551500159385916394847105209050635766728229026717159686536605911843649165365766883524827564881177864241764581029132488129076507527512109503449158438453841719282138558162521299327913862781561956545791246753034127861941934167249886926595445327450131322517713770179490444309917949174257635990272618937449595783818693095466417625685161064435326999391106015899511235037207338465950393219711649816456256986656953206680202126257859098323891799580888242623952863477848461113235288921659445319444746539372174714266551926011086784963086727886600049141566177960851388542791184157027436634765810258245167882057584625826946220598415098031006728731057036482791782676668744498636690294917146323352239119119476127803088758287801924080759106903028128733032620998436991415227372083907001140386625144776473334616537497811627351317161766754152755629183578965914057612778898616333253680076989723132963096267843619665840738100891818504497613087480563689696696325338836257752848769059556895155023387467272471217438559297270422443240859193295885964922612907992528516329523860022414077126468190350115675704262996712924555738506087065654538334187094265197591237263839877125045316352683284056878031458951849362713050864416334897199315211131857408980069888681660777681538146464853672307318157467335972918696262359877612191264299497306856928716507175880622392842467165074998385165181483505794499544813906347343204942924289137256184514880018273066432726277577180260746800779269938881910307323820603929380479529421876015049476691320986699695942115897568483208244791979519901240375000591195016765017126144548505799030998701713970033915814767773118132358804291265033958409755369127853957231962590141743461569536779749634235639798353619572450258847759459694846905994477525156339273246913346759956744990111496334981805905230802041004715927427344647936927755876493290124167078164505345564766348558129462609116510782224937228880155892729769415562471445769931140855391511378624368263540127686675911547708352109818175644039011369749565858372812300689854048247048805169051527318082276479596762887555775088256570118179705331031761747334969615950377366798311061069015611318792118651480632269394796274992601445529601919756015744946861111012022886714161161147773931868702869884490852860743828823027319235368138865992343266288790246372010312873917433718997957513043906163604361465060634386474748537582400730530159722940939826048191605429270124336981275770338138973577616593971621833582360317980144298665533115957141788600721470250658181066937770192408683344698511389924513540955385986068357670703852792679139167249304583680796643416358600440520072280863038081592154544270747037715498851168475607560611138963966888983656284449171233326631216377400660806120540386444244638323057376171601637971899649659721093999368390685082260546366837300067443401507588760007711224203876302325977304818038603718630000255840302557459495179075549363582840354987790643328502714368104435259086032784633219981950714288365275795169344442417986953571445084667257645779903420686950035236373635997797241784433641752393914137341953392759771435249910732345729142592917959066205535292598448687723249119889046284453689168476265364011033941647276971920839364592580134373888421503390706541131854336458868715573463168468946708115745948272813055299026592675592731439680121153957337008007647968358998074825384885748671959019983494738049779807377977051152964806091449794192972501083985674996443156468519126946644957077909219434127902644367394435341912828719668752255166985852553507368074481199419067623767369591212873473594202232044156174331473080967941594806472553707555012331113745212709589763955361919122882011304686676910655457379868999971589191216488216541751852793814911404750535949300187484925837437651804785616959019881309984056548806270456116453370405219435372547595942601365146441580538057855431620125447486124780099894230652448279396782565238739301707121850930983800079628678351299301787704456611541537321343947537106101351193195936343602930122992360748087753981993233084344411733223639183219773778074034559366785608989524181683442408953819324520906940637386858403198020701662889681076874975308719004149166109223719368525619529510261110807516307297190175845962110555630052985302651462511656729849223504148650490706856711635074888335701589478377973269819398739998660727569675811617042408102778253624533207908630722333533136304860833953319141187521024046533785992713775724685202401271073708088556714121800183245352292241659738392664307495545997772995421658041288321200093552375824141717731884343636997601717440017201377429209130214217269181591888763203788884971870727424396746714711131361876200606993333760112725521182626737279646463631025145546255189465091442357976493837002361956919255834452242703305696768456187304448790007617613844578849663616871475131850204590577091027335977696875263844896997340942208281171440084942987470051070820569697809935528409206580581607716209090646554078181617114977629081540094839829501444013894578773866686079597383370192985336761729608733878631238593635368417417374881263553568889305307888189572488525337141762186719515574461226838677147108083491660413827052755050586106089116938160069477667723155199373925302340373549874172842390854711784841049290196888419132584703452626866057692381247929148657227857819802319538730633607454535685288705442980644771846584674510901124420706904089276343102916739950132888330209491220733889504205668830523919420976615490747594150327561032110977923585557947297345330773277531184439891775723764406464342485914416226166364694249554479287406623303522282581319216588937074375846411966905513860037153323322768929484050085524914484099663072396144466278534349846122524839944931607623607928908867919931011893838000365036674585505157797293416527639758415131263874026878221837674217823597295757639756335103814510257672715794434384633052687849789385892570677414345734175030422842519440702505760307742190422275627347238543460900216879636996989556428360118111998085431123774452854194395028445348594789007015764392608154412173386561671417077425392837274630896454817187748285048389574310730089929036737448134777095875585574516422081878258837443867710221930271840446455849884515717983251647725876969636912734850443435164346055033917516879631881271065620961264741404822095026362667332682185875364598125213616764953676101127681164288062133420309585789995219186241470797423391634213701830108682237186526491146808990228632983011212126242739170016294559949113413729541382740831559822863555356273751098038633680013128660871853820189342366024553248314451160677818203027334549291235216566847593735407141681888075496634171117541075264390666154171915183768102309568085715466031561760559193169183847770680748160024719617594042164298308850480956705556130577080764636389115122851488596840790111460370614861106491856731687957173056637121307923137394812714467970656785303199480369106290685075964452923238317355791932993212169480061725978070236115335240264266619442608348761729139966228197947621412458121818261366535187484801871758603078959673472550852239251049417056007219534821681352241405278386673200132642769954604824753375525332171011827229027485291404780578605204091710542469776515619500478949781826013371842116881908954391880977808266898271437171222799405411220215124006193981134465424386388514479139577993094752553950490748505910554576569031891925771090501147497594818927053935402002458054741587143409260726965960497642217918689714450184025085894395564067691997209773798735834130547270880177285121216131841314094971410791315730368766539549297867018145889086472470418843802065910159436478296208944120024165178018299849011692869626363429989884067672619117200954976010545718563777178411908517397923976244923144100403219599437704117440463734109281098448912475340720340765084931951146971856131734035685753112106983202648800746821338642298597351573168341944332049367210957576797292230250422788252297593130535812079513511857793706745510711688963473953815018563233128202280984168557302045451514098025859347390439076058918375892950703352687236643245081282470938563903788051753220214621017761154534219477943282771708164383363942150445814460815273018859224049434778463835564525614731379156935264534052399107389748317220917723962187042585637902676099779681343315586041988654576797590005713777635747705766048956047167864210244365611122529830187277258068103824913666385901198916611173662251645959804995219050845228071552673078439537490650755684972833045676193672558210066774476131851891393648190501139776531536810515005442074916415468874055835769896673562682217599658026991924624441652350908785301948627693734467992778137887844418259628199243814720799268305773986688580678378788396840506637125723442834562808913921468834672194550581480470866976802769670917833891420666355989549293274445922282980966757946143453996245344251567096725883299323244172602737239870789343028278268708575986883090609998824653415906820291573388953754375759087922687948606607755581853829585311702535820987848900759639772476078514212708117780908640744397057580907683989541620562196551875902368717453133782329596713779211371556412416610555650785062634085118672208488655147743406157729923150158390249202696746329681647740899734646173725445978270403430177119697266024540074986111456598238572170495974076889943809623971112960493513344390202181647996298985317086564687579882771785452948170323378468555454973229500301429827026978668014786309970560025780805972658866028473107898264331484367737684871316172119935309665901532295565911998796748977682150922965823378100567223289118785765041815858235128342824730451005370040821553134610259143034466531370479229075789197225114699710399735369890803816484641095300209053937180251444510466085026473928413349140845751190224484462062291833120232242119827413671527908234705284888232043409394504783728124551995427411382252398344638404161387902290179640195259493820427439930436949232927913412896077530229885037745294521476358038334182604126998658614415992797224390651531982694721302911841754380652121290041981182190641805621797038759903157777354250158550478140622451354393422822228576476061565487646550051732231043601217317976467181357312227540968393187561451253054789431744109734388447074377997628391442589712472842282496599855559594053131455716784391889958235924552124300523898607969317745545631160431353766417164227418766893320532256866734917630326252918291838905455016191584020146682530755163011902032819311309960095804246873510424584264096394699306670088013299076548538799973032145999136840782737011647657200888292792583275393644507756794465510998538320702787950865745704435557581732180066358676587336001088308072635841068793487992957731712602027373353956185468182032224148187974219776973615768075194975248907215260342147612699739640393935436190556969120878158357207895100853613987110133684459899486435623503745387799866299211102498028639148246432225992647405793335082423709256861876941610775317675133601150846659691926749923242738391469711159116336381915434424593014185114830017352541943311618935141791223901422259427838815907539432477614692381022944287306481176714620559009987830221259930624711672848003254859888710758406079962719178597728385829287328450105358942454471326496858171508760959037213633731926200466920495722994212284028000190751610599489876728366432841413993713650041386286765432469503718837950951571618882635770007155160313424849952286962952302904613085507681699282139359444705942995593019794309575508960795147337061359050565541865101793073038144874012765895974004081670571880097267086490066932356937441408800921761738915793270737169601644359173050007391399659705319944823320155135839490332700221547710738576021725700131597007211117915549173435084366029939187723140956398380080427798898797352946386430787204027994744397402811604775451118611474910269713051908084167669775944986011822680218291951261995876080342404819648137906879686707610972347150947814892260373597006195059478367088616245054986544969060283562691836797999331842501233430292058158566839352574814518624103868713810439750115467493230228612128575796307856946987822510338299271775422112471459416496340824380091406572347358127670883626316161870987168837437685071525250057715566983806993021021849909356128273394072107305646500011543871515388589185188274160422952303793732183481970154108997599287760243459465491906227204893657437131035734149495145221216328677575132194333446506345667176631215597620974834695637041743205155548733588100793788247206562741596735771079053326488979348054445699333806531340854298532422890121033686305427486377248424968995883123309583150447612825641936514136488908778662766665824162614285103851772757696117639944501847050739916190214328621840190238246049508716853672375722757539768184851565580349105881928023221584608563306808385742748297643746416576917013326835257160065833397054130274017870411302466098844864093835645252585026807153455939500056376797862231835612418791883257336882676544376991698892130054280747742764052613525727171592256114277216950416230082742613712666340597840453139536368149689850910830069213431355758086557065006361770564081111164406953318424427410344140141460372152570305387961548218181071652365192024389178544283337290644090110283717189809141306059691254328992864801660180750117065905723199839527715193240846977823544000075351368449911457369486365806585041421809662307727333352943270127454014650325140746827456414064952153607161802846013128422257793801728856210698051081608034556943203047881069109053166384829740583454965339080759855170685346856480458987088597471636271804061065678921986595548413991651983946479326358551307994846261116056906207076921789833793641085769938066992097138660245522369376362224530810707486604715910514835913440555702891614082341854686142785069296533109321661225583724367822116167355882981412380358232203344001198178674960193227194755857798104606263983590133102347320015993729308169918831021669177474017210922549809286899167718990197028764355130709168795292807275154892799928244718867246314359846113067759657209021825749265213618474869485027239088496489779227967047551206757423473883708398795322689888647500008070075773397018123204976257629745438133140435189863995238900348165010219457406111693593877160314340342503291950314803953383900933766805117123870849563197973607706904863219606125289675353238108885970756071955719063645320389823277627450941118299149736138057789438801615873813219580294061643754205701374228422493436724019602375986540846029626807601650697014732075281502733749492829189126580991950968920829446429776554938216435443667446122303572380834008875806340387258562089875690132134331844910322908793759539285036832837329602020159758375540313165102621792857184862098566269622648235974494388899955132715506548050406514563860948386730660673732917195444122946938666126451981442676509468600035335830106854615934206381258964326546632992670438836692311645980886579939856286384418158270062548942913120553573604058011673221575559744067473786602038850956613023213508010712157577360948973018604688450618991663239437817965294994048608042694240987149006834600971876727642863217693014151675544809258104365525453763570094549910041525044381930998851004347271426922795095018746532529426694858747324226586896367368454510276829527700894763084602086670507305016587563210647156683642216763749725214855616926217755354729722628921211227356488692447147114118683338122905327242007737947886307968922188310926100073553389362887211136940985148907175639648535268601906904436440829058007283841598871951769800017561623140578817319387968271309600971313614204008888997905484661557968388774162337359120890682582551196882082609682649560862041743676347162480819627616148737659396928054539800570795324360373126697059079847681963709140179399715093941981297320544181702000604656831768094383342026265342355112248052813792877679448920633195607207963302654961442325652308384793884759082143251167653201646246643637143862312828400666681979213848005965292589906793098783883551113058842301140585958002320204217922778391891207080626233962106893946358585168117675317289380934126349504615308452475980002444815584766117088314522552264788917355046642446034005982911164852865260130758721567195663065061892861998840280452035967538328514547198462642647107464185469981703940773278555290966031304945320116490166188526741221755819700815668331357646358653342391375567525955659676319717963687335641290620104348571872207365407845623105045972052990918978887058535838041196115104315915915195706888527789998582871600790742661656398056712409624169047960506988653384330924477755197856564796555800631824829684751937205975481744201715219072954876403580459288543840836121093346033950474739603268899591460360358978555598527025766909458633822943206403572439684659265234327367979568792867116515445746634935861794700811693393539219427233775225002041203728954053066389335510524480643511356365779713861263281034983206492765939840956387846384828606382400961985772657057528419637494535124501629492220657374181071548528752623113826029232854341389273772333319324917938530732756647048463899619461947350750615334425264414973770726745660296789157598990895218245078905144209608158294083153020269873478289243378270016506323189355099352165726255120210967458098692281676680845667259403539975857666392587556580540633943645052742802964773043400364057874697235587183178682571096440248304986510725580349657520465293619901953866394544015885860283067567133877840981225786204403320196385903895277967094807553513005747133125296061202114811182021802692708123145551565614037048488863907368155791360686228406915673919152126431251891728550603420418822621002802382001181068136211287973016133579100374511377754112183979439460117010625462731791365710608707233364409558878258559560271989274759245667018966444799843933411838359271896265324881705107022673193100246756729502107378219671573396006717290327248961844134358992677946471401260413751480310381424925275214567958294630811315585631585510012730450881793826682820765394336932233653373828686133168214759008463787036514959198108600947279806034341610753507674802670725790641716537440251821873198169281896088926526028742749940505645770773753362873956929810082732218354544200805458102033021046914281690642704923706092723028966609631506023252375439255456288252117541321471507562876105154285080355527148289452130955525158164424082028101790693796729301830143804148626460826561494718059331073043181693231033610044855674330355805026052725055920874727148060338623069741293943298256990503220686771738366912806459427212127384664995994019293953930788786178545674814809294962848711978633164198912777299190547831468951276579704066408950915400824842697890175604992063337994107458920144080557304990379219391918486597529997707933850546138180568384080200684556356993560235668817638583666024759384802695277050036320431673107398871251171577396682141242768269823140256115508880691498163457084801604098724265897940276501224436106029903402312708187676029323022239824025092817664586906926485980851856898518129581404708939735178732633894732624611879072906974539801649300044955107508098181900045149142311352439798244276931544059064333985786237067602587927333115887774081435129867915326819023230458906075384635596318973567605463150190079273843289684118858556037112546972758239375813849739149421461118491687971653633051930669362771000783987166058623159052423441849732062023986844391600713820348035590820190870669749587118005514010633050224555292880722764224389633339168109749548065272413153392133516012504126961520487664067372531532766914432502141896463595345991517932258905809592044262980676124517747680825218707595288624667114506705017553252613954594422750063258665272399010780930581742731180230303457146132846157049174709338950532721507730383905854210117538711849328951748295866047496785983411644185352883548074539342728948153620321461328607665747678058813011433711582209368981230794434220074268607662117174168339017936278695570560772202420820270939079159474627940350296914741248028272201571834695762959632772067424745696242592018843404897154782747460396763999200173057476972239971745935224807536090656350156484146190760102300669961465720776262096733126404794234629555840697756095532019076073984599569723866266216985519262039857550536981689337777763139434492073739933219594931123873145357436286605569997025677933266748155177527498611247861224791236201541466423658853840170229304252551041261898915687504234943082125689802109298098422338637450707308246238547575408993705952345389511696281558829575098584334914061206871103300620824741482996863817471523088441528456118083718072284972992580633805779583718894675341461828083442099384570882012994900700651994240722296022097485865075021157872052697914727351829909629830573732117236353934093600919199212363000454202747629226211262513548142896303220055286175796328640390695017100292379755053635251574742869449632188334377704089061424621732942228119408764395455351692021181462696912861155028148673525261822956306039849479255751124086613447907279189108206447370905796098627213778607050571284416539210210136479323870287538359489767507304417189349050145360616647134157763876215569234970198187442796422152279591551545003025472718989681022472833409388131116952573376140331474485809446658490429378562397613028703937942296701460133659138796188682641865294137760753206622874122366777428849338209915117659776003404889454991493772124976920074427061127920873156525797475431340917946047203382625717139323358437834083053178611638692459899247845870703110845430641930968707655107535599992770323868313026620440463991542402854153124351608973909148655543318773765808990711489993823658747308292435497266219120320537490746323294139203401144420915527544961163184200011688461943598942809528010433518391682499362611009070719074444546884952386706495166265426810077384119572142737013670181688227631651268847910110027594360263796302118678944440930868499771944818604720697414184352292875032316817359209496671786808297855407125447075903151638257069956630298086267751764955483038308044166275701170036735768572567719207964772834224545044972350894648155887838448419331731190434351733636234172116946423136988993648417944578030831938948721343313037054126564900675363079731943532033245942181203960853408284809092630520740724321607775887713001423026851705500458169365369642845177624487869288952001764911005005737511051433241938404667169214122751022327951246422985081790284327716059891907909512379657622799626816574021401348002754244981900237598506469991269354345293308346312779442404732961037135236870771883563613556254299905328910471459552198363636654235008066887705351119568226802190853759076666506079645385011573186633037606941854157939262437804970884802683784190808360886479186348379389892155400610659969844572888872567174753444363634040846731032989752557217103548883830302135942112865570067881183348927808678548700601054086749252214883795863939899209472702533868544857014705674893932843371468884725628834663726428657789535809785184593930867049837667564427772505089827749029700107095354100646416249923588567830290525927570180838506647803987770721553148449073730463152546276823936042880473369459153311368107791787656580039666566452186211898425011541357663276957580907464328667338729608042956061813650505622912605461239629756259662441951919279233274670171216984524344601396937289160318997763274962300819968033504107396205800553462116146510176250416826699377058115710350859415885623245034611000287783849758178421476442115817060963415606722581089259831315431264049806346339743965329111093290513621560743354285861616915972856298400586508130229288838842723956727150404603519915967334842012663312646417209586931207544143040017803650054775188772591843326008849159574965753461182557783116266448136033469890564045961721824740381418547002729588360728104245034400695976457924408400001158219354527464521527206764133196037441403921278832624601461112267125309159931776234572979482114338985819564574429305381453290167988885750920484971056850434139692244745590821544515378070148835486352052114656125596770851717365127822318261668377180426030779171150083972118179380130994461635807463668956385929007088166329310684388814278225967478540306537123809859500796391130215327960890891558168371664713547558350064552789796874564695144920578995493137502980473909467243887442611132247938853686048160727977690671132917286824877746713309966009823891246163424809223845424841763923355524521191928278429608370213407980729637177178369601852186139885235217412059166026596190486033925878317771593472590650822303213414772870177705984509102220973349834001384426686135009682324917071975642465820709473526917956595982554553267108280096299628956996192108146272759400505646929000743922043490355778948726289561205839963580847736489090850887742828490075042661565305180104163564976628769873551385385884943379991519592690961047183225493042110143864560780489778907145299804692105384034373548858828997143565504902290729247935832983124432348474935174954809372486748024991288149314886915439184678435716810621012223962465471062201735666803637339844618103072964813898402971368058921490309439612464119158935167919298761155899018910992412904198769344818262834555816882815428623158360993283676237940137510498386097144443575894880325984989602490300949101722286684277176448655218962891101463381473269931688155327750771485018970333522997254896570882927943668929863140819541118634592137048161802871355200982835047780663038122016063593041132089197122283226183128238255369509079847301190466459977277767468958394211977507761670595850176987682312331993944042601921304285845068244436474582089863974200639852256510985719351764767834242251278317215738581517293395290118078469503847952233153054518298109190574521437889171913381138083832047325947821461208756251104824288549148536663254924807884600027250768514005435284372096831678814734633674405473643965922899495093564671966549590084491520039432927940090850724606722165854478905974376064341042740354095485833535070467727823697345845984182516403677394736230730120198006424340791374713897973705318245703921648822843246551222503602575846803140959991599795013789395136968803402791902190836957722371516235298116828993351588249181636895617220416408329089887122096651528395077024749587210045140473823085195392919871858890308628862473856517011710077103831628571862501843405853078050022001798413660541940906022810908619981962969220131817538538459364450349651870362815323380487973898860505277007077382111101654026745715544225102755466782354183823105570339334706701662744085487261699963434905517661438288185620642152155604891926968981594702179901971130277668383972279329565695545555459894351080341571395152968684104136478997601405980712829107098261108846711871289678973244215239378360360028811120390740423415502625054676577416789626349787778079252659824740421576211385862462477828042292050203945698759939720788579549286046258564324960019763580949741599550306995694564304239815475986562440691863372008222591499394204390292288188085137558644011446684322904395924941761938457580849532062256847940999756296742957456574275604145061028094367704701905739719904296103925267995764397834642065909450309320915767728694463217833809369679130103979917841532921256153527522430739593987022981971342533337635877709833317302649962400219833904009853194700858904326776981262392457790375314420107703969973421417494974835547745568592013609976739162581150136125684678655851023214739505143843756770955035968683975803020435278224695079339823623392824459891678831769497237710572041182046697476910041679098480085674462342940391300728147597132452266456066761635430639321503494491981573236310143698881878873442212652748447779883255777153233432496542717898806391507602669569687520054231063023083067611030647954113074544307777936200527974484374392140892757479684210010912211473575835168148830301881697254523029148536109516782064769502922661798393238555105683400441294583754589214652103528631278730887820902899709668722417608442618722120774728336460428932365025168080511160598143181160927637067220934667673553056064366673344720620966691860907262599768539252877840848671019812602762343259784922153240250653282922685980584219506925061990975681213068365481871723163145283397740266776569320880699371703385332158394333940214674039277780519329602571060531363182299350183275999986860461243063418212241632160965532251316972060853999805809281994731415075060331827573369773978564701616990608446940568966889243151533431539177374216208553848967623189510874603928814259502748067445029979507017602987428350275471689040129019627696139234813642860348959185773128873428714959905456403820142414055222290572423638033485499050085363416765805412607906660948202608800301999410873759459792636275196804846806599255982285974542577401010879032606880163621708920602884997610204125559659894512560953948042869009552030978404650129171356899054263131269851460124836991457415735186296986041194577515702140842544833475181060231442773043788561562271636649958242971431341718280331965631363481066974819220940268180108285160832577877867472808569928456233162062677321222866076380695701306952427128932720022050643944425719193413868536412515009048386223072337307412369317793972653087053817074826368595009243324228922134282750412959760308058678082671976669091605917108557402533190203343169955383247338287373835967885648542134373713959573258314745788330997473576678389077894882772004384556949871363846882415658360674475897457828012916636334688515255541722870451152586484849928085364587535006790032879468766968546329018681988691955382814962191957682385074607837846528902841792316908277854741022093177224804006494974169055119576276769406602188907331925745235614223344870969855548164283420902612776574520848285249039145726717343124064188888210752714869289301000762617566038222560131326368874713825813740793415066256467539968825565493175916237620087707295645784340760402157683606569215223047792041352194782848210472599768691089988463056435326791508775235598431688332661312833175067721293505273093872707203392326953366943765627911902812836479905563681158843622677701168470851330464767702823477220972578048975012840729693368021220938198212197854467947606164958319337271779470291835870843005831723559357892056391064396275529394619559038356060878508879699396819210545043070911919085901748607666094521090876573601334082725264896082245897735264781248898450913756231649315068990064506351034984308245942019629997091101283106483669936210997189384071811866892697481544129484276807983748023269822507500502256558605123231529389565164955452460990530479438724801657860874598697834189991031706473529729247978486006279609348905304722303241864150178128207690735431555841639536570364592068609222085550855804357159395012987321194572782287747214558347385634080980451016674113371379812398977743757285530305860727452370630509948103057606136656482488603336701328018966694283214469998569096051463982923667553117314734211405917844507572113178131988478355486497583223190745542628484861307908433324102395544462765576695753382657060109684388168533854843123532916493949034155551677833850158236514152254231863754982662444409808829498994182604188406999278708777308068451599127473163430161908430844949344982234650104632462325937497602990738942741286686070820840548053506540171059384312484580917154953005791231115622362084050027871767502291120255511244823489873907257034428973839366017742208945864573428759903820145742758012853018494026897772047628029576610745074745952354612605330736606068308136989028916302785248644505847087332346917714959523977991026965389696016649425230489789492762503600391795734146395657570883119168159085594882185103559650094357375435895600569912753723726788607584528787599533733320544654874118020699528582090778402272110381619547102754712481739335383322543372212354258932557914960695881262005280004648997375393749696228415149386182687221683383343209925915204993964262910036605937014097444618151977818958898647908946939651817174012068666961943388185129162470637404257970502847854135225572794958947911158716562577443070262059523073743762096654319399642264752530867234620203170488627305412588443026036026063257769868204384295693510347027855901781477166577959058790387692172277188231994125770974490388398785326225913964134982043700815183454226573711808270509952995146304460446653486541488554915001004069010993070316659690874639503986678637053903714976947122308423231212024533432412834408124923550895122969460509023003374826662750699491224356244524729603078144465758271288304432686017537606032976431307211850708947254130783687660383444486397721495782031679977411565556602637191977338996093380256007239191321437760222890768195903217013139093662855578322852915441187402103433397948432487855398833009401724765419165472827998786320429102945424906196584785499513217711273013288607348012368268493279260403717058658594894184249773083050086907542750133834325374971854459957071292324415418615247764010289010968218504079233099853896500493695766781105016035501363245886524315224394046975356744436046151396433184206484240783585709902306172138491398542760432741212755677381153053892561883906376602193683236736730822711678956149432532644153240796400485109329883378631644703566339852138578455730061311