i1 : m = mutableMatrix map(ZZ^5,ZZ^6, (i,j) -> 100*i+j) o1 = | . . . . . . | | 1 1145844448173434954129080321 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702913 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702913 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702913 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702913 | | 2 226900773388334944254963123391004914796623980248984648339152752361790896098264579674101678468702287117364749699391897514034430736752464064193607798032392095702969798013258298694188634301002739375531597537985589145921216617650038727279929759115102159345568696625456348746064196534274 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702914 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702914 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702914 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702914 | | 3 455538584113511133621305186926153941646993395067667747470080454395322555235414564869295600053463158115813313322677748229599084705234894170795902436131970016200634961833955783834282261177704826645591626836257798574265036842873856015215780089929445186717164602207680202957780269557329783024485423199252261485114210115082701443580349271370829478524948006853533091686210428999720170259152955708235686236144844500613694931292225623513953830410122914897917060512377137917309806768043342803211654367844692053592011056320796649861187833666297310909342669432226824581599087530428743780881184761502855086484421324052366493540280796152424859770608880530503851054146882056952217411075397191453015818263495997226463307150313163842943293850899693662144434670347225598317750431653530873378727563967800142874297871924988607839936537028848318167891895257375134695529039755577603889898181402860213259827510768034606547486562622284148203761448476733237178734431627953183201016089514528068450753842439339624566090266513444847137500460925762523659569546320929372756408831668925057927880811164256330710194465364125938452259589597686044021615108959499101969882176969858791441149282699833220543083582721764193179322264530526116126519343528505163850160902014918832227819965923258558310164826881481761382919186383043218185280277535426594355860162957758130952643002878121397716100863107771964218273338325166231026938925181502153418351696229362758300059074443337247037168968369988134865020950209756390717479266821090026244571400948303668907077234125048076206891452717822222227946966886663451144582269322147578296621743941470556436726076187121047741612775101799756686817786461297501409110655959226765685337577186803512596864792697781953565005568857891075093415018017390327349743160952316312128120822225972926814055502907441576240229232175028367896267941753187957372040153590884283435559946131844703438482251082149829137309248642123439589427748998103338864988622375878422621955441295672355906107628243616221171276770374385732191409996465398622088689808953409701211310340189232928885595941035949788114594565300224513124194691885472273324804916347598487041493058975993050700892497656044965574833377886370836534833437023056686346476904047171556207464468575176425271383122273849365344853673314487209915568169031005966777403960405961601933061896544346153329214447921360631634714137692261973081406662808996596948293414043354416498496602540995230408244312076009656144371234128878884694633292082873776599997650408743333235653024911316993368575198245023568402953729815553825473050171790517069286667909109867605968039130118684429825932749408807714605077993109773846076881052269008521200942416113207640418695230587288463361955744094470251604555653959385091 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702915 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702915 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702915 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702915 | | 4 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702916 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702916 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702916 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702916 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456735653006071931897575307482847668828251996769327182895507065853998155433691450687787618021038846578603395316685260917845725041157655553086007685471388006453380427903542924484592755621113593342728910763932747207423366214292040464468915722433784681190587690449731961835028005981928720516453461949836267946928227837096107340826121976177896849939726542656272129862333361592148641255379572033184209351800075192029989864370166286261413250292709055707621735470306550500420592499495081009952847196457283527438783632696284638723397671791297095960649645537893345246936744219175397661694304229014472720750624821602586688165171808819866857931144341353964332335826107183407531655997596134379206068855075282744765384103792205219303408939143513266739900632854103779210164856116519384367055989278375514932203876549923407047680277277315178835560995572243790500004292524254418060005499972395194165482276386626901203890479984728636910990760711524159832524187175323008918036954800153390507093691806573049817642916392829001120608039711020075851565623544218881419575095872809545145565169372213391140414072440692968622645142669961755445863183696607124039431322017436732489659877444991636136246938790002733996231057635681847010649305445166378121557157102885635852854303015584973727717286333319517752800208258580742336281938194142548984734959566963700041153113159484438568004980952074315199804507678186879113272012055972019087255222813453162237477693300427758968814080458405300575246166011839737980361851772431977540884098882855856488822204011375845455596293034376108000202630651360256021051889002926239068976516264758417761251681929029895516351189342091694363071862131029528698508197394303123293141940874224573236134144048413680244505089920845151160096732556150117687695212579539194363959672539936583445095086135204885920780815870749077027877678407357476381650697289470412062893478541777608478985270512699939013823103606166779645742639902595967384578508182362145339914380456994946381675173654754934843025214581688282680816123328155272077161494033000124125445263335278068546080737354814656558711165290450742775764361260574481112825517127662947486157744951706342367703426473435135532449616707849162444310805325844713347679020714969030843149545087743843301045992456958511792049353789765165260537719606561726485013004058295585430492733530890936253498190257713046770615475789377497694722802818103922917694874584584792459501076882253085209599226387106283227604806032559058104109175080208624448776866020506383555305647163865466967233015566982024041856968587637072320460294005678690108307147678898385180977861752088051361286651004839416875893561942113406468841887673361505987100034957147018410943165529979384433421678474096005306249467128386306346710431076616631126435282601593400534345078032476568368419702630238445654644013108312461098155373147420117278112252235762330907778157570512615421568679127498280955405511836197780413284330004422107379428371841119513333901989151926577805478119917836155602002284335349970603067875185060746382609043013117703105444660721799698627618068958341969679732191173040949175080241899755501763121550388484008694210425049391855931464399397772865842620947796712712718629364331745797474011690652271636452724366561777086570862514076307207065773010480839529268694234617833191754053295758383736972348661158746881684808782633711127283454132353176988521573969468614304867736945832887994778440673044464386243413909974503734021673342917678567473513625343714814437680048477942079903981376571524221171469594114248439397332595201960295836901215762545971820349112493822354890268344797030452038814022596529252931163949570852564484691246924815446198739948968893414212911964505171780424822603643819035810017989792209209528204698044939433593295755464636741053463595849722378577257105269844238935804760963357607265204449999627591519625528113217284858972330795877080760733716582893608838191673648739432130765046543570622773350221113062673351439775698939018003839711992900135796584493651666957840378764353887238446873927524617777601443000684132096965367078341875803436716519965034048856960720475051933888953123997284237427947540866842073160384043317242720054940776994688894489758937043788739744682368952504124169776155630325300406857622283830449281923752790349748644231676278529218171794083498466370728497162314247562260628712000546382007603848770270878530650082727798237464180454773844772126025339332241952248283234393582684400176542876331219082158548939880563189501443293488986500977238612884310775970960507552714627128364633339903449118523786560183836421930433463201715075285678873340751669529430894386587362103518390046204393575693655205463818509244373703391795463512723601794079859580766112872553817318893051600618239318385169680602868450348431649683379535825306763082493371063909160195718070893570353321334581417493125550630787945340256599595546223101801873158992443061947560558882296243950786350785429480314204944909019930175249607760748196973592915360708238921674912120960020600339275743102937686410739653353078242524335984882360967766433835681401513100781431938329935717770662670770423688048545295249702916 | o1 : MutableMatrix |
i2 : columnPermute(m,1,{2,0,1}) o2 = | . . . . . . | | 1 1145844448173434954129080321 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885569 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885569 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885569 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885569 | | 2 226900773388334944254963123391004914796623980248984648339152752361790896098264579674101678468702287117364749522589592845100167099505823462130309898059440379778742206810080369921872988014807921428990538617387755944963032482713853899181221304184554503299673757582320067781236403208194 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885570 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885570 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885570 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885570 | | 3 97455645534296783541814962018743591881641389344515951832917543833781868603840250707602396214635436460588144357457702954916240114617774488633132295118233630612706011260751066906333903783039330555538328031248716811265279411604030035220560330455455259532557591797482940061214392077848427867557976696756068823292603359894551269866728424674624221091142579759013045122195193896301290592641368971907447892838511133709938407948427091494342241939486335890734459703012812198463912551904033482965205485300909258620247896050819216312728603819381324012558940202374547759756376949177250427831342359518627319031103656239083780843698460350031759578724237828575339005479020379849822068778527598609424394577272866292443452699868576308165462046434948539343903175836970851943594151378576558279838095379984148561041006532867884816155409988549751590194891174722091119595146902881691776866544507228391910780839995568710327184822058726533478693238552703823309983307957070093186138298405336300147116391234818625154763762152837494501899945125403395318157013466657269856599273826987102567007477810016990346363706423433118393144392261701860083305053859454666510978003280039220096512043908633919160561380227951132560812905651656536326895338602414187356972394566981654558849803675736124389121163900183657422964668873665859330529165696753527434648119676775989659088685772951833044314864249398584284045727243855931888533440496327824632958628586998240473966839731150511272414968740862867705983145881547088067355241455794626434591889411230388523394657411206527615196763297918627101821716314119394897617997212177494000820786216235164467674622867575825713877217710817081462421426128997929026424106700426715693904837097901473831224031280718102099312159208253833331473712324783636664504952622401300535770518674142822542915360465868279821766505666126692423855674685003050824539845134084540589810814572892967972697808175893408945632607236573191700408873707049362829345806329678421121888585329906955143482676075291362560993340518906327589408563228381854702482104014789920097603657072053001526554329052256177988117062440143232591703002656134368966472929650634181899098030332548446704969474522857090891378006330116792107729430517750463765468166291553565742334982396459537823612609029430727255004492613664366029380822923835835158539089646297046498952181252464279190503956031487967866112084400621803222348325586515708065069501667685752139084817006707417050069787641653567446042101454938249753614841514153383093970086853709311554418100763792418426796337064035423451812028997176874680303847021173353130282657465395973203187288243970526466559476265952714232703223282346554476075152364041013968598780654315736864483110554990776956776624615722460466790107998867133695248264616476675 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885571 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885571 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885571 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885571 | | 4 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885572 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885572 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885572 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885572 232809995543185843414036308215529151368649425003396743891301633574580191441549420234935162153070639139337116212356531419805750552738860952576251404037898257907948511096915126735490411846298742098541446993423075927022571933621545552150454050244901337497832711383147938638790038982122999336559573504007705415489470807361615839169888162515371963261235890726197197178643776534336598345978490689226436269080202857199668773079614732090140911314559692143933279666932557621147896028290641447272098286143775148468227847758646483647762366429035900708983764750328259182335147657133823073647801231584087287405699221041804310691944823020049144176368166354780844377916841102598125178955069767512205007865781910243377702726945420447790105505087610743333103479663498073360232655738491202715849548271847443832458762561104657728632987523344713475980207804691775337314911297300752985598893560577986290826444813593238415193202229169617279801743696677486045329692158306038235092182051056909748601944011836300475243382118324611277922732246532570717144888650172310729442481059729789515100823884734720536302964180006922607751564384669064759736754436252842895506048278359523556551259056235700611563672955906773070000671119769980818185687685355774175427008603324541361546920000317794734425334842585962986804462905185839345284229602783752597307917827652106716999473294107862692220226964840342410413278183458511043878211674491432955554284770214016060303828741529295372971650849838799741564993571716595515375797312177763033413769632453913862175903940852178952112875786110191460026880310317692197398599220008898158592075759537395185501175176887950435252263367021016412678698500852080015988016015019135255507036972342474772602815358841180296078263055213200665602207415868037857026766964440100862822674091107765999067588895861337398611119499499659252695149371280932762197388051076830609064373009442118566230144520405442571979536458235492452872398333729228806967023142927301748481834442085332788945269762345240072451043342431455635570034193574345282699631186198670979095930704283107757480018999731312697158223819193432792708197187483299382588271516706190076039526434553261980289376197133552365876060905609004768474577981713205649698581319282258798993943990219355565353495969937646279310140560578730628807602583881929998978029632942854693959608249212143918127561245278660257022040496807020445003918754712852444900448297364099168707929514919386161193989185116860291552446832458589751250899644766183588806020033788904382895831422136391850514134214455011467345010337651745886874037540481851840952815219568481424849326542118749159374474689850659581693151077758797966618736082883173759859988567690860915837881873559119218757449903706357761374401689894432409721360248967923581949027791440943735176790201278235386198035743302343027190018338783833080950684777398447557812422569127420109020199637398577869283212414207714068055658335669453407597543956997154506091371084364968100687809040328526112311442414696331654990090354992882065282313765193316523915627543989827131745006533104861098338703737960218727506788208955877605408909727112097154611530639849169582345955739029363054415872193717901240387026198880885874501429266311510666468713387260277764376642075836417992754397223633155766958492898613819429342602973264445444574886852800525703530805645781324882906290359565647583443235393482909096030200981398281760572722186331316268513173452528601916200682661823161836821459846864366561944835837305976833392164222330303676599282471640123482534236252749910836875688856988687598448913404021760532040952135023932853731406689390497701362277109783564245326875915077392122049111233196851147382136160797751881970700681597291371098094878386799919923337288710398691029167718859511416944873766299006816995734627269891886804410677435007720293933198373443473924806841216251417468440053368497263734204234042754059464669318434590687448510813811895427877452782257963379804806199058213607672521083957771539666229897614559044104275141108135519931995732424845730129010495779401541012340886757010986248228179016461361303224770910192650960738595889426640402345681227241626508497957793744733821256362552065944318368821239996176112562737768620480908654208132635828052705191207887994087510994328456121401145541150809197684619840067369054855102443522178720768234549823964384953318225560180364849638060517034302758836983412978401962708006843513275089477133042564114019491170703474950556854556781073344560618809950435656024580915124702596368577926589092055435063687839344664448829237216299196658563897978806943302508673940551475140082645248270262526048489889850161427870490189276749625107469759419097660316644008665284474111579421720515697701981623230454744892233625413788772875470055497036729895878108622355226576668963479668095402980893454605897107367422913416915989571225399247278516141431952022798683160872826594759214584345754121376687768176287781712127777192811044032922172924528939519638189460385119218203846710565993593622587698019451163691205992183833055056635824038486604675753294807435267519482359797782584794757608351570109507126595236524262497007620190725505900479359029424173192897296968579863941697614494532936561156658288169105492769732207982902423523186585513240094928841959950559192577082543394113323110612137615172577663728257870607200638875829397310669504849680630893330030405832621032846049042863833411366384207677650158990794779930048470987641935017166771018022845560633270854779871553002919111594976666553126663246210592712316926397689671757595331485068223346822392206027676181458870851998105463233411789204518734970037466415452234459327951359652290840995236168047211786099230099339341610235184791817152072431283982710928284022537098766589182846651964647064632688443315842520662718522954005596452878263040335331403724451247831163363438326854294566574282862566685608409640975902926231517134632043163711170441299126286566429835495961816030616401300304473396644095266466157174515531633137398139332601141505280001911988718563301764939819223032372346208283494732027475316776354351666607895743809056763416683027386099407718944760952256089041295805361561111923461249793319628911992986545896988855890093100084453501855567843342585318959549831081798477891493170070892064835643628849726199190489379463454530260489582549044768322861749918310114559211998854691653973654051291856610824507552380948677293743170670380980748761957784712125705505362403904681689987298144158392621300381747074236493613814589750131072603656254895453657552899267312071062997582217477948772418399698714781688624872647098257924895125787096100135169235237147226855452814934723087292424901428861676526859603766602515641477758247710040286946316945317586259320006814473001083275692894397969598137604516973107358905841717037227034802193475687395510742160236367649779850906966803384257074896955524971064819545958250034243943433047932579766381857675501514561508949417920567890873314703967867066747936222141035894196714237709091662884016260360551274066579672845212331216399300481491916706900777232241519487992514479642880481743718001512552394774850883569620268895022575758498237533128281461690433509577567610167653724647121354317008276739696386964262475370222347857502608516423895972060026294530295259769700894220124814029779063549979318483363418526385958379327699656787136266970608669443806408330161506704230421804554486650691352444392450830383801184556352211395382742566291020191171156754207843173059030618196269584183469012637502456988860646856708956546818794517476068927793810126037277528448731980555380913342278319341760643040027843264451790106274669118460244984955975064415987175973136227160766337514231247751980435953153382082461655135460955593929706244975680284980037272505424971449616303084821045801345643734543785133581950965007401496243853207528687842220330337520639161879601088095128611630786745558095142036058598371602606820371636316614174189604313700857741715510901755129832584662091795481545394764097203099360456739787491791004451827826936883500985598252685618179545740853629514779281404707998354165848102627469545061855601549522871616724702026917351086516477114415749710412079806627218221136249551660122909063277630999792955845945329169268969198579973540766856100937819129612268518496247242095735850747165732598926080603529045199216009554656255561632106052507466725641376542666497016753493365921189121745293533814628694206735111221024399356596739346107875712433921048123944174335069347098830146884104856797988933250375910594230736803060522602964165375856672353521446167250726825047630328204062614375897465667895967774615976480004992526832462318122591293952297855205035419916776932386562280644619030332162099405395354681095499142140196255177466096881742325121711072224337502379112255615116942172414059522781878461091243076042064475976125216868059913652707221477995455285835603178538030806088937987387372463211899748448267298923062948403285251513033225513310697869931157918333548828017847491172180038211873283491611643600778448811358945283051342375786459890595617772148824386955575033074338505165949885719938913863902815124372271652936614678142807914004938213414432228784579708766983179595746876228081930593467674523320063404909921473426677559151638412011877798840059058499422758549226644545205667447437841501761758395115411599670617631765918963623387591681469389767401414138903746340008559333924815710744264675628199931809627590189163019366819053514250204024930839318830231722189364828398070000519125881518494976562005087566388502894040999704603516576921291914160968525157718565709910618456234497374186172381431636076027314538059296679003567779180377191385105441855254608987484223343770087936069517191236081057883844434563255297543461404479217387349321823073438276428889781697710734414532563904007128823473440748167475373973701229481846444364595848057316617519011237657678706987947711334351800014803629590235925544349308585081376087752961475354224027719160048743219849179923987158498394337705170822809539724401846913035906017765348939736810981173799901682629017136236750371336852499109297663927918986097302531680575059285915507479909250445142588495954048171589330326021881410794594313577956633621895026649009047842519961441818085002710206813733717679446601065048843704830299132252071679660791111863426031951538844586420453133803196044698530453759534227078287882000871504595046628531882361370131840120311598935240604322427791362897483323624952022883938892085469657805011073954548366354876038844624116959327218684627715992052196699357424965569552767236314591992034555655373805510509672643292158175704277218580694303194664709838821672674212469671752583282636859173360014631926867029275432402236759130983665930753140828968154656668051546756816021909719078331410675870866932696204669056152967799537047662171413075664004207786202021390832004878416014665347075319407034905058551550359719822971986934921161347674856642034479295425701556040680856976046876232306066803615429671908717119705849901446292937244245939371235607554579241765699378729538022764035815857830911897532779976042341743474765326942577290001984937606850296337592103310457379894717021555050946895277901266856964028631918094875301889985525102468956645545349741924474770470668745658468051575036194177779408125850228085436865800092892239255260838250453130294139866662832766498076420688497243507637678765195317981973786937889399610814670352264940762039736252106741992948462919225974648912960439730182395710004763931085247505437189881828495345469667348645544724918113605160369427436841624015188467396171416020959112897345805959980838998272044657829318713744476068632958210773876230258786703796847778745510309932181985941770389518737472130826589643517905352671397623012227118875284248780932026821386560706109763276391155571668339110671219108332432052873937226438434649591009371694256825145486061780680488245273445326995540401871291032783987347930040077721630555870358412362185836047410079199134772825650486445796237909075631891462925565530826717214725903303146091349023159551152792037105417295317295269660654662736588065049911428099869760734392567452409177941708928047589436205337405743537189698992098173254986934507709896832639467376377992748088265442577016814469432407465471547235811979391171196646269309526463613193645564311085396957608096986956580214527349450446449177031000511553347183731061995113692376966670156830692479068192159999662031128229669623837516438438895923722275961730794606239150990814507104415828340898671853656999822090794012555703431918196008136859604683627805930824918700915641589856692267069842503576183558108272529712201558545670385158024725454008437377354198577152586337119531355609533899905248109639110651321367424906348004324094352490900305845690617305554546888024714459033957761311264743927357829381503994864982940953772908223647442642168686504876812561782388641561710520995517431327692054033605151955716658703247241309663104353717059971353010832347276828544515662840052986878844028827064743528595669947232898820008712852655743836872386749445899894716188602117036007946130565655283066151037466730379356516267772202728225938585218987835509054198634852131225076576301430610783683467649749378303416922846438789007006814857496696093484576190043419771493425843311488554236484638741765697317670176739325555420740467881221358993754626879105397928663441085749081703669418713061880674912223596105881897807900266704102684092784313166677794351212013820258748455106843840820607874335018742524057793530433038433942529106681771588071940763940884555490134339341505422244325723364645771082753179024769219474493483894883301355348295604925158644035058250120471452366093291424101776319035293119006688951803398037292759232739370026034636467818822242170351755007166040129564971685300225548704973193321825295179379132924791378630295029143917542865495659592874444612200236141830276943041377886319585856348084212741061300168439516198746519171332754684566395421792060919687590077955988679527672412937672432182182457376401340975260727955751752606748122999572185056541322088620500377219822775021181319337476284235367241642593642140724489276081463111312241849907289913604815563847947927026375949615970930016850858463284513932405533025757901414418820243773026374724167669697551050908678147531375592899770193901664373656031268382389026076352806522643943515385018804708773204986138580183436035411853395800619265406429515857151367496275175304140842468392457347627718525786391912484982884428846408832412045193205042270840225953747223627358617457712274518627059159875322953581303239799989353829501709509531440351459612233121947843205527288669313126732045806942242668554676860035625844141616483590988178832884393751052295876606474104633129431272133249219483158703464996604605067992725962815459773920942594046665225892115231297622364269241473167280515266456755615590730030271760522721646647858068545011335678249980888353520285266698875437145408827013498659539618115928947794667513216118236680350441226500145546627574897410173030808505119414864253618711771395444461288543108852383240547979536732690668675162786442297543494203067585379530903540299553295105880607696556210265998289754534863837119171971764510427740363041146027382563090887552750872487802264937712045875038084344549561938761282182792368479527569748316601621810030036020034970595899176091334791809862530462905938543758961177931844228585554362361005965648550570474172633684220298833774081516464550937133708689224967956064001629798517379553969760685843643035128266857017930480738848244708615986794272568303450925638423647632443307554040808625952416262847355894402510402482552562950646539979449633296325710348384978198136267803023603213813654910893744470339769233733553733793124768458129324793130992247670566849246985746852669789797837214355281870241673615068079957693894430300208490434301317622409971551964337028573572015909750446893610232786548873131436766272376436664573034813277803029595908583101885641789937403171868672647775671561904778897567473735218022597008816249267445999207218598897552137928593252661900721630617330073408611768634722617614513073485434833681600105806918470419516716897469825511859367671516349258408034553584752327522223026918134766413484930571597189078893567734583672226970331059616634487228376075623043619575772267714028544355044888816915325318096193408053399060352795403506116175551407435997490438659825680287097419429974175927359710458484447375025514882078596033770483321228882663078738945756269126182413868632408946696241393009779338936602292135811537362571696885925922629877716352283937192576263511434324384891215330459309194604795489473443254689561526775688656355316737893677374876338997271458112416395961190940795458377439187550458370455649730443732084435674907144750559974011343237831826203944924440913179904475266032319121752687647641563473287331694643745743609422636519995213593521223319583657979033357725854887464712108965081029894750831001660962576280464276662804186791771032421209336369863730843224814682124161758901483925119511811548939589064155929526100347254252079527610277335916059569173603064837343749472368841457379502284977338983114030662279733538035964075789822239014118168488408010964204954864171976544802384298023061791348959794394396512382573863282048613232309881364131199085987907350969417270815799084867996463457957180190244513703338075013535783282744610355607080415142371475733684502692978110584678896865513454337287675042330222356223752624914157130090160564069130518023914459383849410056269289380806187529555996381929929014780149900167908784667748895137110156761209550780206805527221169262936811937484182736274246894986014508969058178652504299820583719701004870729070960929971794784293137003130937618610944973203847834990414780579098260693479838130361841423226195710966902082109686617053089013733442688124576744074997814123871057572339933646420537778123935863139483829931383066451968037257084850954782721058024967074003798337242339141845950329308728781576527942823963126417103575903678721484041202342379170170950382364920959925070577686990865978453196197385891213909098507008168293416302051191251220697375612124954976962594937193880224147022894860167183163135406121700958562583410379537841975720861236664012880852829803176889917866374610665243409580056550720053485819557724000626286827715401465834430578083201603610439688000875734536862904798417353068836955313495478332188844861769957106419483009365031307131105161224512146236888828265210672980331331149512172499650481916182267852995600120859734187076218290476938815802551306875138254564099790436145633796134962415741790084918545814398965460854822174733806708397441702475060820764454282674210867254960971012737256833823109661652291387182840251702436223493210020510554251912137177643776727462205399389737754600834430019730551645318455797105445999675536027321419839567987722393813127909113948299496436129872374095462986646562882590166412348674604896630548574548437621055774074480373589335067097124912609196582096128896586187312670668175036192045326847356590538580099617510116757813751015994701718162551869235170617620977585908212316039536556981500754959317397427813187196896401557263130381784094144704017112012771797407476985607572913929712091889738429068394946369783120826960838840727950675319222500488657072232692570047335052589218661499512319473966337032489708630561349746061936656159821152485353725877535137444927812103805196863395316682362503799705295828975584361883946495870850260305419004592785006323245487578794715453548974177338024724855977619242347963239614707787108766300855107486921817215457104624862779848427391561333561520434688968696108120744643668233611128772953787812067407986680526059030176359385261273283959796731370710797342344155601006357046290274396988039997575209321510494515258726597421571748493936102069232232516192640829059642576950916166267141427809422522384389863163279214535616508987558119996202076037891877754266522120603563023081713498222398579748571675885572 | o2 : MutableMatrix |