[653963258079440525303795144450126544477721426208014683824327687121103392253859772513737141867445994483804161207629934763870455365455925794985540463181543154164940175032246993998924487440914445695446655649609006508442678754882581073053578247265474523544646602232484042139609933590679578987728895953003237667218470716054688129970435938461740772272212133058284831100201981491309802476372861164788771774795324171462820879030350937626791952456892664133798534343859441120847493583732752512038755668036756302823168509849783028164093065242799369113114938338458039677873013188389073213310580624436455589909543164496170457451152091940660088518396651962929402650190302126438560951808442784001451735903433984193011076143663100399425061275345164450904734349630827021064651964648646907543898652834473281792917183785637773689750387327499825387029946332358576056201963645471540066013190454445139666100409533871338352383428749392048558025396707756527235256066462295967484623173618999240252080208010467913088697589174548630257760202646073860076853156850433154243793374553878343725439426069540316914992112375401465112397939688561632314520776831213915030812172112329079544822008498433859097219361886629649057255797552413392499309115621921315262200914829097048104291033646660621068325756547572784911628441168734367969785660385589111402135352257968028074365107404017974351493411603082861403843230960538448567819789433497704007603060142238163810084950796824746156616050456661399956683600861426930590997779815548462391569622273800115418930615591749313459013500399820998159475768352349506447347434750622772554184132628251181199613538943128386088767261537515947182913641574634764739343608996905247933799476824026692021531603068406652369917278250870778832577799851476910418216993888301701663555210448989595770949896936873660674608236906078332006126858303652254141460145684158662685311714623742130546033500940794417102319408876396578319909289392060410919878128448227068630972493061552999865143586276151790630299880652157336090546174332652187871224074357504597581374333294108923055695526465760763766433431110584039638924519037511973955244430511219995251729081403525083638910912630496297774534288259472962103846811922455808310489172612003665358157044768148755532890157794081360517999494045583869975822042484413284666940527076404807005294163743146140443941334828130480558713136844284394681920027789385726066250130726880503647839377042586288491730063392775640567155623284245785155717611662225097413801012419070111972085200660972297652640331455281464332208067962195139239709842447230556296234684728285534090471110018561265854100017121797441119311998062370631015624424497361172980665765409540218290259780890773309528453230009644498441034458867449206502977374839361541699664973641184014738514138611840282971941960573229009248154734046113033490523012751222338638152584604095436721567968192248031372400430205377996543807444476118198443891629880217923397990573179728006796123209156290449777896598264982026736664910071392544635044184897887732940328464644235562945324035358179985200451078924177701862491532817305044652479075747105733588986971113953041759905366075985705451696671217693165131137666190290520887247861079515557243926023052508651230931898617340749004346556653910452037283557870294657756562997450461373906893494070744668581629188582325813045088726189502774592537476342779233651687109747889173064035112545702864764701312361861139908161939338866562362951557912076850492619478757475040537143091127517128015699821934490546225270638484973109045873756166575498443894215195953779219850345418200283499658971313436725110725380684761780423711221093066655561042146386373558607058571364009422410001000292453947138751193419728325779555514831414324577643941762722983346088398943569902607133261966990611258742026179186969996282019459438255740070176394749806367378024699685276673708065365785948187596162080701623152390106494465866937433630342295596530929748080321405573738943374055305407263461057625039966017861689833165063982890331526702524404004743797476319046572908688911382614264362217894477394515342026690487019229538619372995444133734254406077139977189656566758371896874703481493589088966808022600719930913877467403203789875829276339879687197776530809967249231704935976064963257620918498916549820239600292453291017203343720950130009081123271844544948932426176019739013873596596590241096193680654902368019483242289747173513266227198247785582712096966824324955127497266556851023859060218525260824352899827758513703843619693073624390124684523600349370508573717551304460645331254978575079438964007385524739477896363020385261423181112615208364394624027784919948882145586083254067735204471412709684089495498200668944926548706659184755962809038106790408558214561531581871220486394304410996325069979952681106221262696248271623405892115024050729054637003359332331425875695930153312877399349181532418294089826671549810304173433625376444770211323987097040907673621277763609273908575459239872851611133513348171132731789615284709767798140050057035081765902238099561171706924710951209102195055821943769778603052089475569528677180062970590864043731147013009690465654319737857944464040710480349865569014960966226613493937788303186831230338891636209803038946314781617337773580027702786537743039473215625411293853689079240524808618990434656618775361805861734966385440084499119009715821234528744397103955217042201316758615790561730354853589710831581615068810398947553870351405250342767263235627805488538673784199712990508837734333973087830057793063600417358204847570423616237832561061663630997121071890310963470133926808363495094277009932438362705804556706786595964742302485639875627476432311425920352126659131650008109546332905404657668784804196897662345690637451068621366351181362662110145309115069829610851408755892501341407358197447455554404088303421593464957037248568533360148295513786695236663290014578405950681574608275654370075099223664418719066900859870778853728687262727589386754292244554466757338755931175130198635079689146591184918721156018985574064865235698034757308365917033665311892739384638672636597051259874968606686194865614123096477438434359272813428564357144488969372498290941542743408991441359201269517033728868182246323636805364895562440176602989324028202199867746254191778602247490308137035166818077925940370203690520030643782934487062276874034219569570992615960042111793219658861266830359415042501403897913585457139877349255534719723342737022335037778202041453189180924762224934883141801058509627182809053489835684733680206902372283857682270226913458104757501719606987523610113437128213346927762031224401347357051438699393756592702079434164324403481411516526439249493760345107703767417519644679217205535389859725486647796725843189684795265701050751196596212156650040222786630988238718031178961436066698087926990860041991625387905443531875349597531089098169147255686778028594794842282829753555900600772427129181469483006892228040465557481972077618668918389682302568558084822815756749677177761042675387364099226379851611403949608449947879223482277508842616220192460506537650533496058232231633848606417941268377925992553904911513381414686608671454113097187781808122173324116981398296667225947613863183426003022958571363233444080521640921717993544887048744059415146695633415940531009706380409776491062480587485354350826274381910286204138102301860637226122314312017703225653063361824543060398482065552390896681491992003081231796252291440314594064174122371322232216297814552857827414348676758981903609660162934973406098935188478805968545967510579563009711606527341211409013856703282410503751844305217549959157335640332738017604727183807255855008880979287000966103886340535111489948435067133937254502528278037174289104402820054300616902914183979092330031879465162813112843910961111175010070208440437233742496597484624042275089759565667103898316246597364046887022567249383345585875114595193133520298812518372333941404933987774772118987076226546591310294777012842468321329085141459556490295326151997159602833144440077277494349979976076945713576464705223810458736197326632267035738559737552521685352755428454870687489840013040721559651729163005111917496633398612364380440529168173532300926313560160649676612440215766729867746430918306429896888633222011778717159707667739812970155138687677965597480496001451730775356830446229743278132815549435295203960339845466743958397422209726630519066624107345564776803180129048085880483136269950365436404584681480645603445965489239937214622473822493682074149741404189718076261595148986382633021812664495014211354002718066676664222621241993067570194842230563052122939614642968122179071269920055019102607993718791813888969049663871460219405651804430841228019960537897443545444802671938221059966339184172635123215178905446004943756027856019713946037709562451162422861980758006447691119799816028318351493050960010397087874948934135388537674178886893985191096387553373355234935074103166482796041454261387635369373019656889057585399704881015508613954262950891137048450450267423125829594085045767794357962022590221080013080834676598684332056194408488653225032959787730904939334727624888947337425816536901674100427110681656380670344768032961663106009027554182008621030593081014331659382461486541693113307211097709107771915320808370703798868879980018238887727532633741317211799648171545225079953697905013625341649028097631749238854184401653758539707649640751958237723707660922471204194630571832624961615432479383212381024009679060167484973633790116737613810245267442031767558941836800733989789953255286899798684102790181003406264903617794539355417453206879920087015508017147159618618003416080152695870715944873570450190579091980563318724155971682631077068843341336702067634451356596578542208746181306252438172868524364418002112602992780969283738611097145362390662213996046199434512176009731406315690025407966931334688346245678055698972619884973441861003390721512729765930573103450197354456837307699927015643220086516279023902915701432517713515925611697118697287741860610931078611593929277081686144084929436384696223422956444337937965849655925107136903308891384571034096861065860555912807110099992087769825883949620156777684614000470613594221544946279587478050697998256415796674971064436645134261836197927495727641063101310752961567483429363497233697399648743815682443745276217141847802462298706770081687794750697477472503988616920948633675543931372169458675229782098008265891117650766425711219739261585972653453522654045107788155776616708332162233972347269713226052278877957699207627536119067399569816382732758202540970741116021269910913394568481902702707667221228214061648534310703514761038763561729514228549949359407666118400768024891019432717241398871712337124265269063457203895131581444115708018040984559719391367892598404625972036765894648596083217308750576880445109468861635760467700528597488578754253241544355974545443641431911670726204304619313255453854742301709337733458399550612054338591649350133253543617898731976509641992507574741650271525377004295534360202020606295550446461384036124834235393944094866647494788092771464554861129612722159995728070119736821918406834344552765488671927010489863112267279490958312968300757976136341081897053981202874029611603139499309373330481027266592005958374611666325333860509352889250830932854149971747906932270851282020600013196905711961842525231267472808541166206504664155059583571933069579376020863935029077724221028927987315025296168888961786054054618612543695176653316873020978162729739089791628777384168801134165688602979988274974607276862932487578715151546343477410789483209339624427126958269792837989449793607372134235889024583481011905071698413953687704027462770099444635659823474730733394953465507183584869219156108423663705466745187697739003156935821757379166630699364645405035892900764662825295245267889988261312697389212990677512013999036745008397732554552644854003478453843898340205251060746792915775875234449725520131842141435156022612244785605346587065903048331973662095040495176802258442097500498554066359679949948390374850156512826521946550076374307054201845249071739374895987763320161664839973446046483286198335103001678960771517838526993065384204684593274864423864609695518631289358170764108733217069272167916964053342522017117698842541963828673960195878490671708850450592434297322994266881603280545902043121662316691053712162954408633473052665173259996115984560583410217896115178365311116386972402912496870515084642046908938509066469777744631551939942519216438627942214685592092233021101622490052884226484440412362317768781042575573452686716641136391389467294769869292700885969164359958165802992067797288505406756930562844808840317675719494761234877814533529393821628945119065617564546399965012273139514906000191009010327356664661153517804996265581288501957402456754144445116607887011654662098050446798938734974145895036836165883628131914695482233030374089696291966522664173848355588690048881058168618231341764800029015684408198406425183967357216287210907277759405374308332185785183574224547966002149253924000857856258846975671161571623813139485564193643309650458926003253386600052424294701953538366296023342044695578008711700182918760176760533361165615181197881526484460283693798073787020021198173361883186598201764408631681156053731533657749646178534273011723424208692080097074011421695550137281889011665820990336789696626277433639206107667750641881176388496799584158148510137549601073709655561762086176445243405079426693432253965583254071225225701872476409975224607041444316078199357880111027069930769236474656766517135945273898443637478289576086328484581187894446015114212864744761077371957264650685096344566513690809075166928823615686256721657653653773900969013191787931516819507919195016297070415823197882014678825529217598968845189784900354910062056887142583986553534958339447866951473885025313681130343118539452827779515864984260948509830305874760172440508061582090858007313947187167217317415542139113068685620014048237075452211623999572483893630815888160663955524564622863505499132521103014024371829970333326047977020550894502706017214382509486023154364252086120494961817895365743509385827416627649919258504057932483518631871171565624315269873026763546370168295291405143870206283440867932702215260239568364683535850839391264008442900363825122667481736083934263487362633700301109213968526714282254099704933373318392904363973589634171360286600690222966126072105435194018996269529602668128855187982058640234041294118272150716749939065569454291273584556551410570522875025729326901927596030733492099689647208115306353125595189359854860442036841542804714700834628212760163410220213762807459766962914532345761693674347054446963491435641459386670193766149231727751548139063461620158245635133371765202470350036533532209073637031547341787701203840071932272148355956426026567084906840731849875467704702147628657792978311046827574153946917422618153956367156386817111822074984178970607352212826559913441060588441521657492269531734848589126218971384654663213296604446825151816691168934098472987635312552223840711302696908368108569963088277418666390160241636007818324453107643361946673735628486193614794805477398286542782300314249190455119482885939690096264939902176189383065704191466996273853472071535463735045935122378592391539222114419036076005394480672211391468476341242827365844558698517655679809618945920407193263944952148210579811395293922050840930543285783173429880606087384800577776832048827312393643309016462510594781497911894688335593463824997427961815672307472104099558733877307063252636520692642254645435079041718604726232565178923050559326645013771486955931517837565026140895777766453898510164080654642666860374617196272200844072475501926275318771434051301006907374786175557800037603199331685123177182305755206084262298306417580298344369914743182656930138871438842528144939823124344837416516478814556460745417370852146422887203449071694612359390075285229250782824900015688722749893065977578961908710933790710252190005771805946483325126505048442501873987515104726334615715447674076222645476342988467539445069511942362013565241427158787990178789928565078914923509926322842544248306111821298054391194708067054754693511085489493983568461641265920159054108269915352181428212631962742535914143071285563280375025876176358652532891323494501567229603424962504232415399357134225004426315672877936197365693118562358287042829079422686454394389510438438674201800552983715865030048326692399111606042970874499470287215587116850530386483214042694886945931681074715976860434190227713662208722337431930156608294580657620811349547085686793592571338254237141018784534624801304686142821388117248244465898232201339028794765855504199177769308595137033775174752680526106659360809588262307653769454222289182555836091517894741842401564186784294342798033729854825553140683066629194463880286985381162765406332936345756996901229270646287960341453282635150150388755241796709147782687390514760957005130283950677859371170805817873775596123859466037220403302456721438499389366168135632737203586476545043870735545570579504138279330866777618623317948089674607239120692443480739788620792959218033432683425620883265707041730787844495562546246186807321671419684326308065455054421201687983270458714391267246046017951645240809344135094176448712343254393831755269525990892068730283963365248080079616966773033052673389027784466116489893975587607079150684808403190443568284744603566977615620518287054884796675986022251834707530299217282564191257729644967534723875918652622893256941479457737376219442961193786003199776080207302813724836659233953518766823307212114221042224373758616253247804745262673362131358612034794956752757765625879987918014394615835810152419279930920685712367858265969884631666242178152631904312888897773899635493623476088730329632077116379688221925560686650096962370896858354943104957699326481386031526700365729330454482635623033153123508493019066293629887187247773777953767148001688964052059950753510046752758658431621743193279559447582957590857285184169666462076836632908034788831906990925943311336134628158571632047608329653297086565335527737435401128150174747809797228786977496846908160578746370575040280873760365525468024257171789202506713712988333126890886478549336728066589353086198895701969475722972009965747004618765050973927245917903497037808473285742112004479116397169288235407188259983374399371372209962021412025417210578860379051109363184906908520490256860217167782301742963450221208528699163444281962102635811474290328032235251553705087453307131037621140022761305236970933441345624720081890388151140705366401854639999207856672141446165531071589216460684370755889553427757535008413801432662989903527405332366582599570681347362634419711444960695036280895375848989914652373991931560764837498822506643066279859971942774190382507518873484105022392929744570353158526903182292641381150684498508106140522454350020711039420999875281244778316774875942250707032798484426261918304140909120615164107767118332450362021343623293705461855853361580008794957420720542298820247370100973816452604653913398210746891521790715926849777161011406670646079344394898044918671946411459142326774953793186041165123945684350210511380135120677441522732400667689719911617198455167737957275117623225863918578959899857138709295946616629261026132432705141375408057084497792966993726708637974557961102549909698202457938055800339596795478029971371478573128235360875499754248126082287441049795966370463816332492122992205978960977951433664361643373080403750670703863016319123517871600423138958189219816719555021805520747697968806365912834960658819679207018617607935155729588957253111107598224525044187557952089733730921817934973238836620510033417147910135128456482854071298876897521540945330846485075156152805325492454582958215114236645203471858705764512774454790074865328477515479533978348749795697473109762800233222388732756032524052498209509783896408408436719529931991725524997120635594580740839263398570479326821186506660366918842714720181601079136401201871149318103694703669131716169023462882398102522732875570402142525353128399495754127148451641694702658536729828641240318624269948830306910894745237714170840686317090658185084533282854248742242962599008076087419085938464058422904253332414973747644242862851790861483571264054083155836802462100836958540221207106643673552113030078024739643256391814848578736813785812019495623404343095360577239129280630117490210832776051884522615164141511257634306707762999287545993821905403946568963551379756627577726478469248742761829213706675906240662147952233794738518452820380761524637059292415232864554115383532672582575887887573920543157724965911335921952282540630067319808251084495965145908578588465112997773764588006158986185911614492434328393480727669292804934312185579864165130747614691582594741713726714347694896516108870024015987299418312340349320976947792519281459412756766227064251739498245922577215987497428891510993485794673109000808051497100077077302229306011952580567762522041040096781809687914513697902398427899475479322833013647386744709674329197851576728324964427422327182559614862486819581683184072999123553415212051711691580443456097592905179162724183905675781677857062897126827236908934303886138059632318050971164110790175787647243058497693461727846252150679721612146848324733959916039943796973430872805266160231688130651608906371131928398618706186634328109075953786497932743274848058698417260393492312283338986606027211539352893255955792666123114988681304875728939775197899558222993740564424660830935854090022377069376976153743062193865034946096539734311300115337406871898591721522333234833237747340375437714042592100305940646448509859565942507979945934678076374938595479209223363715550087018869262486651884561706474532341510800321758472281219299659443247239774661742291432178853681989253325833872212140877960850667362231637544502953805521014046071778099862322171927112327709156090532869586211712213128749928631189977716604126183534001325108009067899318880615642781321018151247015685778885310147445023485971374363082484951499029226783308490323894205348110209719907590354594632295249612170210020454171893154536754992276036362364669906455228257758233146057189625147015195316363049792499900440079871419795593308999818499283054189735148842498248845679835733307361171160371367518621191819320426627580408518589386155557312614740612451916065395912107759304123657818759702790696200029994847521013042522082388153337547463837255821672938338006363135306762929965460143750414140854281966239622192153339938308930575407600670570559122508668171322288123235770191991294938636899524587904090064860045552223785735746996254119064992079670407469769070822465931714823984529351849832159054322273659070925891682870787470939132895611579509875211091769107436227799397690017748735380172055678504744399412103137047854729713749706157000565242502568679361067729813620765784182080736284813760053676029949847544523587717773772936125852567833312151861923714841887308236183816208190189562266128367891620668366058420785917691065757299942653844801531138486890821656660902446772334978234949294341875738931865205425210320306907472035717705812253753238975116945966827069207476840081030847259322247256857971636909484991519694446201214349108873359218700171051883355363338612558014264254701392026258245785359087814425033214536628689824775458210955756035140720309099569770574264088745413198363021606410575083438286949331283391461886666739496527392751379370873008573474455525577283715383098942062828468311002452744854115337852243703961929676093504041916987704693781585114403313046570333241187298142675480563117844521367251932288657536281883933570322990877918008740092484566177031215337490082405263218528003427252630880898581929147590276130688114875813682892451368453352714220116822258151972491367947811462426388669177792069495417639600022264812035677215470812165256385453057645287725772527076385469329833263176561023962921861780959515736027661136251436738097255642421372490031659017310308056275143853317628430358386380152724049253346449619446228092360318612418114508878380566329323443125925200731988366897094427025257790174726009906945495007236138815150635469718719867475628343490551056121873331578392339587378994027365925272500018071808904335299440206481929027553165464930815345575625966699542500650404848328595885641737112902137957031935376171844676236192982207207547839895916082715763407659572188287544242481357720389920804917341003170322121417670941887881376709767961598423423224639516236331508000138689963958540819578377556517108862294062158382172661258652807512827735111583058253898461393082490016427653389559636786708370120810507056253937173514007013589421825747863386210292942210154931754831336542252538946933007506026044297056347453105987857669736678665485971582231077374221239914092613809457621548202233838313055003003025348260082645752033914412527133538040982914033030878728971345164451116232934928012415218314237168600442638227965813950603459306153870267198688384676483637585484224025271076546501079197293152615704944047588575523910211487083654394176178091797788112579100795739603901085059480104398050475457631431886726175959955773363994147232774069328554396937795236330080110358966215243272029953421314150655209626046601332656913666513321008036024237886982442151118907312064932839945170607147886339842080038620516535476800607349900839834889195931332374662240235712136033992189915438421050655213453037565856578480665970918871808027411482098453025437793673209194143708780481338812941184292413433272425728637670710186475372930289648630642331877654431681741008529419083016756308120872368101763668324394374434532350673393780508263576977251773836830272111735135013857213299171013623585937713743461158067796471693128729949028048000447091243917517818157961683411247279367515959370514640639568107821093492929582445382784381462265849477436613622789224029752699076974309437138562491478402844884816532394699812583023679065031846155242199495452325208051102666379312132445876090946950451510873083142327995112439458463740509260927290266941991934430995928790220314276715201934793211840864281125852934518049852155715327562369634205722314344931727813695503766375393496974947847274126079179795141966445175391154937986127328011245461655876354387530515571386812272399083469215920504967522720077037143952442066971901911884279057126218656757159203346993038790985442664851651453815674799684740198764463955517832035012231187572665664964854393205981860468008500029317058487984442734784968333537796756463157465030414893205060664249900626987544732807900445938855723068566511657585690913487617695741948267943803764623964012632812917343329293988122809641765660309417533192802953357176442899364056718433575873259281062417314774664248213355261878082209876960339795123691175541272881028511181449962508996691514787763888281565058512470479524986772478753092411976588906200457849927429236695180602827988210684366542668274130489045790852294176626397079719905091932743222751886509264335292078524260677485602265817597493573331866300528232362819676220150472582049365166842717657462606933929082617135244515991064014984722818475648961947101079276325937859358003671214459768478063694367428931928133160217653391111253431918808866633164121775765872665431440855592676839533151703402719098626684817913478040798759368454706866227070814934204767582599342794660234176034108648667415962414612064967205193101027094488463923247611631040137462985452651341750677774750509948148161588382282534137208915228869072794483563723573238927394173697604251809920204106867776799699382340931663801107973498193603289611904366147273490516802463685434683284562689872703202985262523483332798805282781651840314251901551310822806222490368012491581658626232815502288005355624412926324756468377182312268249710025917682135858771039608471363928931475541332985372153560951705236623580668274866836681640650068751755729859099208859335914593175473748104630206455533801227492932694581844626371008747378727387743389068012703813364380522672253125867913624882244236646343532775787503560064408303159225495257493541781249916125706812340514970345627454105616312076996447625567288474558845475680680317355578294623531364097400752025230452190376650379393845469293994439219323646345441182663368182062746021684232087698306866664789580286510943902009720340773793347099104247400632335206977329725401105911507080144985231608560555562337782199531210181863806843348799364241426521105437482648759181165157822055918699243373610373897533167853515756551927803739411373498707889583726311129017557245482049810828079140667085547079065520745958915792304869055286018105553523730941520489457498806845298559527191639379858637603292226844576850468603112031062006863163157209206831610862787830596799790853711237594178896451724597430686192316385299479701557678421584243686738947765653122798108289532242962418738671575826832701086009562425834482170034285611329841596578881735069912766433008728239511107087438651664208364603347429225737454820410894740845294104451950050622001059076363665094403091096923962057652216529737465243390760153168174786280253804768015192017574061431308756303206309212819312250450227079742794853450109432790758416956512882425445039938305418755933379586727514858415258161713144697865729914902575078455927937170776968444313003673322043675997522556202399131665675667838652682539649860834417111929668435201974029784470483584522969291637977381599350249516577613936542996904752552041577375474909229447342369033521957508765969472381503130840536938010005558583715705238072268491084278604410882836324593007455908527696760077487587147663960884933642773338815073192415435477473781630006454500272622165168171559162864825299503947476876916459456167793508748636907743192577676552130967218807031630585614229668095673327302446236263572788354966822073147068540974460858564549715559219925285652702697628969034743218117481893154501694381546304779420507551939796467229142093867201432018735722616196153373786352062866126169641093857694095851974408286311124227481590214576243123948046096885691958116191177098239680983341753497031611010286021527544081033158629121286126049705579392584723010601187389217986238961926351480836225524262997819129971225843567626950919565341033163446940385094350520402657267350449727274748703050006135251105023738503003939679338632117043227437060765111733685310155029883481768558537748838113047720514445364687938387123085366727346041656917076342230134566443247204506007899348402812980756768335291081628331995257855299912883121738721175433857041010760510997081943894971731219468461118367190226468798880493849369939793762914250402320265354805406309882890843188581832563354895110738658220623600814442557924155972875221273164854821396098517852821949390750823203180460869844507049044338148682393480709237700033954385331271226489635980946233633180054639386074350054498838347090167653266188616739016340237666641936188723714971323936918240089700181371842183972111201635256807990121449844447404254016898285224353382318471166332853083497668655920653458328806868667228178349457429270894114255298874454088885201272458845914628422584246262086045436683318433258435815317176696988008951133001081361365469326274465298162505316108582985230275309602714187040089675178001584492405127932599202440690254257549735476684326758878737161686724187829385314381674707548395995001616726911820905896348543401278976004085490027192045009000482499999087693667883365933436154285437679675635623419534987344112653411169604025246681041103594655249389307087899758755794874528265976310988598327924331077853875674878687947108599528412416437866812306198040988493810848781940772963417971279264077991462211935456582602712274438588202540796363069790202133347945441769109520419285638195844518713452184390840838422622556969923618047016444212500219068945314379851256831731766172679462597597958113802901842691950884115984974933356518705099755536778203367991881335112185004248330797167268949353841765527197831956916107331218629461097063955932624412157419748078136198695920683814406662800263331632801150211887851148130957680470292971289308455763904509471960075005678190661298323041452845135613341564848741440255885939547235295036294320932507301781490776343001414148557801854021055929644466913299847739615614012126998364686859878282578115549294854265316828667767268584331721854062422964574030109821899712083788152636925810331895949314396837256176428224336653855811488131302484145493717321857126461164749254621544102665527409159310849866594688209458141587317801346924762139498011371493319459235301582534843917964542767151513316697563360610676443721176857426465008443749604448212302127487933725482404011424086159415078561324124791256650155010975209744871756213989005082725457922832178683711712901622623444642564004897597210349830802112244636023973374176600752608862963075246874692916016384571682799723595753971037153866766672775765481557942911148213824952660789648765521224288927513808379520180473084143925748807540046036189654979061684124669703399069301961237542721500473876755928146716718248195093582048572797101721476169412871919927851602159909128570335687696595735015487093415771173911692904275219873213049005756820336865161670235244283847063132845546163107844983827409969620541509804436463285964440383308968383593735418507646318332322976596680438501495746697598909643631310547657452210718337761257361197370965492885463744312397548157686323083185107241114908359437200710636749481794654955236741554823382902738347029997609837223710426260177706958428837969487979514811858500333678221221531429737418367079714697375984656988667679207451428901894712542641139804204973474934872263060463472709276496505384493977939398564152247640405056120499750484422468989363315851917427727364392128180935589734297087049112698746828993023846020158376924542321357165766737661796818981266267870020572250900491515555934392708562888660477295305407986572202299252471116407267464990993942561989710749807961251890878427909360933654760445744370479345623440354399820570354943011194276034131908843144430350094016304510836820707989448745012397406937724249228870301125997307629224116719009381525493180652678128487052359249335626234031061945187176580038962177155778558937083999229172651170922681127961726057990602058683895669246702850074826589880065058751606665009635041982373203073654965090756190577196079283271239498011119949133006313797759497464097528747147673898419355247982329061223118948005536829519857947016224287556299946021696012213394983847532767187265884964677090240393608189222137165839585715721473475493298980773106664500664689548973750262377811284524206849728304042652245438950468468674499400671420362404334951007087832376586759962066989894233504445833748157352569577563118572354767616722325440623883642395885681794969662963027106130022681347851006577963866692107587811056611469983448410283784823321648269820019998125161126895767442048203112784408734751172694358292492901245978387498278772587233527884681899557846229477365321112850504841422105294035295590660337232230087633331158045347175590383858447922902827228414032889354523465993419706093550918283232311748581202515179106564830116797618315288883782954467113380862150881524969837586280834494766213918755565782160605694226311170430878111426834813135489142692545626347235702600958373136643234442408029571358978127520947640750829825874529438934350780203852227120455093146240492644487697482193357784572624265288429694760588517210668078629583579292558591650272967377967010091175264166718113308312571124729995981931561007766314312579955862620588574991595329962061150826599789039342343938094741298959609134055322035820767251781438098093211531451146226349007003800763054881369630606532194984912950005668452697759202102832612534541326847864846374249181905258907654583704001196780009107948542293389627239781863977303152095149181403393113373863902527936323554232184692126949097622063789316847905801986364923744208346794313829439490445497682239430472099408824442519084957396229433486101096475856862221944643387489286837711076234390933715195243428864319784797945177479378754490404365656296802583418581630484704328674144052218333296372569325488670311308686508834545982278481479408003109186143774822083615823689088184543710953720970252473560972163436286132595909733010390688134995317853929006248003868541414492703763821691263186234887521841982558847387357408962820834413147527586347220826270713805845505428201752978965206055353817520868892100089076943978878645959873908660504266595052453333538050594761310527672560591670782967058164902697918356075454900582911981714022574374486165467028358117026237957756886948719482455726370801093869405934615233035957065590167024280726859143796784449059918106431717661156147173719066306451659308559895401175823889726944753708691312491927507606135006525758867479603696412051323781241166970553684993127585162299813374041865506302748574127336496324352650484148198627787569284424976690773190486205738049078756902918814020237665540315000127809200711416688489570006549463512764268698078654158159041021777407433745088589790643137941370120750837810810517619189915956848905943215888833261391018264062768715129445425190475273059733006914304586400126859608566342183408590849438676979368643609015033601008847590427729816399729800202297191517234335666559712192627541186615833957490568640048182783304134890149022420663728229013092678534451824902884744826689372015017439406051302361117933073884371063797035785863101834635282200789158853817675679073188132252020478234685038752615209093978388146771345425231858128061064180789307220636630943866507976192442951045991223643315113696328719253756917011413808497116353141960979027037498147818292847422710018379260576995963564236364507458515046252997658773804837281868150614912740824942501810490108651852542717777439935130752896070245644443595175724046216245544379935494084323950046364528312308111505294721642924442002697043149478500862141022580836280153204769514645275803303196784642660495938038140198824101977603085766506200047116747204612053256124065674494698598695374704016472048083003620917774366667939630614276109880353762766862368231637173843157984202394512147502397642822479934628441711004011348482366517299389219291799317763351815404637949582567598712492734050076814520589062473913624485054393708820152563399006179928508771510482084402988370849521805714114805096940478624673822496665004109385049729190811224097602644583055932220965141478200814805653205766989336929668808081916215293977192335860721214218630868859403150788351365054735451720670883652304886606388478673738895522867090009857971894688057678389660984581702139950200532766023646765309450434897196467759452300481207406225194961015522017934003787433525966275843036577672813403202462721575892365029157901125233879872994787242228065245156196767382143906766384501920351328168832284375137760024829131135922656571873333304521417984655934887458017176350870928931499062165071583829248295706060075920066058644929050440896635678432725249128549249756902720134323968562988465833406458609286027230018425207212226127655343541177744215421666077808962010973480742201239030826925545013087518665313520051986758755373755997485382925613420899599138276286058384948962181760842091400287967777174176378723440567245487786506578966032558580091410430242592917575713166814886550773201088816777211288824604962214908454477568047341390064884919472000447264992293035869080973169557538952803325669312327011927057326903555634041036493074049237952574989987890436273040977260284045345356478545186413961716373769963186618438052480236852760145279957189339265121322113668127977464298199366847811117524666034194479668250403841901523992239309208560877070991502102622666455776487552781942370450819153329396132932872880399833755984256147499948751715990108636640954489601104074002423816746003213348121100997547933239957028451301076119616595028458340271499691955668842204570063417470456933523589422657792128628588182346864543466652981659733127209699157441809382707931758612393165643787530336399930479078837483391185116237092729819269165161147221008391326123223070500741974015137458804410299016349252599557016965249161743423368302339918635832372206236780018195111865530120828929995515158684707379524381087147865540143927472994901226846860646889385449315566443199015723953491679948987633782111881948642855507594249864085270311867346893377710554158461509329766474879986523096485898738503719115463531714123379743878255620412665865002115250598466724117219407059965963910739996443662899665874936255360102207989721295624646380519199010846829209202269074298681587437420453750560459805624504170809067707618665523307985855547385049381147008302076576665963618179677877166791616945214184760778818268700751303724616824189144296892176835156754486227014401314518314799939636934672518945179706353606878064271506691826376057992350465032553437553713049358482638486859452362540946493423399508761387986216184348626785904558565628021636213840953231636550304338797672561170342441862933795931462443233085172587665507572711669886621433941610587912665997359968480438636585932551030230765672279203502368076686101348995356995908216362877661380491100979972628136892146791150279922702825731076574731668842547021849679653379626426549360069206924098780429707966223150118530239050282595890869356869744161878720234564039585644813043126723991775435822022505024715054355003781822282620353510999774406700212087309680020929119649873567059901350343023629022935814852516237204251524266329296423256418435359017784217757603600582506448448257092839369301469654664002288903741542424237483020843730804324206962849178701843246662984174644779100157187616076150145078983053872868175528652347598935978126327463527237268972313602474725697623897742282322930160686636113307057227297512556630333436486626183303324058044473937114271737348178232702046016569730875940111468179880989643539624191861543245539287068916947743517612466208439336501089123422683158933035061354624259960412234986022517173587534396849524079383516328174663963194614749115384190709869652759246323096435703578367235603321603371563134207527147504696826635404814172075130657197784880260198591345926481241344794781905674015131883280832416180775225847310465206130637168613518735328519768727174322338690379910371217097127525965059085558841796675106908099195519465147992337233644157484116909672772219276954811434471031130063563739182841975419835973103033538870680037297291441542384173794769985062174693120318488112057984733162257260680505771618372653667262842656699380081138796931351410210749333796141761043792748858566545893554036162557908544872204571709693695583119466728382534604250973387143655549215100956287850647944218715385040999738284426485565103584740055328492888401644792333611035453417624929145945239282689737719481812101139020949288168392440214743581394760214439451872191525176060076244525866995245430457125768094591958542720104606595454151139810086321930970448171560527312317617392495479363533802456039738307756260032287892340454722756429391861351676553565355218673029080377496893085342282584662654868923043919585108936640988581040053366884921005599304076941390911202444065573461767596389240036576726919491099508457690003034664301282009897169163903684164315563425033725514371447884715818118215007075213621649160987816653199719537358417362353869210861834008808287458666912762089599644768114078911107462133358938936030199492586265150674772497660059834572241168698296935697137665263499502960520557324657773221206565478484731634731016569225763837106030634280872469578472586017594920632240309528495759881815224018947380527841220349333000837279115637674334176845343954091300447079195549180988902161526225716425489709376927234797278249521110596741910824731230701346414410023800735673436305660688770922040814461817326757412076317803435834456417276240834380445311761311144439536926776932445991666884854674962076339431905546293796003806791341483810956920963399831460176181806793396853380256648935659629353094645142043654764154597863793055076095044174567983849507838464048527268527312288766040195920066246635139371050584843871049125304924875203188797049034325691315712414016934663550318905164144390899612086123152887965549498359945578997523199495259845167716727581821224955700498504413020200383941969059062136779077454933744664075098531156359841306337069611067549820126146906831832673413935754192102648425541250268334737831110946779306971215353039630093692063691968167823359321198362476173560847347415092295869930478686098090477315644081039179717694970906757996442326846744021552449238208580380824185983477554760655521308318791449661745790269353879235598390432988497869061497035873477183753079980841093805819110414925886488752998352838043098976672569850133303329800481683990173683562111605895857888659228965709239477909980589205101485296917138636680367546853458915753229994637859673900421608399982199887310758767094279701446747530168323878252103497584991637485027341241906942407292174410319449547430447442477280533179102644892448675776766112888500164692264718970822098078090624159232543760333214437731338757979420434959100599441915029900465887587029176287063110313634936421197646776013819533593408632605270153398868139870536583178576561196945882875416427408454562491078036240234065448776457165238082835871506375916961913772188827022291469562251747198327161706782489322620068972894256395287398855339458412571862606620402371529779417550545708602796866811858020614923666999763596416260466423956663060138133723146942248043865531357721002119430607376839340539397954204099943203501656909206835677273666892365049509592977818747931982630291592806680229661508713071116768577197149408650072152194827670294211476837803524357583933933481423301380806542707782830246462159706046874881996856837438813642803431137955567870953605469817685784429723226089702214761343854484685946970599207131729605602075996923402191679908749163391667582464218552387057968697400959872532205882121865607884728124301684843814085998269745220683794788835508061231340686802094634937787953915136916880163158705714996334674624893171602822206347485444533818872324070012984191629187056024094652014096621426949726376419253327789898755217240950776791611201438203741090601367555698496043663998536500281309904680931997447687282052124325455716878095880436119866590006114656453905898218421598598829597305070153815621951322983844021316858248791546584705216051653323129872280895592452326834002210515679165104997411741102213071669511175993176650635426574804943069310714523243995876165197433831112259364090742842054915021530729911209885980382920276754944979572967396005473436960031798688443470999901644210162814778581826027470883443368353589404062242010398499849746830416073536630331063299293257438810507161421818071297363250695508558557723592615949542107825020808338429138485946194011852674744542254963651606712525398100643421423570092567939510032476451125367819411142857451664699438452248531217224336083658612625204734970046059786851938759786002339929800920153030415684983022257943878491571148404297577517472159492544139439880834885882338797708880849912401942947967527764037816469683504789087855949400099591987738905330202380488295199113721128751844648201118125544935000118629908288835300831438383791530609706294244161009548538157338399932634867891770776354157566972958168875174533765888997972101693317197575191125616828888619212336630728719477609253694000648361242878433762697374977488348206009246504908681574174702229690225903840747340431150103384247789055603100135508459167816374674842565402402252743021681778525740362478683871641432842127445044892963464845185579785268488893955213520875199612927298264713375786002439713459834042419431905338970503257129639238216649755162906491028642711594696731110579694188304906768533849575980027763518921440103994569405511421152870851129698616238954696688927423932775238188840187354722516256050396524055952121339236374110592334903732155977752190920052959071271573488140814402884703009306921373480214511043268724395275812414833406393847230986670140101876471868857877982081244033118333524550418975029541543491428293766099713512322362088645320441225432414830147050232768563142594713504280653161348528503817260303194391649427982942378145187480677189439534679644867567505514180391647273086285021290528250996198128698927788598215954019929948391284626628468951388101798652526379779351729402201296147539369959183405825029362047123599790129734503486284646634893791504839528268639153101681188883601061863108545257590103636997836739019005216153812160041323980222651556383443498803742502248162867752829442095726188217506708000771342053626838970703206322533212830497593201851272265420714297570151107888307528581149580740099193465948935706973008488676684837582098134892597791427753487686505921429545778942594217121865995140177152141220610622514892909109187064474125733476229313436747245516045910617903750536464360288815565392022579695655560922161333417553407333367137182177207320741743207942290471176128644246817594697062185963045507695048601990321246676292425488007685114511512178499135854232032922091924635428636870750808775341490068683542052861193076806384911402919599121325932693915108657671495911710484200618142299990406439482411257337539122651237497282995640982157868785801139537122070320450496239170928732564968718172438112474497351025336519077659158440802958179259580945329904755516838393971329741002890786224770401357017587472967411209444532873923338711632053554100444552332490941084611198136487712832629701730964598640436320425293630041857357890683026026542960079742301352057264486625939155361000146342894628826263302857228934180346521341634838632928879878909848864221893978650060292772207631014183423185492123712407798689161201785087825587691631220647017614545523349736459870687815037629745321244913639226761251674742565058713091696488434116337005118428030764211557782258722416330287878102820385595635214995359679275726122487514690372002926890900553375457916032591355807702312538040226708819846252453567181923680915750278878518596527187500719537466115703223762630883944670111745751373098980344931109828323371160518340129156012559645189746779868339611388594680397055787386649167200160790453435294598241008586083506221642095447476534911809371844630401941328680500680510138012104680329463674168150018676466090014762338185892681452536948014916471466520412689178899265427393578989910079979393838747190813516778684098725221335440234595626153528382154252432830363136361777964835306195085801040455720498890631843137741805967822006844324949948338962278338050082947117390979467129598869879272485726280330258917972436686120863714242282657423745508817141562726125855368601532263644507651691009530115286466536436608776568243985219732471265391737798437843990992278071534162707472598170396441003991129666103405572595078559423300155115093678343066800996095526468534949226124877662470454624539153928354465257500789171493521902057775448222172081456639487504612004036497564161363857754403071624492774900070984156930362819059854792287090490918860929941356107416086827994827269274422298094488851444576837547622869957476018561891062120456154686575303052774473485412255546585717682048647136162374846629637139021844647863161732913540098985269038078757282062974032946080709155868366214089887849007304647877367101916206809478608908621684477807649012456858280944868372278469253357894010700266580701740870245416734221763529540775007307863282578900652831834890617059327777485227207964531461243666897180504617157598994637286882344589227991884351129845056482163631623982773769274954809026570569717966165932960503664585796287875127001775313756569897393440927166758888238462968991132995694694466826323785298194567474192105608803015265297118895289293464076918084377802631195883190750969851248275672077646772266236649685364322664710690857454688200951534136050633237371595080368988797884760622188063046119666886576691184980331988431003847689566684102673891192739959419340060894780087886059766727614346335538320788368686860972026633238327934057594860412167470494102632510215965894727404902614589312266525053839337065836985533626952383493162701451065464052449583842677780748060555675310228780178306080891505659368973731628956029706535829114671304042159534432437082513778104172215182301101591709556798429467750807773494754697109358559977646444558501830706526153978100181920094352571263397630401594986617901094227560999598625524947933890658306110633183919311235255666319088616004039358896769179044735437545830261193456052510778112912545931414699098146511461525769712354634202718850187857279777114305578013053472395412519931410275882632711672498247881191040913567627652838191038271849996647075206091295934205341711858418757641065929090758463843692764538059331814961425504576954972643825779754192697720295670766002164893814703833306060506756730661130927698269023567309376260649756562005341820085586914973687938381221092312731258230823480430429950849038164084000782136528358577848118999887075696608190141822096311706841518068138273170124490523909619322995516628258059024754671560728094720838014004049713323597795888896923282874713590450934199183203522142421007229528081187198008855160765242635633428648203535132827208211791905129768635817584187424007172096051835592083137158323955898843960250281825616072106290437951952269668114613426935584051500315111948587106861312769152133514974371414945881323550698923926744576505567310213644535688041849884515293961788828093832747350951332187391417118162539599870274698725490681986757187646456889971360448859132501836292186473439126110259207426420064917307988367011788031211705851688568535724682041830242485712973314338343786876594644319008449325283317543076135231020066222086354209248891114057911880896794648258504680241323259420370203428911316437169563021917659199674682045194490859170114774766416650285035860546979107031972295663522114488096903882862057161230498824134161451000221346221242063754138341722705626576093733507054339214920343931653145556580657644176238454022422541919807358580468758223332260979475821871070602152096542900819982024051797566474204657225852487091175484319240180285136453773605890420922486964624398724138906325161112248216951251121548173004435786918608854292020428684102442580127150577279341118485738058546399437013837757602100572600451390556294894351791307310791067433910144679337885424192000899944129227750737445769542463860615156458802743960585288420027307299774435525082396160469361559320708169526201528677646892688017165457006087292224612120091571659034789082244617555224722390153927186125256993558865722070816951565490958814778073414515595444976806020827002685588757013481044435645081737731743267238904867125627883299737173586390846238293355207434296882666627197884578580442710605743106510356632825544379214469952496876287384280959222048563029847006447990935161080545657709434448525960311114947142011351142045470313248112280517254455106180662299210418010663923359009643800376469825120676327546695163060371107856560387779650312974824852285648192885019703388064405930869343314171902212917219786501065030960565811126204776744176335210496790039235379441525960651364727155180843340902817676345096765939766442872976228135136985837265810493733945847097357677766556658630789805406176071509842428194887551935033453413376290645603735343080929035289602271916971775685391489280978024506093409553214174713004147698274146789706575499903580030677863780382597613251957411915196484045621124891201616966241669814156337602043816687319060998367539148963827106235591605842894544542697417667822922202185547943452260691178901858090320931291293345947056375535596719771433766992933189064127266055983005674967090370038305550360799924458181054164735533414725764068499038284498777703032240825538729375825952055800233223480088597072288230594698385455075008929893148412869374528452810906130558860989449835119909071182803290785244633717969966985823235613019747164194924415640432928884438725154443369910446274284288297129091778122883036715994446370224280214528490013073812962107090978309388648482775453551828921804330094181568978673334945795023376703202919941497253124044696615761784458780643258140200067482433325363517286523790600657621003095954202525034864809066850699558367673117271712876293383717054284760937037828007147693159560887335039103977288115015503831149210585861253681521765036786455953980647498917244394733652882560569351445975973386892321723121631429336080646025356869480828029020032518141162750181221764653944812348312914469070701027330810923467027674820598966195185064565754348670871367112858672375777010010507566020413106732627947614435374348280278866101772155813243806821361398585660188579674612732352242337171145089003972017723024754826628928741933281062289583457095488049189911697253174454708992735509165208730890838922793143881287805350687336183082806789013708650139041720111000906088330528039475605062566011777074949580339874773003690853410839686265797962299891574126075955091906340546808567001120410381647320531532658279298179595267738220170842366758753958010620579506042936715011265635709415780800704018259412130377875792705085411977233646726077689987863622455382744284704507943383880915020930174703973511678639704235461533177969052900210419811192805491275474704770662298361786446663559650251951971562442534526532462939006980878144156621105518866646175739197795275912931255077426676011421819984814855510303662440825096901720958837590106424672689854510100462124536328382928007880271480859242422660154607485576202231044177135754993855370060563174340850449441484390560408727587235572040416405852267830926578429611635736925181413284353840939945151072653504188338011518690891461560141622593260753890814921518306056466934530647195794654278808134327697281901520871240947969409972274318373352745248312694710494053314936434505412816193475877025743643361066834608639701744052668089008814570073418941717593724083772410440378862032612349136659427423567672426226199689856609970718085180773926422263398116725198585498074909012449977777027252833766885840648220327243678221525677569062070721983654718567578025799808531470774493609246273699845096042130336871303607065737732054803156787591338827219836582748907116808489280067151719460283967339195165858059322738517840922588010129692257459822950553668840864617182407848850685233416466010671133042343253973974005674083624396597897203998153559332481316489714576140687043612965715696049057391452757192678680701101098404316046551209447871411035024061931979964286896168609004072383160228562319015695855779517424999728878661507868535956872146431223762660385626001474657915517697799739090649887085687671209877016109183026094331118110532334315472947938370853364182401755581706734159570726046226508798697358149246582523268050837259993498617770828949824889297261274385912100390948937627929451858368180632642334799189495725941539053328900865499727860868576101180154054030380984572481825636400874781791609259711840664525592315238507977092514429780503514447785809710827223813118783559996631278451787893600674193398643983153458689369885322086210465307014952552341582344551213045328337055469528996698012729885474568481971545893872597353842165277928912471013766377680506738197995687294989716917655269281320385205742481820895618066957736942025590180916869875601324726910342627608408659335020950078081542123280604284335008709211679597358319019516436139238499333844907957361100420814677847592950414031145994467181590460686767045314684213248161287341288268046599696294820458136958453365654659714201396347911308002934885262303286633567555823600804295036311555935486809350213794306970052730711646089935702732684581007577190582418144094628823311860088348686082746103121200277966862327119330115085250871596350609297832516703860337802803482530941362588438933511061921755383809731261564951074930157062231009627145152030198591597072379309937751194472074655429382266641534969916764556213829430330776608797994198282793269299917530288027725488245954940778994944677306785669464610805233686392860371857786919968519790329873350423621308783872900971891048368394339073923534711044576762811573555320476734472174925875467324945238383158614893434983621902518007381484340744149844757946247303930787391874058021595258861228676328316180781254078433593420359669989040020459052159173339031815138456780073784762712157197754536905828831875643410862198470238402144283723083285200608429446678173079293199299855246561350769316734734215704328960483666583786609320073237668554615137838576829290703277282344635344318254959772344682729281817209426611321288234179509715638479523108353098924701773153362779445062748990478206107620749519578564653337503068336492887538650050763955555643117429595479412951764773621944898984909190213686342104201104877232170017859062289443267691450566816799613031529421134017419180329640525739171075113602917734056252452538292102776297382854648272904712991354125879387815984864064619687220995042548524563798565711876419468255714783375599840477633832281349668288925937516473069898342135735091245475037443567303467275312618608775973265623000510573356360453112223502942753006263422963168722492462042067089034046126749831630677294169445643671614393663347381015142316263005188664982188394195629405318097398784173628368463958492716556562149792160615034549487261150145389240838253351447381003609065334238131885874686811231720258731422521478087626950194488012560031873324962257569878378400536758398401687080822949949739238872558767175060185304262097588689097657126650898753993099644507852635407146452749604512702997688175549134897445412844119068813411108436705584268708289134188307993831339343408096284724140884678529206424264522153336758659534290542833092114963 : 572658089738650395191434442097642787628086046310343906010577447353904642651260293862166000634130364792680347725988508278502546972190362514265439686021790384021109463520314620595304993603656949866548373262979757783630201404652016970228144015064961302636247288843448143427774310288202686718742282663069588643324096720593933530713913861101344658355468696868466942862118925293227095700661783662860997371634144531352331171323537377186685047390714224385033627234335921488645250082270969144487917404979859090427824770418719687249931730255226729229889854304393424824406873066655810182402235084010812309243862612877252174770367324827642104601237345844966441003183027305543836241215409174740582763543616214590549617854754089207086427916787675010898797289977039204967591599758145218371210206679100519250525789582715974758060379344610277752224206891999381365441763134612904618709104057376660945125939905248177147154056627966672094473305149951496472826462600452677026341221358985993066185994235680276805611978514600466897327113994968938395357011892357312972158682438173644423428785315501560844287615131820109916268603916508605807048166437567229972759868337534130213010241883646957670327008088402676622208125365620756779947525209142103976665286749033963112939030555770919418639270803865876959070524647506371750058666239984712583879744469437136689031238829757077270701427046729066542674380974121750753019333234818397449435767789659880530516786616927310161903920387593801652081273038767635295946498607913545102876588416013549333651875991980675595175252786140080693411894284850063232028659998187398858608468810373647592281542949957514495544961243186649191832760424137769077335745300400803079881347529320173507066812503517342320090156835810045817158049435061361083476189425214343080747449103895115033509643204100730252613073243634776733095437069362906276559939198777745496357796790720353755422285022832576799405108652713832201595968259509078406408693903160374031734845394163495245967580341073131679909932871973958917829982999450577732880313517998707452678149992112098369101802894292188576708160196258005018208884545986783536669315218649444615044145639992716662332502491998967965493793478218932517020212988491952820990389753472950438288792705020134638657736131177209415841057428120029246381788963836067168979206340741025319976065072291050713145500247013196812925639323217795510943589807836464884336643601607002768845649849728219315326916149441420105901270901055241134309427495576009138966940750095471642608973898545371334291889229696181534029295698666655874256504416739928506376008435592260587071820310167781758446159889934172211088364405066227238459097338492266762743549342922706059866188497524285904333651007884530376573982093211590636883649766604563056133456035003642913378942937593516634258863538255825369586537515080612571563446512104207823492645104184262833879433031916350620397956040489766685933428651999522745912262929542758445305251641432920799797240530290944165524706156786864028588261697199409018379535095833952968340086675219357067998232116891661584362796847708514758063503791571462365799851865196294153689808746659171150552953571300852482254086997182551701664816329940786030196138963961091693057177924973087629623820493566288887995793763282928112645426886017506107124906467773150040318742096057498193192186926315009468382632984836217568837148241744659739604285335975501056576383627397246288273924555424934406208200692194358154011621935715024943494862372287164158040941924667962542464208648355169611618944701261078913894588837366211051167269926368647220938066478297783279963222787276985103488216121205075095885981124097993520913613545615819951074343314419812823093199062098442532701751548005201338793664928471713542275963537899054460339714870955294938309234938304785302984342215653246597863050383661852928572362725533435733518134383600619364124483424883423036458831407786051955404645419968817895447247808960761807838499276982476428124075864129358382442298805077401834853999450418279363432890085395652053501429211739078323940921201092293828701946460345068397019319183334345020047574663820581845615058246899186726125334098871389522190687202126651596872552377770709367491075782030823549729243401376028518856525618398379601124310677004032264890941862298265167391391848816161850743736504292302894260942073698941273931964502360315149609220958750466830815371070730933700454121562262598469126568167411256664818877551819101703288460177800453169388348392983855374179309226324019169621115076905169347305752671460546720257237949835645627364562541491042851805262393470440874101340939073584087445065558742404011046391590742410506186320997670215608730656690634553479151103030974255708056017192338011592299516885048011304990343696486751786682558900186095125231110580489120161054413897566135422552377412431653622567447081626754345471207855474458469883912602595611363019129361245575675882611822510534612077912934739341885257511588613880312516298586176948972688510891630687433446582456930277550718794634761025926370077498325856167993817759343531238523367650181593733395118210796783597117757660423100750034916776125123203496316983939092170684355214237610876106901288261229591592558684508808228574867059719255001608640671223057950801898372435753673020186855866953901283624678723674188089069580458140522957291599829501443869547314185094059639724481470809013699881276644581113475640023630901459473658570313762879907192276769642123862378446042659398393283487283424484214544607394115184932739228058678633949280292529863517173847554947079513713290617237764926791162754017679631858087552340255829645528196394367696827401648452641680256379693733703646076844870943304514207441608253965199403279401666743024273971630246037629270293700547606921095219403363581104978671425002444189367423472020725418794868388091584457816669244948945973358351474816543279485606161725653231778743714695224103829179457970142982474137335224644471622666758928857916520374089604172656622468039137114314554416892576975726939218581807531285185625755768194622106098120138762533538979344111047565631157246248101469260998273553177912639793494007233887673483970211134084414981671447521029536721757115649862753932893023175924028117049416455073122378249648365516320127837681163334412205285218710284840544776830657466611128179745350741332661877264061062581470935016385649335114483471638583536538314593113214104557796995270577278646317254676808858866585534824062863515187015026566126599011506696507014840806094669425180281701226812934870426164977280090855129159645862962279694319085051778820577410305411699376580328603892999606492509563872366176393342925609955353304897075473607500204110695676625692607237019916107180142962863166460808888543539725915192557209011706813952318012051335757037799926147798993482433086360598027895223546796282936691538724174157850582510805947264340387511617747433648281121204437552199067158809149355818777659606246000019668738652936074692544188228063935944953526565910398689703648843062352154511673771030489221092824804460195620658041841589058423586386714611893469467015134963486462697736267043762587142158897779240512792349805237454374464012700086918311370005315728110043663609028057398243185123888454721604027994694900697468588549071009859521520153810806261094203253835664658508230954131716073471631229075091042287460578013397366201150121263151156086689205564609024954210717174194482078264848610510903313235462767870567412465700121833915517990858800931722166925228583940520382419876238031724306363903439787505132725974312558391652434995384391241610377091362967456755562678368075066505174478466897796391248357407064149121330015511750226119522385077573177331626444056807258828917884721939987496020047616747424148283097368783092840408583072605945021976328827197502618403327544572036216833388476542561152509202118019601527728124191085445910256018440128260318577135606051778345878067693592983421452639556426351820339587184310594989815144868831837137589104919772088446765026629709995553957370196563945819962969376890312602835624455894107184956377647495324442586278114272716829930176799420646860653977300274877175903342739762931712561634374150126238849435916305051750487376436397013888177396720388267936895068490636700688618926269161678966387785420989135432865749358389767147645208779479993838276507116327596541736707375950490964384425014738713459332394882706177987851694162254796417256862622039892462766863657904387515005621111703542970401495064005202349297474444298335091016603924219003953116946988009715028802460851264233248036610076118752388951969880979293268001881459187584637244353231518631828393988247301698456352273141326117986665250628346327244483599272461875387514435777116530669227780884297934814748384576380108656388696911705723202410369469633728314540853989591420009000545177866069316583354953918934302638156500988953926491648501100637256809632855867864223235659354814488676390489579116322738988416676805515945662608778036959988002282799398152082015513804288111438290970745796517488261762095818226063275788613435186854801781511506212882004573468716631954811969439771954452790229546421055056817739828940461315406623361877764585701442081981884937060793857831127023982124192246860638263555698549478881798023780009478384061279067790373160774062450772030994656655262761148123221607157041983307940525675367429627569866281664150684381888927200090218855169934138784987596991371807405543514649287932703453694282827689626274720002938418154012532412143798278005485717761287007240840083749969387175864303454020448337949309840988659191047235433452945010802065619116531165606194304169261646959926365049022843111152362207570077993892368385281858725452956873569140696756576865292477633793493261409648094502307683711446896959196599591505820314806287493155201718079886613758176808645977110491914540528660074555412483834105147273226205496865505107476983622412820349139084897913832806044017377951857805477514481980724391472269050492611156285836037033791692060193461329518794224819779741689715663370881532926979646419607986028689245256277655815939452515508180310923311585142259463951787255477044575659538298738537960968736044570156961704096614541859290253332799431630651284486309960903457515899837701633902700659013979015332837321214988626515301299385982828898645769055801559325933679343484721571642718147892264673705499160801471176107435957740223609246699669754391099048621308699561825231825254197352705261490278110778459340824529627746554128041458486528227998779395400590163774314400995454744599977176734490358150634720136645023153409661156321383917018054327658784257261452640834091368999747656359686276386110961295199228612014018291718106802778172286179125742573281139554688974966428451687629605672740392945252250217762727948578133219825917775380737120734862093306203642104038773026685875484215629141961058153350594177913357995015387994199090810537730624318661370330372826752512820742260375358370772078719863658868055603778449540693466315430781776086185798729655142074869754651131064801542406450765003577008257724866580000478132333958779854635423697656353132302592588036545672616290353355573913030932397048389631505126782354201309855755225584307771331569193974847006651161951032836608653560736990516738202808588311833199634405845833183290601484324885679252772081239710178187684815932179719236805844782105647076730040174831809747074034738908549922695902346950303453293322797257946666113053304449767410998111249189704478338373732207632821208670376818133506380083262646908189096888852595266627437253174483147238814993714514220393878645903642966541563296262591282375901857095059996230082949786152839614045691565944880135706372681474442208864510265040182778715549452450855441870163140345041837298012114190344899284978673905134442917161947125370846577469435514519564481846165759827346541966260599165447335725139221390161872564848462375915032411754872808559523034493371338882722258051449674145057296968575314716080447875226064533364274526857311249442156795139683350044917293886049999367989846864840809057199341053381340688925390987653203982521586940171339597273767916234603390931230887304938418006266233367491148850631689919471454233932993888065629832613977051044619784969779183282462212462498185378726277018585955970123055571188403573915003591291284594916367398992691735990289110244085069828437094441732489338576745547932171632025223266217983720124713442848916360936801123882436187158466453258772760022594518922174363058762885444706265845219066090895167391163935973951384794608803612685182617207311322879728594535616318950070179603833305070970605050429271869911572177778547177653637270843726545234253507564612647888713636779516442558526904970633584588390161617257792963952934107639582064528321817770804822960720131011050704391874213064523810865150722869510763805949622046959727784762149132458984526776074642764506640271045530050335543819360509185249086146706984458188487197345636638869790955374839929998072250366520309399775468230760993100006026333763663995430721753553607627264705463743570011841590636372070628345855935203613119953156356699136827330511396574326601078502711360324358485412243338909549051578087863827139639452384934710700964469911376664373982668559714141094877170816316473095161716372289669553852312018991179117741082906553425580637382224669886418290897802343085460615130314754684959535072298275452334526088077601495087662472113772405947556258758613873099928325494021541525094576266430554050037297818984647774400186766064807283682051949605059023837089482173660827206098292283603269029882549918160722245965939817219172700815061636727308434955052272441081470743831026335571796040727229187242645936357359995999401629370813835867511576807850691781241886072754985050490629300325655618014823577743598665686907533440859786147606786623438513499752426014508441084669920259276350456523931192093598970304370494989125146461797233890179362071394361886658687251269527565874427186891336282279944911952903030075022875981271211367855278009723683402261473344764474923453271362597375925486496189678070412992464725720221837143512259958802337338950312921365261950789075158969721382027674753128786611038042470970362075108130144610978312307710215244320360971747662309943542700094251628800879356284003511704567500934820702032234449635943485187024438595737899385885296407518467253305325471571739779123132375530413757660934666421783657555937979948217319695049326579830464582914383163617553336854982547373248221927134275247456313338112765363131259190752362284814328988371667918572059758874211799824217002432960028464883623910208115632273424167168410394798089385038701925100083394661762304878946518780709206549939717739664590285498874543293230121264289486485324561620678219599995482792702504500946768364678991096870660156504034624433052744121182600174636119755323541105414453861765969749609908707934962430425543069051100717940833361067564746682996615799241416398272548407384751117800333184370664094815319183157524695713151882359523192913793554897153327374014626462603724849385651499029376465646834045712763626861832748931705925967866414615194836720336848406524816119559459709861164139803402237794354905703089974613744645103908754795422441126637730719933824713810380787680894516937875741066030187590269671429739959338805965035224087755938940402180559152136548132641708539666237218974746327537554288859202103944064461908156217446038393737668986054562768811260499963982195376756863021724914191477540743856723970009869176584354489213684049399760705099933475363947063582879100834551293684872261761760186114970415668473109665912052105782558867351924542735652376367456447390136228078172297081115530864238877143304857021134644402883062071753678848967068602960500462008905745992622303551131349257277777220083296404701752860591613073098496452628932166967940602107710863854167844284120695222686697799444625043981170274681622594223744154916945308896388719396841659284076929864202285610566306601669943547723121905139886499847107563818792779964250730486422167042056771892217839523392907027856982218980081906550033271431677286217829354739007414546099554005521803257347285761682921746152698213330418472446339426258660185207971916779047609632280941263233848782596025772446465651400006098470961297836623389316514235882369794043129361172723252210347298960574175407097502301347084127957080997074130424892199084493690009868920638001578380722608941846738912057761216099537255043745628616200977881204068055448631737532614872450304306672000667419710484564808115395853288035125554655070355784160583923718183340437702077190325035220614371877999340468013511740283805830674014808212741153256373450993750917213489739239909693617763750521135349528151721998139495750947713675098076064142653664601605007954333162213954827207715482456928492687901741289940977462198245963145069839898126642485424834889440384077935831702719367443539026428519927410224601586258285261833871805398083047146572991331281789978255123663127523951721931834509175185206135973742929492410265512325438904766570250136875184340198613682601783722068413154574502215250659929890339374948635533427349776582552588648908223492539686161577192291872015801991996775681832862752345274889318733482344411936465300408415047668176940935472149604242711695946229436084243613453431760452099991147940284064522313100423027150909416760964100397504150862668390807512447818946996657596725589409442354058964834164343259692500375525044601888731886498911693219086174254901903737831086065753230164860189157820903560290971338781165585746170483523156316825803792712986814184891917129203115291157121937133880992582735526141332047353664178429439875941294774105912522230840650438206267165882699885851694922300753570463838402212004416632633493390372412275949277086281607149969470133541849659226821077304481284195103121071279459991828857478616642310270996082474389344373129201783714113558011288756705709655194876059390566096560900339163225007066911819523988910163967063174252712817386606103149365695180625558097971067873927520802400487082033311365802088240742104181864770973648445979244654871529107829034282729062707654567126766776298927375303977823668894053775130348508669497949946352608911726828430465749063716067930306808692886710595696286997675526400382580558653335795917241783094152933330493636006455358535523765619998766959209892627185509253334803229862905903134714276263484261666031444975121265434817798525848700295066132863170542829705335356886856379654474685092018994134337588395122620829719575848077642517704078982149759005310957891558917816198487254386453709984909663911002242530732242312655139093943997297150833227783767222136563398504051148791963362335504479269845422644935727920437058737831982729238813941371180351118890529820743965963166094327539031161113862195481796561841597395024892994423330543613326092517941303681123991558675086917089389256674087691218878232874855323725037013952171076747186671099007970118261036826244237867908865601370244501237714965040438825458895087058428408908841731732815465570071911227125326471377289235233667408944840074343247350873277702544585395228792810225959996864842642908572119003108861260765096078942879306399309074758490957042900643228232036805664146156011243226808744196156855450056408660889374370770385569871608332802634467796826398804078057474786934519414767123987255797462079067468991924314010795093863473892851145759223904075417995641946710752172506658336980965313475360351522817221735576282745350873999135107866548528799156271946186971891239982467977536062427568974278364366601534238988072401465352173872383992694805248217257541252650691708430022168096634275869392342283573836802915685850493479966729497671823445669924552344232043345437277284680903732705880611079210962309275059180877375384408563621989672469413380813227044251547973218436521998805046842549967470871355099117157733974410784628533262324534686366563556917360888711561331123272125777958658718794948828919749743855168967130135315002853810876264374696040426035417292421823649753745318084363581852213423649397096552333624263200000449955810338993335394888853865887329112894690633673296915239700373980209156329866205105955841521649697488242814115503342644600269771431027296324598123829693749937729449880591511649436628173860830045002547902009207964389371787321811122668635404610986393744234094359449783160249263065496822976682340586274329309183948083417685890906690368102347603409822794312542008983457833092119384268782950012834333977481105115654680702554435489743383087166320053970868381381688095146309794879290177801511667107700548832542347580813587266345066130843649663392174690364166155558343326672865468945583851758384168460305009611775426292158532859992164284721261316897107159254810895420580894153222652972180235732244622407844062876135678847021528820004286907359726905843422295259346602489157971348490356965315405582926278370862603461629392953558782904491104214023219292423343539886795854113883019964666154991252808511107007369287246201425729226523603397041826878367609743017062987773627473357951568934155025915601233972759369645965830889199625993987716296363123836316797418619034017461218853472500477422122944712389005547271445906968660578195618326982891885986074992558196272623533249858642058326195118949653059048060054643265570955568192447063807634367512525353094252341914333132050958994075931754106439365968071386558796436099162878475117496313507826702698810864321125764454843083921942066730308725031460954242857333622312740590026096938486147069674618821391561299389230644242856774362176152075546747899473297014323329334326839887053193262979050363599508087621984758415541559503890239724009254473119949526913107604157770096712267242078145949767435414136393936363341496292792065785886037900883173398051762712733793901857429136926649985484029506648271534897967814835520158316347109968222514651172998104148880856905387114338787490145321085242132404753660838311576102439248342317612018358078967736447491645148101132907282069573280245237766232255689894832187153188896326212243061783713069460400189257198623965082622188966647290232095197608861875143198131918330066658734013974897460542431997297127555382593854304849525398033863895252687626192544080951969877195768365804903275364982236709570343087475826484119465190237610323844206734825727632062907111525491873107782996438682217365959143491303968742335812727424255392327058461766848257199210626346551377959110932766947750448784059592348167157900444111215475376404729899884418606294188178803964042695094596651326353908260524628407982973720195325782638078697919494514114749801182351187179651753247205121713437558163740960883848017191059609547890537525443828421728603114442673526118516446958151348387143112293587122672147668221407444187174083387233823295260881282494438312815766687551531061226348695136356050545768072910638661320706671652367608572404319111887015171229025129728258048512967850786504724760814815838648851602865531139549171459438553350179136269727327739125373958994787969101098153145409576114297452832785013733413507539714996839409964252626631796299991864927166079913229071866806857952950222983013029632132018622482350190289367275870527319701998301221573174034385078609017309455612379041637588768115973595386873334567924997986235310219032899659033955723841161759938436475298820621682091866752381768207679799148642779996268502188120817060701865775478123889831832583642058891024706253746456211560869048545751781909359717725648218148681312443837196697257781946477827141413845749814259087795418184462835200119699033396836660723997732315381378189199145326983977274430875731809322786443156677033771669437924224787177593167124044601253026361606223279809036417885184467458065092798425358407783926699083696701842797089517534835548198635478952924353132269898624463243107938855609187437632326709384028821590652748330726001602914124872284844886057450891071578327349833860693911202286469928746567163111871822307970164286237654664544124108459057340608923859439069503329099351952838241723513451756514705659592081840606659273121106132012975033045553254612592961329522944112807652159386055234185919218654825180525023728106991735933132713098907843406477687088138513094332096118296919407542880406563402841313361280627274114472170848455614023788662115541698479498909603892195051724945610067549204806593968506057290033409041340045765380237612309793785325108285426834589966388688864748953613189822657921684853194812864675779625242167749382467100865101345198301264199088863924512624988478668596604470724121352505289765041540818237522321802686434742563533302218173010499605560063993877224224327889575445848111666773125101586704782040056085428409306418754503692164034096191801499523702418945724292906123475366825537860973114346445406041980739825454554999515589461642419130964269959407795604652246895747496972906306683671877950738796026522440604149189405147672810428367508649082500762293923492585872320308395562623605621666741127571204405485259737508515447157603702766940081097663926855273577472097845927669782051349685597760578794644329971591010220489069922784816729637328932598758088704999002582900884405228390201256274752856676220186249213420882086439988856965065691164953507517180794432056666983170901715137125169087351135658842184293328486758924148418137883306234738410097298640685241226890265546160840748163043451207428997113594679090238480802555478944813230340446818986890234212854132429702212515958427158472461249922144073027796813959822680997092503210508075986810539881445522767575697883619177665932027870654784998302463304084032696414297512051376859363883668789048559187255753069076154236994250092770110624114795167911489856348816298092372120906268748360323832408826487433696357166012718830145239838941813659028552382871825170297671655116718069091258344609962149914388313621395259955885323519314866005401401279076675801669625983101751919133028180547898223524512005621331817734685862849867277196743374270584200346586140065893204259671984557406714222036286667563627935769155971584602503489616102424261886405325855737681249551241503570764327253688484736186515384079505946040032711570275877701850128630193309851143129972006654817190314089594637827611868561988503414428915490267813373863418558528895168365558391019041645604003610586913905438587574141376704660267749803312401887469003652285906256880186196007020925360071730459245141070378681379926029428957258775025027530385228714815908383465026516719872721208238436256961576072352723277884101915358497903597641192462297740085122674754769078473356379708499700047819523646134879593836887536676532057022603411416373765270043598102162482809396294424873648866407579383740760280750786318077201313826292399805001229344559701558753733488967849643782208929485935820724353495019980925420172364223050090892959507055900069119958766740787374948506618288968204854998801011475692382734233828666236566500265561452902014241636635522352379814916032399864422456146350292922676339457456801514946268784168594387421967426953741982757882758370893890520386970409199789910710479210614577934979190819678985735638628181491886486048124303360661684513262824512148733408258720913489565736127093635767114048615510569516220055170037585361032222903279237987488489215037950353030969203975680593133659141866947808645268351065316342842944921752951842713309603246608419611870790484817302414618886501560279025255722800457391284658433596207676560163891860172022065369357058390370496545545597795932221015278619067522372004145689355899996954221332423798992807578113404264000256433901967538608578247478910342158334136701266815574389439128581448003405627606193209184078481635178926283865595704083359200495233971917138103954290898005062006208924400327808410432947600023956738368534118128033835547633041077100305564025917363672232144306082816141521644378939002535358369692526341836821605984080723743944681006213175200816534708656741177005356789819047235767275523535676539380561486310947263269468608704537541402232669624599052445600124931714527900305621308647820497583201676975564013521206631367441910672479482966457470527134090818311508849298530255354692381754351728910893792666464944910217133619878053796425511260771883199966643157493194957005174341804479419512485392476525920383489056063126400053404341426519364469134620000699682506482960251480655536818239828713079710939098337755057228567906828031087580950994532828309423964003674552138953008008780055655021296228703653453188255688934402261668537822425107165170492813988865145678833142168031552534483119880716200799959469006628775552013593351076955840016078339525067121251523224387101986710922915041543204342712041313835915948846774552477898965081501337497800169540763618262486511075402763219795840175287441954322683224005590076106818178777763761792752869290363738277402924988682578571411712343052292102945617124862526053501231687236571831515916107828838584719852839808528326656252604178289231920250698339391136899982283700736893765108730933402949029769331561678418042784991286982101275505208632422405945050150496170742012423536664469216822817601579207490318117275843311306252953463900429220299585371602689759871881341147653840810771240142905723140079666669329000321184691710199929988107509466535253536360483223210929483725926047618390032147870721455125806428554696223631002920472717313898536310329225111550560359078731755957375228347867643060546288088997525236618503095643465961291853037210914194963177076893919367924975798896960971669887190190793541975653526145957062880539394672669338571987915731234566323141793031078082811964215584283514675939084615183701973302658872955712912280304676899652051155760057804127360830741155682508607314412128638471350763346599911817658804874880775587936134313148203693169150439692574890153872302320911900100432468618824186784586608994203408105745456350490383325753220566329529138249974960842835428678978977681655655799260292059923023818009630349792726486879525007864858423837926212366786790910119473667816720287063019578379766221043130898274850890868247143580412708201650203353348269103822218421050671953009872564845556661695192060932840198674016745744826985824318099871811845755489386995651173744860110136937897656816085056146327620681276081852196372596788801262678121288198277285487384936929326054099035952990000573903293394044279455194483829726103296137643126316436306086604994023274914742608048000914043493629291084320965189111078108288428477902370369201607410675543998471496884323538924694771624175153076665098495607187090813328062481872303798564065005499689678920721179527097385016031915418982051741951703026290446462476420567726820199275758340045832422098343613903012098252822869494066665869560124322753468043946951076188757198234517943408135270636971330026599778781800651530654844890972309927876274366164501884676698609227232699752936752759721440156053819995782887954029533465514928054927570284806964939134339436698472784130528755168410359518630099302010936360442056650350700636518223446070921989068874915329057138276160524438774121408814183049094411724489268662055592719616017086990046589488772494242424337614829533275535861564764779957060268186195237001201477614827052976913981534890644358158032998703935815146959847425072662207745626477901590784560484607862674179987904407151035261005060204615242968993583075097405002749278627917811269164187333578425883854323891688055481258689450143955119315316037691526717126315435785851042903155684078122949427189035317042695933535761745346242245390087240880140762153272586118896748183539181504987239204535249107700965694915757708455453577651138060551484590487778347150386179423102422404833224322365502411241884186979528799632065621391676090238399507134616483586779618687200307795367760057015950943168592773662053691984003923698094612489410115825464710214310052162343756492882536747878965133201696931842919276368954254434973760155119649966240224031069334390895988510691674035885590166342652319980987578253983109842695935389077666437289869906080786585635748686574905462353820066106374678316047476735336063687893658936279429502427425814168687515894704924141903852740978041902533201908221058459377047682343521452116965218222779229385230636445847421291282732476709255649365555487930786268875920008891177994550168709911374635376816582924053940990104511360816112686596300260485089935247840633792558253850751708382882667766138703866917139134761262686270010332493551418287929922354314629587858131265573374877781503570842461189229647957953379958687138582802097896278725686908878942343615492370566717478418933011351961526789793467251851602262687032037738001981036756400102161998138145394051244784879102870105202622034298111493145779696929785151064012829696652637480475643804255418042365767277361841167686258298613430680077779623950538869578548215699436473182519866039348567721406195392833376450449568873456636888114738274891625856697387751432169358495697892983255350960590386489278079417779546539964904930865855578141635555167476358442796196254211905437861764904138024340715595467158598559932343618237156904861896860290961249481760341001482878666838529409067295618771902573672892731548495301179656601833518003848200796629271408956537860988100969977492538535997409878149810634181503898190319106219390737255338886798993517004391788468448850649984047015003194103209691325951240987093116438889662433118551168262354001833446330332134817754490772080731180138520539799169032743567127505738985495295255657171076677786649503897345839435385958349539105043302452320193668013853707026002669549681753130440001721461676395804592134581002969825448853493103423355683931920073154358537303139459783487224988760043083147991670062095036969780615653302024101995865530789146759011757698406608885811402516497909663716735067462224655427403259838272108173411901726279404519546733726651833077446215024973703879452501064744265456861141097089666139180157338077989870980030167031040618189428095544321952091559112959994086679655565431131763431042945756694269899017328748018777612715617571399682962886420752165303393368580318579719537984830326238580144787413061373175918786911401058687540766319808525085151480004342196060011280736589842242701040470348278732675937807688282159544778152766281445052509557171037513048184169901506386003398000620012268461678030595624787975643116779832823946607619007360772687082501388335013623954219725996048761191225501087559854124842723636402325681115697947167919063175367784555475353532963494233598334506694160804304832804528742325133304911650688181629086729903938458066731818714047969636032641432421300685166827152492325139785991842699399574410591958299687965817859711775614439109912902237408065634434563255670092784589006181746288201705306738927823553336480655197340989914696020302309235597695847440510803210921597546979551878375454064453146214316764053646299670098509252647269877138192617468851111515487126465784511584575971279089351088961962183371889839388097849139786071747622736366319321783606244203432995872427147090521780252580923280425625151714362075203035591250770699865403362164086398592270432230019092070981749443333649322058653790421100392042937139072759963700483768764925044457555110120718226643290804239229005471385846069516608091621136220014116124860051496652496211317294887851733055241535718250425615843390705975681383924032262980178926896042119454081354325917101696088164959419276787707347664234054348906936896975424248162776093606376053055587372569624439852469780331778589959381536102047302359299967943718162488002590094353174824335808234401100239869821841963065856232552429214212688688753495801047293121947332406939593432549392891494060139624532922730962047402661734363152537092806850938409171516690148712790736787625946619606635967407886648515191655150070210033169099698570536692278726792347166488147757980091831773504702590527422228896185407845441012454346746128097637498324407019560118967424115157147289700125862627485932204738441816025084804004487724565046847283564857741881291362180279700882992228078336601828847326970323939005814331602296171561002057975649432378029955529214634597636365092532158435330104206183413834901616633550937396367336821870110988020288585020356108949795131145750566667037815732014769944793475174659718290338343237557697385965316513250931370065836602348805776891791942534461308855159145195714242856094489441782575673152776367747168522010912867706201652250771147701085608199411482018509016714539571837396783254411194955082420587321645704676623531587053395934077876050672223153121328267447127597955488497892023895754038805470711329865909790789383855466039148321871299008697733154205750840398934676229088590115686311071551780747990353701414428013154481523098879150565562666181569533122950969878741074956676652610563441442547372509573162983743159739093835759972949168934351163771167394188501538047411997751267528988828183353145463888915981739290511642680695567519767809963226199762712556741334340172292577967214133627778379667908897100704020762482060323717673534965787282254833377780005515637970476547432374170777385046917645223915974521817333235999452534777648760683262451983583552471471639974481189121941284559717983134135671144358745269839700560505268534824163772870229495350052033700140905006320547683049078162665499762429337912063833856540564005171868525093172335393902020196762527713899127127965805191762592247055510378037916857770140990589191645669755391862375041173970428469925917184876747235824745770645135939881671917179563686861145793744361324802929445541291775515918429172626069531908174404875882024871788085920853977689838056408751475610285857239414549897345357150179161871087872988139061762222597921815764097282462658513955306112678249983897302268030760855954517245459756575021617090445889926367439571556801225777259191489189834800199374475153989095309317208117493487319288194425784007998526950281813022390793423405139974495166308960852749220893764431461584502007337218713884968187878408165995339931373188425751012885531873912950946848739683459600849748054216743538477564943592765012868699022240965335486595943637439677544641503759097469519774345979770598027847822164904837590067524300316118914442968773630984611940393481586363229010817488633507610201419984451292980406150490176620274639230645464526134286380659516544347477059731102532903274467513127457397805793669233638745081475960765213804630201733356243589483204950610504700759357392259217210420465659266644077445989126543976863924770797313696839563833224682003997226534129463848330834923342427218032559988722260533533122616638392561843386312095630805637858624503253376307093830032063336238723392438720877841334109015639422929671578516401368444711770414087138509056720357492992855466470569977262897328691954937698845674385425439041065544959484471145831169498153883169214559080451552597345037503923983730670388583383567267531115888483273487318194725833833381119157929539325793255835485823043264239101996521450225579227039441018475054161764056357714898387275602719635785782217966582685120615708738303948807618372652394159877737737787546003278083150485962885520304402047109406978532093296915917751093330681244793792420935307205222398727558227680567976293379863959511632038365217774561958057305364935387387499633360100452195253181160589624778832384821050291914065536810759727075850227161896507296169941855938591555764065625795200506857853147395593581702746492481454153010019372454418962086243220805611301138530634064945811978759190193105405616768606272863478290228803360804422690119154340345993044166347592639520187785923945109363738305621288273272693368071811447408296850321693790552499137900703946767325331891328675055421221413306975034504922468041086666497284238967473489300858426788747818927829439226345728417371392844041432974029643504192650759012345884313020029673040364108443163302631633714330744065080886171444007489029808027751745904137841928524167673108921600361721181022067673204934706809971970886381230053303372487774300955055781972120433056473694825444563082602787889035057492604091321510621133877768806836130667122149615009161680803521061187922716941883089404356223519141321815062038808579930942557570910131037554706597330704349360267863601086095517270795255175035738271027069032707431153722721328436085314014135494539982105571403670450533141284691128598538453618103369033786141628374316817288475419427516240308058389021810382276468381654043521015014512223391198066687551800410267112434557362444215251232679145997887411541943005153105371896169934576476546423878949958645470344323787138256816223074831593078462487745414067381024438616605614151985224948674247657142869531147130862993634068812983173938301645599114584476585059434576383320557794671495103867641017488167405776696169635300904137457984025423735255575182069770392521223146849339071878060484600172963901494131087028196121247978997839285550906087510986896324194107253525629691688248655326837119357504865462612457139111084016425910980579948482449804277171274705775514441624954429647200764556277029290138405841100474134029130440342057677035773205062094667835838720206353689162064807723613793628984735388341290632136903597474619547782193422231601887772690533983837968106093726489421230717552927231069100111742709390913541874389967956903504149588424467422073135762291792206015670893334866489823310169686082924377150049981383011234615222388511297206390815216507035245092329614812923503062864455005290366143069694156951235733803451458318637096397148504606599384995429345607094104120916642062872063430618918341923333060131993810716474632751869363927737947655316972424027139455171893261902181670659905046924645963278258773901189387894398170411393420993325023494067921685342658869063800056526440207713356600039836087181610800764681675067606529942567148308686827474322639304867876255206551549149741874324671239002896235672638718115031248845696185673272410903630628757664677010259084200611775643167154005935724406780372938692741757544010970265352434760117457190353840583226018486443050692121387456204878390263813431166800003945481005420408995728220500046425245376423247219652574361398891918049791113702808728626203735607713946820968927681432515154842000873684354482430269434023594572944291568941911475988914192552992485007286464077908359255763510409785593004111430157782868150862844558132537428970992048048919096498612788421704064591340965733144405185115290378937978704763655854398360503084492094627338033434623607035169460723438305299649226127188718828758706355047304235269951086622041509210015882463647943918863743434940206372066483415681757151310045168777257361108701722116847689539689414639113828224251722484878383545124221279312718533876751280165667469980881026069028950498177799341086758111936949379413842235653923139574996625563389348182913779621247622245514976154787684413106769728250701541536192971229250366570485219566193806921134748286402062368272538467226804656374801730206730502947677520272023347566936067604609551084504642681140337223671908291230538379258912006847801969291272384402003024864165430977449601670531956592736774072903303228225890784864460379480108345382953015850143127958813115054193616603569376253679422157287416740940410280820291656466770853855646762315492386039504157727976377027526442760118407711876342605267894848947140244952509784316053463124369351687621856845627261731469745111163499238660802262357028851294843904063363022591889558584316252735219059371021731686284768208589983245537192894737285800025689343434635277243503339480533617626371687584357244430167700840653595542004820586990116925516475010205009811599019472147113901127540964649384743265082484870553186703486104604569476813083295466863104075156112852553614014730278889827061389634931658666827178074440971814109158527405337014038620570505145205709214460626849083856326780000271413068884180375308832901966452871376175844938299188858879835925993050434051917673559877995147262168875817252777454169357947176239275207685385965459194505772883349936543461583615093924644339134813934413383080246388683050319373077647109848570806486886143236700569786696711612183814488881472789777112247558514958493616981953228240192470192890808615165741047905699381096439776429325552052656574179519457489324546117293762180624708502429256547003249714090335728248899970855520641426732987007335513889412779206731669164359410211690054122893072528517787746066748557857990317706721898921955387791641101332696564148815294579062375197447396613103069592804824932358070667762192153345702359336110193651641380077019634302163016252960329322877493369400178229784344219504075915514481708431266560565739754947505520484962185732760642567800088435002085646358996485431446388428901500042323724457290577502768833424268210172138214869959823297330761419359788872196421102910782573681302502065085564224162907432691249917556145276314272101183165901519150173739718598506116283962683204512462404842288291402587659609194158137724156374285505691297765109819562517864483735805766858767897144017839877050011897591646250246954587771441188724171863161309244777173785241731847576306323913082487596351052986223945550694988008541049102635417809130220732381434604957958551481226236417735473265948027220740004066936547374812167072936829228775842532062649183103919078243034401535809796177784310838191525015899547002151220850756437766529570795263818599156260474415411157765808201438660748063033333238022143763915276173164683624204733110002165680174509876756722649024023668517027073425299802081249448663296588005774575008261938384553248712317669043523672881569800481042262062744279726209410407734599451862466055806092886080768284507070637046025921280166040752458244946580328524130711087938824619078971178932248032872456240793847978540006167995569583149586156398081668978111068774046089582711322183259914088943819703384219202678201298788506959598209928992116880349267021801081518316666636476929338047840623387601305754162939297214729313622655481774520819240990459227656963483116464801218947456768921840366698125098488992987414409117247529342336133893768318875003025278162660669632957068296474205973009470396140067062551100684156503139432433808797278924691972364831874577565100202262551240896834452244760976362061326187663394799361835337037054559321909175788368995556950697968742884677745450156877263161467528527693944801120898685951245272855812108913165549378494124862083702029058335730474620181451917744377353932146839733551662606902713137710940234775252164321890438836882971795200599279546103480035467259294152343385767105849389212820106401035107036288643367909292375665981072824143083515068974560461130151814931485342352330783161394353370215142497978259708016471247709462906738774135325132664692850172006685909997026402916256030150764148462822871080513402504622423975962212109360952019322184632780048759158508211211190794765873937430692520407275240868689427282096463922668924231666430326260930452269907554790503273383291745743149662086404410619246334434205222222642096714977350451514074984814099985084571544513505431083781264650665700721454645890598018636653570366282336382220855487211096262894026435821675927204525848067125557071047350908223076041175734009818167620050833412541860982601645169039547013085186217368252259509672799520693072422728049352246045988817465843269758953054854956113059134622370754773095940773536951893116014552288055439483125715345371390562607375248924485619090929037670859512585695808737157556779370850557404353480059333534653492582739157680629223002162776436566721824131885455990366384024525491739420303140093081402056742970337250149028580945324337616380327506642330376341558294725516154017939109745238594403570193957654771213717361687799386384374211851293686446344773788910459874391465915767812145724041248054981936530063036876468685757395096463805763104399423365087100410264200401198150617532145107182584911269851814923513335591109618074756705849684859354179916624519756380072219238426976042597786764772377275122891711217517885326362549927011260437502561469212762000680983577379702243947946802690916188205191216273081047894785407806384564031213211634545879005051643330504125806343344257842470426711685121131116486507951769868106338738438282133969358912393601241829849536774364058270046392064109747045947443817272555960259090103790555689065831535557518008045085614124810178542231329984050640777257552200593426631575371324139210228908241939192949871435693352695762058497039102538182965056235376216748655088164268984590126824569474708773260453469394194367407043488624688666120794085775623345652029790363204592976356771499166736541319039210200997439620515749882814353736503399967039132698658209815646704470699405235189820708434272989955619504643507359283219237989455188995398562443626150366039008789190043862457325812012217716928814761669999281708680660784264963767386524387372684417018342351051712058389460369638980778541053648043068041190421444485962382418342615904017490158217078814572640320986109948429219256162467907784374679303898436539996762661696190510266525318821145620697120614977878590361769359703771571154065810850754879214431188986287224742362603032379369701976824221397178248787219771002456641513790971538931721094410253415502974780599324748353636036252746833203470832660954056176691278907518975060138001633383462098143241245450350665408886191661034598598734154362706348152114885751617738393467847645974328059733682309308782688202226094083981578031759038424010999210645581721683316987178717552625885116986259393325694194963516720858312773030699228019378850670123533689388228917640105277888359000764563823129846125993532193703970168907414807673834314766990957737296513372667626806448496435624492289534395788468792385891213956904345184437231762704577922315794581532620532643391014797827245296235176806430347734118332728775768254274786218624643479081758860062791882188994124344174036694406286527191673794964852244229441692401091939176215310780767678954011971712135833847278741493597218631223629261167875532609409949474628273013568353473312536610979648544071307276182240039251229132365496375646466231515150392867316512406169143924995477694659163992875071165290623600691458541484428575455007345265734680435293010053005052409136548282193791560771984642417335453250360838592474535602216431391851405000319891234127290208714179476466043945519866681203319012481066827150145105374335730934999138624406569727407157065902394325296225766753983464264032799042853996840608262012571193072269183521824381027619874695813965502632707566101264893225035416078539034892395444001845203722346117877411652156094250394557084922862866359067301945153475928924975909547929949806103815848710345696352834962651417259686395217152389561250880453563501801394373684432232621422898914574406040356271921388394614655664295509378169482082737677956619951425241779294991521828637440845630009014790832994288577802165706683335050273928561322158595285977523193496641729541679216699684006845383992777821705228984409117556827268286493159575776203488777762776732435293845690101088054932843978160114066505908827304268622626444862640052671291803654242938330930871596405829298184958122573859926175016302720457084492391330316081027088138852563662728916177761348700336050030988383149576397656300179942405837655796080389208387737953897851613654106470894824772230628746495064174256155441378148454981457764171493569159584294690570169714540438927175497526672574751830185498287589587620438114972304701368010016883173266325247356226979475995968480497102100368355482215382228886815407986102668325486570407376520660371173022061909771940635605425037566276991157537085432199288393942247664805789524867537563798459010252950498202920574262282604589885793967520694416286686222352118182708879379373440616811011312397739732647636454230096209665170373782596054268783218860529665420102562387338625583198135442287909935552357892653422815135117861894222252682687280338725863126140724382624858366903206678775471655837301693668156109206501045696440793804498543345465627766603068042055718850952653563501494162954310353291421602964883069976835906840092169431567939445322553730373510253285404150896451497835384860453523881545156604093225810338105847375119864458510642321556752827784030455733293345883747296836141188797837174206687598987741398036358868379885205137638702372721756449670012322983121853997790527585790084238199959086969903344322294677797545414441494147154734997838438060862244999505432864023856264932496459083728029998704725136963799300859427898271232146838237701245150151289991138621853293864178005034833852861727025021122348388319678224750568199053615864063919340116376911039422144302033059862385343191231045142439058776271137864603551865679108669020295704463478519421480617834493099981936870654744472943176828796369475382618640797932686582622012783288096487669406497633949422075402134055560183423288330127089489053164510733704233691328405394211812595333903237422795580031717383819002732219669536316217367925097318777741026169070329426602337436113570674626615715852715117994865473473964714195250753197269674775291134464848760886061148479153905882105946988432916468166298291563784981642154347314702428506028719061725491918547925482652100277828910748771575682730463223409278130225544557338905448019343401104167774213397430527788025337201305812544602674454122470029920068139545497624642543218828079559744819778128613855189374883792288786583437612457305615410192679760660205165289550676398810703050875288994451336877110161268658634694744648302460431626656493911140260153013903387292274354697686296323705829917521244632935088725054731821302314929083766321193041426100869141264245069027552020971075543743031204013148698475710250650689691296449070572906607245735152002639537242110931438745874813663893068249900683753819128480515996500395243960596658363342793637766044657660338148004816934919252609871288921676152029566435886265698182641532242351567424705840161314635702362530117831115376789684862611529611106020967934551741310145379201965153556263779759357048392676564628367411419782286153609225605269029830136376616829616727970579546223788317545636476261948441521463442796936718401724154151602205025321048702792207734919104858463593358421713307689020085859361546386284736285428678837904737040264237309953673276396312741025000544873622671077525122261333147177875758660880814772399520603914928552226659150079139390863042834195191476051207286604922030075234697957755389860569386433414462883413889616839426775702593771501006432975648267981555186416147535518855837276390514002064148945415289645948758520479718402739246978480795496057287964150151234444638048381326245947063481494260546200059216186654766830767848885140363148370291923187260711265891787527833883396797357293357688249928277219893484412891248426154950405522173120016871018897951834763977084960696282369100036136372637570092789521944771406571597451716555490075328063033645890363529644031278150647387926431340530942249645441976802789664763661054359935963631428527943568661180207634343325081843777937239869154634245447424423995595348320929129937658721202006234602394560796986587561229823741654590561546891201938977540887465110112218298918409893314784584015675099792276089525831423175709853433449332753466231289223663121918421238306432795984854260462490378608919846122464353682321233009401855758366035436181647184690634280878372535187150240789037279765905140683297018368339754118445145963558191683672706584354916200703089658533825409111212516745144038365281312824351816571114982109806465305964222580404744650212291005087177566756492916106295681883600237227145348326751397064554635945094078704318818742515013947606609976912244756384824973244822693015710981268989164572334075476849927039642928225168062849572644683024444982304502847515121603941464459837551246361074089879483094033540738840807406580984027890324936831493228898430363041404817043137321551154071315225228842186382140516795689351250978759561477664276206629713095094005189083188483415406203887023072812120152031865867730869832526021765555789814296980420897829700283398946158591599238253853571173795027485148069866275140983062318043630977309767129421432694655071820198291630287402751712700725780512717527012942057062204190517103300288528232973823351343057713186812313428205291498486457664250949051402088168209792936167518769274995260895346199958279697364028224286848583363370111906837037970469093871463102133788583298383097124629814960718819611728611387380295994912506738480828797961804323725234245972040878866006293044095278995583988677760795499441432766717864776369846945364418325001760170120370087193820592337761148019506706304069551135855873073369109285926743947855406010654593539724131028780782920328830386129758019419917012279326761153790142922891559618030051434112136325827200455341130532558842515483718582174436119642152716237393181547048861438368345071799848973781414848469222244931918766746332295021301644460842166739874863326498251257768001545861092855206718303641563923822493097473244945133364325485285582663117006098649911524062874927347657521391909152283749898660100722431432066032600599871064455390082060064198436088283175676242542538033801836019954456808740889673988283758166612569673847048535079520585872440144338185285477044119788925019277741233113768888285726911283220562087426320961481538542960012334069414652216936076245338437858996653879132516104231085761982361395804213103423437782155899408709314276450322112827689715940823328629588998448053407941094650780192845486176680002892511208212445564156733891348200734218119135042383532754000358273198790789822348005898956215243531760548352985865929879410127441114781262383326436565459793974701044961475656894716093769012762936065978532669237328442643757603850023261779058688648516120780184868315371901995161970798608474643903668285557768295611576585529683736100764720391992142021863370741136883586294331614340310607521678485497499636864264173061447465281072347025701970812463509879282268574221439837876903335725630110096433339920277283152318363355578856787251578662908535727647514613591257315025290657733676343628782317991970501254356832944403766597671592095512642685516156192883610956619214472564794326561841367496038035042052968582430830781620161476254117441246694706245774693451652613800218814598687560195915751349458906471547343938725300465026487861322868471477642920188186166192348473108820231622400685346011263983536490021681199634419368130383623028885094329957086853319765331318778137092094229168769915010338818844197108884770350616143145286298205834327344610833563843124036484383356861990112353110357708165121782106735419698014514932732497900662372528188563993122628909330636481227130353565721143607142263891396537209678993970710767748137859622884597371189955934636237410170894429316245470517649196574332962558843096387404765198855456931352853021608772029669305950534258678621772273598919436992695633167097028747043113420588094022161370004518147176619908270527183370761725212340871151186437512442079319702379543796022133576741736276649754310634456329924141427701668270985701873334444451384243966533305323397545461073206421170720644089057365585059575828009011455308937238745097932616874410869240359201345370628824522022817585112063704680540970299012212545706204752958919851451438714463529426969591415645384597529254258138734894434742894778689108412874158773757589170326191798517114863405777414439796717586734102998418408069380643803791808722508759335810004364526934935329530466693454463807792372577106803436594800814356653003373970958586617257079010920940413644935354835922605350346296319286285517744107055157199306517548262057520493786520715353887187009604609360821786774352993457926585949776172225680898394386919611310557280462394623319112385062526304981041356140630550371253992725787242922163323571919522702486529309791581100049381237457127763584633505731892264252364229203442958169209510211711086314224370227238669523445651323772448186149244629031515678732714486502679275751288231852092866440067771361646676133810303061926720238961384420731701299108850166181007814796481225729060679729068858019735768934303635237252543840274511104377757877979126959991293650447505940939241920378468492924448086003800351848938597276551009929013964383694489015816830193712594140497367823506715513872886213939364827653797982829829967994362672953286849669556021884493225738360362511496403297580173074622556609477360548921358284210786337922381666367047651456819911711272406166420927294694667699617629929345288582820660088461946662772746376699327141491205180780758930862540421756933626795145120847673921819376949898595989954705421943309814568797951921913879928857012458239867274899212527369609852787225386810867002753863632337715681725638965028163100817178159092847350137110319057760490811387472133264104757832139829521471386123884668135888352398424711351890088522539825815201382424249053690964153007378137866960048421415567130343903499445872705887449158856037715753558472269525880108491076173425987268987468265036411013373888520806487470379112197946369826246314750591422992782904750276714447101044278814772543574865459301375185998428117052245310908798608840571994777456576103295286447572929703793078678781709441237784295796944306590095065662231042867498974490632186711935108166931216753725013226284466271637582342289069350075683981847488136336576752635068975400618129219155623489082845444178103554263825020880729140293988216738315448452145634936420807058347532400082223040292706124349438708994688327006679377359506140319072015546803136673629120140660108848815966101977772309870059397094681752893191431502543928238923161728966533446726950899714508095374595190956860533045011031958297047550372134762758947486084972688977086267646840985596973336298464317597191515952633908356292901347009869751402179341604150134210214232292188845827 : 532012725312362819837908964871229233158355090511492016251501010892266248445020443422634410991946142170082574966310539698013726180833982979209640132762583656449660299843349294316991964056360632072677189252022426133880070499919071427762376456862028053059919649204547595527063978749837703435049470387899052106140215979060248374509319394015839088227461874211644855702513717301611446791834791418688517698947187857479033340103503272989580035589254512376048373208812823353983786618237900423524068343683742508923124482606099801862094808937361230910829298880393288787549503635410211673784073984134251670288062354203520582452599718866202995015621663570317885883162262057149837671436865955200362197643535327168022048970357476098608321107695063134382161575859489215277094834405784299888960768447460073679064670215975106515858586826985063229157043261427410959922583536335982521391236771234801391619143907106694408333799549935784994144854893325317950955382198394864535324703535401788339990331089614987998224483123118240877276507076362679107513001771821944313717812005342063753327499557546262162764105653108011403469627485759101530117100414973186151016835160254915727733456642231275522400043605464860296219709755993659253554748002751368686412651917888871774548236105153169681606444332553842974756388939069569109050048567180308809352315630669168914234464641321884799007883224154304078730140407523976801344318458388010909426404482996016001066139262578502374736487332451552152977656380190249157156552043713957710564642385941411336186367707816469383832235012042275456360378644437510620353597723771088247179205461384944068873506488303843341750864627770761270673670749664859036761127448631980811263170784093293147881507232810666626053354365939370818206605185044793800204810629387623587059608027743298346061683182715120543773625391821549372598452237781147418170505048558519015970554445273772491908165902836042783520254259363769686393184926190951716852324724900267258709903540379280982043216890101073735679602816358640614157744481268570287072906593487029250314229205533771363992077230047479971662359743059319605801325958411552775459205662541255633807129438606151254998676026781522565654364604066581867051641284450320297750456401350068905029858767155018986451625574910987430842490294715860152200185895083427056126394169899146824401965521918621245390193077480549212797795331121927487902717881862729765390159768098848885751132305384081387190268820251679095275299759458148579101402886898508035663973522041609662833477623744487884205793520985370549113794578518061490389540942765660791009139873639622156984917202541916494276985078059714977714672152684025648970683939207354008607677390815259642249837179214637779702642275331855439643435196737139212903577511750039396761656803619919738764463391318789493963747127469899420455835192383730476831553660278111161881609097186538191231669398867447101097642964672662384157424529691087192322830095649586984764035724021960275889141186746224406180430003049414985285398820140207614876035903848525214120790099737167565064924688322985289310491383707002700267069475324455989813687117836677405084720359505203423013107650177587626958162085910442946001719763864427821814416922577858666888601818228956089251926402884476852432591910482898668481126363309936150617762584913609570829658481786677361810055087185395040386960114822310878421436363826760864118454223079190643360775236979127439126571930011779481624674307251497914637858450580738882756557847134252516950300140632078105269554304602982587685418502203269380085039439181764157280646223845189449426143217439677489890889348516966375590499379339442963618783432124983388116712905786207375630528235453303207492730606657311393984004448614219484488001373179100763637033664204295829712277479968331489665914038824512766976106563112304671047653902000913201087495909038927683290908720533284884916520475487822214341281895635146239878123336104536108283737944654249903042621479017938306852841938169189604118934398048695943595654611658270147507141556669795458023417834843422075549877467166533169808003356568884088401787719009721703462032618003293099239265729804473186802181856974735025092557639094539308511991302694956435801477575670639393967632670146373822867564960246109056060041145286030708198424029677342337464774472591900927142007554209842002342512715544618515639755001890162673198460916831028633292604943151847230103058033580468304399799142750308163708456505174902732966642369009293352591763647319447532562443672758021821373933694501053177395145772691655534859594264881837144569500328468274155847986326725433519763148727281437147763628837830620925088015677350872330472020170082751890775397344598995965602310174807024643545521469769391488813215906018407074573624288395955162938008647046084310123567658564864664841828867098081580286918416185441741995264373596835221578014759956645843936078622043776491323027856311441585635530115049270698875074305279861975915120215674128792022991114377999582907512681680427308963256721193729115156683392632246712043225161377534710602840310745552309935706974837300780046905435894252448968782990018394462306180848903392928809916926977365737440312979589345594805173039545219102908432916015337610372341105538777761055281983718165502216733384189237389843864273940801399635109328226468869566176830007094337081209349540521528266897575781722908369174154206104364791547543304134056881015481106305900894805891670340195475025576782281101253406276977225387720193219303371516580779313867038552606580969984236912363224897662386870220730058504387072746115010048725203706747464696492969378561197462782360385816781432507532378253721678998393206711799647160445660104805441200634727529379063205367706105425603181122659287595292941696933077173418086721362512782769115233163976915865663074435326346963349921033835674066084349048375612520232366039420012161160112608126090295499437841952265205175366791454243930004214484134300003697422099446162425071426685407456559424654799208977330286322996633731703597136784725617868150177274742584175227405355749036406812623265645979739495839367243266655140950462345149362759360591757696759278284196672178193112077808966414097472773043652406273507661809087116801119077510594184217734163232710195626122512398342313700089758309119460596391488264752058882213152029027641314933136511388502806292049082071630313805346318352263980996219939701300893596355779908187909784249762107517922348609549501467571155245932834024677430588900182706968359968799695170436807781025660797361724003320100059099028899804784043411767016295414758367465899610622063593057821156636170601578096594278389567156238579780895675711139452383044055131435226594232421767632869597206203991801675910142575641912692853447243234672479351749083865974750011255732782325290016982711499993028858485949744939181374977169887460426360815056656920176131930960613801046920389950828717624900726631685491158334019025269381389445194447831125414919023240276893763421361549051841213563849809594265323715306194700545979548390448116795096385768018703528872896160947665147236546297213831239471536856037191332528978889300938003887509782120995250947863178972985913815301027863796959318981875989593125043447223814454672207824847277213281299852811277093159912158562616645260479361759634909346515190287870124216710170525804896059707188930360219849443104222357434385715640313903313236588974668331116380910648843840503764984080439428567579209838989965434262349731873095684667696180497939628636993737462854736771107809659645859040513971320200480302739612334232335170771856617403259195122767489190933062684508525706605610926117941833421328828770970625183285522132870079758604665913994007470966540600379288797968134618958320524175871920667762321048117993884789802209706911864886957868091984077174971172952830499448154439828433951434076576943458768653660643063952052832413568360065214359698562433025452292253828199686962228617044113394613222233815671862131852541297870936252619558787583303774814447570079848249037875053414114007780589060234199100791185186981867242306973227397624510310056063428911453285362946470913782075950302390963622644820203853301277707127984789216281831397114866112076562898097941695436460266329640002330880150841298043797841526440757563736300757825530373165937356912806380746289444396400105682013487745603538207672517274611822289925367011125156576423766495609604828231568877621129892111996727979512826443457391364384502696655197795768703231061954903142341118575705791733217644345045512085568617243493316639016482477276608899646620119340872474578272148590945365448898533433791687075949586531719817042252892261295931768583183799438996975703325250704212825521107910551190655915089982751893345532090804012562282843253364872473003244604233192124264993576628424380682384958055252620489450635273045226759808964208261717286199782165120123348441561325600967543954839901125929087909063430154034223515598017706951227018812960204649637599220209165445105355343689474551663507720685521257388930172726357874448400840017384941620735325413529063618622391047845573661449986372135089540749201089584554223027888376286299856442332865878768859439917716197066536338427369148123607015317013661216448638318899969134963823742935780197563214759195938708413986905813300490435326539100644790616624799540236453791228544590940333202861122668965371284849654713911513131338507901329709857052695674578069091448857936148593137714297571777221722098183590404426757641853729584431920175034398548913386294145706378656751872987367667471330933285934177790482918627250369555206615579984770451370791592272893364879676914921923428440523239533562078979369473072619309233931824340421955632423411039649131893558962748025104953500027196374913836865256140004113366856488956998808888758094355775699510767429999546376619077791196856534377910287045306520370921967193415426135646303507502304094278346482645928094848834549728471447446359998030670448261933061116733326912524390419570416959284795417337595096328627016121239398287111835048243111847950449112582977162366300219724447973805508504817397061946520306300399565310088002497324464254445606733239372854181612733084926840168767474137891732908350255277944878268662333964017992540858525749985658541065388977754547757237518018253850266747294165474519960263458942184584414944522343847548896479285206649007946463177227906917593062961746974005837874694972609884994485900198410886662427477509220100856218685294106151474931607526522140805944048227894813305836529525456882255476857700400829476260112583104810588261245783154689680271476196465960887775285669280902019725993614937286676023624979801357514372549845854530301207189938893933355731084500987285652088005159093184900419230100967338479536987137193271521616781472932093816781813700763381519048368243485405419048709490827470083288417553677943989884965766314232867388849694105261954918588375081021462947443227715559329463476851069131633817467987492641762812207992174436896041728700592795911072978161968175968049765509303020314079352222202369747056725040913105062024915757483586092485069805717483445601897163721565643035983894018650961009707022543874785867864952029456710624460834449031682831303295145788494348644591188862993036462147400909219768846613024882642196285135557001390279095234171689303039109441069776368674770342900782026579286608824922818572502349051009454504943234559094244366824444432560879988653850073788298273246403584789707745213704059290418918873277191896415308261389511293405298859884862700323293283256602032735884080400120513074199264162299707778003327078492707387938135360844486856862211509262367978129131369660537608875850021407270985612001737700916541761570938208163896179083275232870846895585700587375536413495084963747890583606499563586614809158288767368699783572708607977155410013928173472922293948904905888105010795127001418474830533040143229629296579331674648809975401045841341696702947761045918701271646874500930157688216761832607502150419197217306425106474114429294098336231026503665014937193919517119940353422852712211862216318627392188458622815483250584240717119177453085606198834460720678469979415378913369494106576735326775092920009084796094345163963513259653895951859534924826294053315664572536425068382154310715905544472463672868462463292112693576861519196346763827443579568582238335498978465907300411858331625131134886997138433769401074904105410796589326819635200116000075679137643263557914311782393122598090045599799401989848319792937464902276563664279052037526454453218031008148189032171004193700296106675357271532432970642479129211925992065803823930236196047594178683959225702941110565989825701642068619785830924642081436685754095671248416791339947024426155466566234881506778381198162232616152114871507626729843874238043490020763262440465411494786475094524103704876751547897838361205315259186089733913581669181624749710331547014187928577083997113759821802887207400602497330355395017878162652376269228428690588276350195926024606131918942292237437422028872398414234727074934308868258718014328695260589652259147526450957213640274126554650277081558727210188545595207788436173957712408483197078170011050985197056871309105600631651673184653971921990237579631195801687897802440746381896539965911141086819628097697378204191315312564423489774491674013848439848449178576213494308500687711627710961562061226445957377509796711654177172103839985120701908020495978170063805892075403959944555774074917496284940110477900788366104354502681722079657820844148480921204956482229817784622591653655505208822956509674542346744849179589074366441521984763274437398431903024722454675138150969176120471607929570230898391219072517320767547018718393779095877509148526082041034617927407416966018999122860087101465097559629257042164263952914929274295997913069009263071922360843904397040186297231362834022856485121206540967270441836784992639249745164754079480585361942782316913828850845260283911175231337339407049007592504067248719676158495307548746352342710228059642255317809273031927408940963862616824112095667397775195567895223874908557833560974716089850869106628478445961542737219394786107376407195366689295183347319359681353349615293604623060969040356649302494280386300012966117746926196591747756596247183937874010930097952423601923938280593857648622361323442721363235038814772877209029175288534079532261451938990684633968706416105094323430402860951878501620601758897668733728530810143299613927195090768517691056507195059054859795192757877477735824905383668910894375220385970634539496594788205051029254414408362903592129800413344697674344692278449497536634123691855226828615369933799690505495137917636464170560706786527719518860609592954891792174066348400901177841331816202091583701879893324460446159160894345697278239440891257469306843283736324426759651440675987164577573420645315877373514699803734240867873625905075328392881936996875088187936795680648334956133458386587171657602861920791597239724118734401429066183272961581470781525915066693590017121055284995390770302850168430645191904588245923084286904481177850750580596366281990006452767743294696728357540173109113393387885757163745976652356586959244276349867136797818549868776652178903969101912936737237591748763726698905055097264424628995770396119921822260198231794784329556171078349185753576523189583329510012832974190750287986258486529801808592426672179161510845601679669182598196257951535605542651840143781127227535436510649938467373136053479978276452282687159547139206071427008059571213427457881168819783633593087344038919581426636773921734332101436715847827240739388705362493224552174494048295183348678390462646179922788069535216302052584786522130707494950935729936133894262443062378740482942137029550070328986357755166497143984557882782211346497928005388130021824741669655614435728503092362566431722265089089107373320577901318943773874141648459443266595618274225772014179741645581867029711019527138599650391912748032310416394216284615496726849115060952170850531808802948724481051378393040368400023296792796791897977809725884423314858686266658374421087328954033425232101782060028005682665873314365026310485838483471180090109392180066807337499547571398399164347586585608262809109745058606067687408490040276668005154788944942477793588165395582645909595179210836666225491076582330082330599483757718625831263954288686249871339606703512020311208874910762365767412802790618430302773580659131381243194817075403453167002263642752966831581908268310136266160823804209918091922785020038517080457520421407950804702146817616559256245984082286366551233122216066476256180217476164968082616051873026006353691009133058150134095742050147842305221629222711224513890529186039617086809138645398753383144616927858195995324068145626127865513662484118104340471258972503703806616639828442769467071171853360493847412085465482460023586656035415632457925511723073113636159420289613398883420084288751629338962964858762867556736279845482067437916278821212247612102452309136562679978643840888665813096192564573403059480886777918481336498555235115323145350576293575329598531141823981146576158199540754686089744341734105386075250999660334296089789367602106589269639342489852400738706360415567616773209281383917834227174058600099045363890868006870954662779107086763784313052286908231620746112487718558361247815876130667402768778656052718618941868886270001783098080705794462581792913919548052308628509083299072801641916350150742390169864221292199456487506917100734994689159436459698094743264143280512132551603411566876915087325024311754805759897923442322704906052427164540070566517884662816003765595337551733312257451171167547119139944006304147329644478334787856140899423790289922526642333415762795086756341265784656653151998408462366829414577811091498923316791688437151083695389452914929078876636760456532670879600007705713552659703420521592400562268745460451085741396296197288235758219235378957120077004396341715452574677610358246810738922551233341276565826640499864486495056947699644659185357171162763165170240052398126867893839540787879166676970891368243129423202003050147061427948381661958800112348728139768944958001153607730439888713960423460166114481034268137255985455873910494749156954977593132346875945717206113389155567326270292805364244664464893994611382476767327608426722505815888649576187352816273420012427869251531594887137153851064239421905904395877001005639212755165432490589660580089074047952910365958152758044968435840128447210064517405301763683074123585485144658412331656059992070361856944190362869834492457594621324948955535226672296932558700473051338648715138903104644471237997787895238377957539032584652526956314385263644053532081243405778826681209339012919642817669864527427054886975849753226466212937175257733108677002070793500776554398640607315358401191737706965076112334930998111643135263093058556008667968689692918587469984173246689770633646727309999409400452846992322075278657916015758047953681089785248577464548413038884148891101159708017114191066428210013546822679477237228207459007081801270270807114138925431418387866021362864108570447165205707688916229825691870876727744646698131738800977832212403426147806253288117920806957256546633694162398553242816605447222502650424382093392178212321179693026385599324380076424855936430647237083169543855551780723570863679772995028544658538484428425192247875815911971817950670354084932072616897657302581052561132488877271663554877923287136809574810009379628178732482860806051839375927844879015895531038034151458233346519146781993647123051166747822195879336556815520939383039131812593707748422102580745475342191739779295112701057016896514456115597178901102383179735905481907536036919299259867859000309273583880969624495968240726652960729977965555070210707129908053363088455299959062108226162368246108827753405445867068950028424161576834779866119664970712393699264249144927694151273819266694556785249382194612862771891324423294060589600588884146227523686198659737924779995043818786776050552209799134757991130579034199437909626454574883974292862923892426811943295881675837399407448262278175084705367315330251641572094332666278238173161409579826497957953809037949459701682564037347564944102250643894272482361856173801618554894225869174331770738148690328000488449256903232747749045117200839347503135941261198868235347252091870105215498199885729991153763724511086045972191317056493323168286289378234048746761663608270632385346804880013368107429486845162328933438100579972182553159157992940770668608006986221678358468325734281688157912082154312144975527386056767682403857576234106556460241593980489390632577513498303220561349817187071233407623150638989330520115484511631337513147179709367394264010616807755673163789423291985820981667582129086054886390119432617812396860135850466256505796763525173168017088192334501014255881263128098514772782154011566974813666907101229027983386251438409937575685402840872836515663700265193796826448720255706740483597156498948127480391202543975697268597305563357560861005877429620587308621335173207136709264012477450721883315916135034356543304589486886192005606317935093118721006656819450047157387852362150495971555949466469620758392944074441517144970503147019822025115907835698078377753673921418879213295414503581986865951226178112201456214617557216428545230836725923084676564623240051564228249436065236928650971583215919066692602567941293816110112237017779144581796299590615949045593871355595294309259095066972005198312218993476286656508646120662518595075685171267782166701077557395742289996013632512370404969893116881334761896042438851708794222374581410657267535073821485867002636277504801769886326239498996273404791400458952388636697905291698795901298057765919872306836690189703320039995969185436577035136774454622008459578337418055070186047796941658529630222238498930016106639070960440022358388138676546872954343905596686954768150949725257259658093579877104810523161956957300165260137902289575460126764655272387383982028657192126969883888158171822149661333517584267964326659205468274479242956142378530019808794161703435395558298839954768144641158923119069015969832816632970011805035605042888357182762059159846624531475292798707162257707629896478364246412904421421545220807899710515167254555759733640966514442530570710452092599695803751288673059813707268741725485711373790038402131854107082975941034360774595300905492572319928347126990089109145306304543437944127465846052766692503001996450967777481540511589864825464670154631189434463701013354143913841799912157838151503359826701557184238592291207984360695630080033937508735419777418921978336951390220237618913346860287669884817429273990990834050961267785845800571457902507482780138523562946452270698034041618102419947550197293210428831003645681965053492409539602149679964013106509575371540338745581056111444665102743567894475705174560483276687287353469712001211969319391567344147217116643143100523983973168760420231039067428215043529769641482550876680067708342119128290454053089957212558220283188857528385836628933633647455466712697801042858732864861316215863963818113882118752299860330840039730615644556761227993989852032925907042402513824129951387716643537108834629863196266318714156262403972444754930651254251498971611173772760822933944405817473544528895628540712803130957252557311917620607838602175135286289281728321023714223250017695446348771964873343099803005390594511000091094601137953544101744404302998090724896726341426297984555426963541250034743331287046196030225003949947076235074521468790589619571977367846784907344973009498727018351171720656232115694794389773346680066895801852594829529492683625635445206280486213111773845305007294556533342944886128321211453625464260701231525654857240556632515689320232736860121862825145622621302638787205328460507946615757272915631439259881954407152842786825018043507185078542712468038422472420504056359590609804483062905165897108513748878350154996729893343758392535684298095257427306604003157486627576905364575899143014478507644726659987321074806528047683447964162920828321607034751731353379815499335519712640897741874886137849979229620010393456547887980301466081070176978594203934298394287002295737251877719286874533282581180477537348773658170023246873101321472336607849956187760747618079420490860538263954327462873502324440595318787969058845125572761887428623650828270275043067314110813883679070112041388178657008943882963905257928897995186521209500934421222869328044545996423719630258921108004560311541820700982286983773403615036427771383204390754634970825797402341896470052643110063638146440086234601726343123039232599445170179895816515468486825775987238785515166789654372548561795773244172928809528975387765316256107919854327752558179882215110763024786903671601897508979047083482764013726171517548860084814233015280876128537065661384163446047095530025407102039899606253487941163631353035821149407077842142964055877663224221299740844849675669886865575838809390802050286764980660773042823675583319237177255325663576242545433774295242969936251108130849223441350847443452575483968442392018815158450537545278326547229104664283873913707264775030252330368056803021914047036702346436767103742533304269259565638602744981989866320532348150981398797888430171373694275734749665918238495787348973743626571528492312354829652271171297947010916176745892836706455561607127167119594450584523268559230841803816336195004577349418494929422350003686122157652202240369053773881332064153185976571693847819619907251205495077170399616215703642837392388431162878957933995923404385463399466476326182984051421277564947377770016638964331664487915392516005932989172781002102432718926975526499489673205156974459523033183249384379020746145582418632961644140025761455889488224139564924233930247189677838304154992083493158399373657681145062150636690681289662339624002146924289349526764673862249650415549379903976589980871764966708542435867396707918584994955458481164372909574248215361990029910337901101612671343214938468594798706476973323343105010322062214556127954548424061977421569334348847725386856356689509720489186452567557219245222861985071396607649494760670717880491508581111024315672372431870277117519228665666936360209362447230063996693998315332118737932006112420715953365361600970647276955582429107263612461538868845349821013914861271842396203699468824617394118483636201244390751720517027883256882350507494608354452073373902209485056412069720031126400518958343562858415546169494463961918325264098496732620064529805530068877797293612633884224056951489346740047889499805621577346940513108094486070808327374291357438631290745179213840187183802962240895008636811199457985473603678875024210755530924541680982727357180496353789665656398577175956678938880627939274597896778491440579815817507489358490077514266923801010907458305973209817714293776055022295825579187698722460158239301350228917461673487599952208121620173394433049361224894597732131537451618490235972011693509053199783986368900469308941035415598278428439166813218986895191652600452305014819357528555562556334480201630343295751852165996272618295305968810295010366949828347405610830193344093601198121458945614518871035522397445261833979711675528744399274032336371572929849698729853553259266444577598519326483404693235366754935884734124047884365947699346255864658176764942370585417550445579458394476667377060104441971057849539898228475435930413881077952094628673670944763674839192194011129528646075631299324162787082546739133616354661909767951030996009972058424212566492927819618552819545305715077669091237687529307280166745168589030901793959564667434192922254303801792401787288245457489196618978757766209009479944014488641985114759654607205951162823732264280280107172107373921037588013736996356956054991293381136286949766554364562929678361055479942563721058289039157398777263159610809450476867179654013077424381002330174618316313801812201531940263502834607700205183265725241977545245646732437719536596890008269035354951767830407677333947416787463437606062850810592373884759347311021985149671124382519216498568260833612577618748062748797571561956445221076691643618457596639222035049899365245258570729718971590325132035988120913455604002285998540331606302717695522088931771077344039717866505673653081143035243538187024578054711208048001059445821455807968702501243190826280589337738422020694693017324124005969638206030023356722605752433418642848086092195884518549872483381593046456274633932361790717508825856327669708591661712540619475843268527311407199081316531763142349578623094172683922075577314595182654076773090954491596243517518583172541688947909958262503009552043634733650064667592789080035173484567133773959036639921612284583001200390280309076657142812749769616580142312120821002484939173895104496395183330724684773962431636434915765075737257490005253974450857899928743278279403848133436757572245185199621549232496657220079954232718147141017195635740426591138452386168161593708774525902318755970876409068747342537983052682248624536943323447029959361302721604460831130516173521991616014493583397055001768396963665983309662283250876626571556583152734815985256531219833432460538044416909108857985171854421659952390278787586474654573420947982728479018870112719876996548027174053668397105332531660029855923331289419046866585146898362568208030887030780491676640403315425359096360231730329102407576365835138900999358137805248935863783735327089586692588304881864350514313549030281297553325251702949200949015729101178472742961171734617712042610300497137384695980113585607350584271002218100811047254811747238800248478004332258525269788683940498230977521936658674117867178854954572389986372214974158540079602808953094967176178850866516725189652124354046349794106256013464159800068448378181673722810681276159202437875389244080546123343281120287657324695907676493098511733440479925122835275822430447260069532645409278133357421549414088691530136325004127987709221092026432835941532508318770665202679441828820475297725361363587328003324506731155512030574160737333774301538202105552248524013411955213022874199515491123782018559845266612657447938139601176478129743762459768990874437330494003392772685494594858013686783208635117113672275483327139001718241323641521429889808651858822239473601890672507448701506827286091792983650339610048149915093918412658199240913307045278205397979773126286667426300319013505742958541374511274276222846569545333297582065566360129570965760243880271750935882895771344086754619026491226263058939530106629537929508590403558533303756647668948475979757373696940277164817071453928016345243516611405909925022227357283901301159777474427601129781893211310070161178424470709813614950354333910122917341960118415296212369893888417013767733876422808957795179713640324292220760000052404186589757576225124365723414226130239833305999617537565257984264458894363143891340917194358413826106575893801680561009080013695861328094408864384616154141345381784683197879981020578578759799924663125716179889364166224271230256406887016952502271053980795266589455198536633250868303568313984066633139926806705495318460127483535492422008447059740458165838399368768617530353418551823870353756447856921295108572084323386963125791731741830431338420832906045048040911118235466776166649590876209114907935699435745190424701878853864718781802553794608254980257640842342347771474431308793189707384719352771799025573210084438177625855198684761378946741629343014502814766063312294936235811612042480500893340999700352904550193137296017818389566820892744080924932410369430583716289783262401116638221980966133432613262308848577835169696058833712965671329535264032850594009528431919257416750391254675463562132273498778410244596419028686535223628560445781226740728138365111435391008726917301068247469080730184959205853518650837965159650072142252274296284898528775564799953317429589185037840911301064134910070508714914771249568410290411296995721834700711525210802140147041245754039481421817329177505628579933904326810342746570487017223830527739136736960076224777320393621259506813854092684528720699305407067173818196626502628890251616285289008188936506948972430436382481241324782136580050441770765672081957295468172422286391895501015255757765984567277610263709943789906134730944832766268303330826769957434430083025533736416250003559452264954630896545494716856018938436431122316059200131996130898898018478301562658735718164056508162534449915340541513259504078175072279982914712650011979805209066452555606171984088734833541067171363087678031908883992957523238137792556740753301218577612312654842478639601361137290093006064093740958905166813048507384140057057345657134072976574718421505775693748942584329481097381212391002719919355424338497027841081382995726895942341595940429348346227460691580974443336543734220774994367922921016680528428907991148110787196123634930667542459910944632053817233150132877244831668926800739431251757937778601426713486475003761812807375056316075913114319276905772745074528092996956441863759044087470381960176370454303974985036710214054031328706100814418930205528621425620288055416124344146578201383297380848896635226657814066899619632645566674077335982040784352165276366095219709523111435792908687015521778270384377767377413415361971772894374928552860177675589305391957850589846079147546289138973292752436524151837862686777517495812499908231218648732646805921886256411307882093511181744701889207391598251829766499310969489200773622765023013940527556958105021432523397772290577007344807369765472287052239275109262966261895090426663158272754068683746226338638993550293811657184405119160642888382529247900193355396975107489814099276461953919628235697896868620284666843225532340344377546807994912672693793822533224430665103650660487098846727586577215006047192876613386693435189439972432263367385594107490832178858524310364910766116883221883766214126308593896334570654065455020247487545153957088040760086554446010065728159619258303612271494042683652778322841056102278985948777184289215641935864926003546438014054544192712901548090828124200959479730208222802392644597280184316421376395355525964611473778572310802836526786535149589092400087480842793590628016756658304798387795272781935094987760592764281962180092974553745887795937760440224915822172456993524626703934509394125815341130074077678142191758671389360620071569016325401811056139712371741448477497831402671986433217356145009455746225093187031775019384153309692455164697565587905698554700981242637165568711048680625132525231580235910475981614158955274248524658865420048476729108328175444686197892106904093762872007529447679903701947679048186478076462989605422535484199322566819372342421740778959678825156829411412533417682762036389626055830138023046963642008695925291542162090387300894053329957768905310347100851689024736653170076270468914166550828029621235039963660898429294529179506055332253248704950031614102480802935058368901735373783271207544448344695175175565153619923829070822031527261404795529677503753755342571271928217808716965445301409934454230357723235226083217177586128722352683654253046321466659797209444727591575977055662078744521719172528014888492300873957501360192523642122235288048157307599813314400232237850337286523538378111086959985394897688157656835528548807640231483451907231147418564747757305065147621256342956939225966461110558370350017084028604864509978999328239434157924850525668208920037348955965000339364860755272346581548335411391939064211312953654262685687626618768056401736933887112004382376249054295972395874248287897798369307559144130107536849020242784769661193966222309001708931146568936556634830972588473334311573978537202803309542089886358424971318857572720403352215739331587242319428435120687309331447781785980617184695117614550793883231376790198174211846356096420970996079692773922426990038585076504044338447492112093840406627529898212682357573869901195323438309018370741199205277459199346081285009153990052422873221213296184016901934042296554429614277131360861081987387926321719533676863560129104827910230396678280158622714108240556922300705822404010888160295536080343610444862481183123302119944271289181681049017537484218604375612329638879748521504948038286883521115816341769050934930346572988606230329748466638759983785119037882235738626590323317555870382628480073488193741414099202208026564313243925639883387965378771035503940775882797211822029701006728173922126710192450999812370540465355592422481431865443723563742124347175017431172106518630204424666049524577976126323679049654664241225860297871895199180354310837355404465242009265867850876607439671586326671369314847602482036809448661027642552230499849028551478564129275017745270158139706325941549267383766705851686246631815477905930860200318715859231998371054217501643328454509774879212976013434996704507823371979580190756310202722165468687220823682058585742524452046409295799866703949099260111367869955514538291079432910803309194074725709274987705241262704684613318683015790590912386653907307051573308715305264015442112483200822408138788193914407107504234643164264789374785703527358165297196943463075591663915200266341026611612907271788196032819860716397962729888513958926580677639155069595279640912467440699988710174461387370749827430668555777659701296323868131052214982359637654070532252935520243425202862219169474272920824339604274156813982440475429438598011073890714593812799634922806363413086916479287149432262022755135660707501481384467503536319890481391361839281118485880735120360923158097350309397502901285727947344019026931120810948612847313289640502127658885787663826760857717816757018415413706903193548922579649995107798300889776494680446475602233658052005938134121701749961320006017710298622244108406994876552891607602425186695179601719904457629577225963173098411971170663333291645582554263117906707627862637101000812657068835161505559909975696063172031707455428788582939188800038749958163695968926907749110398588917293990117835872917654190151838832583349999594245489957762316954068470517807304125587830121154878750572825716472291045491843148528454881635613208028611415303881031409096267434334570493528411922861622055524625984802086572409495850347113840032404817914729296827020279306984911133721642885001434380071862071488326562027571400527901344866450192008734883180262158334069314109618354467610022210257485206015051063511830423843132541368831070986906112520392771371310876630778488390797546485540909268140390221920314025557250107210368894470455189844072172784871573602559840387807949112036508195504920542872776023877501277113194565008190551166011159265852724285022226229100408715816037787571843085617655681906582880633539666764465016272359775355424593240844618575223359189045480653623783636707913373483990199965721990441388774580341490532936201134421070517699884074119325189356397500356850747045422123517031505156273443853682345454375859774881687380571940679313555017116868103253053706681746268229469898217337083887613848541797757362806465569858694004072690285176178775429771886410744780572296992036497340761596384591326872752092382017118371520262193348049194326478129894014287628394889949658929702445938071241828063107177832590866527127468649501371545301547359186964537375338896642807641022089142315788200133873157447407443449481135259692885838431224360280336663068269143756589816686105956308144372146981098140746893519525422209230096517147019293292920525988139728662398088840115102758370080786017470663972448798593406808169994920273497475205177777904479105426816863018329342458766322499535741695948451904734579270412563538702443647656916643445432589289596861434742235254801755644232362820386319783758720748678505288984125998933012017088018656154064955693343603277891115720945943086669368622390740470921158191558843166700778989469217992086323867381869023748401780049805431618780485892048535830712487747586499507089092768760539315363948212943263792679235786118306242208933100247926229452596829881516405368502140014284465191740614875818203821076617026786106884573406131092728193174370838525901799737287564954221470611685136437162086675859699606248452262448106388708701437341819305608051980055054797522809504448681919901276732844709713582565713468515457222424542895223727747855974341487086173906489575495732689242271214478009824609894350327861801247321980294401714540070109084375367180690476466884898545740038999444764941186556896541301016293535012819447896372203469189133081989288716943409421277448051479113700004807565336003598244808221169044124600865074471097022740614906982938450467930372061856110417632389183184489569624488353829493146463379628476216690664534706005962692503726617844254293590189376826082464133226499058084428718530068021374075506818196458728205952938449688116480748603350219248192753315346741976262131261857471738382947398511587578901383711280314348101035052574366522980556787995222541183734249547794094951991730808188563239814411391338863741146195730878499449552882691578197602171992338430531413385329224945325167325007558817394811283053267310099877575719596001002573517528856656152790580234631355445821562785972656371920890035817079962997954097778227317152362824522367448349414203645043331377120894559061504344186366099775009303615873054761336355488262999303502269089518086272209083358625944076091270587770068935886196781800337202210061023461243464868659270743097976868966366564025277015997620862802924513185927147577649153377139505901255521057443892994555454172381139482869769758406824494990748864046713853414169037241762961693168940897507438056892397803353967868075680196583447130836983295812479654076081571744191357344666602514076553047012013578171160445188893846483755725843892521980696472831259919652362222418555428651714363856440459843116704143631630138264103562052530409332214026956457324070312265942097356859075490373169305315128042197979286128620948110676459244255625693184205695177692106390998761747717400820238168485615749873826969009526589370511149929118154086876334199583345114346049066021403049067870570166299601161445620848427380227789140610753926458290686562131899287391882178235460166103987694745588637357680710604290587239176876498898715726793865872450000653995538073335696788229895065864512229812977541211332779693666809645341069368479104212110041987112448697080294338097107915289453998058297517939317884527685175298740764174761452630318767145965816876425100476697684979171988883215548393552361878503797281470418557331053726946033658045071545406389204995596811832881081934865344062051161457676941266280420907993894393567051435094719931899501930635355037772250881924766743574200448459195605920276981096781239277558294229385014808622350882401486588141418648380832717853614955291496585040696899792829545891284699888858614081019006921364265009274693955017188668965417621281882418732678133370252058820556630045315150853116514575551251715529887125382824756524009361682127324799011835105496101202371174700835704282812890189569694324105746110977676875712400874394236911952876332226282329629655049719006263018515632310269838822200401035632473245416210262761679375152988014078743705929547687946157328350555630013758514371137818228847820759087773587021495508092617793822664362156800094232404995723008415462125870660880417914678693711154137248290087150027620384141226146629333333184404483921142083017601320021085789089018194505184112607707585286587435926547651126667325065330146285042315792399378766634083072296161835867106218326809953166738437502989431690433878003068656920450510060637018174099215878777079248099253532221799926066287412775337699060557366713661074901318787584070952206866414153143296518213094753403014074079481854844615270242976073519730137684033876054906295089416451410498222958608416555701302867636625315319251833368970317175343215669413046998032314815472905857770238470240850204582706933825853082929719065171017124201705984403255555832049960505472747029610209786128022484284838427565191056473971716961822804150622111047424173103207809713144093857949157138028419513042388349316594096754903192339433188702899008222547412855487124084828655262479307196207509827092933535748907309470050744149386017837330711977284165079193457097590720358463445809720186475516014386078052832983862516087009564841281323307187609330031436803554733465140523846682390309132894381534911434227987300403673500234865554196984014692857271334292034864782756173929426673080971826301509191512104553927470001210440262188923125985265488972010065382717288244566346400892582018797326290298601586334256199197905643858800881135597904007448675509168430278664886587597226721629422227468444776830347125171843161782828898279515429935269175817211484819531217759904975143307884491801065971218003176411483831908301421736686013029438088946099649059974333264257497469658289345156563830366399978245252134492641953319327768831934695906126736868618567357898476805066160663717775821456482019079362732150560615164631967815067821282787820256757353795955314454306167058188569201268756327873015961602725201822612945445205950408672359568103590309970167443589560401764258977171259015417491164924070652255166133672217917123362355627549054803076549841674066500901317495219508511411098328927732184236345506677047900215610156449066187350376158035885325089018493922353138142330045229856685416416743010964766609934516914891316248904754000269195238377286887073662888162284004839835423683873976818413622988553128302082190756097144673513787633076124490089553931097274236221707521302291336596380084803347080430565939421701587584901111078015697842000652494532873924271553189859798083114610908435515321850603507726943042637023016030673368798212321875957380276623115244916406260574610680648758872324824627472985510404043696676228686593187281997164232953540556628139238414855215203553267070068417938756388553604291461424799350403421804379788447602555435094148568654973867485881971079192248617854545300472655589612410120846697275047631614725159733138955580483823440105782448504000209419884474395904524152828602228933619245399448006942982538726829688036103701959238155122409338568312538675123466697040958878849688981209844674343162214386112997637875347629723347730036519244966198708647917129494379497376698677582408039650446247343080131406912279388578060393544179322041686219624621086113271802899204240293092832928077793958229058965493178676958927263875626800195097856689459796815622875567220099523724019988895654672706907695234360238452215152919085815592048969682673831419875338394137223198568901105412659648117614717011761790551674926569856279090726738813413753222871037482828094962096311110356923018663497535290468893179537882209726569163179950107199573283530647508731169940310118508147296707342973944171551631855129005032119354202625667729075987642244384145160218390722483000048930971468443675059257868727890554852535768405982529445845847419911596218296516591945957199302574268930412806743922608021311665618471688451767324645324989169330730471734112002488982669081743506506366803070503024395498303662208479961820382325596329663788922599902038346939802241634739039031657814489527548170986929262574640674906352016996449725870854208602465944408497865480424890806234304685079868705562056914059440278335427167834737901332691047475708622353485423445348786000442342565131030188929983048763767351790772849314364143603260167708776537035893454085123608777431380629259019853855810548339498285237966546813853152245278070127945363304033265079772911752130933912267923661273105524304303569484516721590572992456196635299720321064646787373076283965926348871375139337398457842305269361811010465995224740773932008208274468520331500024176117943809503173531474519977452446140114442569053157627527050906303059601569308332641097453401681761547487716749962865094752809745501310815686451832807269979615577117063701647978762166012500308749874279402755435299352478774184346126481780248613602993791227735278880653256094670067858506886111669295817013774670674352208816622837043321142432516352253786510620236450375906395366801136424423949764824805435628878221882160555142181520323893648414592836087735880461958632290293169227864494352897450158708937659638673595136133144710476665202321851585435762874658143309690450346007653668318758881704681445551716483124900015037689716970563701026486803964869286669489296377318278830186480698243063952884849246243054170000525255568634041146008458039703603395056564071758510836809503197041729736276210586801654101964820457895834304529310433008391301514118214860554943364310301235798159460600027853098197001621624723462236457650513499389260911622867534585611493309986698072794749486325083039873502316453745279052123935336978883843056673581288407916876209835801344330468297054106561071216067254259175354976051330289950545223198609776979206862594417344006638981744114315023535985205346395845318308219430884286511437284206644853740731796146239234834914845158329420643916428765085171917417882862666738412978833511212310845612589507868227211368677686272174142267373246051277417639966451439585862107341944235595516970568995487920601110280675346806420112503792799616686663796696341806857925147388889373009842850628595949683635856756986189420088171921024830995060459855111713649766096855530465203734794662987572054221657030592357045461942277593580996955168744896785375658971983244901195094910916931474734604361278098997795824620283779518155319991102008272144513581892381514935287169333762307026093016538060486739923635436435549227083242581095174156778390496787276900244623287442923720873783409122754921996918917746090017130909125639125945276540291329280694233251283073208846773086653972479544955432149266560270552809705718271299839346735508412052980052470150615058137674335534441829706279258644644549777902440209586746830857022245343335194916723922106736175307065035497336253860040919220584362609506562882267150479616010400590268635460924782812896667202465928719388946485276058344629986731492987416307711356759130444123946202669578590228166912858160489998341393925816440175229021795174204465735460910119892993202704650584911602982103363061614559678853996260790067515521578804057174013533498418429337947544967451740457679776942323833097448995593411302214888571315346650868677246327933440708859416464326762553941271244460067500423147430630177027760955984960976258651167702120960551984997395184154712112512459705660562033390321241438609589691197195628792829459316364427349160143753128167026394235679242767067102867561303799482736522621381919052691079265025629853102980863374567782196464043769625281407221129091198843805568035227867019118188403675783605132630916210230551105594466177254943401425525247218897569436534072630350186934616683653349493652959716333311222696473825694894945858976031754036677576772327288775224117018982018700726331048045860454062758371501151141285105632963358460321401641290940163824034798279099646609005172131909012245994106645904168418866567183278416965890435318914766725371596340644980579101755531589250684429714404658545253764845843246170618320670684618695485564835837701497837878361870450859376986576689042860003525904832757977787757668970771112316813892969275996033849895466250165857364534591502453037308454144801877053551606234731817242730159420313507717619482908880646266689662749471808899957848996068319642975578170253243490623934908931987020073394436504366045950156768018542666743278254490931611050343228110991583357423010922933737013234426137169855164491320974143056887502618696678469046998812398164967329546753150647695626198893832276082532329159744883500269675542842159983710758426853343682394581516589250518196616317347655275681352468558991062433821808627948774193000183059256904872198731281623413921405888295854281253804093148234174046823716414196927953012125504199714681206168291921578746240365000766912890596261532279918938096998095464697512258870039210010679863863889737395319722884321638220491741392211902872099773043282887507253459032621429234802034472664250705113733215647903925482243501999486275194349362205110043345264912798706580923138325034612514496196956125416034946924556564538993698644349859372564793640101682438997782283491666164572793704132794372671923990772136186210631171821059771926373479216251441654322995273803917485774436973809760052492718022751696415405962878152784233144292054526295182171795170368641861240075716237982830629890413352665163182656576484161979359448164868775790737835952296577093485903918742792093469092233690607377944317701004816306371787725554602153955888574103907956702838564084393134899631382306079976942756164552285293806817931791030027329013422437368820938228382392005876359696627722688585915758446505972345001459128529216422602961170231664601085411364632612639212063093345562841829351737780586697919638600367504086758466125239934678752192925710547187618104061867467481332342532298246894072607843619285152228294890719842927590067114902165737430771257950914393805787721688636747169121281349337510941333667118655389226219005938032629336192765489777275672556979146590563217736046037396613907273809603797988573638414760158185394731783461417545175563477629321841773187461585269170746468070698999409825956182053960884635498919198450205288325735565030865953042867629764191545153434842278683703779201603088005334312792189364300917595940843364070697764769880937424615728628578787422559874787024973273761146148723763071217671164677684640978296768027040049946869855578548366302660486784325867543253614578030492634569558933638946463716664031098053000063882938573588526669656938028324190000078502095982841306511942893863738741263683087722978271335742173641593634886904161664006878711505345884457624081005438928119578807923169905811296913921356767697583411346328261632889966857106068870696182079811376211425127948191090103085516146686096816206131970930647401155313414395549203287566474501854448080376984558878779725335538745703048093717334000363681840849195692819449153281616044136543811634293848920289890393293841013395589099559818035014161979637140405543078641355615551218309518310217320188384767858350972345228882669555916039689696729324229856704014098893097385513116182094312894227235023988950242525479801513418941858710562327646325509631010905538642190970407499801283490643631127304362887894672602057526956063886255736981799987914623047016662809626226699759378810101615850853807793882578265925230643989844618786406467342287960135208403896382469346539273887263142246772085959753469813487063301341736522156097305078609822440890040033135499899062756280322858229723906481023096350619201413212495134246155276574011834924258425062166139025989115735912319097939002721564976933048681499824842059162211588254346757143369039342528573438852001029807992189966460009391457436086745563906301622777443572750710991962634094197271138731566955943675441035720330924524480643402545915373424089146690153884564019604427725651718821962487938611428466876938972905062947911793311201246244096168054188672335068716833270481255683729637469668652909223809538274181295924178261715233731736501335769621914876038369517231954250573974112533710519090914180786715784203719420404822232782364496706846700349726710865658056927320275650167525319145471773743904539473663724922917835166495983571106439670075355273317131843498107550588031417587963483008797151955982862713778498002915730098345215089498482924484944778309691263751684051948933552283117184788626625936278130334958653100782912453455893716230086510195553363468404677441195106268666919415603333791746065585082919049524966774052161701808252149973066138968263553728769901754808532200091523827994592236078659235631661027492948730002316418527822895357121575631679876267850471452141566719834232773853597501268480852613751284949171028779515100009252546441539347351659896169105896315021849850011362412721935891823049244982764171002101523162057966716164719904025367484756190113415115175568040946691722175879062981060936853548449716821569242441423201423178456002577446493472877032312144104579693359912366360894492351693827053337492011611994636770891542158497427263241176094828776799456594623480085371742839647956668896212189623324542251365303254525381701858135166857925930547128273595958775093572269186254022942249875226177162263291648135174913771322299037964400631328734276166900957459639147251799831421928608613330082173633728495555960033424922909920931559116649409568274838728919422813840044111322638132805965262352238760243573742844638950625085592533102283930291556160464207441438017987252890447552895098103524302318960317402630209654716242939039811394030720616099365473249039078197577837213322353589657853158079913605355931290089824463972110759788563462765359254111329541210522620806461335335566555651239441603969413624135179502486084383192467336067821439686837982978461860965027431103774398154785328447477361814582393719377214980716919975158850796397513369225424006933825773996683510138386737220939253247464615721436375079525809127306365258783794292372906243884070434443844939442763590967807333299119912229574675787174275297935617757861379214973725407868686757317164897499296048626879061733109606759686253598771123781894044328767961260060989363487704939245097712535025281766234673693845104093159614656457614571691143944742824476567132086057534274177387875931137811278319189421380388276309874532151875214087077268138525548345403154808003768632994300750784902654512049350692970331667060957816044085722046587082406563921168585731574724023690575319601202341098492648083509300271914851922820144062213901041186674609459930087812616974298501669235594296984074984432758766590870744551181806191102756114990238720120062819738695614301333123996084288496511144703512928358888641647972747363864290270414081614614217575434243621278210951913164903505466157480556415702632405368861916947289632724622663546296397113274655697743428560673953903827768887478163435425405438366703518891212900110250505516474570428213710926546503558480330453488661440777255788785277821481823586301097100813041128780016092423253951963442759853147860455420627392685879520916889413515176779350577496092235966516142916191641256015407893066246133030177541514490987321027366719364141145046993888097899088138554075859339421965584475425866813527569127957023761844634598985335572460499275902468141632708671789383878028532771544881973654999728392302838371524549583885862150983123621150007618711187900896465154502829681949971568382749639111640911716831091898793996113914868019325674186028574361367525878977203270117360069112174777190443533323372301925782082569268012580345075157761488607991148750903367730194607941242747416508970110702407057365079597734555249880249102136058650465182931430687885421646592302709530275739242249586518653628014116822762945144703467970171287890640929505094065205285886910450802708086309997238764441444844438499637988944231778100856431923580242330711349263327087877356874877287317359572783125675064923428554430204423425406515032758918057136053246851201518650800259988130099789934616398585320528306419391536481645645509278355784697063609546621189144670767640341260038507515684278970865408135480191475058780040022865462724840127385423054142346684945958543827106083044955426751402777219017756675073090265436899263264141737588107287985363654766565445163030706646187110247301045724656454867533894468705620523375681424821713314855999361903092543213395985709349430633847953652866622127729414440989012380173239303570564373870240697996261812717978006878555650785192990747083903824658685431288887325318249354964967168505765834582311821952577841752341700849438282787512674713041805121646079146068163478489183777774693736158579563876833625778478164949143156538404448457805145437929636795841422258348025526581680514251001533733375913626734231986741295425918289956272559525816745987979229458832924798858701135729681372614073020228730292643752863574467265240913575503097582011074779533193276825729287181123597065102043867237248752577143777764549187058475834395292234705365644965017007052999105494727597085041655831902484872394745107932358389713207777964106397888705541850882033587155705007452080368780046621749344454627350485101118349891651763100731405276123511451357679331730212485956158963445485602948425611226136177897059852636849669724576966636903425772505998756135345476087334812719542860823061582238884955761900653507058524860834764000585397661758615333127215947148246086536698398208699335591876646321122381035317230405336931146487632022818432055042005110180912300629815540136562774295053510484539870077686230363622381994866401795244119633746706774349421885916690488177198998624936586015873824792583789071072524735972312574306769363016862695328880878334740958690574592910174265859514248434035345677337172744328309226724608534882156326397473797120837790208136639681644119004963693793111947849958356833665187974870273560160755456855001170966555827452210282020842387468094751964280402661096987314634276751194031658614751143274142371957967092132688320598711223249293091696651769008307091744337885314672361509252631255123412251486069354825235231684132509467858435962968669661370290921957486973454939146606300541540207498529054385529772790804873835941529602053668058703739634478197930181153440473408532131630554607393607495268042191023680390814244030828089413748227298372163237788111247665613947676485616379821105254046269567903231173091520589023090743819219735021852233171511449268475005322687526226222665298833895903040269703904713645358106161716660262212765082236686862418443207670516610417587814725373142802254366369034507482288473094417049824660018592438224662169498936068790607584343560248030659180455853186655818036663633412345137647415335372823492056149843236746424569227735071341182647834266990469335092625379707481913992072410390565280075419415037159119513314842171246446637632746191638359308087421344538031934949072854112347658577391233]