0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-26 15:32:01 +00:00
OI-codes/S2OJ/1625/data/ggf5.in

2 lines
98 KiB (Stored with Git LFS)
Plaintext

9048780583662638679856254085862430791192961356548167066897841566077719142571932305547564072528445390786883380101321975672263684370927192689264852502149189762602038268262179572150195053352412792731561260677969294307189915383239903846152755500503109686620352236385255771175479721464241860863728085271835092129029811230667798558603476996499836597243924774594139172340346986457504035578948433611008184523797585895830777255227416081057866383871929494546765477672042097926056223240685295659170545459073980383628029355058259037589065159342669915272770022349893912676617057392391158413961653938252651263113098908125178630264131803485279998270890562998157204078021253532906256167074008888194070279434419484836993115261178160636997962859044580345366651808486753540861279451545827763296926649219499895862458881314696347663704397695332257798706497440260907478618626484104560808051088099755742807700249615014704012430724419599455028428366292539246727194620753614655742918112128229868066371875768552849791054685897082467523122437702902101310584175921557635312798707772660539577554545155122621636337372971067958684916371491404823552215344902492804314461778624009112192837722861901314368776588744106497431351272192356704105140836821231222605143152353996797214683069622148304029401791955521158237679730686208048646353297220459471681058326530997510642414532314208398682428341002647345081946017344796302572438067210428356672761162824942784881288730737751210206469190558957280581935735464069884964130768988768619263596995382549643319577409827325847734717812307074180167122114568546504768822929501105222731305253578632120605993865180018312751826053535082862784905471548761118680584983376766990457174264004055955304618750160290200374420402723524660029919323466137283863739345406677237615214852537916701761333061397980365689929984834911514958767625950757332663898314266016684893031546133401407099912105932624550790773844606418956850783532663575872295465125713657536742112618778714340910047680237753435822239720047357558686481825600266024381423654278318584469190424567383779030874598971660012899201091070844443845204242124939844758105516035044273771799862187548955952139658902234922787839447618157617047291438017609489115008816230396288910023167435204414306892555297994053903832940212494841774324748626623042760198685223625156656576899117576945651625732944183455050495522346792094669003212798161834731479106005611769233633370107506727686167303667652294070845173696255210419492919374218734030360015715109926478989832268017630940259338302306342625329880408191575297484532504031752029647537287173015943739334534628755403766342304475656054166431484511204606236478308791222812752992419462997112325868865754648072316253423964464196052540187051496496596483224187735572244886553084581474164985313436800707277596493934103376523110544676669685528266314107547816420001397034643409156879238193136400948347282112916023075550835110258666532694110563945452396359481961636851674381045536994046846658881251472743293542302001788001696564847418240468764768038230339567081733397695444591634221579060686421790156762025542014200376510549372978793658617021949964063877364884656187648355280472221429624040862185745551304707936939987299624421025322386949760491814613972542069780562790446035969212966446319887554858558487391264792343171399812772650482670439243786763479013031689760021359401894911957283725888055148168752219054549991903675099150790801395859221549090768902654883664612022545881519651118258171538100021867034111410277671375284360826951703666745512096954290967103755523466307352846014032241054388523428849408541813783726700494548785895948257891379994336214436290505162658346049245872786745823975019537089979188522724942701862516173737442754309108724217139020554547114847502917534291304198271591556942120629119590615491256626367724155091659505892611351200303098220765966690364570413703047568293573169299331079374372798738225027841928411212923923049216927871764624024142697301154305974617191207298022805083538334188958405287091080490606088174304647093760230599611717543773090895147856356810417444845705678272198028445716233218303390099951638367948985915855396737670266866379451760672159718695114026918264322843807528079609082850721580760116954297738801365644976843764073657515535774948599010526587336974394834635332888314952666583394515179609176554488907013617332780598543350706519159265400586907421485652438299600525794939028692385434896090096373905211366931146930458482616563075755032722605481888341701689655698824826739253654433841461050363334457651896796521637430860779204654437184278947294156896073967716864255879740908332888051268780306281279918563545508274431083711993910793823480918209707648429003591070815753734930099219857070712257579499169044715240522628490287622249054087945733776057794003428549179758860181539698835053340335834065150387592370489589474674790835031553294047943980355650016685506238006059410382999144190495747250603152596815818515309379481130592527524378115741742524549140884057864019527910527548103315300544465608965833636424661810448805286913584879857517501611955972891240046797104440501974052536964485201278127180423175683179243848509997750656649191202052801700328395940822241516174943504034731283610417720204907833014619393776400626304824543345016670711772876323791009026137293591098630336056915515458964359330346238115382430877593666144770960087117722524056070768431941592453747032930941588303843173314770911627865274725090794760399670748727156993354365436272114923778211463086131830225253586507558062373359720019021299948310124474042190736855547277511295468128474436680714912802776225422820997976152076853606781848459751605217841832618740394409828988390863444358715909800062449854300279966860344902723735686556582547070686614505665202061930364024834881397355181591495091744975392933604532385238432812799926446063967088358889576270429432682616976840988565807917572432694725198959172017898132506997104629381499555741920389306012973027476044940830103557533006932446165029324874374258347280353319334924111799168649032277072454726175425013921122105896288889099938227228852960913231744466587395494465881259596861285645434857294217280581582243966322399441084240447226991284314906376798178580433614309853565588963872991173697935852819231613918914089965152226394645302501066988129631026382221575720553779286501213025618975305990959903784375751780683561792069653798524814117708298015214660728144571669876843969416314470937973598553801357888012644081604520587829424226350850728852956349408257489963115065654826754979983492122235705013621157764449798360010913390502002039679828928081343614709474698645752346197733598559247930347793461127767991498696891613351982444015762188618474416939755518007225104471448900522555482336572818519037078339196443036982404192076080138784685452026678738479361944014854300263893892055613335073758873605101534024136091627794480181749772368192793612111996132525347396342538166613625493871708303528865665435957689175095893850784874979390693269456367403384652380738278712673291853542090064416138112833631866844750898169084111711318457669258231347290318329048514324233682829652522784663964840003114447823069334500721512493610938014876282635498266554538057580488724540023545732004855473835734691924348779777814381351515980223125938335989414465002557050760690981914407733453416917192674022321998961706113102403913598386895189461214961861208717188630284657907611601365343816358150983074876782706895194467917710249782922357544359965424776049751257267493298363917390617762611634925360132900262208431254959633791433926094959763382338653528631591800074758545287400555602001440503411168163899410125884452781149134605827068197818309991595720803296206387052047202878121121586210837393813627390439699822596101268361766847494340675851148713444477405613069568605657100059676655305000175610280377196370113457973247281890819595328232226354824771174802995360735818168248048840283079379229230230832198318425024954133546438561199076238702839950115715663344836827220937820881177803493741835169880391063201564163275472774563796769703745250938274489285405604331971222658780535021991868366497415696068726346932815687552042620916314727329429611505092584205881804117805976776440961855435855958900781725665655148746984570987666380936110723742619596671359016758522384458454064112860559542760532273584796755784299410961228767381604028863403247782646410257992302052942132149036365361981470497375340662313381632851523519684368022496573202026418614366453668689856681973982501941927826995515178705179740282070627340873884333646260058380039908103164423509337245602790040208569066274564212538696839692291977136272325257200465349977624211026924807336057859524984218162189116952257962886934234858359178720397261990650654620328960240579078953393527331365036688421335620478102135620793717769905353030270567104858232700567008073287211285972180411849384901527117576242704084647686449356401258189175588318571657271624201386577319696244015167172967204240273849566172450121497515641185579212368316671211282675049365881828783692259736599170078468947686754930475074169651752513682274951490808623532031582197660595137932617786561831104360626079820361436069618591367796436210419629869510937822038656602817565291311470018400328880180861532624696621416939900236101812490606045670633383836658922111002201369006563374033667209379457843520318046658829340291934774658039383434925334613534923311115671146862831048798314201514781562641557295372799937676676171006890320670613292071082179499577021931108839939192641205039953543353765293151689494909604201940024268826726925261661647202930238415313749816820369144657792844787043974206264004673277114461835220752180506207493343923094450007643120458091780726622545546232485209935385074918446783702786393446025319758227998264143763360092413042841923333585158088888044605357968109907563162891316067565783650897630870741122495634245477236292952171899342403547805528328061611181673587123194810272444723740224101674062661871786277996565825050862902212827343011447991727670977106712614544718649603828617962813664904905876200187635648953811937811450758346861850372339275798018317554150563547265894756103452855036405418552187106778118336162319882519123963291902195795411136335453863239463086112397758099211189017840087523732708976071970886242805087672309780020363391326480927203842911019704499713293891077039886158530141014749685554046440942422774412672645808680354438831157426626622001868973044680059042371656766550275893253259246555389376222540526398879904582028397684690360677825962080281988817873535418795928918472703311628694472579792967615140427773198268319605567276934820164595428596424513085007357996178039950890848385203130283946271635722876100230161787133808840894130955026721392284002267915795080115064303264262020585498513071116203366686926050087449113740820784334738945912903932697326989692344633027623692947598415248907410974836497065851632578703445923490177169683916130671315250742939313258251410265971253977291581610268656440443082008311785478731144726021609363004789672620036829542064432755281951527354491801351982784908210993181184728157132725189038013221644755807252641698151498929430044930983808064507272877859570466715024665584771038675842632506304464698718592609934412075009385488573030104141439105216591550859382906051947883147008113681636141043042173537660199881255154446959307746212183136455476047125463480904608194052619492270309322898429592343945550302343973739596803999720966615007347829482463824772884243485197595439011222598689282781754788781240615058629424899443477306428580238778325157050359863388910719582558570252958264068998959949852684127271786236572835756765639573835740625975309145446400838790679525690174200286150604680315842922186863630014238889237450450817594778258971467944846523676087662175496240637675681574007924674131092685586363781110742658030303807936262732243643229887151981653594125224317595423325442479130499060093770833574865215927970320641988448537661028260845287816915653895270508170537970852438772041083640092107694283768325389288093491006766721473907583366551496343188993794626379968631286249020292019494719295204501529534390779384043941375366627113713533790718708121694592735424755538138274300629917785207198079138031277930708130282006554608980537550745766992632687955721062206987905236505932374237451158774659873743183218200536294598612429595539530168926684363826062267760188192426488039504307433508537995470421494276315415306004680453579184058747961633678754558080327624617029736824156133691094710056817555815606256190557114220943523281770582320441512247412866038187073254799569495069048919670342905876871562777483448235770990680846854710218648030444132757193518105319675797133894041535553702923480318339178506666557446898677654503107715978217875851087843225000512282651266464430453911323321936643420101438637437739392852132897816882877036740493873504348933677330158633669225617433976947935129474538703011045879168172938018049095048066500356245276400309611974412930376528132544858126060197883725649648256569960985696723256858708181811626702644485018567109177042512987241742408923081815032842301634199248810476843438866109993004126640912905760545426539961819179751713468095910083912574553478043890673825978055843374260397732693347431107695642194349992420294438565869301667092746048678740640337106358059006654493734324860875869726100884615472227830166007841287072250667319563509192775938331786634851349058658097503863084383934493438706930670623688831756693239410866303136292274107235289581658011813626753820778790411331874193419740472315241395516741380066564872745174162326446262697251295617739060132399933614812319167085045043061445884462271743205150398746297866317323340746896706162359662130655281826077043808967814714501044674162212737408398749237670807138278054856363439155172059037699513504404968908137763387183697567162763897857546485226743417357451865720539010225055111927141147281254982253698687803528299257452984202852681783504317584530121624036385400351803712427410952822517817796613587484089303022428348089751506409246677914261227149521560430908596734286257746906061342540991211286368655890526303372798865809310622716969078846324571648033694659450946338844471289262250468494376052016356419270776232358522250634353322262454350181846928699373048554432303328699863930568698318661839655266416520550118814572892920260327202144263863621763415250633034426386413586960656189284087324126733360020870286836634920073640741310368239489310567013471028948507244047203388475258302092805506594082736628452167819017401975604009872665375237956220425232075577930805904747171397522647542201679340737831057831136386473078662557853929758911344917622142202717844680452191054626394729946028599828956264678824291965082736252302873586729287640741083190344189568272116406266856425598528410401780746007117062750914466877630636938020451493324682637104301431182621757047037773580929578196969568187313968561131130162201826511508449844261668370870153855842074921483541459860195368053455942775341955352761924340366480159797170386141803614872415274221672098852766167996080199234532711481345858328788738574572434903741362260379662168947665280680413734158869215314230042250597943216874146202583226706887421393059976045414040973895379567443787213126084451697139167097724083614340817377365649896510190947423613218188667217442211774342251581133917800316907401203990804114345763243953292912009204180088952768955704524736681954188871378838086020794462911807621140248792610097152669972681337170583073085362954812024770277408405763416357339986428744082487691708520643496264105129853162196950122398385409042352207778479090321523844868722171697366964261540286472381748517966174567640499730857546968739835467460098469388978742718587512836827867101608654983567807197067534434121243400307716860796741399902006331361389153043599643585470584229033650384033820206124983026577652638325587061544230427721491163821944999936824537092154496453680677387610267794246535227211275115335899378654803783562770803068945444174701333117792971554318503258356459945479402591799351194924556102933534878817088614021691900161784281316485494990679438878310530842427649005351223437702903571491641541339719397762226634835560490628201788246120766204299442952026316668226113673453217506489820514177130058144105485247853891218040833898046814409839996031825938090108267816675218926791084126576820630207352628122441725373689129103485644728328181001860594349359406199682062302847996378104519528595969850550856631622720911888535160817776995305729395949416745649918479921093942975116691483448654079195104529431820198908197447439225266387396932565737469178500803627905124224661257454100202714123744600304082072720753518393193011676999622301326387714119672596273060865592883315593495911854412357079671520577727236282267321353379658764157635348534506210558991180066883250718003353471638759623209197762045258819813237728608098979179959915356650675219991520757520869361037978878291946969300509747245462599000818128184175232345581887102368792896420151167026001420516449852189476043714612745661746559474596597610630393185055905025926376540654236005689337978562693127668375545268719301374853074618516263194560504169314646603469922904558934665777807636869021944810653071862926344635543020753613549370776603576116273274997173350947699456377718515399565427274824054410623890177629369466644670231199571252114453929885384239070474661702444390414052960179709440054248646315301802532168657696280728699951313798276993268049991200332471268399229607985920004287758837369486102133819505783416416436543295952505825371911225224758642986458940691017556700411401545338101691433178737793262037285693699629784340240693196350470934676179605263024730768105207495768881300409668983656070774924773740181673064970690237574662825449119443157527200062281290148975614580580985914036695917748154039821791756650580050854423622697795236131011076698463698202750085448350213054484877922738344878188884040744339674805955687164785343086138122857341443912632271420745183810155712226539524066380292805776530096380785152073316227258178661347178982049631972684903097109924167824364618328271798409503092996278606814340921679766481369591214384069416438197090051436722405038745414627824717387821757646897765903731396010589185662733827448969354805257419164030104163079305779952512825307460128536480977682085391477896472057052384866391279714743800520688260418141143968441862913840453888772899892530152894928055014288630920991329571444266273939858580766004841141699465311071698268896440433428634462505590857186940668066773562677497641602843931457425282594997527346278664879379942340973046309984940586966153291201636294845093345564310569404271466431958342779741841494438877824671654344670137850338012090257753137557346890623264115607368288638280469961976555749764738908959962584739715441261563082551542177668019735955505956631928061536917813515683481421280126719640927500226551900669984909899622183524773010728631452454492981770874617731707805515218555968739800475874933417962295350060579419191818174475570248911505972670526035171798492632791267390912749252858698374837812217947448608192043704037277416553469624169427049369222538656230896089545624571336202111813401320466987450899040684582991370543344923654073317339525487329601406979936224135889875002529023233143916572690709225734170062356105546027707908467327811394478814575510040660094394344744072626966625829782448854575133651070808720805921214191253506843581150179951126153291969444857651440941952518976758346122010642373369181053281142734916600618597100942257669988025581327384417537796236366241714929373475228639294450901416135576155578980529729026354420510861521844935600463353329869108575790733982001853508208375738543526329377088079653963553072893923372588948227849065188380556022089721290105399119576027417399904244972827268282628378593396616603394039225547198088511295390993909765628520270886105445631655399467196003139549230456446027730038786624442443160033614557779225058597212716275573306195516580606844401720819579269407961562590216810715078907535347475241926162799123781073577873692827676583084736719051048931388044720750825589410044089345764175397629664164527716466029275200025026679050377773671090942817167455900962947759767155791521362478117516713597468775287948693054800633095491258788952216999149920545126683499265359248245924188053080650248663909187486292233761002863931621423748663864227625825869976083266389365601690527553175454818909689243814677858258872524753977598496818641673675563308445311836898443938655208051536858169773852359426121305020298780598124590564924371370828969220399611572125513851663927565724768388174396007735362841596812744460540451439701920040973332280544495867874070737616252944228263590457713498160331310019666787459952682504334101248840345603615766232492479279406858333205418904872232228430578663404451540441759076496480448581043554294140915941096600725202629042771882992484309718265054387119826609842094384892867030157177547450538129455695734358607334329922329716128221650214186617442573000545222044901871567142373713848450477753080777501910286250748428541132363583688966895998091307887172102276778526699902874102527788425006037237941604200247033025529050450744854289436975948514409423390267812441003439930146569078538718047551513751352277425030090465257883405367019623116531228407711825995624539801700626193224545095860833345035384653980286791134375445512294620733742054960330258756492915241145159448381237717309776618919879747337287744657707829664314889960523866030912106850620141664784950016597206106081743034398389884206971614323405434386638991741088833889594271997241680090036852566002705160233736635848733490547978634461182816974513051091625785317518527929099435074517398117758814099332762868037847166699705697100194922537339708608478242553363353993394896707863442154431742884122757468924297827312282206400870210590673280841596358307739016893359170120638850009495998737231666604774695518743016574860424433577233599623825108315222451554037930103634795870265542311314345234386169484488426777762627855759411814522470634977396023803062302339975735212342352826796206047993735023810178825781302039134020006482169789005988153463647866972164936054465081631635507477442942671676263896656949995429283586012561490693343620546613046174853231057947306805630135287418066842360655502262659348209362615137404594119720610883535225887849604344786100931604004223604578075834840366984167429190877910202454277669165750259233357728588073556949000226266986991535103747123919103009442293519290104614761592624789121717851745416311596562581327992550226263186060768315364510463872988284999089507969034615572010667139001688829084530010616580990592623824860696097400536742782715007746474240052812546119833734393171020584482889964753203560521427823693039383503566770198675248646736783449805511146441892309981026107982376980970690983110709592563448639278410541452024120622032038844906443243919805828012947678265606957222255481679871109791782080503824135127760803833158547705027915322741900215358532315801958460022703934801819160489330828181946326390154683221692883735435410407003921792991090371292081568108661345934545776969951451053255053549903660113693297522396060452358053324072758391107263773932507994690106305221222421649295205986695267926363024282539881035099021803511092714544534042610619205234461808043921892844575522011852941352951050772725050265113177842665029472305357323301147512379965815342461904002455062848408879557917710871755178007314978622922577921971697237501593207802328514262800383815484350832743764498535379436826807781089285523125403176028483662273479277000627357858805218137276014239047827867199300261807106669271042853607648754429911420866810330957677784741129569604017569543113723420732948452252214630263090105643553064941507531796480180381677829659470831034232192887006814401427014962482603435685874157162932585621852199363248793409141366697711161940059146994917493083607909739785663844732190361369184924190567372878085539108297378777219301870357996450832827868181016300424939983871523098614493962982330887125520786315297632832518727712178639192122393315889541815628208097775038564353270599131948413984516604839960551323951285667946738026094120943025697111245348795533350706246969214647488073612455904145210690382780963433543661062717758671436087679342561731941896856233846247635984440600818543512277720009597911101446396163832510149251536701286995807398831842675361239229150281074886082015149912700143214987150757562725844887011206788183196178300390234049618739254671634057709952278371529686454030423902455286059288770430563813722294799916033194843060835428143940717143821538904555301320216955625602037965191298198766878129880860942585942905986918606007519333654588089392466756294101634768817023148929201872100913506908796864074479836627397679438747726220825232586775312465566505446980873515615119066161763914880577727405673342312177528644578178695696926252101690304719259637557210731398616058306531300683151266711684880388662533496647810789596386600852087587744002170662823305339151896456248588091696932794395367390146994370493206861703053116994040838181019426339678314381647488599069988884286551849913982719837657140010132370660592513818993611518995395437362266382731716564324032518220447065204118785688314156368028161073602273514572487383492200469332507872690853983809450901213459926575086956238926195215320130057415316703656171498010250845637543985167308186574203158302136210719868155462707296336637819171007132761272427596600927641678957353860785395095951814702397611170266069631788336474558528299114926433020992827683595921789471316683372947770912703695965045898575800884848928716181786835441536221441981820664453554366825039029603207061347577222682885054318303114284263771293380493869603068341301808862635664808148512368130535284770954551358922585225048411925012014823137764231915245747065012052220067754243956309155648175664298277827512485268730841994277251384100040443779949348081993562784412046748182454816618857207442670082823438439526750537669121841849920420736644911041658532853016625802390074198238638651948357065113700265191617690277480301637539465800911915387422265868491913330001898386363188352529648002353873895557963357024740860975912595574017774878957066946379080505855475152067441390486414099596649394797596247042756874579337160824195182645769964528665747127254601113005687697318679132864253019595270946050828447302154979694958108264830752122392476529137788352780558637410866795394773771396071408233592782157180852658508678688536618142252769707875425838885673850812044406524645414503979155490664863226903531628004670968689065337375961961430955822687014295519996974097945977893632002403527684392794806909986955411346233629650908679255416631076168097152219916407248787629838284901542609000583656551888532771573779394802400372481311201459808878228963740519831472751775031984270041524425810768017377962846752130782833216000203129129046222792754000652037643908039204093815629604088429348560422349075014052591562945529142275162028509864920228102800079615779246578604256184550840123511219375163333533916257275711717273667496690508156899227886835953702495061922306999659385004313225805316113008643290433967316949851948975560632730087801530754789729468021708050861474969142240346105854408078241067298871238477134839551851535100582705532550862659822457388589310649489884736748492466083425080262458882982437541245497019465150725890244608856759401664117533418100728978074699015280860080459642028881028818486582932737431053762469609497679097556536431140401894177315351940958105294037680772393759557729008865105134102534466791709686074062440395569763579100911992052458773477573869460955739308348135174183864768773021077699726599893577889523903972626831688086547152101206808377097414605268401841224726337690300465904136492069063295940459411326797489021644323703334059077241155468706127147950365074896053311846369668334902801592794467750294535799256497806593463033764450545035993575678848095530147804592457056711284056249352223484404896239033387090866917517820675161440075898496018215936484439901061828037172599942311618463234100708661254270452905096482591403651161649680515712994194238392979119028464472182305001881842731836310970099291529671278489931416889357777195193266080163789737390347977414491725112686029327553217161848581345759260061066914792110226709558675792780127578499157740460044091827324839278729663410452918358815515483994368235341857657317923303477621015739918394763054597484148837773389484385453529153358448669052008240688014889499638142196739231198884973733772423753998579305884316730163401672123116024435842540139629983770348969766240174298081172121452339150615633758818848475605932926279568513961258832175501895731884179848326444364553131569362694149401421741512040879494637092221640080446105315245991296057786695519530906024928788963648492129505527850183381437149398057198796992825398332097066322215655663033566092299316444009141905655922834069658042167458602089850641715974010654705034999780376305554224356882655586062389171773269657346049252355318682464988957935811413779685874458530739002882804502814285974503457525085940866670782732549345546706247430621139860779374614720507585900159848024418893234473730380467689826213057142221114715928279607570612894954773473577252990304910419215809790889491736337221546773607581129447086990746876911603947133168960635576286666902291113072577259352857859395116183766623011004875017164558263154025543044655091439477372934231730312093034592137041866806026314739211577321920789733904954695271555862071285428732360691940207807670557257905197734807265249131078947870005604696494119641230197206045271049955059838649769676386968921094729930454280575193629696423622091010003181836189618630087680180479454277427771301278307529164343850754665628514972808490040892802040294353037171179549743911435387551343246398067738156245951129777656722261057110603355031022990436116118094502113387943993431614456605866603837243669895931750842514806143748032372429470919878030096094410737081375831369679043447641895997670950916050312802277030206208122595359694323410698814251328592189627723878239130065823118805477120331764755533246283980130501561727038260331691180790813626998918214295722530141782946409538007536319505531176758941724241238903306216481178786966635059069570863299020565249111532147538034775587436240439911103860095858729571292763902062922954417480440149344438525468078924833908159014876545262327241062836539350877941688091832313234358490356269999704217075548939940906103606480694987739858588943656037977502065689662613772091571954985416317638646684650132329984064679235049245473522330145241686783941900436092166842521135370299791635115821722642773362598191498658931938080161769432127590642550078521252497154723406660536351666897824952908683718373868525918388743965788341712174186379157379824371165018401896905109846126024675041770589404833949146910187069470550641333916709994161108431866464221823764049165250486928315432590507356672285727051399339025876766698512215197743876326053228782028134743347970857489064602857686727618789900478627108179775675978413482813604006069528267684076111340541577520402873048629193302656885487016117357777989260963293600862353619285929188112662710086504984916698782205767135591853371544522782559007952369909191219297712473611178139713892644809290933663532236076417989467722028904565146626618811184199404988349181002909297071090559448468637436294343808975337816355979788657396654844273151814958237294254346221550290874145387558462645985804983034253106174737464438716790256764860961087345820538808362966803703703825106167052966962474580662115862985441181633265713165619843724345183900022528343117710363214370359600590243108436553111145504685473963422824847698463983978769124807830745478957928647348111143324998011122714307286014894123735877601434826170245967122586274714663088365812860193708641751016713731581955755591177698685634486753531003657838393005803721482993000091303729912410316804559223474159413058735683743441977143830483063901395330392932952722591375663781964385179255724717184279324960729631089792127334645422242216221707559992806571722234571994893265826673562970143167329964278732273825028611264173512285245156832302516799890484970717565872101355334535415264858189655760276873816432282493032720315287367563177754107443145781675953722337454080758841521657302704459795346014051337867780265468458795323055459417500284891759201403604320054686450335506545114703792909349519454168109113903011323318145779128754187684896863086903579095822242771212284407932492876338881662306658588601296834977988952021716598018427298791354391083373200166133338829129484553670732530586735521361159638117662112965082883177615957262818095098304196101564106549561987748145247951925778523408014096230916720371154709800403261381406675843938923239070655169443622701855095685423878637472308552843617741940096764298420179764258981144892150737185829014951412618935895775510052751863968465301182067084438633534797200231139299567256667566020892144706461657856950507034340263085581608589922177493312335911936383792613843191092408262820041642232759414482434500829166492688746897159436453992589961659663462982787483533521696135466123797155839938758200178840490239800141644396463294435051836715362267648730547632232710160343711925540658221744868441933719554343013851964598178869392036164378992056832950956129972760575704714100002477452768687879045565770054304710797948490024654494758822950203383058459474520728047455084897241543675920931317758697822846260598955502166593135091858201242689921529900535137109725391248612810741104059921962562986806259295980320819596800531928242300008668156989735881919475313205026961985075347434469145604341836616739252208385135249696242932714746103328599807886487814337330581708460731160913950152370853273447158487293365372700104465872376077393617299131743448747444535524030853791686961525282671135237402196190267755621068559599832439022354003746450335488454150073601170201101309567987940558844267431181162115608488094286552609154150229171401916611390746615850639466506365566251810245813647292734484615695654297307632592847634071931135269012661095610346253024438905511632808294458215923855853267646558008286100294344032931628534585188354342948908759306840187947287489564952057647512193693230126328298531217950090651993553035119253478004605638604017480525950772056229908803105031090841967570702123157062584082197778948689144891241044681961664403502081758916340037473307491147434930682385908750466012827792667282732096775138473022582214793934133852332644373616052396605378144356922929523760023277571229851105202831365716619289529196673255010622230822923177590871687518530420722373933210272787299021128915578561746093438656911101317546138317101518511288739413795768119391274927874520341525762988304302254963599777039326825630080008076529100670969008300518849882811277541636022572211598201450607363336028593965780660799163843195770460506084600662662032201781142559646502649585848572692835312217903766635475012908751314732713458301798020619848429625040479468262665027601249192831973952580728544750869583506577290413253095253672189790374532583379815530451586319098146383655588265017871810685597921945008664441171330259520658287968196514539702259848010036468836710957397416672628721920443797656719623422429509210329547409016438404775440725763727514756301030677602889543536787777420306688204204210617514326145710248511275964108032990097652718078235907989058289460278436699917485486985678957274585797356746032712814739859286899354813263241692291358212034633337934481078128958837320367639452213065613428684379023033481804339954642019692195379277592341053764008792960410680669944558724158765217368323394757488057919366614609160715637934427739901527289825121316968567786171145119035024521162501230188093574153749894558234997616000104928709407257895966954079934009920730830475069160298740096719205594500011819453567762102827723483332508077751594894831690754819763404437289255505315321534001322222311455188279056066609578269562397688122580023635578232174770605328618306755186022399462287479050512756356745699257876699054717557151729779832499584642346824690807755301107115942218005847933715775594618619599083601132047674037785397465829343695336672000456144677485814812510041515017306112385531538208208089286836745827689667886698799705749449703405855189641106480800745718667643470554616468082178603900337783458933205140419640988103375358791724058730439391151956500702550719072064491900989304467328387844403261274262160567162593734824227362898979548601183915264133380991246662670562994805597356712827052361406595518528829385747599550079131591719371112320909490991601145868135519520951464727439833422553450204671929408200428723609883671023572176451484579884289047366762185408234857823103168243030368424364945494663040239633057469134092409072272415276458774311187742428731802523154899999233082091662180415593722632127514561739798939523533134055658919530993328271376559140084374245523175722685770543823863898807404212914341849270434201147778165503009595718180364397923181797686420914358370740602859342577953438434710592261716742323297798788577508661501846008595262602273352478732865654535846017398133442867412439283850063238750208500593071644298283502129387101556197308001973020353648333284965968342610753194332716773236741857618470518889224637168228988206896569755979997299089448077873033441789359298199125717584398573512182739964025309484903873745003004042179747555556581312407560638527623428359008297433657957354567876704542331025560880797018245476295687084163357183299576063528570902380881384455478209537047382340447668307229368294533374823498228496445574044840671054739244296202176348679701962777030235520810527765490082381320860425947022040608713360870378784520045241623070177165514710051419365785005773461384063930075430190486321677782498868427515116361508056294101188387061977460184971472640834895263984607341531360297630682826772493266713940344727218518081358471773861908319118392993794745773307354993048917579619599746278973005275758002329090631392879525800081019222089582304124356495099563298136895716285215727807882321302450870185222552067699302355228320131962507228350960503419140641602887341532942721168586570908673450778008044907410458596436888943163010796562928123167869146421035128865226719298714511005149612669959885534573136235480397919221592906406866034267707612738151436699532541535792034087340151799047275199537866251664060792211508437709641996682778720986023411916786222419478737826814595998915463582277512825860121583695383578148340004728013972084985569427509743906496789596553575086142289009936724129510962530890431088598253664397981322067633310955086660877895601598674688113767718533546106352904313529902492130734058021594474922070512911742990879350839396139573234722792087005342166499436658664594120461716107462021947586257154682451258255188682589838090072229255841444654559882277798802067864383883263980997770483863928178555256254726199434803904798791885191018389156628692281793154809297089037270772906499498392785945422585108939165642138922723121505104133346926911973336983642078384890218916705351451322026997944071958443039986636846864204615046829640557556087361554449346053806788793409318243272967557557967889114099116973570618536009257487793555977135138115687800297061720430360307984118429121706122924448244111013868278981983911646816801704950069629701175221602637210345568339123001178268282449612564290573749629670869385804177378283273002429380597818203710388777882339318609912871136935458786071809854884135109746892452329698890945340808433077788851334284836625410118659805932428894840565344601197730587463602103828426649617322257021320813353193040063438281270925616661081550257199963816045429748284383732752760616525836309128180911298943512565542488857354010113450184136225352437328794717167283278403106259979893066357072112666552266702447993600805997311187202086818744465587604885165494081102725563330205735455880645839751191605119392524324605668494043059898942498592900199449102615544620320898934093765840468455075883861167918207732915220735218960582534106388395258049233464472416585368288728553422589483780634739319482317080860394749423868064016324361942766507191115827843142377990863640322338359705846602283776112865253963221747059855612177836381059979704865214672705526710601923578656834316425494405963010335460086749579233735448658895111432684581268197210522272152330334743362802341415634479932545104609809556327019242385531123133332000442107844355506457626682637314019233128420648194974045252651363293418709330697436807721565079061007992266286845768177852277281084545198872477500288002691088880476824397106388084718676817056240019963744412032675257551949156425866248075160112877173013394632666747504264321194321924702734647408854651211450485264925058627997811400040502797679018084183163437763937628121497879234980190112601049050052316512389448639492516577453839751339345528309804632971861238840873603339001959171941157876984337277998921484882772593784467995300632617145024256438910181347257305417905457064289482303673119369914616402441469541720955511340371392813272023176578706221562891955875063191657845140933789127036874826688735170292240683085347629622894836803377911321396939422413859392905915550104432257745817809685711004517886147562317332963000203059509334543100342241339904840305658795149204073589825918013069084866378622823823486452887515843671239544573943632228360073720621903872317633968206575869233802759034889242732294424385372486395943878784071576545688888134449635753151956695385049889189090813052355119131041845887416960803927302714321592594097542256186259606778772920086937031577997073805175792301357053170681649309055876732949300552361850435140026268193517262869048605028215842136716833558845843663050256007475079182658802818192288031888955871335255758481379958096878976556641158175346850183838733666540908344985568820944510899925569668036277019999659532332947021254687653652123499784636592852261482014334852970411091619035457272056159770593743742644930645837601539067163022118397023311291256891972203657644886238180868665467328653833934916180688909332833415282343173050798868953511201382301171449183369238779296701862996343709617647463473511180051879345614309713427416684773658467033441639517366275182766970442730155503686796364915403561224178544998155614587772415704620220916709583896235248069790023032511898963944595529771654533546715866963695146738227245644752785200704305907861945347200634087361123168836436263259378951096749692418574279833317590942340246524494979478176263485429420235906758327128164185722718548287228237475856165185553702339916223630964781288744023768133782593834737505192500534825986132927357107798561296972404378569119099942644864863990404367326551219841262023405293238019066735420559967486615006089184094996341586340115890578411850567492122497899336767940205128877392007082383738752510235551277745987618993804370779924359074264835119988450158338283905907537544568191775675278030130257343829783757436336601683968990813300091855308326314553115324081958784572230171735891590129681164459086344586982814170231083585240296058302250084917059671051112151060213823086920430841395546728067133252721536652040087212920937835320752827501941107297254680492653906799216612036165771556909222645668858846110505548612420993626012021464794931691266588791226943174426790477616231998532614382140816636646923796964421031078516058792935301785262573547989815994086284899136485691790939628966953639814120592177548569751270597347115494666388772847287260583316108458779165437470191968583947046521067156418787771730476644572766402732657584965125473256127110394817235307142024272414357916660345381883222550139292793944685455159268378068697431948464418516533639373041530192492611589789025086745523827586735020881381402616366247850397624870952212483532624891328260671929366238536311788683344680482967717104089830426907150130420795648857453268668784435985979461004636912506981182525239801287147664860392024151749666399701164867882327521619205577165416233490261212010327067609665857841564425061996182417747604707603437810039843866927507478784129882761524203030477712560626515794452214171118695514888669204253558979588648397780522060640979306459931020586777057078541589062296993179352900540960180077371599346597818961370181235472012723001376723473127289118637462413061897720992557311984449003695760196276911190709137964480096226505161018433266421940428741480696122650892947987611003678533196352942801645785145815903305470307219355363026341492994347789626549715278449594191149975636994947251500924542503420746722947314230412915929579284424577303381693223108135435738262965068357843628653907340773426188280799398055561906349949609687909615210139999676227074287481100087529984674224946956337338159078633492853630135552385575573305415466185739565680227934758495588895313830028640015947152750222068779105334507264860721414565533427956056772817804345471697318867545912358860748242756607131541959962225096922768197134757700760161714647395684050973186848151758775642953353565946183084510879977714804578741241566436680616753699678080390250225413336289714559015120004431667751017369411153328361598087236381591732129512411780909371336675581897064000267934827018333860670372090306901285445035104620865760559900738699524222226537758902157756298339230516396706143621393023671169354058418840631283552244104961755281095588212104212556590714191066454025221984877446310180270029084503744938682070558591547859870408786159638617687937267011593763752833348314937723274798417740479328959190237383919910901480738111918034223618665699039247301786050363598124765530404545110170677312204403455883556749957555586680327567485444383239529176744095659118972257600914518813808680374148800250237482716140215873016567440595137215969887695941636145779470875114524455471607519911892209659331637017369672618715120751382584272346662794090423479318986276898260976806695514649270647340169430308960497681898858274406865790528091003973785227863479919697899573074375595309290935200798249842573314158170751309424961653495670406595852620202383201312600749346717259383963306266123565331912559539921152274893963717079547290682470969917786527596212748534892348742220996332654945853762156177615067990146580171794606156261145731262889131478058106533921488152074878184402592238912852273291915500377308075614015429040414363005611582690032620212752899534956938849026368241915101250097220503725208525715128143734221337674226857993175705094490835468008037324692306406876506088672670888422186004748018445250152387854414943193879857634206601574660347223170136127994673851454855917873845723071924980649156158002779030858933478211447429941470753473871458819993988243482554028708413600419231188794169992223423499500539029056602809896884613774072350671508426416457756906572703468399231394513811423349492607700907124610027686757651545470587936158286386606022970347053939010047764471640299264247042745909782694795407113129775765845828667260854258003648405073910595001350811588814363675262529036111124141108125776334560760149162371821806953953551048946476060146629126598308941001449203141844762857493174769616259423670385708032560913793810896405384030060099592110379498234594907304250040291229412751303791059303664004345150812233186586323217016397811725299594298054059794012385606283455722838977991938732159415206308443461870575747542587606908588770892056932318483619968602207808299934009042810678742299763768118387121756744191902747712007930446763738192052918098435601900358882280830945857247330966846124480728117119346377030347497445820851246556576056944271358503524064926858831688652819505693981048651430465151764955648701277722400393556975987067027861741479780668514575699464682865134391464251004983918084698877056664183352359952597014757816023374739184255243518732880972706381689098947134186930642891374230272924794582205124187249158950124483204427043140584862089826424738063761870017625620982623687165488075724682856794326499601256846837365947464396910668357344507525119347571299869410692340437796350897960415861287127004670838910364776666454565620902945403500492428828761527338466832869209765802033431393618900092100942355445882703037432833813742992452260987542619343614054668298094576832563252257867843359925686730083032922347160820193465182145470303588974293860323064673578098837564448787951253377844172176353247048190930970350084787692725145545384984279324367763191072616635930983670179867079637434858532176684528091794474429283521936051195082840515807595647150419706839296415873120303954057637299477462270885813660632296232118146106044167080766759082007050735995346907340477314633224934770938920525054539745644777544107373534753259054477313617760516597346932150104584540464995212584254486308993121639354430311329280352741617786982658424052475138591205423937567449147628597077358367850874374128751989967999619835030428360673277391192645151973342707336829642967693057829955585137430589993667684703242969610897199152069888232308097720348772463032763927473520762002702752145854307906393352125639996618438297338408149544207592020860776828469084054338872692930384685180515781328729938145171076454272832596666876010450031223329524131080281378191079789675286773076878968471445208887943908312165485710586811347478128831646906004380189309132036888835636295949306793029737054955349186052130181638813187273697077851501204445198284521396445401392805089160495283291475596388890015487798013665809618369913502543684092203261195871177797657359247163165588546481412743990641255858110301653624048217034697172263231938335763441558796712854089087450405671375595640266333962590958968512622399589083381845814914374419844696397537341592410914470654349963735434257536081321340723102701771154774323720715395043103382182582588515309670930571137450069993717926655250152861250121419963424670154551977772089034048496739773483426775213951859596677851419702410283011296193936036697246668394249936534933172693232567651302979956964578220986062595299565160617523018030479736358991208395703119879316613686351958055908170117871538641421058508792549805934304567505700176026983138229417220283513183660829292361938411024933674379060516232912157428308904208135706111036497523321443517714463391565100484897063483680332966862442772962711070016161783714922675833658330634874806745609662324221294056271478328954217209721475477251923708511382513284194692030255076754841481335690776593516801762956364886890807119136275873571120439601628842075349304814069187090340189279602939866341777969054814231862466992670879955730559049943553377323063306349314145428577460202148244258506389077202699257225031162603027414593102950292297097129933828199003987980197578726179790690180302365120712724799115376615159652359439532906864993375539071824210733070140722039598508383101438996176355521110724248085717403481668906566124276285315261514417976445607155119594560490231128479747593686326127925103950710913117019346281461593149805847850770715682836644677223468352348072928368333871558551209353726206151948098637107922864834739821530028516944531697513882707544373466029261455676713080656011809679291180087885450218849329735688584077089044733994271194491368923185471367511747190718924673946261053742415945516068047105590353976304424213457650384419061656380902161084924983353681643542629052443880646029464805001199874886874613816228327135293764853966885702335034786819186423965668296694643053618253994266603745499211622089955676546919978860227055929109877246982074412242960436166300383601399304482764917215444049996014827559904705538468465376608406891808935958033464816349228964493321620270891272494094034616500702041088060650378500544306991509614168226069368905465773248416840310252649053756196839768408622124691263546270158055962832318036816255176673778139837476699343149130845291448438350349062479151043846028217317212025398561736304729607343515280698596830306674149350691776761005859836850851618414641462507971633805227297136294768977263645792661248282423671651617768141503999958124140304073770675845937899075051028824975100538901487984367785681373335119954186741841803149345100167694652625210413460433418574259997058739390260262422962278846449114087913959201627915654804274198940785833337918832845872345683871439246868258131605030946932605894969144155358367685815767400866426984553748513023412721117481525705473101338061871717356082242712670669537047926514974438669028607084057368361141380962757031369300248652449352905129629756699563032912446565644512014197484275617753994917644448684524455296143308849128154312821424182514529742830325630267494503436078300123592979542569737227354967207902658433830952648935524838592864746475865804054058275604164495304123571111637296486268017936850230469593134136025052245598306893906493247265446273203487690159584715414064647703983463993276835893897278820912658125879445304807948695259061518181044805916923421951358572423476329855849113001245861443208842781824506503015387727946221521534851934369716830579697185572667732474902837387700552945261858420596536080403304966909258209564625908942666508068767915172109712066553074181530920778648145842634613210545610132689486141092777942533614850015844425172130251493683745178327036202329047133687372296888556261581539922408336517553749506001028479718975004593817435720279304481922571734610567871138748370107108439487806919679951349607520969547404079124502612028079068160685342663370722950206108706025401682398095115122613984610422616708490973317625088207617867509941708618848631029464635962326213269623364005556625643510597992059894477455272050322585941899798552071288183624466412034747109691270052198518956773383755337760088869700930297468277566135986843948136842846960247250687278818465236675548711369082798447119472270872812870595719518967100399070468577018325333070487958177276849827990235132723853046399317392887106150602587406495527489287001941604107227859956078335183284067531311826893177854531306075859721927485835787937645918145232099734249288444775937282879681348824947649367563424322510118477177941034942611775855804971119347328899024332972488003153309573104200340340455388916850393255236062658915076591859951880757835947623468976159318413718523385028386718373742195361069942351862510825065885890359995086373691006488521514460063900163993202599560990519916946083593932744430893316888803953105573170098103794763652752581962148437485459799956325288714193769030440501091135397453353459049648373421022019202311121971862153190761428985967841367910779787270383012702119071948731038039193261956965940679932875600973444022740641375100593326206791633192379549818937849989290643176270599690926033635441523344904916979694437464599426652133269874564726382534616019329862513995332187843499570864433072761496597844663686099940423968887524420340941375447313929842324764205879403057579134630893606852029936217793923598728044608120253577030387636195396248640783890726094409137137805174435682532849889820322988880379558745512820513824781464445012582025005330810318244832675049109255492956632147603420234500483035959323608780630871557678032562243788292770108690075245563085374148657373053488858571781272178449665154307972801537958806439547277691405821565136089973991580140162496015449952364505896133448338574130488211746589821422917693204243506410884423148602185880867118430394960192163824950113153136059037677548282798835480812898950310073409007417845005393181996007264931958356058361619637841352333116639126670083174088067398023429841494996261190719697546901898026782001382484327029659629643682561236758062568761055722317251037568008334665122406403084407531086142004844763420570513863984723784373365622659813465613836669139284533920961236056489992232439138685524828614361712307624000282369865456475507404593306954997229309354130750479537553097360618654338097827791942807892337637206423810388973752878136283343187563138692414507630551145761672793396121143547753348189076714787984447030124437836147658343551488366823603122039013877365251245708539732011208071396704895505143119937630552619393135925126965474728367185145319429594431998541262445068685283996615457900552133513908522036279965034073066109143242462571334006277743588803408140593205766138015104197436391300021669966465061312748753660759636270389129350151341469677916583592799985067167748626861786956838998937290510901992563403492517658290252600030694710065925971737798349270755761434040936315207119689459954019177567326394474297521313921086744515301840280757686104575986985346813112380448302487060265490693958925661435818627973738400001851319622960564355904427329130356931930079083857404635173784768296118326001314520186896719121054588717164678078649393535775031991325303330632078282002606964989160315126026863624320907517049132438666616776748939335930230327283363679827610912998178655138912310530641164783149751205423684337123345750890539016861399763159964675427183105494982234484047482364984560770381221542182331402564663784243756608428617097165052915023053004894216156496203759288571665686402287529327100966284814274962894003678997853835364264811847475839296018763330207519823870972770616041507593826695544802864805588150363553544400798929669053558903731991002220648883383163073211892957468799738374945352605355075037854661973290711477930768255981620221762154245203365673272383750686764429188063806980096099395374683652199393749310463368321728117155890249160492423446856372601183484970733693971183111884210818886740648506534063247301704071742150159299903416338771249748077790267261817041539628796383291582385191840474515171009186463247747403516233022703973543467377388765982621559819010352682817999954943064618606886881664334626622178927492899712486165175035776701204565163268049652067563652795630467715824090506435467383601639028259990314845607254736123278140598599760256958887345836178073878868888496466265901828443649741687629110340250064821483299754160476270922034462088261130246718541995913038878109768556253854967684274588233813381482638138081135603142889618345851341663852105969242417947727795247083579629974743783399115248530430374952248728542598681519853224118255282259881907734590642377976256574323261459258451317395822186987455372190419693064284769029615976800226767732510934510756535371547415167504577645576138904913455431476031171729089895018277298010160492511156387935325116047896907788967069671743234552948181083247141296448546750318300312620417196173184055498921449409911342239882081879273726361861500023041051183199285749119745570260068477738452772673286274285513099325662281770731789586303035974803632315706792945520458412649855050291282243709848713886678641315696049606567494140461344860875991490706599450885669440672315907720234582670751587488382301632496143913914504712949041516065583180472064152237570438847102760630946279829681592625836490338131368146402363330588272276445750144742963444382207765948791841450308607328172637384199206473117466464063135471661948895625060790712647056564714358997480562951442724209009392968365760251371894865672902951838401954712819431618767644035107031418777687430863926691006271920899924369741754845195741854301363276580548479683666655663249274354960550143590484438929822724218143758860786361566208413197715559143572205660725832254643827146148953390441457673981453473646959690367785086312497809092103075659858868752707118605341904332719007730589606401255935297182045250013217025258508974175781588440626085907928879851016644831378691358418996523227811995547071444223614253770072033584788403919972218892868628766815512545129925585099370794712835635915854645841969906299694076993538840513145531683093891510588867547847427555529844628432578115551018552295989594724655497573211010903597671505405539194109690135402006764923307428365207275025300631596807983940404069190137661263196454015083020252102498434633607399145744037090185241769037118510620385057080929978092989771863030711941942721176343824341573077975516491374387416660045444984100968814643967253136337817631098084872185783418372903826989322470875960262668127227878111727587011630872660977097202697514268280107344015739565504395762565993467628826537012935603122943096644889665372220004592688946118931273020899427032375486495529108323482618411498212597840445232109177038711112850212791492693558176460131982845859825333545339581118807046777683917720004566474722729977184681649483217680960460736873012195647009023160626051233657303217300700795635856697188922263684124151473749647937398743610635709482032779665481458010157006248883784470521734392103665824984441067404627869745340467853743901385218802655547630825637445275785451904028014423774006276240692028774620918805544309162663179808014652590071742276457209404121940286245181258852143243737735455629395652075175740455706407038199661362179165738887910691865028133928180952571159655945604783636950212929765249649009368411666616439684005416920003425602561013682651287843970837402168769783220097764337758164839200683314807104175561794878037011838170929315413433767190561016904007724145703497985101095713296911182859014520224098605214137500744160420068508360167877733041795367479847202845013065356965049849671069511240237423684912162489679754274971676898936552110055343734347287068227755746329119474002498911677352897427365467437636872336312001040248947615528713800240719284518515240485580417793938650802217586291111441487506619425353993527536524440930024484901055857829786919104414814090276839245745141536285805709376690299058242388647254974252495131488712725688633796177891933512425355652757531774279971069810461694840504622604120087833136761256251614656764014732863629299991644508563712609264462964408756042761858992405595647975217265570347388110231546878539235188554779108865219819072385228314085354856267118433531141910960734688403969531755967769874071933536524928346015220744493007412420160698189661081014153747800579610940782317570473885068314687623079081145134416161400737362691399407925598943086380889324817721402191638171778322704377503053441660221321332216034697616856422837921832894091227708147298641305437133163894751114076499774679539733870399251656541222197302439700521984791771129220190933828164637380295277252538505058403358014636544959164303507593463950539637638571994283396897661797743695139076711458698565555367548483455628148218460356769258968626163333238830950182536630752253567546727421956770561151382155873171663026060770057081142063668783546085262588165703673654009433263293712128896799913783106951421126272164637483216705014876293220872980917246070752877754266981888434342023660861727487783389962993628903279339099912487393641344514659372330963130774159507982969376279669972313041074019953926262405038859233213799025059443392418134825649088231085904584748838380982433620134703500773974027235674620287678270104802662525243221323148961307936208381076306869351767726630865724072351564444755520007448283865746023784685142189673842293166202186359767185194186466239673983631436644418282642827930192780823442519673270694787963924308175095833696940648664011760325476581287982995176124751041336430106958366169930847306433292568584997765343984827344234095890819612004565853073294868983084925695755232255495659467396848743089585827785632573635177340623384835093804759098345572530695632239260199718896368445002609055962343156533380671849386118081270715754861674870603169239526100191309336052140179966415217632611165876834095539054398930553149085977341289356581295397927328733555443745870123700033903988039191470461970016194715639483139337502110872864685419904046977824593124542958584414645547030814669016466165792088236826556947128183302665175080358738291283184572984464527853836524675374626262000002112801233057359927801209116954461388408652633837935748887755120162386947771969806291084993962616650045170962300626100946547744342269103555027996952551256954585700628601963772160943149680707358021032048508581767936796278179659853184962288657689830330056462091639972275619723129276016238062998610264368929573815564614928761968535597282414421008233642234358682267400488979460328176004728770032903494992126720170950421653983159767527530792582001952174841876422181161436250854743194448462988810044237883293032749030478646561247063476859830546028148740661262295378922996830805744530833677607647323730862934909819839339547624530038448802023489201538519277371964814511242476620466717090067793275534616389523139778223444186646496677636666746170218719572866076649031347255310354444152345876509644437361144603297991966576170886651428560969908797638429878971589096160789388031038450514991743709508406538356239893015132142266942920280802995630656731705166998895955038391415808172774272655394175716671745173498519019821516013302373148851750680881985333001232476633101539947015863378701961675614390071524165375303883542531566388699343962014093108883177000975837191308004345831227839994700605226969016918094811415579370341068569856560320932063204630142595626522477804923432627430519460469575449676663242268916392195016626463097737942333669671752803144517783722783262638994132531617684041268911383794121248690711664855277538128998221450065468182752641066503268294582576059436163695256673986289019818697709262268952414473229783208649913552204478235454685331156932272163258746527048309804701563511252267808506397050917902783946193797381081136575779476397045968118256541604526111291201466447508723505577828633530219594215267011613504468972038202508018473680568275284534203512641529175385278199078829509677594096150301723784128409811090238637808114906248911057826911898662475216565124647945647731805774692105246031985682027174987453446452020005124265455855711189236213274114100051993677734971222313064053268620304666325996086475705011958683640724597029199836074341322407580619091217772839301997721693328314142847648071153795833711761203214446475511561091218223239112568159932321145083031414744472361563608093730782660932689341287427693749648646253124363204124589084449151205143245614056444696946580742542625098644168070879021763443597790504272529412183828542185173180570863722574813346990822265528391771837075770919654454205725414365868743003439411245820688549760064356410223328019040633348584744926932555019232578237824063778875863914851464886221716798750773244288013074016012669071463478438990139045927043939232236785863412381058014084102983920013240584723372751570112790144614330299217550386742363222959207508855265593892346097109954896653967341279779138118882247287925460693153943945208059933567124537119074523154213638093912316700728141022295422249042312714695216315742476077405704963840508377700602613232973270054085966493875187949234362751673125905150232940522931469853349485227600509425490404886934766559038075564052421208176683914692531749081003891376027299643426245840215574808732629655584727629055507890817972467126930475142824812808577785119569503949528510286397500436434085700223094042995162146634302345489218830568315535132393764129630126268991635726054768298778448743563378695023546291352509678630610258278649770511831799071645071695439693303558244966547764579297555627281478644840984342313240775800324327224960859025373134402392526970674796083682311659457655445219492727287822280474177616057729985054061698198737172368588543013216910863219377882850098614252335555605495040108350560054034926573644655616586776185620120224685773082942217385611448743113826141607666539436044627514379743243668411064787983124619090554079535353277352244338638810104666585941214417528263383345246178353640186953933636772028046249547005499478751250411464939536396453080830117638216445945519051117859962508589263589649835525719686069769404898111201661609835525508601727967975205700606742902452006552611624099822781391651080475081210958303031214277500801626588588442419482220661360078897917957101033388844787508006770834037080339143055383425487061817468077800506696010289550086733119748631379466276749291687102776448851221765516193091904546183819145466690660695243950794192243350723595288516337750257161246279891719811359636194984269515968154496956435910252028596107914764482394967485105611457038875594958212808127737222651640957428471220254823200919695519975719934767137291007705910319609616859615758637166485959685187968877119039654651637335740510043490080872523299742566995005441271771773859312506531863147330746018551741248068238241037532502929344253799993750988048488478274576971416320530680106645178615991672855495378688183683066244225694994105502043815379784985598901926135105164278626465002620706141967394536149194677401404711598837859428941833138695014269180244568471099465858020138415933004659172973568111758222443738727082252291181962673953623002728918241156122778542982369263198486848046211356523850803247763867521343846064766456938685125246529229877584728861214401222810960714695193892531958434014570082732256024339708022980526873228743671088515780525146108036814387163521274558922505394574690074052745550914440391772947921783743069017784389381999460326816193983432064918794638605165448452751675478761504025330421831970947227793527883737009606668876228553988476322701409839810627240358835287592654278722051554249919487372658567183444068783085738036841898901345700645336369115676867969128913074953183344666043636462222720954668093042115956044409895869639673104862593753167420566926993676326197236994652663290732742254786408110843196680718104875274777959160501998950548181792678865307170584961612926342055350921932640677832294097617309046164755348839650585194999992876032622855066927094969892318389512721053310857968464721650941674037562766491199449405945783296318064154842259540936478458101359065362580431712076504461305009856526886742961047356420107538537572214676006764088690801395311833537924322130804017238130113567711063716614881682708582398103888276820496999694500741666401323762846003671635932265978526140584773383199040512730428097348939792548803004775233640768599982827145008447132940039260604570689814028756415898181775051209106656887309528782933319127260592022339558037533642985629964194961933046030161364335531581618092780377540846092720062889449388789248257842383320531221516472356031865048677674403484044062329968983546970988310814108664082604822310997561399723156892251705231482652018856720862622719610238400998573304881602054064155869502916687342714894791047088055834174743930803544258117089716984482850836274322667693227123665658881867606297193787476660650080715456077518644146223448962926084563609289401974355463488969986427129383426024444288106627486890069172911572848608308246332363988196546878441142328651938401552225121399628570476622085649302589686608167161156890277063691931973725247754931382522460536152980922879632123793075982220767241655122766289762180687706997516709802555403498113250906373871013317556724448290532876892527482465913460729219981589134162986671524029815241755264805957505763531853735001749119517822876392437523088425189363329607166885712513531194582029149683570058672685325767160691642003132878372166455773078773511958190982599380628586850636327513879802350826649760826455046572105874268983760468641615754360005434097709741686013449295655147556541462686380678237394205693125486750132868502848251244885637239248446273861951054667254039453750936274520267504711294717500836757457448588409927583198444414025460087652917143160502885274286172413082337000916369707965174162787833277985836152063111404466720729391778037557321404139693565042082413889277697925487866914981902332357891050947164225261284480891605985546254794619287744729574034804318364759485291186786468608792784642056398554310727720142442435027511888857369730542882766685997744467484976671207895172076117908269756976522637420316027257700551800502490983743103007473898933975126787581690001535786081461073329215970166849386455287323124679507618656434300069092146123610563722676989517648396673935160209420110272167284048369060819629024578979637554521085254642350571680663733415877955265995925685862202262371895491335572457121835264841110618461422997979500105403060463698754154463974217593093256448556763645288797072105540686763415937981373679620706633696148599906569080930667750745989301703605739973890299658989104427243282429527577504583498022271380940470733711020217835263615339998276682968819084818761260212550659300872668701775368393289687111406323506067790698460472023766098779911902680168852159617562971022626432614198192608407477490105597872567632078086391525331772324144871027399805558975161978324587636604174680019698478677513649755928453249992261117470382841335569392942341960950365579641434556476082272993635183609980144578694570321719924843484371742908859556418353295051693036022945103580099415646216034479008587163219117651065389439147026708005299908648392135069507170090761296034693410727668377606112142175192528128809409670607294287005967795556324463851656649493777295148204705487264347614689439472973149919444667977766826481103748043617906461487453405164104712277964852739339576004188279093049476729769764953187044074977893714924421229631873658917766716703450335740445965728500082131764567765382695172660030390973302130011366151562005013894219028257966456217206223623772643122991786298303464919588905425340338186717251187157828583736777576401027251101213040489048129244547498505851231264241438711776892212672967525964732356382031601606748607199420709891482592243353165240018338119171695109037066902558507040239381108016314438588660536261513446310027481296920178917400375593852886675840071220767927574154184730175505353057782394045729313092244746769778944275224438167667566261475408074022343836329010963984782471777280662607330708271722206320384217404212909023708129141185055730362630294444623379681868511005778224821835734545716219836063133403733041824791658208842477550057549294115425721888236557421865650006579095862156710834677778587185077576553828656682414273794826167861112765815161075113744094808548609828826516437187574070890327912643195248885300606430278141659028386257248055646048133182105658677304683700165834822237072392055199042353135025836570158825179946457622873469509208759073551355784907924288028357343287056973772750130614712411997915017190994531917818046835426642604936939559618647551029959915273000838789663301158957730946985465241296167414299172000573927898871667858415641753564387211515881099949367861220859090132672153697080006724482166326690733371787377508117197714098493545442289698736827239568628562398524084415202552295207571964808969872337662358538284992070404135052406184889685707341036630586312325170977250127836549999717801393607583900664253210162816638978164766159277963266059989700164670928531275914318409048289988728839738534613845819322976883374470737761477135306634591995696044926218907118171624774553570418821306064511984491723411671453778170460470857057333941062201518343419661339739708965650300561223975106366556701271011111899775246943513464222658546940435723443320859751841995650068446973359693795561579343433440304647781768618652086281269983595740535709723387317225843077078354139299570587658261003742278738957305226950086397764680468405579111396330574854923353177278774597041489630393045121017062789592260749231238248713481555426013097615376718340215448674640727807085224282846630049276458670663805287180964724710632832949257431422272012863991200634320340780995069321085453090680691757904095801364379766887241650261229758780716260067993710385572241928977721922969131702026038516251541656257377496260963954151099367880890669090789427467641950086180058838990913161805609613905659697131403312040277972675474350805439918348573330743376754167395019826465947772022542519865797392723638636497241372240523081471808527830073522381478498383649932198584847160660594256431533924087842757675277606267464986618366110828266982859551976890914619485059842493001133558313577275435497020631883154567444071395960429800630872440223243530072627929735440800450002011674544785114420138672167944931968109758273834998826429469680076446606423655594357441625909226323130563666990162833732211933028742303589122467634096590176886579071442859518484172933253873799944506539009621109130278433696255839587747682477430183067728074361661546266653763336364369082304805145321546225047437426686432864235071654053121302752363962672923429301215306188770443981507545627411847120261273884705470815079668060728578060070080231082831306497117484116977182433221235396954796134338076507023770720382231506458453158708904663141936803354291901063359210788760790280634346173823455176167550971135560009884364165146393095514553361897220348769216358084017397062313315964285021440332340457380677866382177815998607446353648146030676810271175439489400797520159108210118651023581233195013517588930534708777964045585592478514105279882597322180394636173965858000977613700775136971105461856519593208553744711367025519375449154903285078720426359670832478977307881796314526480657152726922456809362338590698650922918374444528717539159611182649290902479346473029710605107162180239799141455709830106559389737310933578848467787414620438454538398805060111749012961430664219135708151547259660069250430449626865684148477390792625253942177021856419026888338283346571737557893226083430928049991457740018317073364181382637028137805476927430852519832172618840238845858808807508146817649683329845637364247362321666806410172959861569969800957829785242264353042550934633164773918186723236710767958830993992880669927855585988884693897639277481907828899870346008853871540327028311892934511627936016503795465676752907153876884057572750184720731343643741439291797423436639498549521864392191816272821301494851968883949551750522411137295432747554846803374419126145663385019434536826403804842976564870272863346020277656963739583071244145746117339858145698241761055015781025847425673306598612840469454111231000316129534568660978830297901409587057765167932823922311383190286390154678674021964995900776641661204084683909021217768308195527152053758922087530750074176548438681567749844038691101467548200384406333421722593956139200743243986714935703697359726786273937785683559416217525112817688482167005265776762087226559641375062865681280722735589295372015179691153694054635214273018706579240567275384591970478237846629253661056239429902792681283821863128146405475825368926876875071580433745813322146257897263776017791241576971915303638846651650426284172683679384471355241007142577960505847180399536275670289412903463031918280221830456158040348297203293709486897826487330290696070833350877570711858108781946318873177188938659961088859711394151754745005469719584380540076760528497387360884891851965016692544212722237773375447199525386648844613701729691321048119423362502892227444988817971806396315085764112051276865530452377341659146953793944991446481347836058211487287144081851775809455906981936259862673365365676267697330255822732038655683529199859447600769315281174748481317260330901801385308058239716591731259074820912124137631263739552576160558433718152053818886260737686432283985719051136575278481200833855678380445031568889239288281546702434035481676682469599857912304425528544306722115020681718751890466260796822500438578124017932891605460099331447721778061293481091852162096617773497241024101813682164468922983668440074167063676847207537114759699382661716300073113252741007610378977013596286809098317218266127280445718682193820084271707556308358595833657898245511672644141722046523004489572936458658668947396375327756038120170820441280867129994485306345376034963172824701780562032282511305316190742525063023173436294213594463727406957138248013790341801407101551761170570086923322941044259004116615527188918340147542462391758482553719123613830192772199837846705599665994517129785487986870209362204804375336092953609779710659312466212207201478636169490609734327852638401361569476761318640684070085209186834976300038547272017507034899307015845091322464529368337993215890897516703897784344883771653924029434045286332835560465325528509213192248835907529987812200743802170898122537978081765427710956553604149957354283152823573519763355560968349123095225476382152193056452986437170538466368322198407828404135683835216821132418917806802157362817032627293656449489403076580290072679529220501759982496989986889153757723087933487255502837811989395219886900541392513833575714842581359281338770328232015079188475703233149644176035707875200207298000923796998957170644618763143170661453249659261950595294256269258909520012255405340247346465112845105278202084369599891001333579827843261537534278880591597432533928108843916778872395858113841959190999294625638592422890308567365946148714789874924434255663899055279042223942755675741525406055066660771627648191192527292980999762005699879041652081172040962343287861776894640510348504944638995017780854211759012112356312336722713088177216185269361841804213082134218958145897670452474187185310819014400518376035275525234261575652234892609734160576329769424512450929627793810953754344799015314509865902393415130175995240632887870396142405832484674793702303322737569883356995064049041741674250256041340822677240897363183801321132277314740843926030970633617763579740689861987470531951491548711975944148396446518213528942420071305894518323344042263432654825788738187271837031623997788088260703656893984297018117508208707104975152350053480358426574566719847682270413261195112193095825305386827692113700091984765537895171598212185721683253938538387210669239752652075223290244912850397262525446521454325959263139073113017068495422333638076220136844369253685481003774709313808473656514713772721699371761615112921718651128188819908456224831090895342209983133146104570601333450634054354383695052700512253646462202557772863334027058993095192129540342688281223791134321078887279644664685692198984074881144426257971371880899644982367128343655051475007981792374223741368891375327991186950907730331231729771756648496764857863027537519908065824219886922317241857410392527731425587783335499587298990906001485614215545237710691623341259705161097581057198673066121851915418469381963849647977289633328419939901721760440319658497713283959253921371300636461560964275474171893251542309352914573501777338212450322839914073387748171962742642885140581673445350878574740360740777648089046960067602243653768645602461075124851112469836506752089334436846807751697990207328697251858393423605476418041206314751162495126080784890979658729016000681511376436791046407815052953682614064641494498409609416680947137500825883347209818973357929630140071216544979579377701239854648198759669399061122551497129984956040554099881893672917719572429582805897980419503676486217718931523582341528802035662938032687247134798763446022160654463855559521791258900119082023608595815876498793806564860963611898638459231947978968751191900928976642349535425629707229818645547386720212289462882183714240804034543208908894605939031455057688137873982017450426407556438109259599575447517514726079793970115802958385904578581448328483159948159973534566079979834343207603711526814948983833985129907154233169257145045647208188160035154865732178692349972866751097145204593915450383812861455209830254259174760638756313213426160581445197496992354774982100930868104635112878753003090833804017842888159523378129117045508738942599365577920745410843024797294098406516524816272571816611949122788082470949756580911277040252177095005693163104104683206850785076564987821149810000269364630955012495845931453217079440551670471090067193096131390386974875235832520059080999136196594887988559135734320918019193192489411716152409602497174333786282224283179982459496662833038200819549054297156281012990272983442076354566131688852928818873687939112969829018773514731519874112221678470149881305588646228279815880626255077338739064597345639176286475447652559544986526678328302058324600672026391583404356732016867220078249051363320638382015218876562381290163644025768094416517824773224305702193819491163777094390744987494461131374607175228766791939267060271203386959525353089210891816116150803215447538494141552755144005321837814941781420409048788854837198250346071592994372546583440398121669098518691588455569421324580519682875955565592615967951246977550263587319811810978146316176909423817871966769436333742066878089893437282699815265858255952227206793451848156227463084094764639725950362155285166142297248098773558736065132505386673012864556168822662170660778107334460614905123090890171608600777337200876520741331671159768479430856291718750306915916511736301063345759992643795931142940683146264942134774307796553735859101507509396567258173046733443627436950366833671589471861002777393989211489579586794169504314742004358362819650240228623229777318146545013088141827882842654236726552591473376642190554956479659204178946526075036577649046967183376060601791455983031082808619393115850237951183286736497914491790708438100634554815053403079583212860116605148691285604465593169520343765084620947305443447963924188858695475071424674805943059314156823059693343139849420548927714845656063669792635499133050316658169656114849589663452718835778840118560849963567573105244875226891778666551233022096296536093673268699358014498234748410052475239173056631308530067093836113482362913518588783583041917077946192948271451442449124320828149419575288600266282245175155821714619533291176650789062598394687002341048993187526210157284691389945459546665882587318673999771800239890068831489470162910451380578812349171757138100570277974866777781175539768122786325965698912951348013048833694166240890653704103698038359155670416021969038199747119892950806256557001354854293585733913716586103044093100120693256866110580146865181785900276819493155085686448435629333734890608509246054204950103100976233867681455062762723277447192655301539582566380804094757390181871423846679524903498925719927381940764596863047102501847543668608077670683943354310394385691942077608704948885535988989002089037318467008414847298042844137888906036291502280766526378958482815144264959499715819538813768314441364642970635141864289424252300859276297298968093438883444732341651747536588792260563311097225057081238147301329045898966876799076587393519785338659368639508505603278776066227386160953077856729630353270613863790803950412118986934425212698630392291248920449138440425833462583516911863473553204076916296727211819664452204559490851465578297888926167321914529061855544496079545168692445902660492433650277427245047917462109019908333015946029843129629992205136452861443154633751142194951508355607375487626423016799583655202623731366244169479349463343109568483614624243599747472057569840801750360075287523958280138318739741656455089678308855816250401576701345699734445460629592372781202901019458092454792183890993424532279481145328083230376501210948185131824332152541744952128511680170297373288569765210941170433920459598425493914595352077439922214210818207821694394128977443975609208639161950146090893551343649780838711531809734047039300462400048048628121747263843394114167281000357525118662655484495188680674430594729463017565955135411118722979742632175062807401582514028550820547624235649064355645526822062400945359041340511015102234738842007159732111149600100330630531012730815154101200395894358283141534046337403444212463802023195922836119853838027297589491407368407366081626764038264059244388215090689674734176705860774283439307336297660939495536898606392403202289584853672145520243996370463707791993209134057033780774217956760688044867958477684102513594884905639547039150061395932906489551188031979409740758882533711671660778398178120137271642257093189769109205632538386893078518983861839724215369097258463381151576518196315546942403392300950115652227097825292602917502226588633504109801838657429319266854888598355932227208837647496770828779737699274197236878532689016852613219972449756099169607069961878793252804914918827434599312936877241014403936032450571187562498930585187794752689303263186946396942310986859575056831549822762716336381124171373361049044208356008775968135705283031858155204214814638668504774876447469685625510786589692892020365636082991172985530975265537403760162857511632071702457685660285264990411260129912308674015532561866814588834763004161993732794534719745080827644239967865006698396576923966999175352196234006494888429925564714003203817999463074906434632980432277524545991066586895232658694038893450941716628989475608647600862872914906905156817084096260203765803031586084047166759087352778124013276449334001333230702638939404443647644447795678760448136699277948150833629213473380803906593272515061616316942259721836629086234146485606955554939222411595089619279983198385137469555150814120858900412205792378620295846054998815332625086911982369372653521283010296689161159294262799916616850930931578415310250751071873598156285778414913581558892402490539821441777191552391257352688131888223991381872590545780207470441174398941771107773929731780950615470817533166441969784168130842324962564308808521363955497238247453484213843990164660920005299264649610529026654834017590381987046881454816416240064920056633055826671365076853864802137125059306433012160694810183196103326227345795496609854242283019557808252268438803551015302052262625141877208211806273464298903219723931936352729309568371736304404053453474341853105778613115155224693150653551092357106948765321598839056603791699549159045304655888642469517313210865569575016386945311974449723689965417799465394328480670546323740661401583759460242548849613230241573462110070016473180938522173161580251472668030018380232173936314544444745700525611369712501773075889474026856477901939541310565446553032685780725040502923111932815148302517123331222918198221843611327432507871315691421847756177371698756047000545371837638524580390026221232254619405864662060896151448317976351216179707157811683076353916931616669193394216406037749445753945774791438686603935189581539982578497331441205118063258988243100067623187883841181795723022049352652532811000037976799715571587085790290910347118233307433285696250542086277439652378370546406444556189972155029277251073279650810662382100676262308688762864894129781411951256765489671802825177474039133362242414960690463269007267557757874238320285015880401138413096197352980567228464162311650708635530274674049152440499269644900089966648496702066940802352322359670920263189528310280210304753147268107947975118779132480055724634422283266584113154173639533117377596319952566158563512346410291320656244340297280222649463942252155327178335222916059469499417704914890802908773577554552015505752703023341897322193239840467302596537436687088469525782257508834702206828570831330516066814607102817202772475838312797093268148850388518663396262302018983067827318680436813947035666019799395849921082843506002286831317882450128116997606296352738477447572521858704527674078112481382068015871656244037207192760341138020494564787430619471709787131594721991801010773800366425628053781996375551677156325269914801095181098165402744278286532167582294774146101303648877534182600330710594465728456231802745738725161176847468768100684115698989284650323358192001623593069609746248527561225806402547004225675189474473152758015179738535229075033378904698404214313456737198604200491113950836939305587867905800074677028589796469898876089439835194622874763366665140195148533141319739300005771699456366682591796637554717602539246018732820097898556442238558292839171379116125288694657983342237283700108525816872570686887575143076131284225664015495739786376226224378278410839956665783521173023406165107528645366324701819696179947313632452910559205779814948756720973681868657787034598857707498790685343573099137483733260463732953763842472042329505394232262513042529696878351349322804967709840158509493916952538169449324864800367113138560901329052818654693335180692277605633273865195301752829009394029656571626589840995533584701897745905159676851404336456367396607291208264427047169652926457292137004960688108399911968765093286440479036484141176024098909790714852301655612872235565215654462936447138147799957601756370263211580880801290723078276910569264125722733717970885328037066450322058253573351466969446041599692609389157499458068078920951901630208399224068206430992777879110381124500271213091759270664023207375659185605272724491878829682053356079722499802386618520490899669693267109047788067668054690032892545720408028031751296753669978257898982880456233368497213425198785884116484887730684325266753855939431130458013413504819394640085121615120084282442145284015839935186708785916337426201631134161861388712934439129212521634534416046891087984743824552485609308988102790921667502890347242903701072354877651881565053827210267604656549068936522712342008106137840459661095111564478427907681648119745744762173681889742978915068921227008718673696935779649727650248688666735138084223701509797695072320149944436028409751827787896486942099525613315058766264692381633815320852434666478929315582337776992837175513428455185119454479752356654783903514112622369260115381820320743219706860132432379537122179885721570481766210714886898764333468328322137230595885858097749781556284912007113869132329581077558080104183903466205453145002085600203872191714023159107601701161084230625188061385910538757923223823959767343112494777570262737237871395676877068920229325979320444716790265689796796742921392909512264529573781783162176361818457046198710865304393296975614719891985850437050964086374242681300482582320898777664045848264760218340389995627531720156867764116768467943671207266649342184922390216435663927338400187011575370779043553179280006234027490987926932412031538206660276470867496813674263435609178785335792822121791647309861850256684310581806132856327020331639389924305404780463863175308114871341649513633575098617717221669894308773978484545476933444341556489995776825979875771072924545434084358811684384012334422838197407266874272429195158926851317268184563948130587188052029576148550493212777230501979687277102398111130964244388700485248685285430267821330047499874113653784459044496711018603258456171694633787750559009394335173640148717078185410524745372187352997531460202744763430815482064721945803636755273898220617410333151173467221245060717322377708228545143715728165038383837471171749924492653447904896594572225586872956667754442336919215817680121326428446038649806330400590432809225420565537499905805659830958177052780925857640454575492187029614491524797764020110082331901919351200287272498930977152320180293225594648057951275422470360381714761776457963537760821536326171789171834646900539641058062022851793828681699451219990998917404037195115952277969218504158868685333116533656615228463899504626021842809728344911064689752854215792897311327717920964931706755814077551739272989400394271947248706278191672964877052986268073419118723370246859890075300174021109950133362933775387773337919073227375996736830709026068728950120031612876247111054106677484652924074543264760920252075876923689596599960970159265044663004969196074411020961591288301954386196040696109942189735139363421766891753986619226565060052052677810776316031201751325229105779805315158696371677677081010241813679326682454455521717982318350765299379070955459451941440846316655071478157934257050413705674048384234073385373294900564278004471585691543716749625573284435482024217094931317340219528477668458692319446401842005988940009336467645146854104507551752833617736297560644901840205657083139073295365690076119624047819218704770632803977433566277939437927609211319742368926914317313228300263081575559631884003190041655325807585943180129255238732933329150507247326090542137888930427524450980379180784403151434143195800709045062690357256504870467277605633487576239238413288167684588616977046216315075502646026745410298344620642634473751974340484188449883525357679553593088198853845359660698607609850653907685632134358519785994433531130387643674916664031467931206644646846622225309894175363167791826336833539079656014615052964724433510367435778670885525657393941685236794543823523417032281773347793202372202369055083308763504797959750020120337859814360825606156975423026364137595138914018441088288727999841177348208823334319409846042832110836258446866941203667633266303949008143809333486168773422458542056444871429544785965112290667490801832689619693215010800023209024979411705877853289432335699974807680540917077453233608480058380638561679795563211985770027722339223908657877394301265858516951315994878190230852535916613383662441643386991913395020989786678507945896263951058523696324902686338430385322853646378973111888933490630649153404742143972016883414045627181049131718387442719189835016766240028682046055252474912544405099743716122309837710377094038069682527657840069922563959758758472463588870135276803769213868105693064297141501934282187369239112475166310269481577879054477424705376776970060300875146247809048202795174557653165667591042420323450719577985632267671159046448957241492417972337049079508090861656677023239507371275385492400211033758883367658864148202003084878277771947667425307931228473555257174401034286235357613225471564501106408399923807885730134916537533120050381919225939734193047677783044900832548686069778272578780248705240050611538998922174369297465713833816863325731601498266309363890270306625606287025746898935807256301138046984052244305465527545461224222813151793110698292152532620222197057939691386300785078675677288426107733826114368655261541687476089501666764951107320232844704238920638598485038696019518557812690597607505874858419032395095069655772599822909033275700363407931610511322442566376274560634047232296650518685348272753841340895590452673692115481768578464031177365700624801997586601297602268615454857080865270417630715536075494783316542103106390334399581326913542584069925296030006650224208040351405983245726215678977645281366503217147984579612429026489223905450718765523399203792597272282737902884624789809492151028938450147442804030406230167389095766235444300786909417806435232644099113538214162991016493371091428497352949874548375640050172698957747235448286985291930108701975125289417018503441037662507544188966205950909505741412536161286019327098224877118337084310257898174199060730962521200623633815523466139169216965176895013642083622960350629708888800833681488507092847639016590565619436557462078376612925724403561769276683720313866315648743599155620105307464647268321772705542154570859405311331942420964379171291121397679967811319955947085843671232873243610300113769409171592881731943460727991525263130775782159898601597221420084997903885925364936812847038898000088407507760724630213118448861264527333126763335227518214015056196350264597302417706104991636605661453477642095811702000032858618836694231461064051232766512753802329708436109550250426944234124286906803878268317420373834039057689197605261122968999843575905433420072474828340487435916416285549020314934771229104985458655973608417442742007236434833076072460728666133087279553953716183061418777626261940369552089576174754767032135831489340489392887076026519351055564928508363045188317203760374788959929162408206640935063823629389920977890303254260086054833472215456927503106977555506962703377966986791545159392426310690274779414678763186296217843182444582339520600690129466485748796120829817001621333268513081361734605916916402191417100909919925781382771258525223417071290492290714448665572642958660427870137803265526948512885689498582579532943939707980890616466378405004992127675195223754900231322033839379348711160708296588189596688160642392442243814407710071780420875093764520111666886178199181747016373929436062138275355711581015705306712528761522038536665500327692686244228004472955474327262288662499190884794932025319640579480188674147015877780269993777753591527321286615337870630796272427284045832581276214544153135112492327125335452319081432704443861755121799136519943859116370895436057327637905342434952803744861409507731454920642259580424163193101311871566588162779322895538267718311951431955830960482533440752913890792033323499862303673460964207097275479419789184524361465323451901264464787137209054084465108861536106674532034556019267164880698574775281107032361918312899162850864969431250343705776980607799812200098431553254789035462515152439030094334059084583512661399073806188153996316573956824505609366546129503939250434930414479472227902402595428488209202627535711289027780572122217283199069653782010255934749916069128883595518063983185422618298871702630697026935663698314885386515817303521620436718667308487257733379211403346005150862013795604089701559447486682012109448077290427617097176943764074503095118008085505354823490591623623259823539676684821317932845584468981178412582512416219038193140588123730561489106646328456370782392516638784099253874996450359536767288755024646910056621213586652319909384628750317880423479138229019920163746968300739003881