12029545988076247726685532602498333909479828556358695806182488264497549821066822699726166502419294149746036403528143414836121796381270604854788876631251924968178258408679384542476461315361105944587642452980262664344864975786039678815387145069450414943443519207422239019697687162237789472744486531443177961887622043333687041571373210797976019665474925526496523888212807227831694292438004553482734564528860893829332323727456980891811853329843767468624608752611138833911403021421325027566870277644972834383202872562135501601692798106150603137820324886903876263698402447316786791624781618526622678898060936610942096529885702050642261522768798365526155535634432620444273788050866427543619419169296000955044793348499263213925251054631604960667468385583371561972493557716994686514873340067737922083676291862735513358189350355067111917538788375769873682317539991811075726774528119310553384429672646341552559769687846110206631959149772623934580461825291902995396203070224180425464661665026814941381493553801518075620261441802225669331670617264587821375817538172235212714412780928614754718922564547689370257575364213807894907688668975235332485553552598661998829792913631116100913026253768002824543928033688956469403755187284729578523554677319541658829101522278600995872036707485946701597411374269648209398402034592474645250173840689763121263216627278748733922159235473412004503515771727346574797959674159583122254398437072246272119597191761881393404387509542753356329837771680813618518132412623955372297214471757064381116083943747647975916839275149344558680249644785956123818889190486557406561922358719340360092563239364268608450263824088026686182959882603477602813263614356939768426737030138382374591409714779032759494093207608472268236496126566256097282221299850225100220257136892868752272559386891879054344531916019361916381861207848979538222576385128172615221346224610488169033926070793654741285211982918911693077269061481669775324385081576488869500412135649315959027514385978392892203924394967686492396646899666133321233310037773433896642720929846549769478405749681059651582170651225914053659996078695607231344672508529435836598432746729245703693413503422266949297993268842746735169967540031885961836847763792856491605095275065926526451279496817233919439249866815618191950741576004019989625387205995311028606283368926230978860219437136919199733655651463901124480562711484764052702521626275967484146819595645382375051994549778639606777694566927429958524898276328019439683095056830817189708634088316283227825602677513815768960350262739198111559565174486711166272609835094928818836695999089464072583724537893216471050937882388753785868589928585337520851207183187489894845194451325074115403380029197297744950458762786291822637663035200213626637927271154952306559242063112849590209459228019005149118631196094236791975338015880923274638102562365508273878636634780112434748532609749245779877631876913631219957197035200894919326310759459831398483311228562141536584720682131687581636359941097331894157127322800566964268654721334004988449507651568078449456921435121235813629789402419700299937048320635048718778494783017563043556788680699244674918313563687314296451359829137756037104463537515545841747466466308208137248787732191912350504332771732342648889637778232656559379242241182658231224406216345901918427205277179807693557884723321637629165596415685208948386603980441510473850645676856241763504355938338813246818951057673852994546741804102915033267248637841152972604065077330130988736843138314379706404510444154561310885498239968256584909589607789720140581386105805012005879428938402545788088313523155509860194512061352805067768396147018062076831193181206190562273512135796732612724391411292787538622238587763037637837216608994006087889877913327659441186541450927357278572985908133709084165229687733231175121885907727704384492262212232278776098191397011033018561691233327328873569848671447139390416324628789688195655694461518839272060336372181085599309326479985609612319789485914466484015526847606285138217660862393101426389928066276461479802643113344734325487576354162064316251324408763819508236127499562588158522128021131545527942776720484466612332687212440382103566074742446955114637156288541104605200213666852610295069249272694094419368216321381425334271954855751447812036926107050140243661837315202650611984684424188393439011312824073527988042287417454817673465272688078731498857334436477447886234505233125985322509617542414664344354206200374250668104761214348331425369968768339252591232123817775253103768787959193099219219827683402542079556651503053404326358156348442788099451995808453581334371080439777595769331170525083836262886886342963876684035363685984786791368411836823003606346331864913666138286366374220902550785080955182315713632400456656505947885909922942813094320347613172518681033633077811971118910198183230573271969912908691344874092392899712190850668046260720964988442540681952671116563528225698852021451996390464436266957319984188745636301260977471084787401046585771769988429707177557845999573173475621872321368027513935286880198297199354069567234843511012999320239201029128481567517400782864337606546283371859723753763083748080108726945289193003182134619956967369173421220688064497656227266283256087777801581967883951567947838455082057176291127966284269017156176849618213701668284517691822648923705536392174081267383991262998138645512337728125197975738678345673879878753588521113894347331281197572619418539419214169954239732444880119213907187122349526514398637676099802749689227917631715781031822949339882937424258149858670267076136655646670085932422870668509356733281281298256039839658892166796267579614537164116115819747101429408776503265655464418843553849162255127166864357772796383212988249896948710105406657059022165116628646990625931039826531208692344523184482943218048666177731124426706497217419527244388194252134334485198499