92277922779363493634935149351492332923329504395043922579225793210932109228392283923289232892004920049325293252935139351396039960399345393453961019610192225922259608096080935179351792227922279555295552935279352792364923649613096130934519345196064960649603296032932579325796091960919602796027960589605893446934469225092250934549345495023950239601096010923569235693271932719549095490961329613294558945589362293622939309393096031960319392093920932659326595338953389346193461953609536096134961349596595965961179611795987959879354193541960519605196056960569604196041935499354995973959739225992259932809328092266922669598895988959639596396057960579351893518960119601195482954829330893308960509605095939959399536495364952239522395979959799361093610936379363795454954549302393023960239602396003960039353593535936359363596105961059392793927960869608693230932309595995959935619356196116961169342693426950379503796094960949602196021960229602293536935369455094550956209562095595955959231192311939089390893653936539531195311953899538996013960139233892338953619536192086920869601596015939609396095421954219365793657932749327496118961189324993249960769607695428954289227492274932039320396009960099343693436932559325592233922339612096120960479604795425954259610496104955589555892363923639612396123955319553193001930019596695966932839328396109961099495294952959019590193620936209363693636954489544893420934209203692036935509355095667956679554295542922519225195322953229366493664939249392495469954699322593225960289602893311933119361993619960979609795589955899610896108959129591296024960249604696046952069520693706937069532195321922859228592365923659230192301925619256191702917029354693546961619616195020950209139091390931179311792309923099611096110923079230795304953049601796017935019350196119961199536995369953279532795341953419345093450956319563192275922759600696006920659206596088960889569495694960489604895928959289228092280945679456794571945719611596115956489564893243932439530695306956459564593221932219545795457936309363096136961369207092070932069320695222952229360293602935609356092347923479568495684922399223995536955369321593215952529525296054960549254492544956959569595949959499238992389955509555095527955279224192241923719237196014960149360493604960079600795932959329604496044960339603395076950769606796067932389323895556955569554695546923849238492539925399535895358954619546193923939239610396103956079560793060930609572095720933079330796040960409457494574954499544993254932549615096150952309523093643936439253692536935129351295955959559557395573934609346095947959479458594585922209222096125961259352693526951409514095333953339564095640936679366796112961129324593245936249362493452934529522895228932519325195526955269345593455935329353291384913849537095370953779537795632956329224392243920829208296084960849532995329935449354495953959539538795387932129321292562925629523695236936089360895451954519503395033954769547692284922849554995549925709257093614936149609696096954239542395983959839563695636936479364792055920559329293292954859548592342923429365493654955289552895363953639364093640954949549493656936569190691906935239352396034960349524295242956839568392305923059026590265936269362695466954669354593545933139331391935919359331493314954419544196074960749550395503925929259292028920289322693226932509325095936959369451594515961299612995240952409543795437955439554395669956699393293932923089230895916959169359193591922529225296107961079555595555952159521595075950759612696126931059310593432934329326393263953209532094534945349597195971957769577693638936389364493644960699606995445954459451394513932199321996025960259190191901936629366293631936319330693306932919329192555925559366093660954129541295638956389355593555960879608793405934059606596065932729327294551945519538695386954539545395404954049605296052934309343095548955489340193401956889568895472954729524995249960019600195380953809325693256922689226895993959939406294062917599175995954959549328693286932629326293675936759563495634922569225693201932019547095470954179541795568955689538395383960719607193551935519548895488923459234595918959189346593465935539355393519935199301593015949569495695682956829342893428957139571392282922829552195521959489594893240932409351093510932349323493040930409566895668932679326795432954329551495514925969259695642956429593895938960759607595525955259190591905959179591793618936189611496114960629606295060950609458694586935549355493247932479605996059940609406092530925309524595245959209592094954949549608596085920279202793208932089561295612934449344495427954279594595945935059350595567955679545995459924079240793621936219555495554955539555394517945179372593725959569595692040920409546895468934279342793543935439531695316926769267695690956909530195301939079390790704907049327093270919629196296055960559301393013920609206095246952469533495334913429134293218932189360993609955699556993244932449595795957928839288395922959229500695006956929569295220952209344193441922649226493239932399612296122955199551995685956859575795757955119551192231922319556395563936459364595969959699239992399961459614595944959449328593285939269392693287932879569395693953799537993422934229594295942945529455294946949469594395943930129301295219952199259092590957269572695585955859535795357956919569195551955519562395623951329513295627956279596195961949379493794019940199562995629919349193493205932059104291042926759267596092960929302193021940209402095982959829595095950959609596093266932669554595545956039560394553945539320493204932079320796137961379355293552959709597095946959469501795017920269202695415954159531395313939259392592223922239524795247961249612495348953489455994559953189531895664956649566695666956599565995937959379344293442954589545895602956029609396093954099540995624956249546595465919179191791387913879576295762956799567995981959819542295422954109541095618956189569895698957429574294565945659356393563950459504595303953039232492324935629356296068960689215492154951209512095641956419360393603935229352295687956879533595335952559525595325953259600896008932779327795977959779191691916913619136193641936419231492314913119131195991959919602996029953889538895633956339536695366922539225395337953379324293242957479574795310953109206492064953249532495317953179611196111955409554093260932609542995429920619206193628936289500395003928809288092503925039592595925961219612196073960739372393723922409224092373923739303393033936019360193531935319343493434960359603593623936239591095910919639196395374953749362793627930669306695336953369225492254934379343791761917619560695606936469364692021920219366893668924049240496016960169534095340953079530792392923929613596135955659556592304923049306593065939549395491739917399132191321953269532695630956309258392583952279522795234952349561495614913019130191709917099501495014955609556092344923449340293402925099250992270922709258492584923729237293651936519205892058934409344093727937279224292242960029600294510945109138191381913029130292545925459205992059957019570192029920299565095650945149451492019920199250492504945889458893940939409546095460922629226295323953239544695446922769227691750917509239492394939559395595715957159562695626960619606195450954509596295962951389513893458934589612896128951359513592549925499213192131935299352995562955629256792567956869568694549945499226092260950189501892024920249236892368945919459193463934639524895248959359593592881928819567495674930639306392067920679239892398902729027294940949409598495984934459344593222932229407494074959199591991765917659454594545956169561693268932689492394923956899568992374923749258592585913629136293722937229233692336926189261892679926799257192571960209602093036930369453994539932209322095035950359535695356957589575892084920849614296142956159561595385953859250792507955709557092882928829573595735920259202595559955599543695436956379563794561945619402294022922119221192543925439494594945959349593494903949039567295672926519265194924949249494794947958299582992346923469565895658954979549794503945039494194941958379583791710917109135091350961069610695635956359461994619913559135595403954039073190731945389453894587945879362593625922369223692395923959533095330954019540195345953459353493534945069450692203922039029090290949309493095407954079544295442922679226795665956659310893108945339453392127921279549295492945989459892563925639512795127922499224994028940289450794507930109301093516935169567095670940259402593648936489300393003954269542692327923279480194801917489174891344913449450994509960389603895070950709235892358953919539195212952129258292582923599235992130921309233592335957469574695951959519450594505926779267794566945669567395673913529135293042930429170691706953059530594521945219531595315946119461192376923769253292532952249522495452954529200392003921289212890049900499593095930920789207894044940449212292122925959259595046950469027590275950049500495012950129132091320959159591595032950329288692886923979239795073950739206992069945369453694563945639558795587945689456892037920379178991789923829238292258922589568195681922349223492807928079451294512921219212192337923379506595065957099570994010940109206692066913609136091711917119458394583917309173092057920579212692126926039260392557925579582895828926109261095628956289361693616926839268393711937119330993309950399503995651956519207192071906319063194901949019200892008906709067095066950669393393933949499494992118921189200992009921099210991006910069101191011933129331293615936159175291752926889268894508945089322493224922309223092210922109074090740956089560895662956629582795827961469614694965949659495194951924089240892869928699455694556919109191095134951349269292692917629176295941959419060190601937209372095678956789286792867926609266092508925089212492124917739177394080940809497294972926029260295765957659361193611948039480392410924109205692056921299212995722957229194891948940439404395826958269452094520960639606392591925919191391913946219462195463954639130491304953659536593041930419194191941928239282392083920839004590045920209202092553925539458294582949229492295830958309250692506950029500294555945559251892518959039590392879928799170191701907039070395382953829205492054921119211190274902749176491764925059250592630926309270592705917459174591784917849583495834945269452692806928069566195661951259512591741917419191191911908029080292646926469231692316902489024893633936339178691786928219282191744917449021090210928879288792657926579283592835949049490491768917689176691766902809028095822958229520595205923399233995832958329140691406906409064095815958159110791107919319193191708917089270492704958239582393449934499262692626961339613392870928709136791367919029190295350953509454494544913319133195838958389545695456928609286092201922019520995209956609566092377923779280192801958339583394806948069454694546907459074595501955019195091950900279002795210952109006890068930309303092281922819232592325958219582190808908089191591915939289392892114921149172491724908159081593730937309523395233906609066095835958359197791977921179211794037940379492894928957219572192101921019211992119926479264795051950519454194541902509025096143961439063890638925019250192648926489523195231913649136492672926729280492804943039430391010910109120691206902209022092833928339453194531957289572892691926919512395123950309503094607946079121491214926569265692627926279456094560900409004094970949709135491354945779457793004930049562195621906509065091733917339081090810923219232194564945649450194501906309063094938949389525795257921239212390221902219520795207921209212092780927809614196141956109561095677956779235292352959149591494015940159177091770951319513190620906209500895008921159211593726937269007790077958439584394589945899005890058937109371093261932619210592105958649586492385923859493194931913079130793304933049497194971911039110392548925489135691356951129511290046900469101691016908059080591791917919261292612921109211094523945239174691746913359133594087940879406694066925519255191722917229440394403917679176794804948049024190241920109201090744907449231592315921069210691436914369457294572912089120892843928439401494014907069070692649926499197891978937029370291343913439208192081913519135190807908079505495054940029400290065900659284192841926069260690505905059311193111921089210893035930359565595655937049370494960949609270892708958209582091790917909050190501928409284095005950059006690066945189451893305933059525195251900269002692320923209050390503951229512295564955649269492694920149201491505915059024590245959749597490723907239459094590913169131694306943069002390023913259132591604916049430594305940639406392620926209180191801900449004495717957179511895118902309023095148951489512495124950509505095825958259270792707900479004795254952549265392653907209072091763917639050490504900399003991942919429408994089943049430490032900329140291402951299512991207912079211392113939069390690813908139453094530940249402492831928319535495354917409174095831958319513695136913249132495110951109080390803906029060290604906049581995819902019020191754917549520495204954649546490242902429263792637937039370392614926149025590255917809178095975959759071290712949509495090605906059511195111951219512190806908069581195811900119001195351953519150191501937059370591423914239390593905921049210490277902779027890278945979459794404944049001990019914039140394578945789512695126900349003494547945479004290042946059460591105911059266392663928059280590022900229506295062941169411692802928029258792587900089000891732917329581895818916059160591306913069004390043915049150494086940869060690606945799457991731917319104091040928689286890031900319005990059941329413294542945429207592075952329523294402944029511695116940059400595842958429004190041902669026693110931109411294112924059240591001910019404094040900649006491775917759522695226921029210291401914019546295462955479554794070940709201192011900039000393612936129026290262947059470591792917929306493064931039310394601946019110891108916069160690293902939110691106900169001695355953559000290002944019440190603906039492594925911049110494085940859260492604956399563992629926299006390063945969459691776917769270392703958249582494606946069002590025914059140595841958419003390033907469074690004900049406594065936699366992706927069497394973902609026091326913269137791377919459194591030910309459594595933019330192139921399160191601947089470892107921079270192701921039210391737917379451994519945809458093429934299000790007939539395392116921169520395203917559175592625926259001290012900189001890037900379134591345937289372891201912019410794107945259452595119951199569995699941249412494528945289040590405946089460893101931019460294602924119241194535945359150691506902409024090249902499258692586956639566395346953469413194131926739267390024900249570395703952379523795128951289403894038907139071390305903059352893528900369003695367953679283292832941219412195646956469062190621902919029194110941109029290292949639496391607916079071090710951179511795133951339412894128903019030191914919149071790717947109471090048900489235492354910079100794030940309552495524946039460392845928459180391803941189411891303913039002190021941349413490061900619080490804916029160290502905029141191411934249342490404904049239192391949209492094301943019071590715902329023290062900629030390303958179581790035900359614096140946099460990247902479372193721928089280890006900069198091980902229022293701937019390193901927829278295652956529310993109934339343392866928669542095420912059120594117941179001590015907329073292333923339284492844904029040295368953689193291932948059480591024910249075590755947029470295225952259513095130900389003894707947079002890028946189461891340913409030290302926179261794569945699030490304941039410394109941099062390623920079200794129941299005690056939509395090005900059002990029945029450294127941279262492624947039470390403904039560595605941229412294114941149470694706917239172394061940619461094610941159411595714957149002090020912029120291502915029025490254902129021290069900699581695816912049120492865928659501095010926619266194123941239413394133953729537294939949399513995139949299492990094900949040190401912039120394102941029001390013900179001790057900579461294612910089100896148961489470494704902709027093067930679470994709908149081491101911019402794027906809068096090960909557195571910209102094111941119493394933952029520292140921409472094720923789237890211902119404194041907169071694105941059495794957900679006794964949649001490014936509365094108941089266292662945169451695328953289160891608900109001095978959789567595675954439544391330913309392193921905069050695814958149410494104900719007194158941589074390743921349213490742907429082290822920919209195013950139531295312950539505392135921359396293962926559265595211952119360593605900899008993943939439325893258956979569794130941309007990079946139461392310923109543595435910469104691210912109320293202932359323593276932769137191371935589355893606936069367393673900739007394592945929543995439936669366695736957369234192341956019560195007950079562595625954869548695493954939592695926959869598695376953769544495444922739227394021940219596895968922789227890701907019074790747936529365295258952589217392173954719547192861928619603796037950649506495923959239026390263950199501995405954059543095430953199531992313923139232292322954679546795537955379083190831923869238692401924019322393223930229302293241932419352493524922229222296019960199451194511961139611395619956199457394573945999459994576945769353093530956809568095113951139341093410948509485094575945759572495724