i1 : m = mutableMatrix map(ZZ^5,ZZ^6, (i,j) -> 100*i+j) o1 = | . . . . . . | | 1 156328039717180245396160513 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577142007758849 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577142007758849 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577142007758849 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577142007758849 | | 2 959229777693701784869835692907527285893662816575021420366204908573196412929579213937636731471570548952948927827346036065591508059361990316537126443108516968372476613073506458097951175144453498995539013443237807123754290337674392248806883656289018226133173469272080386 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577193547366402 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577193547366402 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577193547366402 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577193547366402 | | 3 335158224734792618185581698926049005762126006596851300881652436273184742435046501882655167948004728083185153439708804391489196458551935245862079896937238420159227391289605539673973396031002013596869327706621584266986922859879302937087668725246525374361924391834729498398790829301055328156611233431715364300513384167422604270183220574581153381322076574612453709104615563261767615682471004251618574207478254167908643990713512832795839174919306187469065190138893720133722946438757595987726567268464992771782925787534790207154071566563412018889106050701108190600464871156446759937124196635620669357983120324121538784033992401026392383638122399213731805951952200184350772790840548977391441724170159379459730037213833554606632212751164632107486350186760438468891724982661433553554444258329262475131353835485035971007052697103558637518453600891545087474474963618917774511329542702177855335954026998878579180067131934789641558714359814868570711892152847168731304125673068322543618302679033306831963260222533683583888990117584341737567696524230854055369637029296311919160574334709528777244258519843637965290340828441316172173960224180228433486263236664534572343209895838307499386523053871535462448628491682034306974700323543685699730479697555230933521439194605299764823134102339320969209444571340032117898489041598349325567738071891690262820298093725468319552326829308746178234598695448120097492217007632971985323411536634451270346241838231848122274766685778356742902202648553798912377592650115170758475897087596219245666491792855810805427114971564115349424425357331081426180892000752650629171130950984504087137442899909896914796348476875946309753121564467601957929148288625017171561889054615065704776624364221611107888551947427941574650206564340083343844521687055258031443774958545640184292539989864036485727468367362689266466364844889488683011077798205065859587692140446875920781381016253055682171502075219576912475310420485838944274614329561315683061662587811556703578363755005514610851399023595373965203548616332277237950726526681727786832470748334666550133659800816761134995135323553532892487095649087648116204803358294403466382113444847384869651367052949091884878169569584389598677848215397300349950884850056332967785455279197633046125675047694146125441423430773678778897905458180504977833946788629293305995391210505690791007472989336044809652278161924387938609440994154458289235359645365883430907132275746203665085301252937448760886488243117978014971339900084080153070772529521359738977194070528851249319181201049558925540050162120383096177166359049235778171150404857523137984337080418828291 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577245086973955 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577245086973955 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577245086973955 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577245086973955 | | 4 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577296626581508 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577296626581508 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577296626581508 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577296626581508 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747011929097815195763726645558271137163606619687436868829580317441778982927366209275937155405862805474639970988020035151705879000963913539210164917157096720652118512804274038276377701060287392382296483345540108984751708564595472291155702247712129650463853430892114517280643447168940255464484617846114700924564381592571164774931243311876499378177849948306099617061130547294862525211499139684414358796057648554556318090995595337324519471878189559743129499934796295267246114878944996501191990526617118246539361535221666038380792792103422193005038468232317611516343829956584860349801637518731118610223120445258006781590516740145319067034808053826345406182107188143954754466934809337230840834166088086429690717100590065694954119800042241659917368584143822046100680562038937802035341712471671057534468634491585115120112991654019214249861402809288867618857357006198821592594611692846207327906982234639207704480458907177739714622878279482930768359207349366664999152928677567677373169798228345828639555798861992355594537263886381457280054912479089722039342064742451080107537821897446711061376583798334626147365138014283393493169375116420926257272335323879093149879208188656114380612110586523787355559676484221911814801570437626776105412927487998305649747052926923456468043935000058111998374261460246722581954807385639230525382549251678136354893489807327493343933047619635820568935680890563714836411294879158109621318189379390054268803899150586994977880916587383980923494227075097728849653220676379052448261418375076154186166609291867970320195385087549232853881074680460693005419347876409142505447994462330288471851288393508962772620889136361989938130270444997308472485773263521089721341616825891103162750438565558495074459603207918951419872709582612364483256875683119199670771920603923218030675542152567287097671474439768480686830894854481055104641387364479264786436733399600333467751846038084401644646901564731248453735961383337383916953114171972494669013221973893086326228481361141993242424725186613711234595374646604381086032390661719160336439944133117270730359035620866667490980816753835701824666474717668529418592128568206397263887293941105757506116053520686173119213200758210650018489540158304614730784905098061330801977673243383771939615985579801118573595117678549319351952722205290784744383248185710216973241192349311346094511686522065414818788223149732701395711522043174223743607045980002213059820981375820775277666131561639211502367814189203590781600721019400299251499574774629140478374611670716221970718490410118036151863182927152792208084292279585551741044941110436777304502660313730127224191863130232088403100559932157166192235726780885595680864432002445476033129392857974682974877857809650937610474183887874132869335088811592538891345534363776578590215938514860536927057976723310735365022648976856866864292248585545065372818319381053814781788282637385375110156046872143685187721899562183823521838401353432451203109416229688537236267836493950527923451314908125007457399258588205684572182386789047636158396734375504248345829791670306717352982780931480563286559962659615751495207017002320131908246918613039323042577061483204735721893421718825541177055547944767945132856622719111979484174149268373158134228522990548876987822024123124379410673332596260857791911596470187182419439772342161498508538105311802318416163257364582254205393601200986626680820375849601877793284286320435217447389381391608519876555144238955764416390891160240954676214201157356841959821611735165442547152320933518707160934278324343630233765115220471839784271412440752378459539904278256697162364179712558625522301129417545141954415641019465747999508812084946631397743760882373808716040918448134000396189264368593614826728300298271217089782007648785929501556736130935444911991471362996590990933122820958915258070394389851319330350263282110319029272070715545106464875646670762135042535050689233479014338674818411542224842743213852837395585636192318732042114312509303816198662223800496997435867224101125134667715218284649310333646075378598127397813844971484312513741997757582322189018707955840430695436051143801968074138638688213892176496620330926194498722352815667073485200563877127709107295502757232413813369162945715244409993779377607113341049393977266195288804499974325373095126878907665025903848405811411920289710607005275174796239298180036367135697036427062002465502460473272419556925549523406845285945047506295950735196912273195532700973557793391780114901895293624308656685943414558754861344247103444864122670931009146666412139458211380676615671794854791510732006282375881892245858134894284834114658717295240995549235669214672183894659803941643858483232819679269678705048526719368303321584536771690412498397121251945143421361427981031943714776569292540617111340940432405226393244444935136840262323838862097384292753884647155447133155141310764360339870643794610307893559729240516077750369584705060564152184557641485044277802104192564986967441492002612915133003037920443582290051877642182258221702206496106500417939085033835014625050533594327707713998044608171163114343683673479527757138367043521912180557130130394696679049489767865917409650564799663898351272793231027310241874697656046737840993578008237538947023850637657465740021694130213404490649577340849627530282320193567311874482024006510598400821387059357152038435981076562804812901423729509646164811961144176827095339627487652378505693101577296626581508 | o1 : MutableMatrix |
i2 : rowPermute(m,1,{2,0,1}) o2 = | . . . . . . | | 1 156328039717180245396160513 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976670561763329 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976670561763329 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976670561763329 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976670561763329 | | 2 959229777693701784869835692907527285893662816575021420366204908573196412929579213937636731471393450124511882118071743767642658194909997587495977102240145424206739399085463881262648611217385221073498792225212809424991932691875181268164638082658346840167487189886697474 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976722101370882 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976722101370882 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976722101370882 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976722101370882 | | 3 335158224616351276001991738745885563403718231445087271921908631538914077396231028745006051142106014706074413287479922787529903509102656141308822801972182624396653802592542984744634911637565362250515400586990736704774826210783576511199288214737293575347997986180067971603935123892176797144850499429174758470407827511132153759133246046769838548152163981359853637650957629323615762200174061512196141588827980272643151596567218613689764899955897802334808493364153113826525209316449820109519928765742899503191356163184575887436324767808780113509022997664891360776411608016269461979204849937967046666959423430836187359084880137493753133903410108294817017027963107568395193888505043132317609750724880286959664726389240308841138496478569044212719173559556560509781435519088737517889619146032180642876681858758809325363044562905198466364155626880559872697718048730755116066564773858177925319589082859738719968770933831411372169155511066583800999213327275042010683971099949569512346276659485332441313227315431406182730931120024110939170134551090492071656291216072087644366128706407638214974521879850344073487704571208573987386356157608920255956583412136841101445375464760414274192025248243420270331516662192095460131403809019105715732465039491573833883499686766659288608122653437972655907945996498373723821574715025373126513367847458113139006041276612448005489592515572854013511681430178105590723053802169643323069445386576655768432731707399999669935161184606607132366750736998010880531401203739587183872086449446599177956673416165957906867165508853504741771632226491578489064995450610228492759940095377923703125705735321554254934270367116165987724139165861409590378157433155986965315804092451705044463021446779810735187035558998607645928680643089599053885946352421393440361876780624228292079769368852421430062680791188649903914941333678664385002608963167373281689118687270096634427178218010429404882129930540424402415966493035154885872001762764677388269228313666163396844575542270410274625703577862608123951988937626866816466821735188134839230481629260414189986778542817687413090013268337074429886706500350995284289500167789118427042303121300490829808481071082428040673610600624419545234692888435148051837612752060190499862925734008876253426986355064563706982347189012942290928601607119771204103924138776143773450726157235293453612905711583642275600733070582947462419434065370853171748900099595914886530503373530323333436246209524896258077780536058113841035393634071339890771844742026738451851903256250382308168471130820024054291843178980686395972869857470863795505819745140688479078433625626116099 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976773640978435 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976773640978435 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976773640978435 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976773640978435 | | 4 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976825180585988 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976825180585988 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976825180585988 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976825180585988 122992247439183680790911185092278425365388274126148537539277689544015614211582671066492389735650439480856203450013564260687492637903631025076719398247678319505830838572642566799080315412249895080663939889678480489870386874127338340771849672569416707754147664833660668386927229307986779336820287445848004715540265830804466394034420991268667655473322989576609172597517381091418518910762249451183037412703922696567757404686944228221595476479101838576836405801192339238063527333198443573503941444971278995486566219015192962330801630741010621948649594576804760343068746455442604457275898154959263399792025200059502653044912356317297655782778368666485681934764869028852240753703660974665384596738385061823887262540429887446967045819464177651965131716772466901848231538183797415576462548755205116199354442198777922370191378931664308517223526864689205215170372092991573206533268268382783094412102457899824108248064879931293357257482880233122917534624808325478529703875218197260073917639126938847314423075120651533532125049954454684948770357364130434332000004687618865501251775129329706201509011131996738816433650385417786882839906258588579813644220139102846326955469708932339591671383534074183759270573956856523204965085935271215071099298717051752655907039229860278746525051252155388204409104345433359022055056598356728927771016510520562235597771096714901220694983646612279174810120642006443496917203215848275940276461890168449530839328087624384419160507629265918511306795402339453648941426236512061036831044297881412273885851527054336805149910199032259790364481619103110913087490339738510362569920542031542601837184289276406693925012039817296442324773948629101444826803458209441195148989903880593061572256533147551940362352255935505002346039364433602876571914801349837802148265203131491734451584593115810983487322372862983400606820725163816099902954286576218907469715254899077878063166585534818247053755840161454791152423103430643258672528031884541311297801262311996103408461573754347066318365350244944938494128640887137559987983124114448051594699808572809259743324132692328750623347634916085744278155157349634731242390830184401907224848787650936764165171773002682950833681839284314557777403390517355344249258049795837469354694944597432916362585336049905691956409321610229986877129603968341859021249352384782751770369179933496063421581758177650541969910688858550227429158156360878976512486326083417345459850619548495080688719925788636492594329494736163468139352623851184697625112448949563149770051010674877145961505950143526701973269553653685760332312216527565660612100105616572609392359079896938022993695803329299624008318462358921461424052093507499918760680840175572481562800753363015045752255429244472716392444056385624551355011674185306831211412073984985678523164939457117480407506347185827225804649563364318502347110150548093393846164252953590719835256400877754567118494936662017821939577051319518071912797463098112362812555466636227527051391262659886393743764420941133387000025452289327177657513109987156804203954110799332592202006499754902589223180128180949440070518775216740641859242901698989294039890313244991219326803483574725317273515955836220571877887627213505796687076306336883858065139904572928465711568728271983696863457433315448884305708821767094412520723961989475604322894674507819245239700745475066776214663540203576844162853472961176440320861962923449763720057606121024898330122940865307884058338125544787218528991501075533485449104194277614684061104149671557562085964615186477288003535189382471976032869885459452162405095989668532677768137140342258132383830335327171920765882493727988705838015507276512381803384271868592951305983989384495918691826911997295505138463132256665409591972720552410184417681181943459164245492661437126284869597597196874965952899494183876390918680149791963039841569036792778852877327960528430335174046012229200277415387902308592997560484051677365586577553748371737732106080972239097860055739039063212964278241935152982149758157590502244014062391518525435255415229528567865444139400918904890952910002731028495801319101176603851906030514066830521629382221332361962949565629758262848704420799827073573981492291744524636657436173107366574851416733222467320658341180383927607076576552991301058905893908111729782216210019709166771554677508784082836876890040202639042772998675958143650380023649564910883683126966703635933946784709383502725417428714593399465826212278209200546589130909066372789984549316878653049324404951833527294494965343297389989770061852356186023543280946050002910560348767652680363308118797873132811596826794930473180263984003656224278308753815888030506611814225729052393277065873501611434505960885665786582798950023178029709656524443189634243814934579464964045884598504982010161741377641643681902850712468421188597166047620306990855595605822852429583154199521417297583018859875446836434189346330638668364716588813446512391391969664830986501217930486876397244992485694105496158721513039980754359113598838398251209727767021383161622448350843225738590311610809390986708244931197524720283076479270416689050670382184803503736110901906184101235171782525528172609687600500162440555609591947344174540892676755457174450268065497993343803204504438072152143489357803593888488020288773433914742025058293734250444669145166368219038975142565386789414353074506168290374436206273253043581697730761553884359101579794468949516244930452765734870994376107315307724933192183684893546776734592446780164608803745256680050096508366068606399835854068564731405229111646271799710029148547711062847663469593765622056906664494484128991929620665198505604779217476551687838820308549344881337178058127805244138495846807903240771279251393083083860957024811385048698970266270672740414697619453035680557113560445715775036888048885806342584444123919545944365936314809605519083371500095907981611620956498637785428616283712763922123032276811779967394978624863620888401534679613006293516238716154936575530577481601783673402402065474457930562383116032865269215161824098453539700989568407697421105797405274012845439792913737688357847242044244794371634579894596676382598158666009644936497139256733996983164902733906150546944726838854881995794744244949129435189661552892953604451068077812899018158258658281309730586242034849242075907560869256923947482961966618611068770726237769193033116352344836089192924849638271273453982032324612504413237273385916441110188354534997943674980499305872857726103843794480181732678547861486732337963921770138056478029279922625220527123747522775767124110969715826125006807629780155975282438638365034350339488891891900268409825657051260165113675197412753994590054701304201987601170795727154919323732369044165803944612350126079323256051986631917561267061593598627924937920061200422858631608498466190238561617159025096724644330715322639701285859018147001778877947806825506852828946429313948055669924445830104677835227551122538372796330595135344610707633162822431343464043149822341652586805383189302203437464790440954305313482379722470726179339237851358423264876760521931725447135629389267068106591720797528265569874304430014968971742806910759033932667613070249182850924505682355186614872014133960313250142125507052562113980989157443216499416908726644799314291626935679717579351370038834092824413030644113380346739905643412496604608966325716639735183420425788693319013315552922931211175602514183572471501645562929277690437290852974164412397058589629200048751939154086392544829560147990846035765749961906892678597882751357232039020589804687730465336353921590445364365992734587746884466041809478574980006833894271967807101936039903232757580066288211081023304233614727322399470339163937348928905982423311540560324577252221018528052174213612880594967425168136752170908127047392758796136492510201276753279246794825360644132345266836930857373431779699445519202892450340371325257079030936778790919650045287104460023260178477132624998877311324006371259389600587959009762529893728300641553089196767607834976630615051338512143330479231321238256586987851987863234317407966064307719257630313103434015795666091447139206338024849436352493346980538602911466565274234294361749348452757224137330212651536241846907611709218824176670597891650263950083710551353437537455866939259776958133148677903287019298456648149127082678729211970232484944813937197507379278984447217858514548668475009806445702984034726514037051362472938294807801770882695227942376565150219428320878942764561943673455939118229751429631223434310074489253859207858716132395355099666014534456781427317152472932083177538172465329161819479686981511310149810662703269352770264865946517754512525610893300559900385249032833185013712712824988013397281627135277895204228228780814495142412214148817939580902781649659394785687808690548646860684911636697835466882029268307181566607074483015953662259560068963677989292815310773437423102097494832815873327939040741105044097873891234159446170893780352652044755021828701163369242235176752747388807568497739442197124985221235772339338612624798397240713552253593036202805652063491858007638882787973782654022081488077919811964388366856479662550215249283905479670859829236612374252592937738238989695807208870638993353483501576384625976926443143175111439564607219716769256494933549120609758945583763010060683865945596727121136885510574053871855137899022629482470209642365877295286406544484174827525213450015949089045300781094690836915821514691126800451626317727343051463659678860731464546387637446400162765704748584437628542724849314268457991223251228085035790773232754129034635896589436598394917746990961305101077917058012540080733114250461883772197538371072043454460803572190110969809445412171974840419676404945921404872242543589215362964000101661518655516046773362993987857523566718009998467740946334166209728065105327989905585645246920268311189477754222527656548951595519218175340857230770941123521072506913029692600799360850827886650390143376660320238225191220120107633671069931296287889075735530699781496915454708105122235758707924021111172551441047055880404736889891302953434832047067735361785607674329100415609275431101489062923489291018693015752301746507441379654113190671751573946568023724633273984421842858386576041431462365461009524279040315764114027591037300836064348800832379624015729494661441846178473255221195063323196748701963308157586184881304619763944675062292540641344394216416104068372878494869632868123033703284674916144899990627477349642064008988777266504151573004914892478000914271701639158140562883351069266930182736065917556672899084509646190867274303133497631354337661650028784415208332617206635561510330300781807593094614162537131979712394928309768895173341488646976955951866088769400092946820961879816913718179647988985828434561846726501117993484706707974853042951511699161038131133171051126524897441268769691544961714019057875411662113653093887221594749115923530250578943299217408599456027100562759919667014089845254958768236422393684106262051883158420737352193833893968272569514472235468692685310796178181997060152193135585302393428306969029760449291808935298299196535481611222193116405558709433283568853297471507870176965842138373503563885843404744195098785637335597719675094151079410157464813465827077975219285181317028778274411312243870882644320454441754182976712257583385931122167215037653263867377293401962853708650117605754424968755716700045473047707214613696097531050687728171827853547758640940355636314345572176191149007281685164073391004542561584477525409932051622997168518220521352617511038110618761892117732060311520029486058320820220006160118928616689019711974896193308912481355650869753939922615346174042802391716140726765326682078282077931662928032365702945755741983999626486909002300711747968855666339122489646378789876710260433611790860401657683299649246582179476181291038550296919513860069406583835355696571102465874538417588076632158280601063380616358187061109249032912682126728065760316123702822200490416515364939675532428780156660588916453430050907372400562013845785060524191561181796381926135703236425830353442454657466892370079077449269725017568724081873739129827461142209392736149833819866859915318876192608053820276417003084209344359823549273002864475180895696433351767870278129282595330930720549087230215470111619777841889159118921158485372460701621256641872546447354528244219537857787946954617454101830047286447346915936829904662588810141098185681720082634050977265993575708271182262924195322175449266199694291557909011920087773429357123396496161901589471851323636707644423029263065639466282645636062710475226168643588173913249641170936610973728336585121820556406177934102539232053655010401529623084672555520696991721766409439425286621952335790852788000669023259641737009159599549882770563542031936037513896048893741196971743807822850054087627490970222066740244777522094492072443036312409123136354241650776430380270392510914664481091756176744268899203765293109334553744423133843241723689038533027792192355529896380149158117475797843259279914991984493888591004659542358240269627269344259415001183281626155816590529481073855678339500737034964954468870703003912855790786966994660179442718275025170471686322577462407662490066033784296656036478481457889948460903729234356219003577584213587783160781628674125819179488196284907430487077561308549380347732199327530665692582083449323086336920256367232140949204726090869420711850500535245422292380725196512216064908227256932159965422982558543778988511334783862854321737778276770155753044614326553243634403973267177709063116281109450187696522296197923929805296743183897168826998050986329620204759898684522078067556272398338313624139420346409439701653539929743554556091685497719437532235418212352068124115278968618077526503564337497686522674248181414523541834510188281884388982991988350384332330693422142616712542368477241431187828555378575498971391970446062483250203454295261241141289876432088077178842541651628868907193828321346088798528471585862444856426502202786074058862650607387890713264599560483228362983499300055232621909934796731965058794372302984423850925972732948640587998993956426628389010864710965513490087575400076660727013932457787039093987105326499488168650503951912387319321703626311901611465477437877234241071649045075030425641032619131233633601665542238749517643840782632682239541250412953396185816809358728477951314756213918084456567728615798137564846587104694822789363207221691421331765633769158789938387367395622708355382803739545524331149608176841242940727965533768876900171318752458149094470499985288309699933295909826232883534061267533950926971917444975355102760428484458173612461036151239818750026433487368357502833394383246575774873632141422648151303594073777218322505867650602272653629343546628817269403816026063535795390246442242124047231092900492421059900292747207744234933107309540569376068285270445409345588449072688224598398721747224533221848604214072207342199986242426929514987271603308274276782847659641406223777658677885286280467388332332718983943139397425623047512286010267020453968682692132233935679105370565331869775824641861675455873599764622418846255991530458372595452344559341885625362052126729212984102836734657749363611335913628053835512408162953514740263729866464676366071082182497920062210936938688137136517854558785039527709083808405889443157386747128746199997870572399531466189123060142986556686967402492520373851825516425648848407680531252260460173895633344615195247008965227162349348635336198975392720011227742586977742514230792879215565803987725555837965562044940428075966386879856562722081600506907471943230709899949250067760619222311102231281099697169428434146547197312507843365249849911297906358927886469977917411383316706184042471997985157644521019639931600820633126826931205613801508275628647912808621058621681380080494481184941506354672707750952081059111451424018545739879584581329379405172095919880673431597494318492294580993110812743574925327601389956926455909569200726571870634010074949161000954642025019024016233683016184733361512699158345704424462724584955145582197074588782160194698928142794256045326360704521991034291634485911671114920306486944140966238071974863880563907398945377077722525554229648569853802134748611465282860584896418049466199163102648653425828314860532539576838812223830270306506719164294812910390924436545070095307475990037049840316517382070651014176687536115877034023152897771817952064100162225756271019212920000561059458254133390272908687524145625841687143352717067863972529833370625796781897297695098987085169489724657531980099801897424062794724197191987687028534458571803669635436954978862074529135455884634827937724583490281118599315547364233779663045793354235738765526181277021699233050666116055630789962530325002217178429491165089745383610952936080861475794549235691333487172621301351730774555034850405343367381532110938615929810018491352812097513187820961994859822453469912227886147098716112573464665988161264834379483753428363674446966354205901437292208526824434453076382293894814150679898468584663949401912463381455250106919141020964345562598733576109602958669854033380940741826316312408635067158851972157614307404738506027409461250659205455056359798293738132253441973190030954285339780357946622809419580246373686841521762447651693868698647628149365922905319945593016469952895589051058642904206128239696480883512423824859627393945848634417158094826422767592524391978671793209173314414627325487071129062957540194406367091228616970091687263207024634853673329280455755702103161263978528994276994884188432913987858706528613492542399436023657941539316352875468317296292885717859629898105260836581677882627842520269987695676987626558644993658526567589812670403860142395584057514372380286501653594749864763726682790724376716715683614922864570496357367227922288717795014554377703325511631144209003254119819136088628041034372879863782264607029073187879353400849608777305071960557367735686542724139793036852623408912857010786703396010825034082591022709334315734263393808776454302086565195506854985254001887223124234781048980964718168440317459424484838002483096977626003054586882124667195435209319447169171616853786885565013129960135906145609172083593647735195440339137348435388629931764692960689334970566197679172557056880513699735602044655014179357809782186892264908356726010339005819014611883393036249577217453049675023548315299188706835797020790688302533215430180036215121150659542044764785431378291999845610232449779986000053184118278799362174985213073485533934142596604553672085243244230941414106858719741946149684164702112223557093515291278534836944864071629754923816681040550253618281034166244422406418081777951141435349973161640408790031561344057661817574190005716236887880478527381609221688986470369933370617963620281436128092151299454064920531656942826486269711172850648422087867021913620277767351065671723355332566241480698515615134648094227989886722835553384742683886800708535252675514833868277037501150801972185909370515517392600421797496318408829120823315765340836388637218219239308699242480614624509385263973667425666244673661676190153189743052301172999989448372172301178009893066384283103811418795196949964406968279335294013646841876180052260521753551617250172922770699862009923302771373052933145772963238516487742224691803985787420805023678350439790147152336301772612215722614417483841334241495547666365058992263057699239711638425056230155319920888207302613175597312688318006589400810567503267442745696857214416575344150662249256883007910919352823285052824546805258643229301775433187535318309055519010946626318339881084193605670119638527565371349344051159023417035729915784431692507503186071502142559602974290108169315035940003402712617641862744319191347130737151394889702488615479291612516940232517278600399624244774253769352641718821284035034148659363890435984692180138944164977830588660066316998503385337098928164467048792822132946179130575858767014310320782588458993240977799547199381584060134812354063248678486164199046160438419298473833378385324620635727974404620057704198060009967879999123191590389781682990335414794525887588317328230891407929231691929498882802192989779132513027921713617352042801745885552704261173593456375245942774340554743772055369976825180585988 | o2 : MutableMatrix |