500001
750001
625001
562501
531251
546876
91361370060030866319634054759457361442149349998480821650485218879270256780163126033877748988715984382874780698546169399277234879589732291070773343423804538315925729788138993568683136335664070934013492259709633654897083187148960893534892744085706630966215311029388143351414505115819728847086096641083011748787672157748432288261448992551882728129944631030837445434289061981469257068356784982814539863409714347181682140786962834059641883447891143845459393024675614678573028731821344778828548872712090492572453437182164172313253165524562298291460142775132576785759241516276417800723213161096690614935686204114438879480053275292831986335314524912623015416513250675174629979934208245322684308318015714164348905051069786724130568490005482399132025199607479124911830322403108833482719486699694859376741550571416884441318900559994327064423568150116790026503399425766844592946284504339545421879454021882237616500897877825942643139153824789364513260833739643160367278223547929468984903761416016033320124638875550181752079398779110359530349484669352181562196417526534373809090504889849777518820081654876276973717273513086452787490723056892836159657182692921724061468949953907491466095628697445722648176495958320898840370683437438046012162598309313687081785412548786430942301726609895204261630646553870261329357711989448706636889214591174517863422169505331526331670392643525589818957643810157418191313875716790745520711101878223479483402801772185608191162068984137191514076221127246779682313038062842464572328778791077094246997502971052218577979123763760231674112332956111960274134970401234102757610987933586408910476896873677238295410245692596931092686479654713330275552605342758328592553596364673703514758217825363903781524005612969147169950776889339637969480437164187209768066489317798501644144706606588641530049725735177640250698308955306101201656675479959678721598855017536744311056881057373843424966267362212547882683829424866401846980920579904114620826756782472911483111975356472922969342364175416233800072087973465067147278453327404628844065990112345211329742237953277192881711548935901617372991179560871787536047276751387631773756633451194799116782802192275014886741237794004558056496574749924222305563629322880540197504993917544877465127250765088732416504440636305837794926697481224914754220342150024446399999256582369765023421064566762309446853223170107404195851234752976642112658635204078797584115504384472620967587036488093835478529845857660612483782738357487452998356899089358931882860343246398637229815241425488487174527270121826357757303303045673779948183225106515258939348954158874731425826295838211375268141995966694776497888366531195139003332645385079598203184505393092515904213737693541461346908621109418982348232050694550898401329356456529874973163407182993994969374289050609766088069254920326561598393279489447295618681188793286447894463254120427545069311134773978353611604487684267235635496329470905767212827010010510684958830694332144352637497957417643266586630246103023131068363881157580587047115298162989931612623208949911687191469256068805684717049290713680103075747055569898614880015181606326328175646749491665122351645045512553906508699441889238465874207359162998988386102101814647568139133961959207161508372691763787892980574619699858354399295363411106742409841820914291487281419081406752280596486508849861439733684796024119085504050895842011866987313016458964689953061704760545692994977731190781943281868206368127024526769802658915454438124195667989829283577041785646492597506554792987762592619630776852075102623788813455261802859654781349671976835908540880801897733301832886280646688689911103654421984160835709652974521491952693361134550989363825272345229326014063264633104765177561473221859413567269258286679818127660811930734822433548244112593658311856446709478163432453642810295571041635887887891107957655197855695530472448736931383784679294821403812920431252893582180155128520417273828934733997169780539380118253777402350859831848794122352387893969783924496433935882494623282444533967646448405279800916362579608899013002746107669119026709305042472539726706255153603874951379271911902406680531570038351031762566825195547300746774143983077401426668412563921927267778772117508854721702134130249419273000888061008533444773945291117128307590629803322361081265199086268141153217389793699561634842988483369606087054146881749533598476272682956629912307115681518819341032815275931892986551793452367337541019300513058834877139484597988117258848530643908701110377489542411564114642146904725746889283870996905367464665686160069975363292513444534394991373224491221672174197210015587499738412917974944476515217329556114930794451409358615792102964314042132590644345443415916912079796998780786837114533645613087482829607689258108443414695342711617974203718614900508876586479909273858826806070524923416615336907435788385435233453742455536383365986666075222364267850308209396582397492382144184564740158388380269997617554827004706650907135396220914890706944529663442616654077847338421637033104241268381186280602569984300497986189487766878339272422996745666734619461649203946297103789730648593799186549887876005743976986664391990973213403025548258291006577037942878544306129614398412512624031552538794699685213378767422477976797842711671753618553274443177151602523139902158278761934529357273051395510205108257573750305744336936199780497036931576959714105097978535468886884552556923733710929048081387273098068940343488268816697701265775612554923262270161402785895941086493757366128846602891051727555019399451503949396913674984855741408032471189775675501556396360100699623349918222922545998133047518871659344683040348070221670711570210245631117822649269191952373217802521076113999318303873812837933440317992067951750550420813346983208885848731887942871911361782893956424789193489746828985324978136537399850057722844475683810213255892563563847482964097848322569642321134145388722427331198138883109145712185235708509969100067827844271838419850770862893826782123054944126082843331444405798298015264502724485975349288394390976296108539495126369827474436560365822286596551625491511681172795949435529734466134353170513661342426836669657839364449508407885412510067768752404673380644867437551987769260435630053253005689420242154445617513091343947870705119438572039888941140554637467260428436339149894810367337989794417457483401054777152229154789908707375680857325689547513421439880921660249436514029323545482419493064932818605731092973883347553961081605827759665510727495784168827410821069568192033652088636928324007020683052667841766192961749679505722692513069965103882355926198885641291472592489541009533187549779191151735424354283308732085960383357066719355509183057525820479523895000747891167800318564234252145987745288611596210525681941837782423362860002715536615173784243176516388420404276167204501118273234529921033801189559535546677988967699698637474148313615166241107560664347276116269846013619638024519503105986771198812572261697942205625139198168131195852377203696256821244864438112522849140924066017292412270407260584173007937431450332736613400628768487039683944813614875799959886832891503938101123392044859257118932320840585441438692646171357988506597578414976430906146264171896815310558834281085008778326998223315754130856153180599640910644922104104261829861615524361967582228076399968716494635756883210383444723217918273362521041219971836426230710168696144225690371445290384818393976308389764657014906719594717192382906572356694877619727343220430730052350231980245511707456290158287264556841598970104329373938263766456338509956776486667972617791381184842510403991347754977332348614618248132258242815253827318125473237407707739474874311632108673560946771939036392089967197794763682661100939096172438194500352990933526738348013096103288636380883205505145778501708655635159465566910591429315303574626962983325650246215831783533212152897525164586502491671848409875426088338905365628279203328448127199098747936124827139287917847786220893568790076689952449509167421782172508841825633235269395731567476519916427239195075951827215056108295508869493730762223923612642160642224192181087316637037478148903361061251512145701192578316912729682743010358876418722105734252684277958560720403087215462770828507548894644810845848202027248444295507218426087739934884483796632066681386802387013821375905494003839951283460572781938299923738847069592738099287243414724276415731434104999580598256383559678173175457130666650809764764970936128443721494295812373488388652352654764687572163422107028638502690995718146880746869479116608970478941555310419835609570424914347512504526880651834077595488510879358728199868870972913226593285122406610652540527488595548324616006666702098042846762345848833577055416976630513366646730048098384739926651103559015420484990829496309347368879364739362446432323523484744914731290708552023336969516768583784816297222200352948519588453881035423011501543277179941339553692866637702964989379649629862761924447020249035834285800933198656309684861622771469077945275469001111165651703853414376748652946549387334486503988911860041766453230452428676620153849565880627212569968835592466164224850980276853330503744408394265408566325183433061505644528737301982885609162304232665314269481940773960613092284682568219175865807483601450558929131434744715757688586975154643878024003354509135941278090474543912135191243312866774151978252690822229796675968989114310694639232543913266815646141040687815971598607911416272945811894960477057269886476620805364431897199292109416677705786222650868243494047441461456908711311736441137067615076394420786840338448182323232198066023965753155325494415847783967285052769145279448232231914658511478988964395320947474728413783596549343495223983122512097057712855534944955581876259250918156880231455064377196895841777210242287534237924548754292830539720833436949967793703327616558256445731384320823019025061238865099724243466907958863327637367862027396388230149685583535309986969555482255278148872877923326907841152996978879381720217871244632412617703955555895151961781560380161893954206171190867824949855492272858067243008176722381330390569198403194376664839079398637265562618560712861837481011882961363475373679104453284603304042709457206113387102326822997297526826991147397187416861127788066564674451799210111263558845927385642981383604168468956733709130573162611474546875270102180997290817739518695356907427645575192657144798101912023370554167178212430711115710164953224501708262759908687308910225412355248210413667594543584630348751909876799425648559856726845296228706364141960432405664508990148430198069067680884689533910099963004406303565549413956453577170952200487206265138565266167454751885668774527296026187804469561932260444559085312621477773893264410768997454972519185690947253239445548844853886221070458252757534269244336950782240321550682681911496422455597850140620589625612117444142400358129464378644433259974871791063311517914269022302522740132164259112702964526853875905355181788668838240731272254338404698996369449014164940589844687798354094642088765329099220079018546725658679663805371903816440212226478993852808659981019655614568668963201859149656323314346440601221905480938743056463105173736518384443739763693022488329167444065956088286594386276951613572832258241852170200388793772866846598297736732776818210226066629768342914098180924466343140220573297954844038779570621766918910583071042536741522158974812964742690614958562710316207408415940158921921350383802823797957331579251483403239754023655090411809104603398014236278466114457051937368428186003153218511752497438524433266711571887118810884939153321533058050186560857200266325654145148872707495589873509400986160451039353333753931578762684616289256419716345489757264755983783408114888137969836390677943224168664113787907165577694871333826163646393924171794435124399226568453931195031813874485153143235116862982493541105772338380549245451655613480933751907750227307636153687795786722049322632863469785558265247350762103835144065846531830545987438396379867307402793115014449971653571054060797993371627323422812520282619726045039962247614889534646886195697468025123798898865819553878333833681076200585494394548315957928928514405249146015822445518260526317405495980524105097193097133220886596539554719332793810062486249171429176207445505896346272040865235533942724358690676812681637981744678959853889340954119696396954040748260721808936055704847621071138716540124911904299917272487812864872581589235257078605890195567966836911737371661358589793805977549370539905599543236851504391971373247985626584943839134410375139508729688399115764435208678274166376396317727294880756535898447839241491726364741400679869370457244367328100559409347865618493541679575404200323883294433066595041456832564637439847689937946894372652206659202119559579338273175659337531209334407221511942606187666582318791996646321791997530357719503654978216870613988870579510919392023093411814761739073178390705573961110583553896179706878814446531968717898648442422892651589241728970272907504846967897899966502389360360326893663442708631097198498971647149154114229494485136013637701846115231225123061313188537065219739231425114584977964783596383569300492566863440453681239779219208148984021529686075079567000895707967590580020543510796506630709120387924393392395216615481946137518958275877097120554297389341316795214999761514117901752076884374916316282442178209367559583066053853896366539698773920385642845573409950624359192196936141155531816497108216517915259217671838371043034061593728715551878157561827192480202637048861561360822763321556587665388410099572381111633208871985347033078818336128968828824215351259386864221113685760433390892281511759247146326744958702947593840339241119763988211032270673264811108355851474946345621282306053291014485896169144903070849925732231366103114840648071301756734021054287633622144479948774863903247916369522739526514451417276649591009244621845924060067023443923467968031506684677324983422549973672518974413394625637949123116262309352268991506046791783023058164802064646673023182413355251243636142768985173368565814076973699117778137688004740936704411705217675273173842013922750932846074196352024096901152952044469794573037040033165478804988770416571804471189798139723018226477908403958719270374832784506118837956888536227786901834887945401538715238497601676127224868803085873348803558756831056833223151081686817218372056857405109057065476272009853115331254013810164264428834752643129437838482653210086944775271356337928635777611229719933227785159994661947703314319085802548256246972240739027857004574942249298571690074768091823565903599592355769543383640028863711133147168349650734736308384378407121315281375549495499700160940054320150469803539192584916925775537528244098840573651083996688850088079144970073165141358637044482383980866286682006417479524542873201980587796383141812453798355879966851005674015887217957998991584366956131979734404081909427577984886951914757659264696483039859247042959604517140529942771892469432736624565432613004944601326061271762413587820463501171244166866192355646265330848415885701875607323836663202776934214521568965604106841421744607302939435976179834724212495668545607332100214616758486741976786602134192356730468585687405644962550888073679855867292195138188962525573693631755294926236722913223096349106334965769137258092751892549201800362489211368060620237500135962748646386629290646922922914183626368996747792714492720970805861367507686981820820565859498352409903322995769737488535966495911783833866757964521272623831067310809723479286990838446527594541349776517472382414037067924856527649766116483968758305822033515894173402183175818997280282230287789123195854788998490876978623657468015058020025556201910626623013211875186476589120846223235479521268660078045192027620843771022019556746059019605197668975742325677398496769654795658646964683016431264614751763118339553092377531920366487466841912975033297436956161929436048608781982326189853896511318235437847170892545366224372567271217123043584257719371616679251124187218947004484758017311186894073410735127437031154207963176388844413994132966574687317369811434969698533408524662187154885208929216273253204936201185712646762474334195333692015059050521513852026466044282389061271959163065907195019617240548590708106709174232040645109032371375939612136014174120487729298678482975410285128075364073961322178908825923987662183882642067860195931509391590513628429886641315044697290614028791650398033962387549156155571681744156322308200926264630356143141467986219000133836984782256249181974949327618946212834724706082217198341904194719955280949261342626274618451484988981287892317508092180955995741722551420247914917009130723416285735809429526923435873988956339877908845724979917340108923471488511810779296117686447757583912241471939658041961304858478962954609556706946355109853765117642652491036431980908409288590895247929393612223431118784703406597447967725588702785242970219005664917348068343205069209621671736722134464563233406237934802421739799126043345327677408587195998349144258679460185741415660936630493397807653126426854754138093973044021548920408886726443710077048799592978976390082601721827568707566862483350958367556834752921818968897796592762181427121227392914490162894547930716318300973011350782339280761065782969275402636313879452723737457505008852311747284829064962876414634034727037915592363408663810201024968535244445623890212812462558799800157089117675716380241865626163811430961045742673874660166665850240538678352029373576230925900224108416442872703052863498256335998483208895416255524091732253151727178274323180675614038472892490521778163161819420265023683472439417311721216274218194659877604337193284795170723879201519476226747922185674358175141784273965949337097109234294145808233967779782657323122459944577859153464429159782311220529508131631472681097777162424623559879642710554662948139030821894448135212193198348179457882807039494241259995504218452766579011253198535840089471423842633162517789978258531859174526118782966797964838844260236735733061005356942278068325567240523265183473043974023779129484464499362481301218445541186222009804830573822786974035160295150872612023981806482278783547981884109712160111082208520674734781457287987906278195783233591744684079350895408029785905417232228555273408727328475369227866900903303390711617441116544378613849331152483847552559977647072110105983818395632819296938948553762918530440263073067595186868289725238088946490051264194496816138214445472106012017513854031624925289356655417820862212334409603162352837427765843154057836021752390541686526018265954325689876466642241273016711426750357915893454071890146374622834932754469082079105033258002290371978698022074927389719297388768518208192370693724952464555709854610606704371219900361148405731372564449246726033035148977705444144254348107356355505618105430534878637928253461052203036712832204037185373623968229071296406095786428348974683789995451294323214977263748324884675792956205181971264119579075267625638080907774906924850230587207538114863147375455072488439993223513090239947355182341545072051983042382576391312353427680735804140287417293036319176906984873234645507131363692686108306219937384442565993972506287537027433361365720667573380386544311272934026884534097075656791191318641289804375747402928281899948444622434275292486732461789607130961182516261731626173424958080169650674645863401677550058656296998432981805479988240216613599023718493789141024656691592793688465908885522593772340457994772008766437589851179253673866327061486256379353173768977873457542890433166605324453160433863617933897969396402895353572963229958925561884279717994257132766197981946981509818382958274715487271607838148681793968305683665889105099144662192246843142198040999631231197931517316942679753615526789354278374590723208981615967825823603524891982194969116887118457219995706882388466802707966545872774192795335478985384095521644893312896337676275413777884780265971750542842710732067160844553057014477423385940355256774950706319140454703297592590970561915156586178978737441431915271482832315883659647928764401048039713807823935888170666477528920973785443903545834865648560789485835228565286564360004381306347560282121866521966456872904864973880498174851414261459723669704263807232503284122576064278287228437747314763625899084985653655597466892758866626456666229318235550776185007199833440873431158489164358853282441485504207479013072279283167868162417573967728811412496972379165999795172558295913198587284009814977574172940949242729638545173185629625315400652063939183633537265377387834687194873211981794933527603134549300787233447404168573105103263655777727533905236071928071355645638871493812674746913768181194457823627938487159623945565288727862800846380232065042811918479267532778816173094259107836670944215549316156980149756858861283658010795209103326049732668368915496607369187399738393137099654708648137628697519901918831478011760874379766448311641043229302907698787151498868028365784778911624326171708537119274812298751721757581511289358930288995172990805388100664151473373120203586292050767521795721937631577345364737455469109187079142423347525578183068707886035528543283323241149582327917979461165820452469945067422812144676333882645609967982961357650644072683215295523975615607412987386004013350426194913664187411716493630750981425939680738500834568398709046554985345930602102358829375930107314214025356531275098122011672436013242384298078749177195634345526308988076219316976793386863909661109466564460961464617853802870765499406459954848163434051128479761674358494432864601682818633834830541523426086791048075989224093626995309444437470942965139769602786517787792124309988942542060426044938270624258694912432342345466275547863344240247929213997671401897834475490644466729675105681750575449218640605842842905356066840300517371668334059683243178183928450804423843062503039131851152251084675887226446935271986359796271089254633190772532461262318093971969881954382958982123748139333510814046106199408649920079621317489585271167784376254216231571666064315472841696672240209734897538718322074083731642756269778849134627688192429331417474372934182714716412736507921625613769632841250863172818858096887529394385509945328043508965148227601561696464340660347691464083583747934704583231289437941305315925178286449039756318094855508121597377931253861751508542765231459896603209813726578842518286267704717538980945197985688567086697991643007569764047331716196679730575073119219741644340329696734804956455132158599982296796350872944984561460595130234965246356863626504675540368217932010366939149035434375755447439353104032156257758746906121833197716236956581217192804864742079343310334894829598786801951603452539925312370092005008931715161656521113890786360523358839303198212973753006602772800936768959447276301732686308121069725278976415642547891615973565463748315963624404003650854201347116438847758697345456398495292289556476909680391400723533696488187227719752165085823022178037596959412358321020007229039301145224668778922316318357795435168162222248347744318679248568148993571205669398434521082842264445381464498759995587143503609377858527287685612521441314790536972516242274007933940945575096908716133244299108799572787611675319651681738883191175064474665329107087801807716766176959665748778211857379656248664628341391605734173136627188818112856643243866336527054832899414083804272248739366089242475755740191751720752719325822751877563752131935377177475135753185588184748596080699578520901758765768499168075870610729069866769133697720845210189364036062751979367660408124310223281771814898462680604846490683702546774141095236358718599344108758676825183354443285074584422281874173118968961348258548441064422747723734960935787838350398850285977357195792377381072591050704967742417439099335659694557961714548118369689260546861519885535839914442354060424528465272397448975203479296195420121233729255864366324042878160252249346810690499915724836368148323970789391431306641973052587091868102570211519335652230329955854318939835850967571258616610050388044487826372247818267476384476429602347217838206488848782812481057609987073285857345277096076439909337927540377533918407334028303467969181001573073326795414389259561708234171787247911003789909182852908712215000563846754672525190554799937583241967026317283986962286418187788970057772039377217432414325958383101780956788097927395222088820890280160387652291588637692509334133143175593359439092302480236855889203676584360351998549503472829881157104414497805318404530332043929097854076282784263820073522910145973653233246532769321687806363908198514453224150019098424838403085229636439235599222305281433323581184736361974673565573328545432479481143142968528403350175559920765513593141685334276463614729083062682467135765227121644490144428429745792839150565115269623082222722933618017832780130256163241544148526359875163245213577737178366841554362597269159225253677179302735922468322056944991242728898789964095651515935326585711807465383926474545508766753088435459748469714665411212935609645288421062459960556820577668118215345867732854117540964515987068576039105051625697257647915799148881314191673722377642120237216987787162557195348258435607432872235762875136539723551366068324595628579185149494504168462863824753296165211835735344776415628734088966062465862652225715996927497338211814376826644062474735262461330987586261014783015262852916543200076797614079112122859367407468140544211909964149588645985348163568649004825836535083415592139317688263669509867627643216109658930785909189190197681402061253957481436660750975099565386100760635908107331986632739100446708434646212557272398860042381050895970502498767576541466460455986314105694467274803394332081544405290215031521160183645565165742343607718792551363268784729355866984783284902982674259663657902757380366158787402793105541940266971464471404534201644942154154713932796515639186197626708983358807849857251736183733928654847343956543742358589797011259027046958800706594754195456358901068104413698270783592976825232139376236231458489977723248398211254656781189830597267201721019182883917112698802799081543543086654249924424877959950052055565031372964324758386639387273424599936756252647477475558661690727680976422298708763320498219464148147951215672163673342917454572237332415491097847018907372229086457820173079744082819767866592522333363849699426440978601717708511949637004128388960676366731780932984468219347555489766253426168944456139556183278150604481361889978698977666896720364623156402618524410808635659523920123614355756508744030765035947332979784664431218517517938109163742562037009266165074473513160794015299208316352554931389706940161679851407592171400313916807885192599467919851758348660463528245324819881437874210494235273747067988665431381814229852984865227040352244749564606763525550772319408035818508597588024798741989296935555869567044578148445437543960312468350531985050179795100813590966470357560731694680237485911402151111337574692101224912099034763977103385611316212686658884528052263614113078105903587498246908921767863887120403577887220847437243377990104984358429631544695822425182665206526246358241796905724751151694320115130174298357119924681670389120852516105437247686269830048552497675159806811399403964932197776113183808066261422948320725035061264955576589869923226828335926415766227436671363670747829885296339934720144600635358575732082498430577218834055316213155164246556794696322959309169898427741607265942426671267508715298740877783206014687362994427711098162387452777942674609201117588868655054686768579042021398008806902761268137942273249472739438053939147112816691932190213360271383486594673628236751928374187626449476866733522512876646537581132662241993817634662597514639979426846141180699991235814556407304751431076467396969429521830131680789909740351560171288537143291621383424068779178153247416068034234402262558283026594111041242182246233002317433279997683740291846329405615186689435942529757090228693639746108829121444708920521843142735674156237218971258881129839837684255741314383347116794995305117267960986236546008246281922084710731014243552144342876740455961155055178970265576862576093303097902617012766680358159157689924904852519166028376110813877269569840884423210332756583443791571245321709482577976175513852194803192986894616673080228185962183132081439480594685707000809113503796990544715725700698457893337333630215881902307437872311195878866638584601220840576547660464748230647179662139715919155483893984903098644125357514908395935653783618330415694246826194047581501773655421110832868122383341111180273606935905809547609352887696395586481668595292080345698949608572872298026131539783766557295040891506662254540828926414252733691783765945435214682783765736459494287149848741281451120313558854541520396618943715027811059611210857732948584179790622165134726469733658711832255389788288523691275514166102634963793108243898244366399708201965278653691939943129699938370926518135635899719519831452733628369138657640948267931332254984324303144465305108687454168059134425286301262898095253634647449578599959266329718382910617566672186217793468115168878290912891675683135495626042286422963325593221473041574222395134299386486779649771087435461658840336122661103303533936763179071248581973603206478503322855061797628439586275715772419178558885390713199197651732172438656924839262398312105770486110218498562551844255042353067053136167568445138248741922494564177005998545142252012857513262783869478715476830676138230371227832157985446817716054686089194615969385903986535905984231305867666230053772407907087453518911738863371591400649198396373971955704650129574235109917302552168398175938322448416001512901232549992340573298374877787619388959190735205321879414109484653437058312002863006686398399256381830382507879856374246160723675858143269440184779105769439929565484443697758196832365405893567909495569327210158493981962239133116765886910751743130159376976542750516729948197864436701146384450277695421332105222862930849144236915867195441863354184065935529272647481987746139123769237799901775976732851493005974304780329831266850968561544220058240374881545862232009816016982696279556892382772490933523855262245377864611248627378074092965283104944816843406015204679436495143580725569715688383716396889622242867556248107164444259940685786153822665667542769491878863488310258642213061754386864416966863789628811402166951594193694974313204555975210931660139589233043163596459185498197598064160185348716526511212263108378263498404126767862182378777172749577604162284101336407244821937850571417333943056636105619336929810645635255644695777855532778432172254046474438776003977757819272911544365835472797520767931774744389363601478651534700119308840281857384141643990719791292633619313120309808351979839910657667586575937208148149183725513735729105848806022234127466509902415839711570273997552163391573289642311446586359063858687143110466307332902027545571236052874245635148100073789027337027941384676262223698739117457478613323367607794604833435705917342959139663237537036212766609082954243809548045860151029704439254051844968157160225480267589655292338009108362559687078751918918837675396611112961846606793978832439173877654355198812075544632880194172769158015448173585285210846232896745825355303810947826711229796910779452901576857898052678708364500560049272601970035576225736275979695996518316687702562403860782741353647905292856319182480886498257077839770690021836656428511194057418886125624653409187607297160176938747923657399558849540838351651168244666891384278363328028787387394379011736868525771020125816509953664346811362462105243461650225695541305273168522656875854917799137336914615677605993986396304688687095845839981323996646241764331768569352077932484957212826156617179543889940768097901140458930838321985708346633952998432227832169473994872345538961603022322636238081987650329580336558172413673115858296020627715546627644811035764876376334813414326489441201558474951662093758389201248416034123657476374694567638628750529200651330375079370981177805610291144481036652746315350260471867540540610406531835432725891817187497863913497993083916203791156924188531386946449431520169480010028679159805432911051377675679125526715179946563336521312898186481590256616656636763557811698302432383712122842106386806340415992461788587997297074834916718067541562872555139102866357531395865121125357346784416625068181144268012448981976172705742571340324855426484733945922277421467763444068325814462534288926422692491034475263895983587417575146618749131890871055567008573168699272532263237721823209165251252008327641179491729669538579774257026661388493939444037584501159962996751875378986808103895394189406747372486589552546626695669922050451099821209751721401079372294126005447724422755657976111131639477998299909300848803600918253418551438022073449248347323543475227767694226082058751141811461951464624636042542427095796831585868558250367343275856853355454854078590237310676222376861946696839546995619764181778769697528755554597793847151583569546770757206535176510195513513860196594406408018965774839434347268165094746470180549142438391517204063407311058214712424379708673824094024896909069260547986485539469963012016085386634126628642230466749006431781506363568566548821358417296150972780990992539469127535393323532658309355844688167453924599993351514981416896578379989043138369224489374574158651421178717357408864433584504287266513039915247694029097286650511458930754607659379596336417071372033809892509323286443860468858940990383492653321096224155067781335775884085987058364961508105464897206277397263264198747542473157640415274872221991072516227291305361400871026961043720467465643427075344076840515246751095854574338298822100917671285944342182284940744755985431086874465911916200057914266312135035428421993225681465616691445191239511681261807620703920254801946446713972636298043063964505881214792235717681014769377723248839263288235910075939919386825622745187713987118211308343749519024772037824954078190183810532231337602551600467898783601695980076101589694705824148644703710641718877094326140155229071699166276571999912538534537793446344189297497918717684460465874648448501037652854767055099280932901763545073242748304415555103116266892812449297977118352511608791070821736861833275614451982612442175300696461809609664256512165046224823018257338399026478785088107281031537316783071868447331638176015397507611544945070568221716344052293070555964182695081476909906279950381823033384924647453462975202699966116085763417407843439413251353289469594889179556593375101143628630045744765525166410583654301954439534690351178041395655919733657693274991880201690690933988565981137545832833547847600215412055338159819444142732571647578450839359331611267635288076583280255271267254762622836798562617925284782357916539247755573845813497462165561599416166197506782396903506709994599032314259983663649367743960890754382158618996005051955131326736296092408458938038676989723435484421470201658942553611887926991667080925938336597710441135134658153727158286537259692256994975898667935275927117899574526704297044411038999072172980443688918082483059176270124021659471093389567776148682735278998540634003068703250714123557645663071023081017528685668027283229017627829778556334472535340507490526382239753957319424826216838299621452685769175817181956439989815560168920432510470370276348701752549992485358573274787066816774015731487817777976887967778202551986205468062241479194995468858456360223372428316873746212955459037533043240668340617288539310393671961177231112239121118911053173483573584201977705262014333524576731267996372740789843297063570320347785190920676459921760756276698880842405254697685489487584149477696087624244472259887387875684074773155376612165158888153432686099926771157976999038421235055573629719702670930426684866359499744016692036937721590308939459868622695907567635177010668328934117261838588907437294789176951442999533761658054066060138535493907283015174844210871194556775884783816765785606259850461902995218999816453981714177283919567419637318269317796091759680389033124693120854128144318799592934582841712193072527125860122027966228811219082976511772015306651074478767925304423098431032238724792840928021906524400106579861218794898558292275714956240595464407798681212313147659904449313340775549320318370744999555893770983907945826801719538762743463587240632603826124908782034130714296555838646500373485067736572704304458764584359297504439514750632406988806679492607769785228247539604518158743095642871617764603265984453363222098791369759663383167662049573662748954547626141214226199636747144087705211759183997412502485157539211545514546009927576103101392772991502661160602073440181631465138974516742595144622408027732520543901287548368977928599212014775647240280391077840127088467790978440879260737737487064153359976952591662176485730038132660233459803294584177914154300827658355980464981256188994195168775249326878735437496337504020844832459231819957822984205913543464614934565426259346058144466733838532148742142174996407342942347955892637577164339165169717352720292077567188130349705059099466267222408719659267500332667150107975163422533226412384277282909879710298387094634688832965509545061522811819020722102364366160108754898110846286452514140225252139560193449514004768483820180758499601869321859711797572964866777313508967904506580490717834882442679903337569436521845894759087355324717286875673109450208922131213896112429155259392488297320366308466883268702585699465543545205130324135598687643141449430904488342172058829421254805384051546855539894189026906067584288567777467485699061180948048854960659014034257983220791212187874271786707484227737884245242270485179943184342835741601761889924306427470916108934843317018881776214209792017618809180490656894116666633485585140717961868203141855939601729746744191365455899869354189412042857178279661805075088373784424859528620433678442661555380440451946445883947936436367214227959714692168063120679322273277423354881553309484451710414333033464646548379389408325063748859139606142182817298038592421383124759777952785602533238733308393706271189615682107040662034812323653894528004049850566154230316678512839616646815677786733769367442635453644768393161285060426241789967118753154384490778221826183517348553466350090316343635936631698038603490737298170826945927278348201399512428720117304234107358921143937401321750312163386071467776348469279008401620992422725565813257031658727338934584122196006393152931447695985787462028204225933977295647274933618003146527797208480096084060949765623353512500180790358319892986212791383444235283259806729242411333105241596553794652978848605318501603601430386699316187618024250444562680105935892809585901195892444891400095905872571142576956449025159462471134791247685809173148627202906129664878453541441966459099371853468598124331155759618061989528364323624152135553211413571997434177841306451815755076518922216278847869323878100234841963563371611843701327864930593922917829007899009176131966547838011693679996930790168786410777357696056672312190532545708950923213830638768191425108085872937519565607512262863918937091554585497895582777168922451645316883417659624098723030219830905031494350749946014890837217389459255791875151196519078799487770496438906887434096803535839217360896320249354518623293733418806454119565437291535764015790773916089729927439211202138494193096961334644319331041869844494708944285193279748951815891285511069629910175518542420978475900915508520146778051648757522446671874224594086945105722800109034745060583611248962822379656290284455528609203574338382758374502552793806649621849460219964790765815527343749891511899933171735781492748994287861435529221337083727868034891264776731395911197407951401464366341237972991572501541296665627938094676071229343911624212485990220844102774109469109881648522628312934167866796370957676970503147770569231176167481902395225906877505875294280715194104927939268160489320516496227268905708741221974870254581603171621513333209291640230416152446098469253680751348370074247960861060990703823939793832559910720884216296297667265109818076889658878132236468605592932022613945769721820145795335359484605294870384359971997495634620946369855082320095798211856970690320575296980866629011799277160975769632055059431952574247296734643203344623734900129472980372232506954311741928286486981535386912536054441253546401163690468436841751490319888171256971280107654065850583140474398205785401850168398531688241343674496739714254273772982230794563617812855659737659444966293970864219529821447983962754583449177344291437857373533870270822027297311256742253725168014961842853083614058464893023826166841458585334929772929196787170517940699238380774193835457020790504829636493565837134792180555825852323731695424202422327788966680061801248152059361786986789887261431817096162173030372611402767597996471090632263214849831892903967145390615833630108465946913286625124637212920253915945985168494188579734976257291434248814992222967917039938408839052991939895285911495138711063185858009875160194689127359439933393469786611453874591131744033445336845751176118489541549154898777491447090470161471888277191593256321633604674975784435986104248659840236941261001730819269469897682276082573289627224340056388410340608910295185661755923793401577869679449820288917287294794916674053002877736285268052741094769478489193015053845222997797750729876717469260754767492606453592362218169947093199470023610607130197899281247275315317595689942612679747375339849573341369298280335399473335654951659266446288246140186971030262279009237183507937265015868335442952460944910137716474664207577932375746975767245066945141098463343954056017785023011135420742077010142617960586041632393893432385966730599513253117910934780469494784538335032537663937422699858963658787911773233666658535524325932406296338838091569464095958372425715537425521939634304781269459739589987749412259949540842531711124527992372891066499754384379622769792361181154792842965306844558651049184651831642209968079141137781657159750048397917332507294147999277464671041196353820577075949946886253379919413137772556254915422504055516185317320761460985708811798230891811555031798378988030559709148612369044838214853212615241335319753865173929633429994793334758165937229778062076547642554777357583844850600665063301076991526486042371425302617830958893884583434115388293118250324178596373714329916621668378443890758533419466852854417442490080630282286079193026087314821791256944853325562118101120902158568262672825571459590042207823824908931322865789711718381801415906738898728811344314204496504493770947827296473103631426164692817577598923508368458080706759948658489607372435144792111813708255879799952643649712098566661847755044690483686677539224518558436632954961480407431337220940584979421217825302680226258543304119562673412405446176818114488803123356587380421860872164051255325120443270819934459523587169719619360200474587960902517316282409375682406504422794349405191688197872685971785776329407049326818849327687052561914573555523508062861307459260634179725467769652076239774432834162239151118178035789981984431460511408588292627474489041729349574236687986944129550722922641200913402310602014108095202425319386149210487573314303869581932204339201172472843709772161953583544758999106245085388622378401336108552606863725380791907449728266851374702848304470259320348265480421150479140063527391416120864667961270273896667233383657076551255622550697555649601889627220509122318207502616735341800889226547885281809555816953194346542888671925615438012346271562115857596922854169758417565720960105410529204631098318603348287118658174659397637015998934913512275967297192701859976426247178003357174165376342380430509314612207754610776628164024984625620121750552695132238607354772944938223573791431323099608437449357625342104502399449519935634437617017933146885577404032240716889755916939108322728371840481451567826896563018127532445631190868582761934424780795610293778168337651379640426977017199094635836549185589274522338184095828383789620137787838333597521155997446645262584903701111101713585033755147673066946767157327555113833160841266043389170155481678903017999919766868659587531062329424579553918093899541556077386271938390507479599947958829237389104359706549997982934173013292283139030860950864161664694850630034904294414397289816647948714918058408812751429542553691555635051600826930018398106444959962361754124778753835971448703833787942374034396172977408888933441630754318036286786372736459538160433454362157035295814894685210316240891001548321937455027609291581146115339913176894081574361966045617785273826153581186953986193311484027264983905018699580771283398577192170452435579495600732690745449945054694437753721686596751161532299363104425630176590398633636990426577602963457176675168481067116598349026804421169902267046462725127514527154349171395805716138129733196462185298582985664831130690487953569962904562352979548162340958843386855835296508434423361013889513197919926137041376711441826407270943031318315624235754024616238414914676111941858231907151282091531232166773391643686214650447159110395797202047249143042603487918669778829531835278669980849794675414999861211780350511913376033595382433271216746179795862771868126714642724181480625234831685918346330385648544253858683119275487320756432903874208883713335104458267292844508578179356042567912043344573143015659075428831448239971759456747515159168354970389850100268722252209761646630141801475782183419867250856591785903036240966543406355558842708531553682925510937963251030481140477186818828875705182413648705657218333912687393912803490236229586654947739140112722386857872305407502497780509082284026873218143318464816579981574584925389033841264546479680516318974073900997355429511954073326123483608618250586008401453770635179827805129156916905739036136301001430544779325875574217031679569616597575312528248809640344439625637771051247454825246581116190117948321039665740980807917580646105798028166588295046310074215593233600530422500315454711417594366335150884833675316206805679960509542235631530289307432063513404835630493123930112172191643561277998649996672893160543501458164666399835965333993044379607413986352418252696987512153866586818624791627092497754359122916202184044087628556073244561242651963371226341159100606289927959234454371536405165998727367491850568274942035180196394847147323872166640757957259679028598589507619699407811442350580088883361452034862372675702644801002702903067533495681689850787237319164319686389921703695403334305217663901042429622086463256244982018719978477267846394801291735547109789463814977003231294246244485408570811275432639009315103279935567836085040680079599823237380299752776586388609498889868103083012682238719034122716322601685859684429685780428292498938399098318673511522589615547098237342135044431401253646420276317566482717551823995695862924030524354688293127430219138564817495082171702335790146427885210942713158985576527848056668804622729839308026546842009299288010770144364730003155628727257840620427593692216940370540444317693563667037803058708514073643301619112146112635065391098763945599023023190456842820456197613184532362313720070567285140048742550344061090870229614515246165267480839609291241572247296472503373494391045137618653004658467085105415224864113180324990786625047370565921792766818001192113654080655136672419192622628640284925156910961181471808599387588804200545231075964787873851674301908889941984283914939461492242047668356996064327165756639427374376785707965059052387624396329857884096363585993970985352938068072849833206245968645613824361068260884432099085769898523910530386056296349239027130826957344501926145966689965258174465325497441862558613433258928639739084360438988594471993005008195112415604477149909664362828343144480281347929479217957019335884239436601774418289734667347964751118885158255721806737788444392726213551300311006217428489405418329581786382275554925122093558772215346593513923287575877222145635263163285123250235937920624951296214927911708740672762782215700137926245190676468456796887792375031662667833082299237261575035038551600987466295748444848164314784712493220662886102083209226959254027997671312538777657457936795600026732534409107775967434594738257277346813650050171069099632352604030132741414715057613184519022870202543834596567547427768739229792813737101302667243339751997702471234230156761666926943632995226239477967883958327827471503887886090992907204494459660912466662008533135306761002490446428023153506086495677048737263278584986118820579157708968394242655706577357792146125756999515765196717213091585146450221125779698172645916240705145445481821678271043034095568406361342448313956022962241260578736086335912624649720524676859574026979601124734399812287472331954577447747368320162481804756474137748601439835448472398001801711198235846094546843816938572420823799053285794334527738217816398464014424437685830333753620884505679288997319480563883236183171314701205689029602260326995381947528059535541230002260953546678211139952407450480416849743161834777659073901556152940809881986363705682997194891974273451490215184242786985481145822924880189918409176647789919312304233413992774732837478232798325151616280316927983344961979961543264875245116514254527983317769870545687443863302540481153873455419267603013063862769871712788886791119396281027904577545593081128459794738642970735909366285643298904880890885925806683937396094417433335949145243526089056378739854513369677029215279286484296535424682260284528015260548579813404302909162956326026533520081105087586633741297280165203393017433707385447229271646737682377954519575544875783562988960616110144917281651158809678900783278733938756195906250425533156693244862994726048973261823549566350714982144262503170043242605632791553304585691593762750858686694769435641287860314931468725117619996960135214961781199295874750309221149619150199119692218410790749005274671405187749276745287299068671907552347900632500862363268212076410259298567457183020444522957059779058424235669478431126144342219652468813866856545837060275602662754210215953324968319406710411064677459510323027543176852886883391719134436494353484280001727999781693143972815132836864406536243637745001274703703601018348508642005918863732691229371303544298741144705344324601354125385884478744951263068161235977439366617697308358745864317367025699971718423957808769241983124871033079896938576240703896210416518710365664242198490394998776828445064179453985238504369785963608873089326107698526641523102556559822902655599190271386979649858832472976634317209875818024206080571516614697927258302888214077664026162510443169449486337543314818548244650655077447346320396649554742825681164834854627547382576857766271787415528719750647565014256675721914580475850421574762919465021023875798273290282695684689431292499694877226749071188994510028463947578771554315891072880931495710803147151927786784573886533250995827127042734621506915990563579183868700157027801918832490694973479168839337226930198821487434965191471981562474359423292563061153413389936486099375260790341780808396417518736324319866024268945477170688907979581074994896214751314345414594930052971133421215861141658688959117682583688522903417725235381677891188444695573645593264998879334392951317973428588253700162125914348045880554637715312194325417655472627939771278509754118713597158499885768709945563068864109699557764488621365544075949701989510121739447284134258415015741094021989830798118759981472136213142355545195139935335375961698521016220376478456243344903775876086538547154192093932987983380782577476270112644248541378097150329875130518331783247065177140593026635423253579178057052399272825455011386981159097744080699026727293671858913442951728318796330124203965308478531072207903936252037171887932848524462899626333299843780535170497247964929213375664619106574155739743497353715805426876152595874337601801818813890247065923996649988448350334710748451446611354733399533152262629859851366056523273575114103776729893721848047641815923103892857621225515040303517816243341901656225368161795914801775193558350925535578842347753544653377222950820920737733123265824231384086274993460787879485947338782902213432611801292617093521186561844454819958000348275413470739123992344462191753410817325239247961603448051895030153823135627738837884792991363987288089461513598676639872042912211563053372266578245290732198242933728277494909360335427766580559515534845724673397924930426321992454196035499071886240378193269956898503911356001377472416892238575366892320727454614980688557422555373368777387593654465422253721391118364008398663329898021945606420959159179400559116463999564507812277845492878998505618073661136022855651322874098626878445045009841628194528659581800114950454357831367264200995959467245742703381756538266692211375395720707934046111265201063336661764722693527963938613803476623538801238772236475864703767654185947030741816721456292265459188235075774293886697253766943259281323631414071948740465928427443607434215326813594902956770928470660862520708784850994418621625628865937477132746259471986801384756639534417315759207299611049887583607309341404785558267346492324657176513484397752975124533638769430822557844978652952239534441428062518687963149752872634585854425882329703550966259393828908453956943142771261548678300719500244295328528299803721705253887826160047413671249655189984919600246320740171282497118855599012086158535191651842416439693248725863091637434269995661577702562825231921446592428214900235420066847072401599861519144778837446439385718693324127085589000909465584125534621265511122318741193399366519997141360626040366204258708982104076856820095323886747410069664756348802436641566810735483898409410039231478191966580295726787935893568365626759621601783761603107232932975603827533339870192910198882579577878234592095287157492656711654142447322572164982621605275274780282093209141100182855488856451222110318104865231803850376354654761446906435580288381306752572771854277967616395942917223717002174552366692325505740556230666691016226168216222376675808627698157674283721385191147659918320253376647563085084641210693669287100354174541932323231754376439977176469848216020046619205310643162036286297786921727273201196553486051994739755323143291481729688455099548624216521695498537612001884974989020347252333206477463319261015127766467079936276643340974176391405543946359081246814420118117887238366272825638907536159294229918638438228720952519835384854534871635484932390282215860400765026852182526721910985022957338581594741131675327694374211112257766412580812627957152869708148630540836037716207321127577006370643079202912434854981631202834043945941271387920603747472070872921097901732947078467315193101542321607417168706882075576414893264998161070742581272642983356025614991115040624163357649658884388723154239303196977221863110492134711809853963991856685896481740223147260452999418627610603413788026322581732819478584045435098612772875091457922067477230716431189964316297896671895598385729609591587603986028413714751550709191804254665008599013792476150090028555656630888151988253924832056673061984271547026168912764816891583126874061948023438179935487863257053942702541609139096833625347618998443879234265848362804278644131434533488842212172251993457278387411314384766506274052675777999954537601216257914107162175919264461594085967633284187939831403060094803901105246436704828128461206212835224064837668193896016677373925545596564673576119618727100859170455563935165395948427006817579838968553068525905363253432877524827620927243471907624351621275055709957930163492311703663155455413826793225747948935364483413500334366961929468228364727038350222222590263574631618257275265149392725728058290811648712622972612882802012664166806969354146363222792970328984581887918761902582518825093594069291169233998931785424152041724861823841308918127541104450862897778315168828433091612372597044212495359173855828291596376534520139782758844252518255359995047490748121654656892439879471565180644993882642483469748751982882511857610415098805719546089991291215806286094751941524821342919326103470525115116862246688486278824374932681002178922254935242327251238047900532155320553523430100315525542460056696693298011176473892163538862173207819086534438508135255766636929008912903755879816376523476236994271370532127677984437499685673784513741101361918693971348560316004383984382685331951379168430679498723520622740230607045687018539932164640274573998425422530187371225614952055295770643603213410538763985933268791421653089937176610243792247324327828669463828390843212328438852115364642378431993645307043802272942915501737241464980222342745215366628462837341080364664015338082070218767459355635535153792427594134564111584441921658206073522177727526161844228328123533198810311508866261169703889898186892931772644314033045043367513327918094057620837601564756340459338876728596440030974956257223228116817029837128851651163774749079484996490381459012314989644539942281218258200733771992912226286066683425608112564664676711591870131143112044081933236213043145066838968932396855027934073410542439453619753778916073260343524617336192718759439721485831747920202569526527193718854898276894032816758955702606276922618268156462289925396786321500431118328990981707061186132419709421103278965826200820201993884468917209272715023619384453490483893657146592256964874191108632221830381122094741496638470602589606769670046260631174660614029860616689491099712965516801911438169555631088616145757358950319216416772696355915750971953768476960828515605295720322824210695127532565679383368841721676244699791086315301685718391084885308835193293623769241244028099098015384661287318406752930882843182715827999317891520832158227813337225426172546918266112453557916317827212987841058869762370637656109412867799002710344179486314943339008112936624662342701152750576682215269880400506166754412481402640880659150248637757978581026677192618568953857365432748323191202709758259997557843805635571849664677162825836575951225897536960612498626687260995042914138491211641853428040622028622691379743473155059566248135546199741134858593416707229204425340152303239450977294848927275489108987366691356329014966059636872217011543900930222168919519286423242809748111214841524536645925242107505822403917324112102598024610751060034631952443062961071274686822723067221917659172175467616386805629407787078228002965145856365501113691403816455488083170198568855101641059519353552621658441078761121100333253757491154707982873000232611523142871102865336657670245747580129630030039917339268143596640358452631400729684333006598324785123176066011990561679882551047243818091462347503087051768212152805664748532892168209575716267645872379034797149256267785684997065183285421574473906324475398362065071325494334093993390177129266679243758855272238466563425359092174210400559469014864655656811777911107277886324322176160518977232450813418665328639440697296311999249431360225794045774054377112836692446168766506708953037203735445254489256973556692050304357392292854438873808349267217263503960603561471324453444207904415345873578845964195683086915364105572077194708434812906423288869613597015131768739342712952235620176104257732270283728878685734601011165172520411291614236478834494462827631373312972750151467360677166165129727634581975121643286119395472656897627334912398629539561525123813787972651531623726456176552438653117506198122534182792087395884841405136052555199760366474339559643918981226457048525151083303572238627867744024816422170960334885176961570154930336533349186852433642338785673227104055743073310699252811175857523019752344885659511384213589557538445881508430313051806977859199705476743492738913668502998202866815651427465880725185714377197637203455547566826849379670318998593233542636706166230773449211699032364434236620194287637736745568548168178167202719973751389671270428575401299437509516658481910189709488042199107132544735531121384623444160056893242990932236107264264173305129988810698839793790303753574759704064510707311477189910914754427778765801494839623820853671274611689202436285092055095296422239978037743748221946553760474118437436241468348278748018424004342158458632973485612104838678992879882452149671874135584399595123076623206522381406560977417140895146647711336319402704977480380516901179431126183698070094880712000424351143921466241906668507680142036361698429140857394812742601625662158004593918527098433289172842160084657811024288188894068716130235745832551851011519447757491363472089683292143458109671882081883184651190728880388376751645899273886628864490820610880017738339481873599596232746649649117703547495688381844989338487003713397443819357562213996065826935729242168972655829295517827559277370730561371553239528920643327153519728918751433566449885294675416793925133386879899345725867121190156186637903859032025294723195619522363289033496570735899652342110444115964475851326995284677942580761638975304045041665306674356185413416525187829898716815832982035274566187080927919842684191056226723988025666567752244114652422520563660394018323872850935938190718169317883787454884770874020474127464294103476271135850751575310555615286868132643213346605771802319326548124594965289714399641733940263788469203690346879988299382865047655579905112965792768219713865418297434172654411670677609323188955532142412721075804664228794497307551395467211934281855052247222581450704914650219156499399273754145712788955530520611299784351493915389775802097853303500869085547230044549003722959990715620016376994226007004228014341568482197984182464435085205681624198964706135075864831450521865714343757526997689447540128182345167730349291209860225543911118347946884854684161211999472158522502497615750740459347129399840498600639096272175857969602688200659239309966949159879829374809725968277616186402672466105124198931359332125220071475110235075281120112823633641286278855752036670404785640966689171774639283447634878212801128257972047567112883557129218803409280975885632070182769593499604237475353857900755718107208317722991430721498849695387764318077951666199334890767380311798450306169865796875437783577282191187387473322715162637321362163469783475244272365502532782608940646830584528512028433726303069366625113301067254845282322558686425419687268163581111451928834070629958699890548203993997295233518935493334769435971878945867194152431825461906411218282358944833544114537365282457433292343792839987252913863068277987872827871545552289056708399398494594870451579071060372588497723969601354555166923474206513603982128249919732636652539215600946330475721435364855249620040016954377614298031289730096804654109330323356770226744383884257563400891409926558804797942953969437671429247234029762342742993398885719456009021494654914952568016512887087017559039229148239686794065649399135339646698411519890383701350347419812675542891046097929131728678434183591881074393099671634374704088315052091721229405025181408126575664304704458116326610589685667157387583766526709382381828978659751437504509613890433540079635252928029002421721259481004525629088705109873038294909489229192125918099425586009062975319699929402049097781876956283092317148918715593015850443744919509534572157152328901786937596507076356294509644462638258776877967948039271672715359751947495160850120577386218582853220285639896554358941058273141917562373271276074258492274525794868728846309400318880300789215633866470413021260932669134110827153333330477528229400444976703110013614574537456284583442830690699370693394666251740324847454086288734609049399052483949859039135175921060988281745834394387486422630009364327720754166832648112385024009525441261650283632285145826800486974697060987079763296519075683550374745174150349400774172199268904647672849143921705022104620177487419880453519716414250232245911727394834066421799487652266245196447161822653293125074799359690398939173085096303326587862076869817831235752040231116211415183334868179801796934012770809759722369777241858895422408226835181451857936181597120254987483930588860129020404666017329184658625860509715718263371718760648611930079495303760081943874578673279496184493172293151563437554281055648799055739157752940123955968462671340798856456215501309863654837507026037821667731331793847493114941189963496030606671469313792462857240405143102622766749123692585758977133294830743309421154943820952970034561312279321266044179660522513381402123459811157849981197875777031452167275781097842457696422773131437901464646450921772717066375192642630488675152902497422518161882200231762747859625510449088624552749786156987935785827741524466898554592988585627548226686737719580408929847547524689316965393968175589243873017580509252762989473022109979581182562893418399673780081607524887116283714426817796509772721214297491054623619596951511933935263408859920120804672696330488425883887202965426659776694401587537115895174935104362621726965985953695222206611167738156687533411829885417091197614062756056497426665105959588935219170396125225995399036179816612461160209355292617099107627727058092424249072357462383328748096358161495875979727378546699241339752012691780052321641409750879455998833594100496733471141832803234104539623978322053132950728697279514158562745995445954417184158363763937142937214699850362879586985838984828493779489484975488050735976735828178670116941143762671617587992342502023652782105099202079913478627955334292735488096528993792427991626296258938692858136270278433488331479838020237486611065714759271441494157844603022001889269477201295842742325510629833575873185760538231285522025633055420320216097512511181603966695841541461235455448562000953455044601214847492064626973263088949297461220694736336368325624043869383184148215489678623234355387530176510290486682785127559055263761396925803828945768904615981425777566314966334602617378324670261120808822676862311311110949184130917423914596753461019620848384936525403891277468828241141091278971477769673509794766633725713380995440575429501159956836917809295249245318957371426977264567330820726629160524706821341537113445984856882907080395453192928147441387165876898832298488102653831148867697856483860035845621765216075415704358131983279508415182523329239255938646946757624226211862647263062903746980073935062505831855261641294200452173329261566767889713116706518306896426378076724793573907298383490699363751400476997345168232713457791364177621385932802606407824110616957447750029644417216862403290329636275990786011522994833973313144870535146431928745722815213528547717459049925156392819835797158907630404757085394702096600753819243031952447658397493191444906856455595380238715838049851510037953534897743295758346473511985230777218135937290023628312874439171547170086476613149514999938054321095614156012550134991662768634541883998925409971214206947766556779185534808653196899638037599753498847548423883344222035644562165340755517127817119440626099498323374867003122593975409137447414644422894699947960816536277087126943392172222958754052366899458134393918622627979662343762872152498248078860994839125327610252029815554674536106482732822154507747035816572339364326584836076973712106296404780442156752859530483302273555189156128968729461368886868100745463486734604857589143788834745775723472790800732747235844354538405402182145372999264588334453466720352705978687408112460464854519235825936627213757252758118289849492419125039399251315489691966989876385442422684525591394469824053430551451082375929312606590367732891555541350893874867897985109969693270848031918981852683779705055309530223910173287986764656910109863658377873136375811974468191547198571668822847197742163331479132655074433961193234171792557124570122672643995141467143223518730860884671629124735674836437568884610265015197329135473016064128696103519161580784472245655049899177058512267087181776412474621684928065172032338094712262686809606503195576993786303464119218615140914417471355725977536398948400735988984020312407075021024914350948982896617573884906167962048842061211142136728918016143146567691600254463220578290807451407819175072505600767615213782376681182358376331834436670433325131963825203901751773605880559360251359882824685252376926602253567634401497108409586731790144090439791943301665486913633629271675110685770498171727334597244239411964883975789669952413357247076156682145824136150572191530877672308848055592114202765280758809675154518731689351725390877132993578556437166749859773988311366490930017441925868110110804848256234540260904501490640455943213044747432479929142908623459801076258149703185877378216345715678273603779292761470639510873971883873605949946025537444619035021310128183416954170464963993535696889004220259675334128687851446815367855640293566848865711302498604451894850035639241499601234384621501086638705589343779702145358555954856982560659128027952557201002573759553576735198915065947899819197246841507308390729319846706485489410380598792292508901970763441452326749541284312298686117049301548292452001338329017748466059689708523048811781366899411775992917298695881894414739188033258056393085992819023342132029939059526052457693324356788557283812745048170537254294134059726393023984146830385137878881082130038279358349032499416683550833158553487431401827819475567286925335700616273853592832820535372548524605747777429646009103724724655934868376688176236422351467287461694008167087403372864844766389644816072861386843881832703604636138727886056433697895819721834651340697276442816921328043756899318875478861080210803870512022728622982982662195128452652547851661420642069016288380164981689394842724673555081509565661775344143296783613217253446807019890690276766256589198151164075353678879414928777093805027258081872240472342182176245130237520994742789935177526647843875699998603356711513653251209917563963326620681756950974411792408046743694642286292863671534805915264774785076389879508512258175188826517749347909157278154047563011507562412158517889911126565859568259440325970165161382624957272919726689866217073231241779231276930426860916517511947951932726036548475443981533266344610749541917097448397327013292964552165519831522535973116183166726866223745839225479682326459119168783485972288753457364605989390534608051905783189276776821057655329262684272316169738774315376385058946055465429821747212993431619518031117652990127875500437468662307933997635424528512498547381230282271435393389613053037897893493035796905034185136893724817891453474253909703246437738241757339713388154533775149992287549329687316539013188849943965206396898342336774688444214569702241554765084168009948882452797932605610848377195594044295829279662223873502798323456048857808518389966726439941439299117714684665844403002111035737548107923256635949194172964987022538725078631713651963200007347288180997940937564561102679888524330985250545006214065938358687586867705685966074475955140157288196434063428662216560797436519743546409453269370228499917864559888663374517597983755625489822408375642066945365183153164229847034720855839062094791850591814349155420858492244981992256792678494480807755259150707342129648264284387262348829152897095494598870565497045378883103175975921503672644420116830686840034167072178447736065374737748827921277129831624854547646602572705121664430840192129902541670310097215445975299287469349546764209375027172529829762680385002153776676239114019592452583902635270004625183791569601067172495498979716438189113870549094350135976568826153022803717197299529528605315169198894289945954523130083975852764270730890299251514459795336428734035479020376687727869081042567898807887444395309125204980325181318525967117937154548434998296200639378824465301591509364663064444806628545700522847865593476607367130604541687849705930041698328476209672495391156111861571928925043231234899561958272641861669561122209669709696482042172312752669914515178122964072595456190564896071722624636181308135427721950534195185404936533053144978413438005803233958040072552796412591185239827985682063905237708683513325335926176928134293172182428204906645561527150828152241162112617594405520247439524076299275116627807926696581289880430300389842908513141391666610896451772423807577042412258487208567348932508545346419481400376311208506390725492456199725760361014522238636467609554161773923978712895305127387129706441367398410303691625553716292501721417098191541322971294189434546739269795176615461435521584812557545562324808009213154607506803898769462564523117776659719164495393411425254424189220551942964626779948329073451773243957386742552475726533352266898403339908721043635556387718813759314617616602009517818991874977048961839132095316334909837655397222845133288897199744458122694205594550549985311407353860142302923429775384986664510792603558355336424943223803355434882607702844293618388146316884233092148692535633292392676826719173602885496863460378267723958587110779810335611692820900252246271301228582633601433843478159282660576968427697496274254576439497743014771643616387426813998312538647125208174832118001584742935985731764106021768425349906029901240434280153402246318769776379317494789363432352632021504653974421972152314311718317009547922727845823676272704280142612911515622645514895252963012080335295252670237160198236712836171834155019596965350345679063717992761217149546679620254013143076479098010333518913963953263769758434982517502305100653355469471286329354814515315214622989432645129178037214218299676539016152912803523476678170248527490503544148776623416860849672283572305657161314122315356804507457609368794121779337641191030769437413612479417217095774964044423711351461103635979897329666597157537697551300582962808352107239269321964433471243594404475013518742068346367221151635796860284021859530339924917292112547987583354255569518012665031231682414744093554474854855995250562198645484217097276575041630776941083044649645912746454762313650525664381737215504812874588833735448146513674561469743696185474225845164961144688980091065080844004096802861491823413280920195273918924925145992880177870426217144334878093643280478560391166962496959163162715388335496587500735338360456750177772992697815044817364660699105680193723776753560908814344752260518780460296492342228006649242968976547383207317881549840364965079941010813778009443991781326257198122385354353901994197396817466158222105873530263657970054283428467315672810977373635376234024110925151257836779615836135278062284859604245247150314037536217323055504941387434026415831299438217746965750868579730725555328682782506796497794545295978139318818001211920396826868574646709982801521810215430580508321064104187893113557639457513144453450995649139682595444423851080759287960329590294451333428315543793066048594951437463846252543528554263935484634959657191558325248947201545433229017177443781030690085501751789432518417772138298919257771154249877795694215382428009081960031026493488657981393296094608228911411796642982019424399616836894079048098554941064879052838245508455878485334470489852354684682425915032914964238601462366520491564438052807299936493916965117731822405661463654405387007928997444114689595552541358404562744840669509720544835698218324796826939977853273138140795862519829190031810268306049980956913563585568454011824573197718338557173656099130254462172276585971697883350520592934089589529536965586703241597308272604359345443385129735138400852700441913342249687066033370506116865281325949666991286192232180942617347919546659452268092274539050048110757253541644083775510039737817450702436214529423517165732326153365053808958091230697013337506287861897526639425487138122840915703279882761765761670945715632257110633871040590287697799810304233518550685769490183159399428653040736550219597586102480259389379165240436494051715867927551435985357878685823053144221496935518798800412182388887627477371577273850531892603885283256473999365407062572317777696456574058187256726911224635753285729308995568763295317148452565819767990567640415889717623976958856100471246822692374642931505375817489292567422752561233616582813542030595572972662488019113059316626829105155490495576963456411047527027463003407940727568231540328069931291328205920087843506710331252623408672646887171137843481260167847087757484866014527561140808699712610557860891579173300674970219509916489215088360612647004853374713096276293668299397068961878146050284940012707867306738025348477891958161143475107716334408515492692351049548724556882457445564320749910251511161454202312992415246947910358584886930652183798220089773795438767257701927246324862491312999328415834428497340443350184380743792143095148638423044533685189929199237075854666373094284465145264620630875138543622328849826123753288825116333530415468845468075211148421278295231278854994807582363891202377829088871375933192135606548832724996594667515418614881213138553174463237866678589601573829279406586532202701616220187122512936741892452988382560175134460183501513541555554911521593593332099634706229776272877126084417364292093314928814427512630588478017223748835403974342469496043113677354793453106155664979630714140678513838077285257422466224085108765820517769267099867314340089382504800550370753905407878811058155320673977473103187420435034368125728635084041846641314776744300822647094669993412045171625335093176045443263180188598554846053654050604929657523785830843176278305258402975969427537331476409856374774249543955263333881155923640250584459179829536347013740923667274514403376937509023237287104568692589818712420528432107961143667393345089110685189804819708607583479865591025027997518523662821502926561286050581992864361396192400419428452127427210883710731706245367579960997408537419997112500091664919244475996152900148089895591197449979300841602185280717423671786469919987145885161723307840582392990209079572107531649217727127451130179437068433477726751493616543803504098221325339739366041359545639278003158618277124154718682063211098537363693774112366716777062536717304177510766936562003162796049002611012037574823249373345187934132465667580788221314561650289448439265061687421912793478141340893935644973046884292429721726747443582436237093251676881491015245451082881006642859980372062522094455324618519132034822864259283891513532311652908232648786478655597233640464251042382494312132070035347122261737643535403412225227896291165254802313371599568725076674175161266461805124750422121641156222443624343063495494168224672338581616751221479235189617792598928284824683481188548564146243198742078569239679928096340758750414170850436529257944846771568294570719862017032952010837523981506834204298326150646514331296980920544647322062043735175466263198830733937421423851944143017314993097790722177325446234828593580215953135481465534713946004936271303139051952971562533891826157496524161746741821783225219512813330556185283482586504415124349905639079371845470557182057835445312063846892021233316565661771019059539484832633666629169343692581154296340496749538676449509707174266518730306708052388442087775681862479335543538354386938668041504235969357496711306924607863554803516897287557646805468774185217381688192773313101728399361094488805119061824648764779762999510350438507168557235106725596147844559877163670899074959815119350600564685680628406340449338140351883435014543690723232252535623186260821611337311139577954491324792670039249869997012574023846270840005243499790942767610855274673273271151660041256659440287682133264611687382441515589563348517364076479833473674076361614692577053563494381205835365913379186447859203088878799924157551125368240213364643491661466245712559491186686916525302298780579359586395171745375365534100789259246775180121899674439308162431728701920278331748794233659380105003641986207065509231573608965712613204857593319745837783742937144762361006071309898011451931655109075626894241732509914414974897850542612988002918109285600694001287290944890242228667208759736590944914515696791391836068631669447451047114805033278489399657873837005718820779191382041728124196763637009949518675185867925898661361751250663912351317220813207414131389721395288017015689204912229949152926448941257767199595403411357786908531543344417237069853028949244829032529077636635940314767082353175328375604649555853312905759278640633110530498967449477282270274624996213708883512654422536911716839143225896726991592662773860783356688151412885785868326628972254725258719523294695221510529710654071534192802541426734441648434187471161733190045879977640549130717153196547696978657585213864335108385874785115333628222719169127631411569492694124814109924202308371664088337901081732106167943264708960854711116853626346256837072951034356633453472374289152634869514498887137436641299943280127941949226584492536174707368314938188023680592564943019446987087576890340454152219853064466784667631295270386356136907913647738924650041290866519370136567415864745915322043985350221347151294776154141239779917557129370650987913705790292325583949720630632734173429857030624282436819849883322435792802122865805684389124318261591072147711506787296979197114995287020213249577034550170572794147054939028033588150970588456545804431710016709532160196106052898284488058159321232441770880352023113045742778439500219891275682741087672837116666520565820007257246925021276614521379915330117002117006011552619531722139970357818675504626246144542588612536854031401235834708918923397656345473928273655353119915975232102872814382536541033972376523924250811996674564161386498152717882244804579919954986723102176002364176751169264148051753985083024550658686620400518578833934417515743761037078340961741076348412470749927295262949416877203743346007875504453501873011591352250621498786883437730990403586298433242826496111470284711609921054800990278345834994810637125377135225509099136739565943886389637332566188038249930842751277851785040530799907400479978706202551934604303151828510476802369770511872608261677384021317949685177158728035255941701943046842594206088373556500894306590442610413946484457705495725580796651716571866562635373790323781574579670060330977763296949337713599848830235851358107833669763007820452318595766623170125898562241524131059106451602334214056130278182861086781364274693963851787814925125678205598894142785224079516073552469040241369852310352765684983600813322202164267143761764609014614813521465672061861067423759586022444831486980111646256571658154345303787032290452251646186376888392807058509536441045546594505356856365480147309610293290116398756143316374459845105583582980431030414071283977997075784892644251935774527995156890672259486680511001751079877381621597644741234790451978133522561625411017566239555505146461855847338664077543642181881003469803098451914141087817029851203954496975836948865618523763652168298548921268672412007837513671339778031410263490733346750092606389480897592170811541222366760425453202131347962492963255378254958879534928081176565493568738473261188915266689830739616364988277086073775953812070203876856308880526116170054314697174989508153622845118338890786048940038890872912857971285753501573835781570106426720514434417735089743009302811313131454981278742633187337038015467887553333907305443025725927168949993073530771198635364104661504414190756509845762064631744355872213863268367923886062671919225215554077966274466390587928752778174590091171245825926221943640464547778962474586981909868903281489673266259955731344882059250122993735144154808579020791302856751223310769385774794311824665271423572529255553679907596843123405875534302273681962229106196389408933652709777149709209464451349871941128418890345425868869512700633624396748308393041188377615978867432791330727295066913446266338151014331781823635190408788441644428868407109569835153510048994093452921375512831268003694087827553137257178577632679851414768545532891165393152307862091318733125887451774093446272512030045591820998274720439025882172821807889591298558602901287743408240428514926193302040911174999194536817375353642816570946743978158021880094966606631435698347063514128211667230955021405961833931448785823426863371043526047979054397814245726638358010080173378742471592933767113341148678738675709508441315938234287495225153619987258844321993193692317542816255844965256389272092601716880992539817145726472909821653453632021037067580212556724467712532314881827027973624527319159367488013144208232185751687088400439345499182814195941834655171845235397379550451594453625086797895983417854138128429433697457898640893850936338635417715871741188384207514284649825386542575029836096154358490651986580264895235628565490618514905670495287241097254623183342937703528743590852756247687360568411231213922387629270484723246582549786951063327438708262908406853052414037580566745676884352861188506839484177127421884912125347393643372850914490599357754824729313595613909583029457656452607590262764182742752649372503880421860851065699819483028755980668629755882091982586663791825662703494912313262230227167999761678879161062606078946177442666275682940633390340546282851576653939678576472457953943084507842055251421394193628883514976043245059997046549248461412174019492439946636501658784215187820520387775326999957477673191970566893588098315098121921304168595163860432100788878093890659857386520013665654188691946976673037865411564783007314637282745938349841349666689915213892457715674553662246041784265947633242727664783733306690867707266762787522903699372489339498941219619174766438577303542170311076159951169095348887299254932551068100537509064057152901369424732260894727161207475989266960753766886582649660757420643262955572663486425887740290180571249420726880590265355033144281654260301279288803846521924767120825613837462812486018155495705191738295741966499863256608352749944704718884145431781286353586579628062456875635412966333828346793588995864609881702242436386202618620825375166365431773838920931293392485337273565512415417470349246407215642204070120948654948922756484116249259279353279718977926352508494298796576778157343419675767541964926304512643893080263209351974223351706954213084544705207546249319465720753774103115446428235972460299940660393032334826288380898912953869603154070360347724325542676294297010996598835648176211421527177233705993909555488326824596298419507377302304062954459640811622401435566342326471578868796116702785233407518434198457181849400662241883537211821588533691635137261359667946614509300576250890712899400557872177500357026347824048036646323554621332571534876251223014019737131352671016337293094567429641927572476302705670333612995828699471766175616397568408789497315541581718311755118664305626397180643768295461191588425658064646337538833621195821745703843880415717144845413477683116281324863808173679341955891602862058155237351210516552204813534185967378180997350171431895561575619202532383284320179030506451763481284472590108839538588950104246234624504759618798144518533166831652582514345455661918118605664714487752132718815714100615095697952336245817687485718587558939599553814620813217098062528032597508736722015847439298671645383716022173941491759121669626592128872285277963343544994304183117306673389909213449419461511768243810766410765237137380063656117894251140559672515826356212881945753480926003677682217335364113297413468612674208666526273029263412181374908588614874290636553807615127367387823114749116339462962356827285034317840192707873358034718925890374593545559944703841553316634249407409568531839161137958013328635481747142889728767594770641607485057733164662044588116019028911685121768365623995985381010426131543753247458516370134383333948079127960789230325191180531493849194760764930439586572563622323453507714668353443852601961300166345698110946799603866406597067016455539069474386214028407013804376519310796936322947923760999775876634249285796844476174796079374550494404022410215098806303737997297364356773205195615522665666461044953058960632386227328270846059991376171977002765344492918186433864534717800840131390541376750959500217667453259299453847752904374627736448554122799284955259380858042066055716053503664839842617698466636679256196868717169733415165830605813600052870562763648332517907610943967291585893928041595489395553636317793911937333120488211462213537982917714824415683314141256164323989239617675326540229016264312157062248201749097751933958771881986098077401135352486684811186291413866234278779702692596897455923742089786666645368823163812495385406313154649944196828187381676725624719419986631228579228051004394932003296521427837369540011290422200985477422294130000061064648502444496447417410787619078633028231016176622884396524976961680461657600328984571157957442712429815239408885724693019954951783903259573768713661986867290963779632449439878269985411852142841111973688061161238915437205935970344468174903095433589875179185524160150212550740215424345871578823322260385877212714449903345701254192897815389195096171370578206021159681299323148663306983767260877697413977198844049592788651493733761378446969822284723557208766034735244725865854587897110465003641553119489203486233978118788404799696988300807564473948295028141620186839782033976817624525413540831342215974558336695919770164703151630034595331182872210487287973660842077340659244749485102979422995764627418320555202485632118596255501249896173887178092212745771214594331807838711769652787645755960041445532078739993553871412343482356385864919984488594269795430691948819455636111215142016403053038177027881671387176572599540378120010639089952647040247887821768660881894494923926063662229341469889262973273945973970340449872776502332837813809589334598491243405599122839554879421155476640151190451693533411923819518695208892502787822096423854701924242939115967893552469149742988935018916967281343726603938662751526136706564642944226151578927403358081335638529393821610428091917050704922364793022111617970642125791854236259808872534766015826716339259005379872812758435298271330464332696379945737829732693335130872017163187976085466470067896349041957205715198228288920180731999017495685746313344468110355333165906581215834187331266939574891254923525399185194006782697543793960869907345918924347783910896900285385562127892301924736492992992860708298301466645741468872386665463647336056995637391347601387584307316260532701055404886121567260021639126115054846182600404022034948941583042653272667754025059400951399416343745510519179858547230739789674864493210743286369330159159665708982337518131156769605346250981867768120636778019243304352764169064173574285610854918305503811633865149125472279263477075243666805041497957857346697604758914565984446928793566729862916195369508469988101319163523857796837020129980736148631535064729957628747875614111033715794269537009272669723913115975349074168925300888350848469239967511827114238497512266802311807168691574541013946637883416931215712498137065453085321544897608168404675543529773733637608231652103718420148925948436955728222514774460204692698783478030712024689647400309988611422021703326227637465025456525529098073036235568736222510074044737748820865825433695704054920699065231630504462361839448413014015680056179079216577115289369648852760041384626614115836210811898485790129361199587658475159466859035105351958922543725602791745482463310558098462543559220065615289182932232884726443998523975093855636091419402420343516688081860818384895283874142046866771570898602269656763525717368394675368452565027173926816595890132929645797256846567835392473029559029233019726774206848596934244092245954435886478557216668977359266278469655710645309068154213761956599682114653922566957293865689271385711588820452183760152896524026296490596086030388736360072812906225860566472216515553497317510503063853158715338913768559911948847474738042716641226659495915051033344326828251763813216463955789983932873594071763531925093680832470425905764195733586203712824164238874558595303086762935219073631670611652516643986279198978102282795615695362649239647663203282914049925270891720962197017092316103764196412974329980054703639306371489661992043285729540071500244628563199461368686603597813782898589296984813893907952552015275821287838934069927964028021184372757573444837071648728992425054682825450366304165209832922282850634032730815482556023393187111887553798198541732631331168976349025993444582004519349237476394494824819877508413481362661453973332230347268928805772513099122703609324913917366875752563624892877163944935374097922874287156694549421944518155638271239872455578759801326002003698717412080766942047501666384778520578724710501587098970916772416416461773383100212764517246477222444190786381165312773365435248177133762921274448253281629114522782530412628842578872544437058846587058796720795051244999545239947830384293666266943791204609869405685749901510978406427210504671547138899749945715638901819480257596774834332729637488091799843578374647821507637462729385192739440234340377294024303478677933887514926512014470672098021970272872988038840493451346665063145325604632523974993955180766380590880773544939132172517881117661109021884652251265778029366341819213134750409162531201492988353707951169278137025880821945232261858604935363535817590475235302919266161380615202953803038442833914624087468370529347158245345584443663679969939815394275419232944464184235925997306226883718108986522492235743614253035194084030393514546897197150894311303812393299337390683490498707276622544572000643269982754942118334349138628316817047843187565043405826611210466743320108718666021669321830297734132875741157646505380181229776359318231088360983954481133948630267467793185071031648154539681681113282788736242936137892456749715699474128714823907716321655869300127173314526914656534183228883261906031291545845310172226611364811430908612263357827188541850188235403735179193992258833143729362383344909810141490963476080355894465748717767161608188411518790274733314840100231012483462158947744683319245305644128945915477784967144942124517534511038589667662535788722112254844853460572019041944534752622865089886117233679867233188768153323792216002046382314513202821327593020121427136259834285818025742065683629221299732130285161232094629259359864297981605679358122581340732163460769215723358779377769423767981225724118326421882309231250169028637404795453254292872944667191326983759453782013348363459439041204927163696189227425453598135148467563212573811173162171877022569753148004144330315968887619073755844806048258469353896477971011141492250172997913635278934369468632330208956858512510599977335554950760910366355235842747560399529619422737729518699490594632465346137965069326509888641158882654432851721420134713451942720836906256070285941973565837995151091553761537197220161896410626996050573476176136120664104825413362725152494557305760542709849682308246925496396082707997861201459824354179509750523687149499716293948494421417214825494994525056794356134042739596207206082499161709535234340351184636103923002130973735340923453511605848326945844678582894354448679590459609629437117960448566330005913046673083400201595646688293833840454769911501424060203281381804948158374673511866686937301501583363873293049599032099576871349376861249214742307462788446970680000582142559933468646198700439401716041582306578106671098547285455739902949971317304317194074258307658346398644375811015075303513931974049623051795292976770952850468293292299258251643226875902553849450164569071066925034651946449948528498894922568762814387130682772822080258449449967666455431642639339006386854167634871148034544150824340935133757873228841969951433317979967165128797551795698461549963513645553862261115801972169740341999141468077016087268580451355224775598954056785733967174387958268388189791269207039824133208208884640209275945585837425461498232345991423618648954186604463384697702821998180907953709778608457487722304910397059719749572805746376813475384186139402379817433711556758229802169768595914963944413674266096400907989396306882944311721917266699206074137665459392680631044264557355134181887202370814942125886523933938933612081214351931852884165667725256993349831088182836884954803870162761315091820189337092673248232398975565244845937148081923970807454215223448906892354397349626466651991647203472751581180033315852371651978799759666132721754062388824209215625527422277698123398569654122082172003213976519970991274781486896530925858681163249835145045876574230223381341745686586131523643181453018019045822891903682186769052480869637605459261891401768355772074923832077749023488787832667992965069727792344461450360950258998583491021241967073229396456030078297217428566546814519871352546988328977816517185248736567580857905523523580725013332442834537924876105555456567293269362651089362973595298635368477716198421141246073204727009748314456441992315771882209864739131642497428814093045393961332304105163745995597858957082024707880825576284992922201637130429836991947507937421949885386110175454746949432887257039876333029605947820429862918195824132074355033851660484196074481418332940379494237567424831345906765820779811606139431651595686460908336166843048877259669380543482680003319774168005278118097064027495158453740291967986583249471126479477908831291434952376183528684402739253786747703822344481045611626516177475335733966237905702871725086688619867528051923093630170065511643354590430878486260187681871748422372532414988426857621409950681496324375225173795374100740813713253908942009313788710011636861548514978441289675257548031441132439050249922886951870740819935694551570326262094024252233983737311275993296954739907983852794927247935967378247400779829612290147020876094397049978270279596982308976112868035838140589673758664659961493013666622147086044566868352813360409949262631917132598177891314732182533089692033165117987473726404544050520387122691116111110457047797594502766046275602925698875711677008050364238235713674398384017612928945405558460039278275233283675973903605204394295395838969562107508135710485581801606996334248877166226110439488034454001216672994099501806725177299179732069938487297593583631548134849582891058863968209568178145682523408777414469246286418657743905587805317424872443937356880120836598812922478939346320179797238934477041645672768360014531639923761851168928871981759793338331487988016365506056111093937033215597883857245383374730614476424092162023833433644659794783236278156823185802320707857773612145443715691700955451911369915523410445799791159312429005399221629855887572830414218836980821792947852475929518565202512217246757530244368508606344576205508683102276296785960762327893237655252549794404416439502393323020488620283477619759765554811156490158227433975835756781195590216523598013099094994383798623237765924795003293601821448950379685354745845770166764639575962679641168042770033575887949802267706443087851356920545450468454714528670234022144325508312850599177441256989621279485928110502784265527489934091717279834408437864228196846753179120854640814531537379688544589270519746025700487940835146213860488366612343186160227852427023679759662885316523339618133054632310288220968150547134183465163076561759987997616757547116579739384222876627354435885015058370562715790796439280380320974904784383563045532304207406734719015044678844228797106084060187873519858935473155605344557868277962861086134539006686937167055537720946461128599218180092132662138050934938304117913692069150419890664744999655008627547312842202581939477536332668195391333567450968788416460259306828825079393625315111689186188017420813122365419326656400449909126742773856442614499332539097348554853768263335814355329812875716140744574609331749623155728129487099260005169121692655603296210702203961943282132104674742764398343345616766478916329189152333273559652777233335643365568164594901195814158596988777821712437549979975737212968149909275169666469897534973182228575353352467275133527361068753920516934323436114252537638369733369406506732317505694209277932266548920492090984923903044419386802587378971212117871999413465378305573278220275208521033631193634143212543884519677234485642245828078620864347345607853447307726999249480730146707800216129212273586383468520733552439402944689804864663808095881758124207120867413267856471566640941831655950291936341334892473796217211453575943462857478963416026912546597233114626749032416323895724403532532214917081346688379155469343735409184160941740935034592523659332674813510387744829638048176947291835802097384183496667726376225257348383418781838925785496145539205696455988425728455201332982123074026167974274175184476158764388817664421623718131861359775716614665592937738240707433863776304661256853594230931629794047619198955001511129348003599384717908347445184958964491758465879128318248957817654455559793860784598586137535757531593664778035487369582723168005796152703130174275902132387911246499989797524503821937610878235695936261240329276721664931816262180751425706701964854585546907563558330295007612531281485953095314781285015462104797697525589745169061465161448156941961659822927858616872880727564739179334161107661249878276780416146538711943411675795043964279920905415663817002285698170820409364982215197019459830123634265647213956173825175885787284077768931876803862302771998163848234529387369136335312827903707147055396064318501943767199342508291249665626134970206562567147988186214161897278055668124322355884074501398468466248090344320491242362969283656102159285756922352087144149248148829269017365152163650982588014158044421325495969354716830785960433024919228858759262157835032478686389212556806492888858319653796083112288653337136665012163351730921230194384491611565839511312161784432255953766560976765364001962849730777708027484920555098767473593127668727119098904148883993610542288798246637316722880853815175638885447174325791706393363671654343993470389173409759457088531496534122985251666276303218414283487290949675741834497756992379520181530344110403178364438159374386859171369072896111052151221875975847589297853149175973617661210158704289142877441314563079933862650975826742931219498665781922115435927788920120607020513475555648900530548099124375969560781131911742205956532455541547831513171128459612592673685274505684163202390239953305334283655906542583712487664269785628735047914311947079139964606120810278566770080987341448443671466577198376251738250120308741850174775309525430865580260415917136439329467204499511473746653699367660247531944273529264904414563715178700172095480145292336639723746938228367202345305196207824838734867416361395832281030252009425577194324707130882586521928266981264867959828981955176847672108753343413865999963462692653849994901757244071473644292914588768045912762237043812046651653132122655735775120506102400836352146738640195263889121159333619975783071843243396235529687254996448719956415999014006771261945516843486055842883480263032681068807306022031493164732820104758477424373011626009830057491896633390678581130847862165614988273560867748174181162527954865997516379463494673177798864603123517523464702419532649058518796553647511983120733722780393376412116828913246446230472946311244071894782827419645070824058245361126487981541499491882288046146476773062886453120021292132512423405100796496879958864664649703374821550693438756146688911