[131946932469150870073869725761976959050694447647933005953336727660610678032886176503640679652544014583644043902386127749835304195066183520509682428083872093778036140078843495808010835536808683439367683251594498256760386846270134749929788678599891216570706063252503333477142153612186465265940668075099198170143276068086079928281917803436295001477352824451754916167146802810632561853599153476226143229755146105485991186913607096845499766142260918653527758905303229252879313544236597551394467793803409890545170074343198238616563104163395203109939138506671754632801770170956124436026135103816316714283592933090505256308284611224131490885821026740147232869418281208664336555599584706321233421583054632029610191737200081823561994655944532928832131891599134066507727834142478678156639048466637400571529783778492202919308349779429312571651711107178324029260329740495605742528899327364846997262355678686709271237739881747668272672106187803492163795969648997410390633078212722625583342110020709694211850541150786820660322044555397859160120276478971113888176294943072019031635415836331246406671470081874045559815847538068111220533603898936204359026776827034284933828752482594632445620796963673974587578322192713840370936866764740480734932197988790882905017859902506353991082185809885445016069484046743532139661476518074818754345789491207384232007909696317025355081611338347756762541265805055967174307369212254925330978695089903568165573136530281347320127707279047314498750957373831789495020578946578902468221736769340535619444713941035486267153665005474046163360756490529928572201573723409165077670682990848454483248641706003214663233742375848186747928759359654858304100665982458486807103533601861217879589916120403732231809091012119467997335473855801489548692701837341745683252164448710959735490947409951645949909306431146201844831752573844400623887845921947286243248869811678095854180746018824775295525520883932625497822622832155083955193707125145584738931886450072984532240258613165759900709677812155358016030126781879039495027320028810222958888688438649501223821252391597484122951225367449324531279707243958942389707691872556015190711874992124887341089602351125364592146323717988545290695699453651710028612803016701093229393063042492622426297646144035862539856909216208878260787037482751760110849301876697714154387104856079923853659990201631829455061603383605713124942456888978086471145284098187873534962335103083444667652708466718246962439544727923875205925026746028683997319338250575529967528196643540094415434194385930623144494125948474023383590436474160178067709169328818014854312912192840946765100239332745198235993951772620188106787674202936468286993598536133043910960196835595596993622123190398340081009148476876857659967409899223505302006353453154152740759701211363484981182865645512284387804229269631014815833540911192183806562057053144719979649036256555227356199448982506075805852938157909474479997425007317643297574322499772607483085784818169830132373633886323930406767808772967379446609490831621273936230281182174710797683675031005450314330093964361834793102096750785420335357219751955147547252013065926622812912898205681409986314048603830572223987307479076340866491452089832365101338462553871038506745371414515244047768843078031348686599316537988185054276528044505559823242274197139395772812033313329211940351552448438327150950045565129337838150575367343891360044275231204789293595814134370193585156208080705802594189705374783229088626581154711526144640499402825376979553776301990891588534033981222833252926028265051360091765778629113653061637740684979749136613138398386663628183854237883405254776041457917746375953654898901645302690875859435556160165744632654243891387634789422756955403233476547177162803010926939004230643689522213876138458825876171083422257319275063460877116522741953677186013134606138474190473059257649759297174865615335714455425323558750401364393872361284638375074239783757282966685221932105491132437057960582563809200712476103224348063712325576616978522674086922139066964106692990625684900937960721372852620369448497152497857951232768280406136705760527845025093401428608414137652201372450413972802039864243292021807508532330374094081879610400032263335324320518951140230142806453525793908541778961284812187358626429430098100374697816556116435925135532670802817707868465761360868806837718463601416074368188456950230086745429080777622407356897826723549916471362241870222478925669725491538556361570100379833899160295316556759432302957567904364501305884140215844148930313556688112459145062662329621042666820380677707454708016466996237848729547756144537630492585467914415869249438340391492823360839646859048898911822742716444097750358214573064952880010943647082976151837941770132831425684501976757072515457036866884563827154410956889661000767457979013649304490607506435625454185540169092811731037662612629973426288256784487535670756916773799584596172799472143832941081531737356227290481494812249485820507780375430324323818219766201764846278265259883594329309415539280954227108308938697733086772232693312103209612282957151034298067358432159374235163260469009689529847575450628768408448837164029982022952860694862539401506244783091044316531981848729620161433651352065566001507486510254140621318641741840869393482333262874481768935336581354520492096023489475009878100188346260727455453438431506881364787610515782282172191605959151797491511329701090403261902212415188958767907537441691230908605086020216848989788877145992391700623374318509720628917749880335128750643353606917434551732333971088194439763751782999639105499302017141680410333560354118264865016685895873654382694333800886413697760580200677348433748628836164447201623997379296112213606657484961327299423175100396030261690868691701358199766257272297199624186157240726075181937678991395643593360612837298134544623677948547301844322979014346946175452125893784361230404534106582851436119374603712757088025374221372283694235892430657214769776118540605454029280753905305575916351692574633836505806275249576949665414853935946737119704021958545296143014651506221688294997019221418733168190674631061123692863933174266666966204787577238986529017869746023366073188243478564369178201961916518080157515672333594345302226038170129277143841010340093169233188134626231730444995583276857489124156540137953659928759769930149459189879637323435482690635817036983385175643594004476997054644889356669180968423788634997263351263377266423967213784063502642532852471380417414719193653200531101189445745458828278821655271195298516379576568258016139895439643185726113905185637449211894155458450928747097607292804429814339878321739100361391169496981550611460520935901813909421521840457705056375923595753781741686542061324412566006956640542900689841213107400192565841083338691484750948013340481516252314936591660297146331611723338068000803673195262543322159221859463072289791362916188259638043343062625529791648177305076201233126026735545360580529429370005357567094904840637733379324059580748551753576856996804844272424386264031228837268927600596216875928448998237751702942115401597262754328393909068571723476095149371997284251447085402841855521599041814982738839040231665591277481766343072843963427811513440089197286812089797032514555106346101166067477474263945360890654610024646860733816773358078779931484379863941055171675347459016680833922297280952394247024375188035314400521384280319995813187848755867893213957688503790005382427256017372494734243606281275206834977908290008296485233989260534210677858695838171849611273683309383289637161758297674550119011287485284393851425220596281353210256093031238313897830141833039138940250176405931950375907569323664043878577625284218771410194893512951204667401790141435132235595888009179949566312681998166435169618010887349853039122294650587231277246641925005059971469413972139627122414448416165809754813959224380608770073129536154378826651197055128238880338136925682588544584450788292951642348469242783095144520954183204741418233013673758707051201427928343449465118733782932976315529272139609935670182869347140771674234404716920746296666813783410736133759651585737918608527008294370269633731233071127018468242793839007929488334808046110017463367543421584702777881020743335235240124222458224005413609120076540447170830843144939002311737702886402155820370304250170027755677434776590499583744082911627424933072193251871569189334884779415627155647014708781701359838384701264092337129738668114803022361752779181098597211044536368998571651717865039349596590685259272681446492166944813679093859892030585467859145442992775147344238518707053412582492554524439079151365941840959020412059525473836558723884675637985737190878916533925404056590109821738063549450448736482702380956723540197626337377451755788562688123592351286158245023527871967382246453813507726658825435482271367420957062197310920282678314063938451510880734591279029064784974714182952571881228814134821652913576586765926934647366991474536362498005726713681914922408320002203211323089633059533641553913315419640673051516206177946755722327652022386909593731393112031804328693465407933995680816670683666581301578696934129424228513086558405442436759804654841518703158124778424987254705656469018970538818154992139456042360810290025753942664447477815958594063488211938128539079632729961054516068878018508312350666830370420183685747695388825912833632419105027603020253284672255782739400113729809242571653329805332849519156630764639576734271692740312789322940857837383581030298621559792399148636424040400840550508306540529873318900837603937950065595778681943303665778283201298417707059779438909914662577198367812413383857222902069930267467332753654023777906656741754995160661349314999308490558436435511137851127701189508618834675916769926213010324894026091755315235467623410181599366777910540649607516152462180000493547571178747553953228674395946070944955117951877642599366107940330453182949898565495466522273396634913762362054753969659787885595613754251937979687209639242028282930402667897563857519574593119076496046161181741836885717813081650995575343771425107209150313724845197511424149386492566149144000889000738893233585490272590094126500016127348594660959243471967714427250957744674560796760349391635331781739004562214375762977563330217864727323082844489144228902436254441712670800681387552964257031670634350324953454627239562382589563283468148713110640421982132179287446445514116104323709511282572643050409510307809678393290511887362581101621716325809033111957804547234508939184958118637857167711949284902453341252950928853492873995421966736200531806973144349142961848184808759970316413913499714686790388063822445988146730365500317788538102556397888263769960838036608991649947851626387661677481434967199019284377683584228410754355065922373945297320276424892920466838777941606987179804868930590661889287210883009722569449293099273170399979726006196633401768082113931020543665370046872641395992161767454669667040689605858065754210280610484614265232207295444561121101109140202986976631292449230634563287473182226631262064371121439961107993919351911852673523654866551430342733195830768571064455131992756886337822521029309199523477257111806448175531212946388226165539124005865990814136885454427038447679940606931578096490293148120653677458947425599807086040759105291612711772896610077374301247894977446265515931686447230581586902276962370968573231708014691691775838854456591230729382071443648360616792362394816935158968661224329449463540234877484648660331726175348516223688654349199118262340555452419049823743991730128053387370150867153983899798922570141300349466087085992962042396522230607173413684827753263467814937122372731708190698603172365519435723662182159435892848464103007844117785462194530281181429876517086344361955697548216648087361223569036961597928843424759904051901486619838138292027932252699689792830417409501947732204887834414722420320836718868016007920297184891139675307138863588389306783740469922647057574629212715042177870722562748258823857921604670132246793527282021979895830449030800228067037768781839688950113986070857488074391192003465923266060854399722546352330947087049734668225749644124315717535075248278541366152000041251961304238495211904432074162249439450976715980257639242796825944328536491814953287232460616374483610790916405890148970569055227705040816154795874548937797755140721901864984450365436522942753788262010775436773526533145969173837681091039626604202969103590273918088395331270833639166154095067564800623650384591812982580519308606403964034546577543329409380448987384422168343695554380579644891875397260470603744900308540793434069654694628354400696427261123934691960630247633036038725612910460589822186436501883576530182934042979190483699800372432908341791019823069651950376804961815934791049742447393848252252598545249309069982268611149813396396538432315004806202083287392434239697360273301885569927291991978492372392647424109585722270582898926702119298693460399980926998602618932303765919751586678503073116157888701050435969819679752206432675752180163598873687206728165346402698371633022319092543715923684601542986812224823496476527494852006622483115456402155870339709769116486367875556173389506353845704735876972615814226813768213804097852953479184917246202136966714092736333076500044750881967402116321851102850340040601488927645304160284577474704740355329864244320685085252250839482604861923668903465912225766700797966857233313306989879848452650213422692634954770684106887344617625772064859771051346275584128939570790390767111031334809058990737930124515506850477694919446458383868977411358768822256332531898404040437817135502130519941502693313558979814915680581055710487374329874095750224775587956924259985596221645069394622789896657109186713110732434167408279317005749396984528028182366715080011935995538877857533249720569067043273732245390726703694558323586010742946377246685634819912867446627565568839931220250317598370996886436828301408154492109499784727824372366233874987294422809382985659974381247022973545741754741793243585840636195364478336846853261887457696903241939429897878765338822838420192133899854408346880224160679461039448748847678566007889632475643815169984751797010560174651563325054416599601005462667283240610422002629541467943212754724022890527086074925843772227055487782293377700320514878550585518055916582490918970634291741983776074642757641093069770974415507270146599584895524451118682880002290089019690142798392799968636999398579862280790323187793412056006034160834589145387654543263857185920801417376595175341712061186162045482423543569227340478001614345326896842867355763917778988236944717732087170648588905681889978327663738766579794055973141838125992783774194938276031741233677677499519624890426225677362453250637023866705747773345009998550265708581504654610258847746467949931120907186511686399145056959631215234878696876703223575506375919919686469265162435052312704548315737856063517664517339996943759234562655467122543632992501742529535540315201250988591091783194078044321851071167248088493282990329028458756500296496969597272311834768564396917554361920510697872573454164781799433014959480260789385160570978932363240426827200561356164319761368862369695300689066580473931398283046807114779666909298697421193669075057385991503474093835973226410384952830776591871057389277505487332658306162769956494390996413663864808341744236712080461185501573203917066184104298517370913787417227501400567838190447919772436588130931048616623724227158231449701704186428091722938170645045067162567259773631237968397888166112672777666308863584540997786332822922506082417979339875932557636079919958175127563243015066853673363202879312776504443185394398964246267533653051262321558945865866876608554373828753913109354583089180474471152056485553972034068951432252208679880681778813264377026821768443455396252928839653311526173501997367981248968889033589854947293743569645946117242211757266627218232878749670066095300067562268007011731759616927995697509639505589481045034352750192990577240978155405333384776528538552426711378842348847729608629161783807269592149253778832210534203068870732850674679957312662387893605170520342574904410132849589057810366864886086301800623919464438823530410892857022689971968711885033662536577352504759410195686299881986375930950508733014119566029016471317447738249548605713272242319651102786616296898894905740444583825207650936216385255469942856486126144477026014603730196929036135661355018851346214148398288709324185623687106657652208293936795017978111061851978205755455634432067529930893885212925027743925222338731652317572031907040491913522615106492227260484927315363297119894249917064866925106476357616541538196703978837030652708167708513013776047815164602493912579307311562971030201330677454480576890862012022115785999512807205909180324756523392355581137980566579635296766931314079622985540555065313058663202142372744922539554668494282407399000144529724957634347251984647906026659404465538871824178380752279275838805168153108203191737119870540509961124968827550779425960378481713183808140015801944587065282560655038627637421898534766582867426269933599191298759501044420700373591121718056276295667943323089821457281818386471559928432182731423138939401313987969929475214940070855744142682892266445661297924077786165222575349855687152632032220305735475485668414356517097236744302909436147805359377511980765780875177678288050525969892347732454302493635374782154052335487177347808284281507614892573132176664949456171848767222938943465055269569121683413701503864095703802177835802479775232648381850217457167405515981929645415759935175625514263293437806163279232085624669154222310209009326708862875944059783150158714783818815213460092619946812982508021950813372296866444608038417733562126912901026466217158359837440960291809696115350939204899384043510154498403034991636740720892189928214734249287121279299971539575551482045125542903140106887332758460173483052361997414639613998240121520774906845232970380522288183869564176478242462704706519185475166349277095400732238711927699654400880813767831751580886943457664003226014356448893072546157494938502347771748246352359054066760542167043440920385131342123365404996553359741934388790658257978986344401108267567513023301082342378059350398531720206004582115916515305586867023670165461251598205947706171630124307208039073977502876169150408794164232453887232678407922369155623497777710669954473463849336440009574582316825189902918112160801559862277100135391605027642304419881975109200377382214005158321451790682134395376452071267392121837306271817506705897267905378710887653733495023830973503047494255812945802189076723568014429106607344699855763894915725978850687042777384221165114706670593294719566994049337386260688853643038022381760303286416067986281543883790733460320417041839073351161430471530095215525355861244573345434430697119677239595583735064670676411100517033219048047147242408424740828724622962105779206825968371989401049146358903252800211906749378575080864095255874431863175303629940070974863567553718754423880406663099678725601383539478112904923425704496049537477693124174109169508828968685011464111442188436691797485365242467776512560515788228675525933718068843608632396558326376497612911282448644295407358826459388858489196765814756849769723329849246042515678235182880152642190944293504122410591107904503983950417200005563697683467547848304550700060995770096100671220170940983772356862024506835266024217985256463025221305566131109209629683686437288595313787425436126431332676505741847168313192950543098912986610788012267264336425424972415228518737014854736663707313759380055188669469885418353554401617830048043212108052599060971402025214657178251200507961679507684908900632401316901819174039861505882882747610964321320251715080335226575259166974009401000752257132996343039988383431139037245911586812476892799194825916682508273291128503709468341590250036308433421308738465692677801546999604314550485762794140335111256650452773649545492790249521644319704181198546419979044972971172107309339957417888319883613119489560457736617382759858792961753496098982618091768838660550347485292563228766413780314287738742694103863904794668048590473780825175817887035361547831787926891043280348684201170481429998502731108392370282900682606174862375660993650057034128211130798876216723946081998676034620536316419127955779021439183110156563636224964844807194239872781873498689435688094076834900717778774011443641948684446146918705747793818210594535506938953371897296918231668135074768413229886442450960550670186254240378021213144626069827167290114230118021166876983892429730916051380968290399939856855150813125901605407326439237890013205155818236787789736675218535952189246729767379418176688214804679979031467096542790528225389544784568601005290278072436047921978933943062207377801975163109395284365657523616771008040972525110842928109289218136616496421151581186797730062414119424581170001665397104379760064506349592220221792142807374885245156529011535170106435679767004148672780410851228115426976088109454936721323581299776142486581815865227859020097438544311608602172791636808162078288830843355948438289170345524758856695869018558917098718177955030063703495971834876752435088395551525199775288576803035280722737619805258360319067134456508334446829911339015010126941066926779264350096160013160835455758632608331623502446947732596355180120172030008168788606476786049997803403878684903872778292227024194663070706839343807319712989420192667818710393463718076992340227242009104825133608440372094429253636213126128931553648899888557680294882994459557474801097956619944033059167923665544422672614487780881074635212939656173956699401148864621112318642360977206691806840668912966382580461906188470100075923997633338191182074000523400868766245212245694341336074800596815169785710443901696114633940579896649736008650108264922444870845411009390959310173297373279645597241977130636611476466831493074806103011515985590275943734772966437978329165513420776346716317124375859717546273067723530503570087155508200924996417790000719232834892073281045335837167344935453770904636475584065935221254422460505973535007751054668155812425784686620101719020454257525351371873737854412443929814251955347778726378676694210712972856112313703410085150353069706107481400282108434073193588866818616454039311475582796500263055001575593835290205698975930235594376984602287126901007880443943397297429071131077098355794628321961572564729129318492703201656749881684911592156687961479335151176182709669292125727586081822643905232639292047681847288854193240303682605645908205462512474492424127272841180994526446716526832688203810021586591345516944849097822209703917578037714739334863743838034059150144746011869980653026513127067964506833179914280504385306039943542770622202990191158512276640776035231334101561227761883994094964355806747746314456416868189434342382836403347728080917922665528486842985304479534103557212972169323797717739472694657352437225383413654505172840050428959684830274036927635866633625465242794501372704800659125138458641083574692777257822424283065610305548869682285678740869284127612407303780854981510029244907261647590498749779973422213051548684034731085605045486437686238090652369584519333528021089177428288056408952337419159407081818538654680293073584999273913149218224202469062387134261060531089188007475580612078904938024315374595660056340055536532082279973577977469958751910291743627269083725259519376343502269291856222756333393876158265586143461876007014448347384515605132303516996520756895763317395007025810101554320798578234122184091805110337825569147772678815027681693045512330030169029595205916223089010507696249086911535799090057722017102301955938643346829717667270851842782628410767912284358404108437257833379548028034065958120913917139803258940653494907878182574367498789491763680095147952002778946228121091538842610661734726161873861632168604299180810946869151332401149644067935711277767469576492024728264956824068728899778320871408994490943117035402592730417018271351806216783995235213482002467565095010488084881593197369049112604233242826086996394596397664050116093785381149935416453525951566256408631623013559075832615070374379327988878570254405238324051362586797766894997099409769455901277433454907467083526851586629467882835322963000858244911459378233628878553105053905311231783680234999724778710233236208943260736185363217237483831729764411664833185525348628165645300729197511343652321702889725921530357697161229856708208029520035122266075473766682405272934990541406741021347225953737811603854670577637498109056785162988524059304508169495368804129996358903382337565888622438864032710840016328480679663565139152093179235111005417006203142572415646875520588970187081572265193639341012288613801011948393290932582820837245633863111851157602705110947469166050515730200997377884992271920070272041845273052679226071009726686706806542879384630247866255449274203918545183555533757120146905508292697831600404729057287224249130586030230949027851179666670601251307437128561323697969219117184952540852900413241142127714262787101921580973732102452732332719866282971928301802354881617083357742320591148546194191290521588055675786913824310973715406855268185746294828065287901385828109581466569237201235552700172643206919442602458971307021061268545704333749969087562107672728783980803173358652733496278728297490324908211979907323674412558165389499864615801732734917417987491986874237938701102747538233527271727681756913161111964870160294195415598837254467622655675555524997287439175859034384557566535829783567643009462512904410223608362719209478249910366826650962811403335060797020347535172970506911930947018378038221540854093629844634147578548462944660162060134188618086440242289421214604133772247892290353690509343490490955425383552644473887159278021797588057930678135058849674324358562796125039116223480214369144400047073405260408450276360341609670982638799151716655896489100377547852990021348411931799847217016360240923021720112915718105390359245311595157135909988444250473908122071872676027641714987783260494450402306021816439203196275735850295400462948146858507823286556973254301412307426418591318048067566704886072335220999153790796134016839110890098396821462491123161690220630294059287012422332223530768065095619664978392540607952919981184146101908887268519897412997440290907215947742261701274533529869315068690100814732134034738923918386656962199159145406296281063502181649773872374151252164958755164303618315727514885780764114899477612378822246479588802652863230672870056028165639144075790982890045331961830628010322393941558118881537476465549266566015797857696434956572152972857355801440842079946321122166155224504147271008763315943253970062861422168277427567604737303213036898998324384751652627984774352607015244465740052658697627875679584849008435586088880453373893349714410126255530506536562860419156722077306041784184550628838782113444716566417001006958774832198265491199479294000055717857412477131119998743965435344410811206809304121958389843456981940138941922705106208637374420153465775132294814753474423857304612617254239103293993845733097004399580576844880367733670222875544408434283771776727361467859663538019960003466443951587575579790777631926030240928407386191845482423920505742659856073862120352337462769750207447255210207058086636071602163637091222525873658133239436810230361384256691047603229449896877720714755225585979923768389410696456322244701347851430671125080126848668845983229988717721861781448718260721555499020289471509750277954335837831289346208765583940421602953301129641330812876083323676998823187799882640299710176299041904296571197687561705189337017195875566436328048756316532192737384680474869105737195494786404048747523376769668428787385987080849754204973755019571395276900986681015478213372951100395433191541113293676479026447502577587405566720982594825303189279806782196315024907139736250909073004601405689336277167670188840998120460152091928313194028273715485585537253609727508461927880942500972920866996859128378150829209833076795407695604658186231299550059479875475692950705606911581030141204800957590293565965109269370905629659783100437753029961594141850356356500330094708136897526334867420420893265182973802960866863788355486306473079619236121467726320143662161756119201416579958003766851885779133008241089982358563406499256614727048034464921343275993123982929198938694380591605830092624694954439749346866032584635715357917523794237772272027680457240581067226324539810929605403693932423891983732079885173817636490707962143831619537511056478461423745029324232614987504278579259368052967674139294822024517945846089065947622743687305458133487254057290016298151395966860858684561232825643858164571254832122796921723647819860703268872887920345572820278808406924985081252232191173676988933443023306167036717288155013000924999656582544625325779553785399780172309232376931290348088868274471356357689017671135004607121475358018535469017120442861652948402583217053089028321452656395712276945873637508171992068022600000269442892234589222190134645791393916309035590608161155049193367774686847042507559054183221705005804528048207088460926102803898738704346527851664213007016470664605965904742800808045841235703617515366448842349698044961758976983778705055642742954492005795869702591132688633020562338841793679966792885342131997410055362684052218939275475325143086657314951657086449008525559257011912788707038399659026863874143012708327698142024376042202476920416397787822840087612313175197555847678766057210237377181191826448099930199519365397201506969012824937608321620173805165033421438424629990398192932444375871483793784875301186172923966517320417513302657575340756040385094415353883399960908807099567450325717389915824435693802849688232636081818762555271508953739690923668928242387624721419511873714460761008574196605910525849600137519878201556820253299289208973468948721015790897858334316976210816830583818152713803084224040435571249692350959383471364696911464901659626773142243292702781650283235212073991360811171346500617063054475761836808132460352620007023110573819947365881677874561356585703438093109811765722131070342007406560343482427918942345917761974743887379648032433823505390415959121042085582062338091006304566857760322028112571812495130145828163715466245243438917940813562525496514462008173851173734816876673738540054582841714609955386428732154188331486948227617163465342790656087216034293475954185579290388169823583164251848481090022752128711701264043353881547519451732582739084137168049357405125458194845505268402740901293505624697738102198136324014628005114805373463738430771205401310041434881742531360938303453064110166175194987143375646570525056480987319667431201593219921309866549593723903433984209978257766529868001143529734366759123697211323478747875245497321322581547391343468260623840494650360816549215327541487612372808864358184437616207900456605526918463846499635381216649044065552914635636608421341199067125017849111679917782604549656389282600216966522600214022015133100188747600934108540460880847620497127650898122537529755930394865029804673770296373483679295481597797788159457136063699484209329901883357996020496141638538827816943680376268991722355126202301492603983714660842660644365081375322039060396261684944113899946355318626972757986477502466032328679183027855194421672780809765301895968670626174831880625557435250020660626449178715179327114305861085009105511225684542111261328498794091828254663216569746910687478460457690033884220622265961212120079575237982918112076291397395484392432253575797675360787387861704822776047541084501443473262247907790816223764353191274552384255520460573655491593906803715378765691790586764960620275577653247600651239590534915451479534372542198228028867809438498861428554822743152516298213582649235979132967334969089153804850842821004995741911917702465465305282710889171409368153994925924680506146549204709718983000390043404015679548733070159534893268792277234898107484213453417557427631679036420217353840368680113708413271961968951865892669191435215861620210117893252031740315803040501238238450182571030797957333168812288130929983605115314066923768520503650998786437194065297093866528292279761656247559521493404811198791376303244815591032618339324885225207317215241933301759892930702393108275008801909532362988970920866737675547143821787830535783527262967546229015510861483469625359799069584566346455061030470163158051773652145187955278129908500994749242064106041913912580234809243363173257488991278503392018790241412728619849839195795147754857505761581020549603612537409005035655779650540914183211701479600788187820641716885128117812217862158729219333798073987732392082121724390931137448179315137916113407666186263662405364587635684543804764678007047380445188289995584672480834919302789746140142113121471258924495671281529760348072341731280441989565186724738869510276835814403590921016021457098866164528022352573811514590770070322473597980121593136990577642637874199349335416983545749352767352981994723898701893703899317593688017525598596683086150609269779937613305183879617141574886535492984143149548244314043182223471943861302021389061906051359343855841573235326030777563348760991424658020987275652839188707063054780339914521007614254640667942956765999646457644902244697856542401093901725914628619457511528939890882100649756190287428862149610373737536138034129923066433706046408150674746005997595801076577248510893731345359994599617247922287163583886435372369532110907920997603647951304431835449134018217476496398337956413672967002315149871756195426017041567525165271773300809907857233060981993662841430688241863159882124738955966448047697826111819767412642369221732582923714413009592136287914124041468009039732805082904083345807701320914895315564249433695776766528970805373988469516620744566972883408088978008188379135158835748708336770330249087603186094416203037952340840541015618238015609586280284881470078028187312671661588041211600927428175862172837246425699345544501099500222502619812943747466084215488284065802952109845147963555266820433410399284448693342223222945914092521288405572178223745014662961912024851044674437561498395735941239068432814326144332202131628885477639313100175634861327141370993517910246373537384771688962876663002898396443999013431391114535814164723142050341695632488463130612700729639550603835139789453676345329074011523347161182383710504795956963514518721956251797271275840045402989886760722928851201756635140677445438676517336244927207059563742625624239417367360115756191617719249913047966218777100151308919188003721690144260113766420494283382632784855111240902823416301475660919473157632095710137809609587734851986316157101250230708409456666726842513637336812041326767894445914282095975921578950253865280644537297657488969823016523788814955460352641832920648682674624630250517907002989338505352897760986078414022692322560128380430487985637380348004079722924123389725908148538547430451512445331686168554624426407265174607278397974117084864881652510818463641244732626382401956615457571778017217011887264354154163338647036418141589984111316321684979820083052873702891252530538669301742865753665043894034790719139947143217656385064519519122610734460226023426630977515325728666614741098377823208790655938890454487495817579887836150078663165436537307427104505497978318499898020104679828029672135191750400234541201960518387106593671756927630705166531028269889256999049112398979600945074016754863202818686012729584362719752404450030602297136426716890052255821613842410667445664015828179812376454596678410339004478079119497588738307311336321594763987946611649958513023773820700508453459300995665499858469515436711131757199832824607065353645858743178900734407236793648656369147155021007145430130428020460393038806881077217581328098039362856367481978685489594319407863142323418975949885267541235425436033578485651101464014724208193777850160597399593534869594147917272928831149354241745951756967758292994214323486579384633597436639630897508645064922828830519344074089798085083781182006313705214998180978502525413797104886048014702371877939225463799739480417529209509114823226292205336091007413460982205855642021389518846591142067170561646210029611710658866324531763847683154693444237772141453497036321427826895812735835729033584010205825180559865730653403990159323032221856718591262948326665642271875450571857864797681915983430759989377209683283347412168960185990175270540676804173399210358025401590660731610064492474472152844775507826362092001937431030456684177174749994678809158878310151045141041985806795711254651125209872283368351122525710892408180405826777648185984913234128362398359330976397154945956957032827229473228012760986070918625646239794341011289322863119486470814396707567806140482853897047307479170540406037858984451610295281738737249740213785966628523671479387079817972660156612229389209110252530914758950820548111975833423660942999278154059188463001334282388744938254493334727312918850834019571251968698737878207931293189789782351292723416279341027489268494078436935895132947316315889200459285416451850897503070480171838690503678034022120326322087271340792509450680708705945159448779976607315600250117250968309456152354074654730000738935039103114966916428721083207867415768896961911414290127284345905693933798844088052844222345207904469273557999578637394677196376230172817699445801167637225008447335731922495409584738733448898401161460764492328565065196646410984832229895608679764236597661837959606615669053335602196007551651595627441689369511476469213442317019543584549710372058923284065055319529894377567819741946820897571485675747250607106300037901320421524034639275810179455506116739572178506362177139893410812633581846100348657591817666169556780947811483298461283944058925027994038081814884618538741991970261620825203036591097338528089286803352400581175023819923643311103559032786524264761872135517529458013896777115294193582944084215549774539498234431699616946101432193897669457606300529279216313403012088044048856643303182433490491885289556913699272213510387343288960148186157882180670180915885732310602051880014602692200673894945673510955866061845641385278134789825594493266334407507639099467688187557777885630896750945403768107093088334947129151062684427682595414911751387718939687972949282760232003969312305945551810311278042653458264628045272130159622011866383884420242164686815693473060304536715042081981085449431782438791502309265131337515386829699762631053621598885316777907032215533255344452167194723655599388309810594259242402176784064115951761738674798699837111721877376964014566254386042157134439312545614210447862169833343701685453972166395815530920754068147474465824551763145919642530795293272799475506146896058539765265977119325487253109031628941727170961908951725552927538036852010631670205987548398294649312718507018827828330341589622539183500841087636134712087019530659729663303760126234263495378374789886071747850518458158817055661977174486455706077786452912789716687565540004924630329841110596949633327079487666904976571644326388521925338088086263157321276629812943896934183384467284806108484059323338768416861183894665116421104371522810950883484980850506461990733725226003690550701518512304350696184346666497068495631098579240066352363457797577983793169828140585964633082491127316979935607284329269037543074360289821030384886274317311908697543884333240637051988477884364002870672388513015178368028569737393043747530662638676654490812107018660333025573236131551284899945061540242679113640093521304460365590997193198438190249618493368194932488026087001388366179621688538561232797700217541426682601028338392371438702935754399399288883872980944829935701159392436415382653500268272641221527467139934444100692883791537592940776282163755307733003538301272197725107504652660392536542792148837863021358149467138897502267593668284354898871372888615899128648059115667492116059385686777238568579030809952813818282565763891147944751981663143525101640355718724914166256372636604777208138946698401760710137390710811201088685892785771425996250322465076721549546793503718530242375157723625058533417721040214854534318272812573586359259540847152346234577971401834636514684787946126257708976669018415228337661128759597154128607993595187659467667402607873178817679193939071762197762737485667656299340311091110458732452560631565146438789227400695728992441251183246895697698957067098626431275882945564172688452663502737893562884435965863957244252311209061265743923284437164332573766726789874110136241775423566202215054327977420333590737253614122596845497264304759349241416498011201961551024982891203848352128531076284920120602713443720739599726778927797222382954831299872391866240489223503300720393047045048758201894977746024091015898260150961913621518487879444325354014321949121196974337404489581243679361384202597352525190514786402809378657281804086929295881104215172941196943755941029378233974819822544513297096047806792438571652277011146319208966757529498835204041383218890355400250326207175564432510904606064770321633811762629455795158380465601421290558047165078546283571132874712852128990432951865208905975185068598367842262986891761359549515599865276226808905180731285483118542272266644924444749783099006318854231879374015943063113866905480005173613208802551321200366164296390853575176636986276083239012679756923179636306045732090808579574865692051999449214073066238587901156270456376952719471636053980900873369299988110855390216191243759642841427142584948575152470019213957193009970426468801051405136314308991502747883620234900663915228739424781380971591948209585165365079988962574694937240264329566887763055489650433190639284037447983708340049009380796193976309443991500221675069011451653671036575963865476427398254935867058918510207895582182212031803893048795055635656651718789345339101645457531507461554824713835477501831489166279961788430413801615829494804110571230571498929754301066635760220205737628037721090529263097832269876182893019023261830397779360297993311078620795703342918967388173882474693238184476422358196481798021988962603182208028281624543435199109238360680968741398219466889900390866282444782876886571126711467647230107942804122967483412417442032380779774828159858198549836967232496503720906097144283813045975046269417279817796738683179914836548296657037123312670395529075176708766264069801793284034193043522838075354882861877701420984813847628290738795179862744118088404608541868855798827739242518827207549356450564427356319241787994222751204977917166369278782691335793855394936579347222478249213087056084695407438073310519357081010050176289159877548565144868114381831292560056360999871007766183805675717941098728007006333192320560417295801334701535087968711840989306712517612861394827895985619680078120619646077045057691883117481246888481140547325583086571936884021554977396748941390856863703809586955551068734778043614420283962198348201629977754583305171171358160900578336477743689840063973751265933987113910290974944581874112454344257430993752316068615389265299127769115993755048223841162099978605748637922386455434227892504965983264115700365465538357856102669380291267305608016608408499218665208375250017279886760039175575815623609068455803728830102561194309556354715892524080452742037326838258622872425724524312296879767552652623276675853473688645203853336604489405997993847933014534840750001945693588372081088082741094348293858634575977476880532731322998747555910625717873031402519431506029945226657242172923584987780157125793692261493566237059247270308252914402634460195224649707745347616190830876780171625489499976436353837816605986972369235427464849119846477175958467700032987846826862964239438429046823309864046803320639756505386394951005458204837692788712674849916387236464936157922091887365115809016040835496119662104654054286526369121452712059426318891097861345722333599722426070051260658550167054120206904708531405503050230590269581577253680202859462756465586849634735435175502450209271716944291988296778329261474536697989366380699061357378102894928418457928465886799655780514230754205073156301058349711545014347581490156650385555105515924058982654415800317463887913669958801081081811532254398241953515189195388273092961045762648576580739169750534807473839979365226582850778012180089370542996192235516761757565731934791913186104599839757055839815179473644064002874554264367312083854566021947756871420186706275409648426124909883309045255396332343734240206169773607300185326149734904572676904368247018065758289783559650211426530723506516133508801534092507841030673970765958657639807995156961653040186455569113165558188697590561140417861369009109436836370235996935676848690556044621588982894357261728591874321069706141495409723568222957039969229978112630464191104765087799504302685244533582991849195002624132405812412318771783156953083227757936526090607702942160369814538123852266582042326433334985687615769483683827645228160452676114734632457193863727163517301605478013811088464723929681185743210920350277109993894254274866480018504851784604632604747340862020059519660881942109046081649182653081898210172748480559519255248108764632421153994366010797897617785550991766977259456618435487442075866606771433063372684889619082366670286244237260650075200896228786520014864809680442896822550024836200789472012485352884530494584053329140574461848758622214813855483931791008459650654970044775795956519991524767887235194151344395842243184816992003484548987081984506077443341642366818815569384881776142357051331013068323705887083379416358733625646636109101974531517981849954890082336107177024956820889629669488050200745693881893729928709893756941573569468267674426489649645178404534466595634360648909145017730292765955696145874808863562370303743690273509049930809806708022169679051260396954999056631471714399190279871697502405139356297685913615682328642712874995674777661451124293469614592956439064093078251515818051048707558523116561957473131230102859511617856923640939222751039953413251939184226195432831844260590294223173085837455789307329433177195424885037532079097323297014857784954868345702133867364738584925680207747273615345751689636546459410564801708071822244130783490542437995910771291673985116291414012810870903644336539461074445334207784818716578569947400941548978098400278254359693222916572039982005313056221334001413548624932179968143614331885842893447357277394105967667370226498215838447623860275845188570574672418398045157666353628001107093003055438275413679535724198085193343283536932263164619548347170972886252422402393856085445450170823488693644787089577873134139841105433575470580219307150252438234116011881535973364111589268425785005235830688639010192978914050695101423515117076704262241119005593776677219684152374943032131537185202862709965974158611487162485318723450242406869765407423731499672914521060254042954098480966417688545107355433307931606427609479038825458182384868909402020932723497615385608850344451286551587700924898971639796458527244803445060482357624601549678915359736292776393153249244508009945921898762776366364301780198535018695868588333582660029392761919492886261117576357677612731286656602545385162417961482503577248572646792754879503258080706377564193118413283755832842155007291871521309663563192287315926506394191447006028818244889620061299460400853539866865933299042226056670511115307730954548112537903929893287738628837129041658159466156847586910114631565542245421179100649266359037176917628388092025797177901966727023011480277557069974283054885151899239755298966125898997884526734223754998799442073867497486568021105514494353755884627926829147245742692535742302144605492685447879245500840729630868805373104161522711539963047047050475952716706124698408860208819063453745976916291049508230194663443687489533839719580983800285078018109277032671295176531169765018609321811155072612987957296442142728461962063981033638244355821353765455816075615819859644043492837589027786372697811229687900337660403638060797860672953813312702518221175830361687139047939769143819691414321361922790245844534172206418943079361889293167874824106475596650440177588054578466396681938249338533202169497743448897048737168633174488861493447368565027776201212701838931033127433317750207263340289965052877431644949111884209090557500638987593796200329294526813479575937306755038314315663320129002621790076244981427200249447559906491373792045855229536337792144192988216030849999468486633532217937389532195035475421378028076714935896071677360156144113374767798980262557674824838711004502778447011230322487984701050207941590477537099856031461648746038512782915200874743668424181351747017800718961084929948834910998459399607365893485897205125688300895345181211704902066875944483963001110718415054767127726652903823316367526459605244736719921706400842315260318624013595182559195319906623345327852997870155765218932725513735572581540970168494234991768241217696047007636951959830847830018115370279069496599340747631306354029456868931357699602376203883693293990034958011980665868274422660246750871057628569128663571217066862366069528209689776099509297469434644842988405832438238515097382631831644391988747996052399259381458056510557716838333550962099867350622987441100697377169761891650196252432208776614757502715194281973297495920964277968117941979898691523033833137495685890716564068460932339068825401516284655427617110892340655316790404464453408519023721101462844787859036575203090609406620208810005816133459258346433745340871857583027711914698735065146452425983462682669805399363970805941840619534454000608000866555054362980138769633442004892337589776051948939199304936734240693393677801381372647778375788786936902085220960294863082476609451285631558728114403583955854702342674288271338048314538726580274745520061401099799048304065525150546577005347055899793027500689572819667281128359606021188617402533868872055914944762542099320631967209474400280501893262272687242261455921048349515004059956120788474255262195568830381651673310062445039136166590227848369133853445290281928001374202918394565588888011350862951568843105434098354227693130684865978850346349885868823673324338805654338734831148517540418830145262013323186950863572529952864672472906779915834599953581207529822481034411607544737703304459817956185574155264370795757582829642288850239938077081294360171214392937360813976525091789539363371917598092866352050491001719624720500785542874781714708979332526981527968217132536141904962187877823546751202099257932093218162988104764536547681897060241761323534741699693592206064625230592883969570200494048160413659404624494305278493133165317116836856069251806788592062224202268653747988409766692503610819082751306740125783857416410209847852724398659060146739784529152825885571332284248553761231451751188852209035997650409801824462028578253425255672944086462381700236686673723521822041295710748548470734839566002351731019976667407185236450047561223654388578847191958069197127919083117955131405144609216666047165091025597693023831709439750853285636479750485439492373119906437684732386146756849349468723203635433836389096884951515933552484928196443046363151454270316488983607845371412113943826068170284710924637882546748147175198531129446429888310605697979108864139626586856527616637856098475811412691935627227519658974837524948505438974850415816424219171119405812318478829642419846632105252367473249492513712826336468701591374950804732334066278745461823229272285169533192607475912827886438906366155126186861960036347300429136956329972146497534548548873529000517518193538716007886165960788396878375993214264274890393665200759579011332166384357787593231745093471663666323253161681257236487751800117880853048863354427478954044256097704522732232609472477501649247166199382711802644404591674462951195416756914215800227014741324603921837854419208188011904913243799264925156127982808135439335383434141024752624667391139414806883216081251786757966807015139681387108856506623351474656751794991457790453933062985834502297538176597046797823673209327259053039651140084723305022333393862418531142584423693883476275426032022506145162687285784994632592981608776933408125733790588386771479556939808041933640146655535355341231511334499901730962237697479903210302192622252537766738438469542362678912668538294272869240580100393461404980097508799344045295795247498680574211589777848071326426253575598345960339836792551139125289382244315528711470010970201993911334900245672032083617825864502903157079938006403797373602749514936174472706182459948114774371219050053893022593847849015383015393030592261702159367372060851754764552563820399061523458334018403199971083696553977969174197578197165460450327401557256906684130017212033405389329531349506306105501555717811080594014017110394945938970884699930650253734509531053181624131545246465743063937567468176014852032455049783382337521424440547169088306854740133402412103545110337355394127345830818736266759521242384812571121112864815950554120308455502038435771044906455641170246999911269214368884850807898115371337887431000360205774478414555981341969835576515407693301314474048517765517896305737352825715394224852343086057116987000249387461901564559531321687767758673908746037023874234655708856173088336311330368901535119167379436575022446217389910339341123656324407054508756194223292179299370612035152051569139422115257466641918330191026377731800911126039575347320136756228086838510862453637823763929622606278516297949985732686701550093877641574124615926040653596904504046404586615387201986051595477416471301961268669122085871645124131550030724362885885546907546077048761676539740593274704605094653249826967230217187 : 117169627321335388627606127099679584401446472955378490782988487401705048535433581406245554630837252525784978038854786325568502874862425849528417704372866560073833184587640945469000456051842788507399639446572575816322976791068704536707292567330082570219504086103213550438080186027418421547881767131910154404883916109471619544775723296780988982369237454928910879040594953131188953386175351106858118679728186653770248400184249638157988078200462128353237366154797665709856765157887994327667003269005934165538175271900799354649985586204403893066029395580426765580188837908153148763715266484962290863788552450727548412182995323139673598289651004133147459461272432712205534399839946750403918637454342450986741988868098074645906374309560063239867704119322801446864904008580156123035782580667508915206191950908241989148196566679460867193593181313072655733854617090924434456182746307502110830994558008332245242644917680866399823357898680322615991985702901634222686763828303249391556830940982000704262274334900447019777511917901975714717639693196603129913459335818551930470413510126697949085478898674740317941749854484124025176167615393668688737094445969686708228284974791557067955046330459084521635583047160910462361255895248019366737120187976909809711199803839786676105023014736530001333817816753402177819456791964874950228024250986965512472741525075949529689300698398389078453626927639695154128573278915747599644513372593790471068712205429923853665068173703790760618284547589607232492851817342269538674288168006995886265243716639196627761982416656623318406336190999974274546179823635983483276484366696022452290834411118659161229037711634984102161939680776523956148776325818629843671364653852591472197773842848372772198176014123763232060827231608953330278724757290869671590313048518238608769876956304365053733167878498582799588384804119934504017313205206632771456949300049042615079584704047015930979310965623874476636142710407456115117100705204979528889522665535060395265417692124470678447412866056364824581367295644347498564671327900880945142005115775149793418231293422246427129904185539275285409872197499791942580832709514111335515306064810744685709349364561019059949849305713078433238729301610148605358737214140230509266700174572969352050793104728811283642957565091023461085820141094867696433708222337670133544048902716666142024777116170053648828037196194671419641865527155351317571611533270836259423944360737970471410680725345690508782717464220123044681800881991934506432811826329391695132976938071302796432874756043675810025769836205332042557836961234584697620511835039395778250214629015706129164447058586753536365406042301908242798960346346373374630347091561175390423285223779105539543540645244537521928544264679594124683984709819444084552850967577464711850821222832787757651414952981113610688023396739107023168124247644052350905769569174470447878060284937810148915452096030418894311425057312827008247842854764457744955055471899108261480246931909841656155643286446683360168035392878815405276773282226804181095691790948923018158931425532019021655605719890001106096779431691614301293659741946034438941072885067712523204043026034394231287725668185609165054937460858041765200447224404751486338013358071151697242024587489830947892580629063994431632765502839516632938928125967622598353447736258967295335299785908861837967846364048774905741749763534796408237205962699155380084645752476047803969599397484529927751014701601597899962712638729282585986151149354222950319718707456200485901812085123365708489568860947659029080630739334388066622330622680203181337160755394789053046545251541678121338145558704828706130500851007263502933646528626869819046575468644214465027849811793405029394389649422710247826003993051423804935465513651785140228747494235940943895759283438642797700873813090350200000699115222038575451082805250322879092560535723322093935893844344562357218988166376823802779886725019373186060477394549929437219633553659599961807742876641895573032346746935825730390867189979755468504097517285276833106088257219636784557243205690680167709648640801306483668515978431738103250433019512827339804724361472575931541366161805062130804442745874250549318509215209642248589040708258373555123880122044149460750837030472716710545144545793859764580877092425347964921863462199489440673360519231843062644338834845327564436601275778194466169507267557040969252926495128983065971506547499150645879580732135535603816864912340886050326305641473426099995933554648537502258267435292228569419785165534213000915814707502161460238801815810478901985799676978182136870054909142491685547519928881152819049528131870202283456156220792839164835049544259417797076064827517146466721638754467044751273183778083663904731479418026148755892909531990166555274608282825115747742634417676633935159676418911988159344669584391329821435259127962384698390083666777420366073863439007533146278072041902024009885456561452902187532352763733742847022337923677183171012871820431113304924790655182069700338677503577130162623939722047921803498911834265971962542460817532522032984826608551770547394984525188974737895246720580574272144595171918975555798961146054656220487145103268414849277897115660462966456898284373501516834275840513827617734237252949622093333043678261498426555184621827790878586185043274308425003462829848225491239454920352076751216068189103039139145068437211904128755018943124987251988509264334665450419443139023305434996343430687463584450575834079757091891509137954004349429403022140986385730797119775443931485219122397728151647027887479144143370439238677091794346848763308660320866701264609555549086755829577274991673621232511771956979181362283610759116760890044664522840231356177437680864182748072485760678233451922667587089104068740374913072927498072273621974346438980243653925072688139673540782460680437170607808353247702413287849405912151364683589975218957972057009852648596698764379060116508478422684501160167548247482936337039679544348423496983402423269310582762610298027528156272062487567500448069031902407510444273014675618737476500550872723013175700039723329995711561472193972728483607222552798819725072698470790057698287376786890657514918052391036937028775078823162173371188465706450033146428683440007430488423754234212083360928692319193218354980464818678253697976188313793674430945360193990887437416830517656130833722411521064165960528349723149512326474579800020162875013776338636582398910212272144616815147342412907675785799244289337985640536511147915315751013314559244275926034125123692140708830420372245191067795952585687132285372846236604140536054842841626509799277544594731597911705838043312659241438261792861304433363163024140926052526846582713794824287809308947908013491251351520463761729703992053435783305695988725043268792234780732177197957720656451480941968052516277103429683864921805499969526214504328078338406200515425706664893556509890203291945987855719355734938738152380568767788714300553383968883265575237644469477201840104344171667971495759694497589501741973989137200889478190276491114718150274391989710254336870441517710259412984563504427169466264604395108514853584488784911306630744429143131039008846387592017440653640172027179110667810382902921469988608879474088104979950178352621532254970322307506895024799168221182808619247380626101904895163131962301054028355963732233314644035713679023926207193463951103513289750904966712122644834370195559230034641073868527209133165941232517784707982040325281632042074320077693657501978898862283829163996775678138821678519056889585040243105133498412922726459288086175130604980749586836627090049142956331581948873358298121507980437568608050841105225388077211199442203254110928381419688021665513103319032142466709974284872272236476537470685554174067401408220554989956196380946012137120530184666394746306404289385931391815827938682493042042563949499063615606164137477326799945529780677957819250018062635935933764107675255876140354630406530745045370046169158827635362174355183253907985673248934492677663798980533387403547237101791623593414346032859414414462334238792429210264603310360184127827340944871817929102428225984666889160617650228875808282206652295461350448700135373200434575487242652706919104322464156554744150944343380497573703632079311525677953502851024640444524812475300675776176627528149091091169776323843810050251258421428269677951113836298820584434286433356435803250184734839934554649624906955572148350143034444138025552724684711057326389304008901251699719826067953812372059274062385767025769759483123294027261368879654762940968844169239397072288831021239913454844863783053142501802729304651784104817850582514372281126766392585342248201929572846504584649752009126006783626950267241818744843362522567949411691372233716990903378408620143906500147481208044271451090998186381170857756512629452942153996523426609245990563874931625288936279664985342924210939315097415227640613442858153211185417675723018426134203724210555242641414387577721134945727242554309662597940185191246291643413489090505013351732200637259174193251033701023571075782871457010314499394478236053887418757197649596399456134085068544370922382238613274808143464538543347738051578851381460691585360955999533591225484547143245928395146469675012725531151959986899109239928630237609125981806454736023009518941643508977617528929104400665113189718546433037141002436308117934417910716612327151739097694642658523747794854040599611994743280881792011091458823238328604770202052693712673670547611514047306646619041882437336403983286566856005860303469106353759720612828506685731541447259403369528935866011494238945709746775658251893937016060941208228893695834773350022737024295593190930718902308683803107387707085213819159992916554480521139840655610530566175210558607991257657477345566928591985779392675658101582097603058644948974462398395004053616871844040722367025446951777550561076695436287523617725085536396174711924716873896959775320264098703560719899861241525845562492984459809164527004703977844041334861735453354582682369473389535960864269922669053983786610804068352191871084812134807154566045936178850123624404386814055966860472544509475434464575847954917751377647232263099055511875201641099003115147455879114411159520807829498610203446665750814217096826438397616202949372091893925510483504386717309299505594136133742224237773146360216689960461856968024167124754852998073464133096525997669004292771380888743042044023357018167067667630409455269652344532843689652855076233513737035977632778306140453329806726370001400287235735754606320533464872325028262774854381923972829726015257849766590213303210906905868842631944145535902359636290119413512449630626944268231275846661527313514571193881799193910555680954071108921691385462291194413833798712011196501989843696028847602311297250100821375285015338445903683432520845151255329338688889464442728201436080403741942787598432840520456565991381847923929023411801030404161374311816568512030263679949891127094757260820604721993276311037947650105239391845882183783353603859728302735578156046411383061012151169260900835170902695794341374543757317552589702706328861075555029069933899161886824362577452001242795998357784732998039764630431444893597387425460762591617390637408165072257334577325102647824564942324913674945596549406932239082160218029797515263491470906414088065857919780943263517241067727340761479656957794886869415317321556444190277773883679713123740925699365901029852473069288209500273618318140037520630127734737561172886832433994823715784031100281803908769844477455157592491065909410990971218174857529168191738221761839687863942407265583669264862187072521189159261814722651644944631884672919770873388265503452391951715181004293389783535156500586188778080218099247987140707157532475004935248947855691129918233535956652609925000760358147494689956112787585973063917981247904609171144152749115637520522609353077643887448187128666210799315522105345332940344475607149240787856613449567154718834226955478935441646228362772195710722899164510526052476122159138702044660787180843308977522020488870195338550727821824002562216588608677613523788783878352461131440780729866490318073396077681061225165324634528800881859909348720711039031847861546296317904545789531279538163108305044167780938086272761324396940485677656934786786523823522985517094400377666580443730793027781163058719475446532942888470801802855878298838110155414507700042018432154523304952470695504146015317005188333723794810012477294695125728443460583147070756253432931331107835550804542483836720982641525237336324056226762161058343510628336893090939525029418883407775072329828465873714433251360541966298146878375968595044746825029219255351719667492421291043804459751734480466430499305399263723235805519176000829236375544344148396663738755279532266341820751415479587182912347420805526526980539991230610158520936838335349922326184902507204435919954448003859552985046052178949561364218910685738957176497327118888869351271494005269704739397956578282538780247853134815515617795477679007542813023488043089036073385109704714801530792947551636546156643040463471884615173570961210052610305431587941978089216144840435005098888503107673380816548820768152583431143102366915472815845365501693044089673840448185475793549181266319525291087608059641120796959039018643447436941969709913735056620567259650284818843264553320492965900980614053113287883752884227185842038329463738530971066149790899276235955392163676954475829229117219988125043657537701605668261656259739459515845202931494025157171662392901278914298806910882871654292642783210098352657626190282801583812217776536182509051158552401917563785783639231207766503580209237236349443204452825368622350034884015558008216212010380456624060060253009636881873879294250898343769102038007975452987178034417005959343136308442974578945240768422078552546787825455049215725294234638023233139749466843885411167518403052075382355648737402548651498967225132417571978874306064806830537504193278364401251635779576608135816729183320649146481055620655232563757471663735554390400940884188962862168007758060156463552780067085191990934388443286358909272626762078574407750109964863354474304267869273734505493809333297408706967648482017764897175015304734289729949398989639930100560299675311060490828366527141842539279973288140421223779336211462690443183925386509180374178802953405637534540776897820524369209169592963218697737898219818813386024278222745557499194691024239587076957693934769312167068816689228226517619326674818432004874780290187998533130418234785505243701223739096731257592175196378062167608595912914193338709550504473577692340714639913234183444450380458658801975274627628206488152104554185624761410400294186663636497729726253693492445936751891431981475885940121937598775118237308633641666105380604022998788160352316421966712079969628285022381172841965302732083749624433545665930465089472142354727389944540464960096431030866074317536720241771021730758500439806745258450262212213460962867794172576772367459810426497100915995607255415886305740490147901528152267996874876156330259272602871770470766914313660781628832457812556267598949679591812343562636698632418110456683947256213843027055673959238236913693157238932426408695395359364404690177908862829711594914781003224289967039085085100539549251853386556778436142830894114511859968870792425395303773961451643689246222499911455536756514943114872508225656430866286846120534925696944184807130710170727314076324366686204674906559702354207178701085219614416171642999374894094817605587442591050809816874786200820242652034218937942105238998873643346382334549394237025574412199896239624276112021331290668760570281232387000096275886187312611905435358783189652599017099947431057263957165564402175692512531192076893447406839325708307951899495946943197262381806912319580383248388837884959091137527168314544471607640394066568357437830012144743185375605309350785393144115362683574181802380123768654897065710056611797535250026549588246603308171237114681189442330283658436171937741493159876982679954079830968179730449344040660317695234725961275425484136359722639288135179069432237605680840323376482541707152586384640360724161301022637840082851705141219451433292626707994696195242870207056615151941886098241657971487798989707007823950648899004865309967430804922088059473050933791499781663405886857119025441734064023929874985380662358961087656364117636240155578599915506990456987584233921720899748394232203824938348169801999732843850305030673996399114851239519794299086857332909068800584976398587942001073104592493394201621874832880552093217175428544958914350286504642411894315969928986438634670741673665584709340167914710663740491139184793477358467572452865428594881211358827752880702285714532683168011050220245907554336628524510942077612202750500934445804850227057735707731507314789724057763050272112704775248330442655953296669005904762981470256291850944546117889816711746629802113241217373334047646088638561664252073267152472004215525607387978460991259985155931031339469456961704738337525373688407343025532723377121425448423984958624235060371754169753538487489892819628456328407936210309221644992073733122039812819755217813493010666273312600212865794706604978580703029805406663237244997865554130236862171903526802044170718560717918677080002436259875470691594546624530881355203542971358452748771779795086899548416635804896986655955597113491009730669827627228650492459595804593898806516420813967122211841955721145189662109605768757400948538946572335441257510861915289633962056573821470648544800016116212482683071192876096513793599674122712271687033183553521722842601112079052725345634191881597840229797788163453101082595437192544117357030424573823746957061783307990529234754262299538047468072526529708621959756882850390970380590853105168896490162942521433520684222745325132544493248457859295916492963241437683732999619772601543338138942206382867921032966468834522274607279503849453148879950872633862148224932914519819948121362624637416250411236171413666119352620893403693607448585082560356854537357646977156275844395151505518171260504587894756146944178646617066973604133659400471417802546635231567504445898317252250151152596590397284845589791364214677044131885993234870531455416978672666172878460399805105868751282233367648533170929212568151317011324779254560775250414327318519721732312523755565959249562500395759506021990931109673288813480945924058011235178703845754833741642051725312113827680028300659411708643749592869129418666240859014333993790652316517764821347864976636085019579522848097577823521122813753475986945146421345075320313348396136608263940569620084184835331969368427669775649038595008561021435717801775772038403118319677446941338626966765482115988231531227639068824227477864462850773623623591504171643869618790981955232413172135475107139012769152240620463381732850930028446070169250652370820786007176601227525241062232933783382843735583272204891247829163285561918655670965738508198800307577837244174972783692379143003080908776652109623335206925069085907688386411383519744933588741465153833877234970691447552980449981658741132062941372980428991630080270333833317164146535496447242935050787814341771108318802327561438842015582039114380769496326362377086821859533704420575459931054138048905599420155786849567968895723535515326174493530390124509474795149852474487642104564738746428909692404871282732519126200040289478857816387021099371225167046644252676607003978271953485785896654815978634952630313272208035935675496571272849863826759193878008041600743042814615155858521542773049191264379430282419273679935201532598444510986919886133391374014821757725753591022202300971050933721755884700365760687842851275401416637589287214077146188882386737712465150338072523688449362701222092705403406092449090377931231771801954159803488492378548798722729421639819802727219378726667760121879717760490093867472307866346174753529746950334030666330233893316536602489708955574931052358981811071002241607591474519470370005349335314463690087496202786258929344328925909494925115566392571104063700382949696231419477871527353437938126482320358853616001784685403326282170343645270739002906615806257238538082224086231628246644016058797597741839410129858739520300620267446037669846209538991242038511767372872253992117144128159119744822603369265121468443579994534303629405616383561379781139555559701802263180357579517466320713555018612119822572864866689086312725463653039017006407897304397029615699083688039883630280480833372975803113312515174280277965857880597365649916416282084488591547032056599834575064625311523551984009824521538076998146546811357668811778665260689601436766742714370522176232390241154002756016979132661043980533225162402225306843497952568457694904153277823592489477889529396821443179973564821348654839106185317017274984777558515058742047375251054464357102150746344135344213691689922964298577823849339887014171754244312126440958402650485253044612802011289569174523048873793305395712146346714793883392629211528651979251924672790094331067952028777528513656047513621523529485194869583934348955451144064646468340616067660085212505932461386104070191422628941660005919729416114657146107358391766415067118984693376836948783501582495437453587515664355336598517459230164218428000451283182536362891136146564801196102497360232829710310509327276105054471579084162172754703342068851487419193719765874754272021030525944356483606694656089788703128966176689483495912368462488938786383133188530356567969592243508308710150585582601693689597002676308709903220941808272814271027538235947053511991189557879276177729981197284702057338266852389132009187432863800608347014631954416553229816089971106294373464892234288344900041002138063324155071494694937707002869349540121830203951120327157218591663173251947339201476685641917738801765427175894008800567510057976001123184660065671585194383044915510835756431585884867942568884459636911214051054298169997384309475735286516936071870862792848640539280573387820999411636884554011049400517298897646192676812616268058665002748676184316448476472808445889391615518693171708999044340822835435779093795303812874179506438522082386624690651834945139191280327794412125035584225508122865475082260079156687107665560458084456972608265778160421849372484843236696147922806741541031241724557330218866333695468916569573621942570226922282527185249363354010697747393573052197490236351452280813179891144531112593442400086868826565450654422582412289620710566381883965434302669302242719893907929967098128203323219218355914141809958281693098308799461411485444729926422374376885125354618098975844527329513967835037259125960411991649979252576044904028439506258649931881097286149531236329434200978312716755573251816961268640220628245807475423016620315922593299725225273412018104208934545325716318231552336588063048700806513322694173021766511533140505920087972834685954935783523007982508129540551137228921301399330244889603036861139045748621875833830901958397949377442981959896870824575199339721049143554543667825269378291906265891715671294326266010342635740310419948020732405606954625998888841801405548445047193623261567371960104090997723030871359183129152676504211718818417207136475416122542423344286648221883701263282176064720302105391126799566920642622357849778889956288260536584889288401250043275381838744779958804572025215543138139644397921078997492981377499129754172744310918822660470922446676188970618420601004674436295231149299318488603818331202044192169824023991402591333669602698205965797649920306222815683841116815233615057995070216174767614477512920587471920946315418507123735150994545503707958307880438074439794003855791283714079776093842308192781977448661025621174271629239858974626672798685325604783016609226674811139662577735245496202726389596320217621707041732106945560996367287825520591577636213681194947271767685687611990221468478379766626919296176002547351702833933683424808158194103737061763779012457401421816663967829253564943258424351381817071824803434393833347782490964200833849720853535764231297712453719695281782233248330055395626711952101509858777970288867473626336576912567233132267583600377382137748674731172601309158941306678742109590560787229047941533302117167507739611161900648628031998012727063425285974781373483228233424453491010489062989984738074998336543400983586959036653247158778559567191831193364961099774641548546616352651194493434449048897688810346312972650291604126739831715691306774546701542555789216271576411724584655693406870880492959310375415035994563810625687211244053548117958256529190563218887332356398617742291208026175975338417342437628082535692976043240747660672876556627842253826084401348425408245797797051591244157176022174848284595154014130651391630524307595667986458819324345612618623168105782934370579975303017195452753349867505488327413528333755146749265260618461545313492727329677848596567534232333828000996189935905931828134387196643405503736916918434804142338475432513775699509891726530839165366625468533247373063936878534761162066356467394683281537968546804160425256448200618265293391757387629358945603334424871238559107727594854243752909423680707477837563369804056965420410834523526755119083392510791625624609437144969518285062748765075602565675658937160773510350438108727734680097256471962277909293069074980019924697426802240823039924183003290596267995645389844936788259421125188519228761942468621644360084602542309579502963423694864171832052588582437433083061705678729411043875886533159405031265755053842691626547424372783038875093219905901602404128000366967387860181862003467099560640159800826377371073725539762113693158919157792792032665200397558368432557287517538753428924243753372478935352902297107164218574093127470279483190689051531837330597041493041294182133629841000906855594753208894605499656319129111961149311396528582075079213018688608346464412194148150079821220288990850263027701942127772595515796135912194181536770132226421814879880960975137266115941066318380055378530757811219981821217599771493764450692931478362561907476057568920373926887702062074408251404768323681498996313134370046123459536276650071533976105377169189421864128149362202114894458705216436347333128589507955452176917717304629686551215917814887944206243941203342768629095992528983069927947795309606416214999246227043707162472787913022746969641025443773050827834769913200362191966490573613375099686760494303570025017850507304944935192546510726278977643788698233188367210889033152310024514541241998417265191835897090524100686463071381085624696153274832672871719582417014289514561670463685789291211658756526990817590694168564786517686230539489863981893409075555559483248944179860144405658875070359900116277524250052164938264227790014234537634563679995367117265076328221950120589163537994372939990972907774972586295220351610745862944094831902996908344617946043408382525653077317896970346447005852983086325355804137048081516510244774171911094491288754342685501788432651600356618073700959949806047170848159693175702714426312315246115153315453702162510671566866659269143185261736829566575522807962002995365251713527426866919118153666679916235606935753511395486810837742697839378201638019881064980065163914979546647460243883464854563946838317693234437674803922916027043220843378534706626763901069793055371931726498777892136600571455615448270072599359843977611122948934506722110349220679838820343421875351861013803873346002837750049671463118234438746211009715172780152553329213834090592570093739479477017674826382352563190945762573411701259828681294588453018805754773478386873810877754745619702043241132440731265405953284522293105545916099426169743935370437146983918034577481914005123519565432356047290362890087576438177436138849554806863611055298441825267065393537676566698011305663654084197520176999104540090867183864595518857862052285443975210954508216718841376451642551783828831521458007753879826994575352113774102694864005619467610658951788188890908266383173045924194949390571995808421506895110999982058374210902297260759405548059738942809978958846051578711348596669357537086678229701412842450404154676674483089507665027920667096700858152457446912815959714485606206927049490235696998206778758465429547202915939019667217947451049744146487723942242106136448559833303748332913798381803576641535237576961534256430964069340990124961978980130088179089326824005233237523053887331200140519512605482649482134085098400133555128956917981761931133652335680731152435618691660416898148662697257873395378063396826806156983627973845921438557066906564933122456649175681579286182088873072439980149334282738845448008010644143404020819752425799488427587780039749463959841049043336082224415574791827328316988546548775788304492632923977574037585555656053221138014857012440363405356305283583756489188066041170509646075893391919756148207423628774703331424104980240269696105326599968276185095159470506959719792312390693964972338486223100949908931692720368008789834241764845705144787079228317685559424604729238172137717410560940273543312211583600403720872603702916172795776959758850177107362594687221780689752316459023702365072397025659991623319817067252429969183332769362110318022486991426481911554402284052060154127333755028905804686355587933173457473337190613682294623466264700403790350874257031663358650645076938645898040052042509777232136374933286930038012560998095171274249472540009240672501687035051771902946493922549250491774963219927196372365166114098810648147975534373377828149059540298418327522547658175115988515513379059488631314748991375213354554376215277206635385446903018944017526698028505850394457303561978980700949248581466459075758825585548719137551513503623035572206555254425785913724430692781128807227613993500263943626517574970939545522103261690037772185947791510255442160129003146812548420721340869929945474163668333534101993356285981861618774658074450491041006537062440527126461662860435983636862572077527762266861444971554109914071226816587237689788127603891644886607265181020208977786257754209798886312587416155919838527899720761121208277852488723379855770065031607401104828293049331589013962480758348577460777008463460431277493090562814614047175393201429098416724466863746257205633162664161371584362102209603713307566185639248489271417858196214998795031112874089334827823288317630355897207995137739459718283058038773218263897152936982554445120427358739281686917125514330663364704870361739341840822765411872603191688056427061191458083689927690889815611651272850223260910312290865058443236717904994345026777291713580567964276069079371021882943892370742998742045464181435372545023841075429688151805985710071883116082188781818930903281490451967412863303904950277565023318179468778769288395131946143770181158037480731112102259380502244261370588659113835533533768885459983183935239819263496402372136349270272106088892104986894230114802578851648964559725954823708983701081242142094296851543736406267363854787720965130558466563150634173693340777895308269403690849769378325170959371704062351488861715317535927660870533293154801467767899777074460140521420443500921277126592925939763152938189434296678858174290646699204787723042367500916064098804118895483164223852498374599066889883645424527901194156321230660170809680362601187845894388622401720354318882982565990668880849605515866854793536165886410193039302305768318819802856360352685478992904425436772923535623010717647455987248616572775194095493178394323575116683990729076381132409052326280001948906029550290619778570151713262775940082767839131749266609583806303737319989800617405946871018742579187141059930337799542824278002843403041857462466767960845486147233392753655045308211158836314895284418623203983795305038811555150661223184260722759956010885429860689104291201869845576003770994930948717807249385030202511408056958192156162897227635359499451850530503410417984542464472509632793723337645216103097432386516657580615335319383642346668799790608395295490086021250840789845063974128355040125611569808817229489412273117961450266741764771131527834273798269931881347707932718430302084666166128903349543604135062799880096889921377156598088735019430562008245492721918765623547436114136742175984183536415651872349474641115249180589346296430901480346728394097192638314609960628167877700856085716858838218016810711339173778870328215939404927872857954687518353803371082387468632273480160483726927915295586135025570676051311348183178228593585111077744896460210783204359812802845662438625831761297252988597141757624093727629006576963639900070415910429612285631431234605068119481054507188912902427997511478865985136909975516671270032960825299722144421504032078811136060305352894912282202735055351736526435761922012162372302705581968243934091415880615332961688035805189907078657423728501098254300872961385409366711320965574669301010336382597317011136701582289833907942315303598608968981426495676025744321565827080146139609512946205999389774716084144263699379378463238218331812853977304220081186070795310110952723022195197965421138123454218706176260831060101222055011353917726741151635669155310217166371901085501958553263466062494926195627947274167382631682974238050724926625595925801802612754380153274707474459685440194745910068662970849156693395118065004630084006980791714596596263811812130715384173878393147694525320806298595957352482139686524672453920050691893364949631837710227304251023013862073790820124878594164493304827045355931891735311813787382711966457031930228279397663865465044748792636420100191680533035949167897113986491084008502309424593552360381757986782569286512273353466228225117388991201330727017052892090730529689058886863056632025724905871339733380907982379456113408756588092735891483270231769849494291135807872055887468253375924875097455228917602352251713290254184336108970523390358774106549638303576688495098603785845484639686743837401183570946881343379390573563933664800969219055895952518339280015738701131492108591156274083578470604795343641701016183264297928928996531312494342017498728811916322256733288565220826299614982460236259509139143989037821997592883799486591551753994399176526803887062266773989172834498855411774525658489073990087299450704323124657307643647910208929211577673850922934826839711340921222917793040009960439287623470375601884703387296155165497086993897030286097092329179206973700809794362886709888030397153126273800685069111263890748084225975687702994622385683184898249097009255590041020374676373598060321414616359853334057916325511170549319770632765213874382128872771856824655592134919608656222753049991223205513262323829871222918936451569387074907710638689285881795849545674963025434028160820836608498344029562939430674515455235791476811777602756243605936779400114407074902452714047434629916081302807439950074742483437846580733239939857804411431868234579540234919465125421073800017524442225212325818265199580759630173249335594531599815390803124456105064417805079028972167854227525304960208528875688868103694937986086596422397683783298768795101164009360453164431709194757496857068695662553453263426778226311425095400776883383356705503448648545228573860776409939017072363696106000285759165563698458482997365804712681039930949402996115941702870148695542111867194991996510018013461193977219414300017549902460858160773841019579798927476078599410572274647338096496323907610404471610466935011685584469259403779153162668669306592736322725771441795544036718319920608571588774684537038953658463427560587124601040061621193617236241179037151364163861273581483580188495289493040819618205326792692442200029237721037439570080824174656865401411483870849396812973150130781862192751428817739098322812599284972691089616830385481937564344815990941553170379267560819123735151350336662284168661108448362170750794202039918007717940240256395349115405703933443033225505955234577241700489100818650287645741661411228431509440719595166642839619074919354437745337035201921584591878445752404651545212998191669287330616985868097527775117375888660361822242220838207686508892477642850326719482658090366871026312317516260844292967049552364157717217671583939901692723254880046711099401124859497224405892554708984980360810189354449295141058125972026477158150394504341223832590270811022007787015958444979627498940142463501583751552329957634687280145403740373664918462535499548946712874178050290803405394147773981373923953171108030540989534556460372334321890062227828827813781795259218800048176908923579507121902256062614189301952238232060227897509710593296255604147616575703953116866055161472613928018085081632885460150812637358414449405303122581175593392918192796732338491556986002380129403355223989688748941459128426227385146576314584235657035428355555089150883966156557641857025854051381125036460802485475766268297933042651876487350844727897651006147786500972549727739696748965198193080841740539856807828419240559427244132649444259339528328802678747929072440046846958997810395443247221048513524250946937717752760841808845385772293014645801512463098658820299597819678122842490024869609625334005865330254944640553532572352872999508470849044243556606799663699018457365418905655462599456891903843024563119661428570866355033506840543988524871552859022419386189427425081634818301154808186434538070235270578485622502131548082451038921906117236046674862129935809433256603083315197057216708723795522110954372731850213678379262558669306334890282290938522762899844500330334483845826987223127555885653517169120144039013607385096271620653562151896406085106213971173423765368920819423474701435479620077519807400600235251536054106369988770644324248446184846233956732034466794808920303053820160310020495959593669547351422476782067338486011927086621617834373157980426440169731522873375241801750170032457789640876663647912045044705769201832835781425604669016873530116319832347685469509374842370723264458887804015770734726084457044086479289973136684859390718725263959660163848973408594689641355560952461201005463185710374669873596532210073301130504975869628469019487232334779527815027945372805926232664152882804456883036202629102694412238352090504011747478940968351610367404090092287976240458862092265803070011561612746101852757203755917170646956899078785234421377174210207916929317922555376395208975295376168091133232341747419872840302228809296251942084762466621923582876190750509159062589793231379453418483751425889957530915779902755429214953309167376585896583862605748892432915459071550537769473153766228576751861827800381417674826588685111348296124217663073976141218974626058230324676132511705107380650906974435324890378350784574778685699138252872641059102362000489886454488776272064620616786326968214084131912638279285433638356593637569167637837867944371296610863156540893222722491411967681084060702416905595641076076254375534294566593456145007971369661106193914442805059448737835852170202539737825863827828284937772463074224468525437603818953255973738197068838176025413190698561525764368369157508034834547079049927680401396587403421888112480306699863108278709765799823682954664005874150069520512055027036562639917691854902928522395223637233049018219138373865856687081825631407285374381243974226640751846935576511649410421270317608098818360598055434965314215935447751037088782704256846335677300497793234810678258997248854832750716154917513835754100504857495997205692054072762438729557029044002666113139772626815639979396094787849896906149729697063013020492401087357933900281842062167453803621771734627821709879283520820804744152482261874924876571498001842351467777459673019320472894978194357539876597285313735227234380482471205148257969290923532845161340980981103813932666370799042071075874882970176424488500956428691015880410226101262683678462448197910326240574621992841702494873993181085685225486782652266699452563016711934691575917199122679342570985851381644500246440385788889607215240806732490367032998272660810042692901501554200143648245659774288757018122092228217807150698967200636721345039104848838010656178064013817484003190617820286168442576885503736568840121520120871678409685025543308185980132935958310352351900308358299749738152642222351351825490154476241684803214058838944238519551622317959331099384043739915943694206080633533347229321605276101047626655498120087863404147100818239038719852810840266609149305316724853146251313949150410846517604300602451879765758057231609543233243148446727992246506908548682706831502828689855908997155864545360045904623141756474240163865039622119297868246659240849784070896543078453353508933773455176674825764364269774722303462815067641523700150179930788609516598162419174633800462723555020289033277682268103885536920491002090518179779158256406025671643194013649196781791587411934179476650258021363276646562760224943847661646397720921093230822018139815552119945047106178500852348136538238845092107269590976433891407868622550968133007445172522855858770309745221487669685163824968833404165809951263108676429765784011270162918901412229552568963084577821317132668059137426664568578198437098904177083792191516177489291700763447631244709302618402360208986965792095103353700671733680533233138036881940361970093679937395634698760040308812444855220709725625785629816940846333423849269776121157006951661428978332508257879168471749586284212307395396631418103042307811747953221325134836547405231977189126047823039645763619319394326094702493250576682505520570388383195504554251417952812118282384110631428386082476534627467218386226783583733167509495602814939281727521726825731034105716699130432433395873432663940042162782778583790895725307318121601318780059364764586590675364279910723396640216859978881589290578829210489527191284856859447197620996477672957945553536180340199520373109828948438815636705853539777481910610251931235998099680177582042949999619485537063870975327394792586636966869568966053922013247659762163276699385574343748197210746208825465724641747646011411275939407425259231052376161967067403199837938254005284156134309927734966561274184041902621356965430848531843370767477887973200851787913942924365104156903357605270556792493624767435893153710183267532936754024638419384317086405382369814725499711241626321464523470610799022800810927513454865884402962251881845950507354315806957401375566465927424165478254937103532606805024739914784971630697157741442994957104769759184623149466545150280002598173537495535629230921712869907849534117344624179483599396353785188533265065987582367825207768748521925138304200293297350549302199489772064631770826922143451521689734016208274458491670187204321875061211042212092120443515767250788884212509594618509803037874398860312529062967510661024343110944987245901255309386348614620522838749175036353349115064659345529710844949675985784530780320494289244894862508562238240640052142592678985088265586599189856171268001823367108580195376384926421940323759092088577004006344169125382811115603570645787987059819502709476346073963289612056041445869663680469167996767579488512068250447422529780378750073888542547091004189185888841741626309993321937859799561859890954171963331052192249987025370739655265950393889920447221990003956035699625725168300532844523336127437373739626363329322433691060408332549478746526360353780903892087150082082539780141317949415384184911789128203549525351101749008032033918179433929253391720076314717667909394271103978981329519107706723611900637793028415265839085222946338185099833096419368213923404267434822968489404140369969853880634572655220006065568107056909218292183388839597199422572525869495133735615166977086805663898160313635958717037560270765761200992671434726063146969958873235865154838412671280628628877577137051729424917504233566423838006791136837872803288927642823990998374552466166578432579145096002913461630253771754442505095919581911271040423120330709671538499083899306317208999687945298131103934706737480958965248257268257935444502606550826664181966303083171331513338217273197114839930571620260842150847774315975450497824757262179511861852805370342954028719692800664656972314641903603540354892322628342274209910074756661241323725960538947263451892160044616638883647543441493166830057312300495212708834810270470252100258275082400428684104370158345741772123448321215236572697171353140208044014271220556450960867516164890664442108878391044504686574163395116204415911077594829284939828910506324216873167725107031214574951145093642521226560319098787721576103217248012083205696777521232254348448893126098251139484210920537690112379903874863328333843459937016345085435645170621048628845377358783667570292257026978228815480257887492297565545204306489129043801250035529034513569888132507666184017939770930999714025616885960771868864614873073173493610924548717926754161152683385694024222109487563405690341091764564032859714874906964935878665018893082658315691502006211458077814159206290510917570797911933954960463526303082255805811528404290651543118935022544208060086235117340789223691950484940547226658125370786639742349279615743681641604119623315991577981164430002102696095703333549682360513955748391112332435938824871353408922581807973559662456602769699100302338662181820241593306430886250530609093057581261835571436530676188232723090951243778421608189804600307950625084322905046499749578297822917573749761546919589824844220900954041223258851567434919068695242329771918856708050204860050747827606343985162095142325274495648482326747269645098343457116721490853727131824211055748736893772037205724277622922159135065462087046281460030959972429096412164205468977447009540165798807669784654094303314465224209340647651172851990879216567413335405470183041494407743135639376814656326905311547858306579654021507258670819381215232246470558864600777837780468388383034666896169625817314019031745566575949888800881749089581768206591584290829928110171144639063674371406371527337879242013802356287247943555271575318502006696358510168475639369489761869875973133120561082960357918322122224153832345322915190212302801872112175749107198964217729112913875173982745335089716953704037155754199944278721183543056167430249819299524264849094497565327036142282021293058669650465044185178190841410036127227224444779869205059547261445437206394526052298677312659547676976430542809955233672611980467326403334607076729439620664074921787400079364437906902664498764214835379466841650346959071459538219059153176659068053387829610255222236803848138445769461132262718902854578403404327913336025723922367253700774358752062308270143281809842162861932480255989616915066484370854288498771458681292153071558344705919352022440022597848794073513193648126106977000484871660784410520397090664733136379850981449385075573298882440560727617292386540821793390004925610943723635917678271394099125876971864651219293387712331456050778151041162782610672412423016481725030122242574119109115558264687608571506890932610517497033804012994064679154215224287212454703530996989683791204316125447536728454671077562369421009568212538549260090870329616783730574264493260259211914054542722605762680584909830084534430467474078616197948369346634308278928714394468934183413087469668598747594034914534026934664706894230161782657110718599192470862104496161192929634263251952668160267574885512492887781307155342704795777032518147662010097747503449079582347727590337072567176340235528440688057362750999996606037692687959059393231039610662758708891906751556417518421685912447143814142381579678802736881211100580528498242629762380822165595814325113601436642065136144987360511778180426253370348237010523104224472696252456069328244188828089252461796483628601991249074697014071905010145310879644900976383138402473751371309887901500367369583602250559868169821881170273297695845873272925467353139358901515485808859435260679193275415164453360794465406950262612378672923899090003309518595356264114921522799163865393239756745342185885640637623494156526030080593848967816759880264998518638899067189904230420871815406140160227551982916926606297013905612574033950696587422994095391718806691036715779566066451790068291959845784147903082562360182604048603996036078183052474507010801254130105263242140338259180558127600691915362635673484326538714531436735022978951453066704425614578059855246960905226006048833635482652474257974233625266136141215661565001992639682945357753139809195375649000371692771130697582344038897103361711029401434605488545891913818749372504069387153104708008290476517252782645708301080481249421534340010938149844631778212305806318143117792065437846121907442009180010459195136888506729418219217265659093966314508623659219117176044683411310693861966368622814352329631799231141497909620656383848914360120879753556522327508538766663670468293248303999567853114991811022103110368283889911447352191813488496980876075997850854173434497650005113191489413054348032004720411058407352093152352604044978703953823149477385631143168509230417283398906121387295399647486964748609949521691901776896622238516790008352556611939659079355335298658711431244307163656906399149820293792969078369508756591936524959010857023266437594110275737440541572126787389293371184615499979873691460421228625260996275615538404344222573908977993055398440375891880104304612053628518468322694786286493616107811940070170545468523811210163036269474847643603455334767476311312646690132143262300455831956770241421835215843942677009717158780527756640393123487438736447582313444677722851406847126986607128692013472602685676913067814229305177653503890598140543205674177555240776423075452123850603762918048340704069547247322960743756849424202041830247633117956163346682087562251491980100139563678489367595728182117366248365352601748374849056778935984662162374717237582392145026017422827790894833753846553435446438182615754645024303092748012895519082034971320719752072425664464476805480326222721579123194589465255883714065927589530213139506815397969187268732845474352727693478873268547561665534241544053785508822007222024492243460014288014278415526359000312388895730441804335538603646937582412611438259131853284456376572978619127555304866379724116303707135270401753475809014397319439141499895091747948565056033705386908783603035357969374712031176911602415565891192346323705279639963077322272912654090512336603738394267325375345322215017630695158987870493444557562006209631003613627315632484369073519523764233698695524778197071894892002390015922559029230521955804773181816517781381395114667050392797632690828638254741226265426938477660620910474705192899371007119363982986712361792332230775042797193764467308230533514866476532842289491268366992451769219960339299133092986895659383487520124863397357543142083065684001547098031026796109838930629020849803132244601245963261982235194125451739471700320266905706810392744711636752329242282928148284500102330347415819569101765624049303701644740778543050528295622614508513049772683652219374212499140517764018781963668665596973080110531496534579896212278722668347487914231567098530292989702336085003394700289415752073654839811540298779404811890754580089789303835433140557679111880395929064015932784642935208953142127274664124561803311097241342553955378210012359341495895530933114995176087443486138765847535943711839571630537912253730318070847851738320242850730314108338549763845092630031249800425299796967193405334531251568966230213497944535921161648196515506253070729841674515128684584213142093266113235969490630958209468180625516926351677114329232134391226374171803713374859161364160950096846481343353405355317951984044266084970004434694829430328773046215905513692531072842040299837641449885118840888497009000468184337356485152661145966471385532993753038083282599620257330031205330891555487666604667584974853605487722495627528465784247407926183597726204941975955972698559190268173247583413134671481811220901862767355930726037302019075087252322714612885030227709399515141231872988258519824155971116913969182893708061035467644010193722745939127522534672176256341754275047175254329751772600149889126189800205083709725311832518612441656007026452525854275948391611050573220058575025705784846596430078563032956892084183009737828075907441988364651643864060941800120130442991256303369690486986958398528591927260520400475026153133726675321162877236554851720301940203642773840541131438614402537846019270476351502408750694547955392222062069918479210427851631334650153969860222993299580243194027918764082753013212098027080561272534793960029267878504408822403457512169546599132302192200750768225799062896984587572221682719929887658669428261894628957807661426466642083332148749755956231905558207107035337867523760737095489441370583024337782162816987454759179043502299772806795646990401284068675258179026799086863550989923267931632065820917630968571855360112858223720522777188219650850145684964286972600729688762412275078799777175997743463802303460777833734797865001208331412698854514048704503578260014069593154661234667324520876094303646398847315663878463357428512778171069943736815296127231176379901766334194778545551445662935008065847864056175774918785785813114828360863021847897705354513900163714224487033377456829960319032727178794843324031252739860081098271418642788970955848344065665693620445091947364875159142584978808651659255035386641317867587807302368832449605603138026185718741688038468367131786473648224222260984032800086862982016804740771380820737239155440997426850666263300165310448984000387435133564951733184235132603839324536182827815906401190413169038785362374441535224270392482880882730955688523678686080335044272568806670280841666569894228838342105341792506804147635728927643574652528215554205945130266330543845936968894091787283864623644774199466975623674650707223544290873027884022059872448334646193318950579088398778005211051872477638942638244902555697521500501676465708160290320325371595200677683 : 111112945484476460220964949725523278818050373971562126504270871071996007406396865449803371053440623122591568931860943944536901803358937984356087986062345246070754337252284740943537992807372705536686951411161249916589882490941708991081630575111647847232457088415333261424030789854137420607293818492971221822999352945467690889432195888921632124858385600670896180805829762233167831747326229184665135300642195337469808895610354727551756016805595285268813804712449511805108485704069320558322930806054008930900573741538144586829936926425393900392581403648561970957366269387105613509384000494307158086152872229414291571866754087832193357025282843018370662299833949074456695080270428823864284481153696242788101349554642827809351943640638857016097954083205611946195821448210918918877246728120782880489176787790903055395315070868373503675525442574412968082497285095812158055054059714720357615897341471963523741275630202194228229397735590375697813969304694217567540413896950525863357821906292374892813998327603188761518548066048071806945417421588673200369264713025732065108819695534378648465415357883121857702385736718602307387556731958527482666093882388952442135982308397057206787177916451313125422831770525151821216987342190259944402599314498196605739148852786975308218325193476845984993135713356295960163743119950427893587377402109704146457890178372435410468439929569722542097697906749820688324993883072353817905281001701339224562047754104776862439213514323910111693213655420317887394307578551859391821654100216620131612732508948997056745456752982225997242653838341891091426133094091346244056788875696404056159466581773591453417073600588399129724290162226799387401880748361270997954966780853585417179260243203959070485234543404908513310206623694050281311279852044645267413821292952439267513670308382244684891782653228360830537466363524611058832928463848158455154220109020024062058176332886787529710393349411437993443438401441678256000334146951676430169856753840014483890309404019053249118899112965225267097234608769513269270380288718898822153788037098447282983862355406397122450373689217976519857557604030659996235459428112484412854578643682583883011385004750823746235770677659369173668017629153353394565322888600033110593191369971379228139965921409624185509785065634424807405148858366536990446475932643062980356558323438203429092189889388417984425357083196471135435585702026072770582319439997332630663038661739633474688344815801358801351060059316060691565025069919815086809149766694888090330552885085818059383939323959152937894773347973892098724054792659223513873199219834900932561194419818228451733953496673877892871717564481412265236941877477203709887795564520493481691048342696383905546823021593301121777833052210126059803100956895078848986629165419911642668412894764437942320146724050425941242180673341899092785639241313316730695561078102722393152177727969693886041943204237424653039910611860279731568369046369947829905769153638121495865851767713062171426123794650559824320267957952522334868934883190166621093129639314140524875286427953183567410651057727560316236087632227668104679886841855450975535806099302055950236328533387261778686358528158016632802400622464227840137877075211321572302646020080555697794814218774695453228745577777124012065894920069419440206095682680779609463081500746834043122740443324265681912786249814153837698449183910494663065488989988275924855280785750323063416190724113429082167808393867169033809449525176224765645229358100672448831406398851129537476072830692839788997965594421874961656662026243150782963612205968898837274658572777417045996813376146521154151979643723007762093936064484533461154479615493638580112124966114427682732369036990139096070507322013776469998322815808511027234570720243554826283716448639876271217126415765923242260688829534688381455708575256206889442320052232855072297879818162236598293074051395118396233167890436387192881011081415829271126022466396748788326512711360953560143917272443560153708074928186055693133590802505697855205904271366007319588630085171985254162058510240745909535307054708199069031775348539912644740582329204673995747709168324206254355933595515902445969568114103187176369030485202808236081468710248009813593111826330529032528182594337963237418322140582764624541140559254368905905363915138607876214349520874889794542902413265975386714713752633469710828918342477616780034500704701644551569316235367386500759475720904406692423981579851141313626089044681300777766706935675891069346608723416820709958674149560153516177393146605238866874850876859082826125850434201036798931617665710962564395072772067499480647316394184630300378125003717172913314333597937447557956391448137763694873941448134462849803539891424471645257969693549707034642986386387704828928293026147069982613278458903342526994766018126389799306667419972224306687976899991879510581770465189028301837838179336699432588915681024415233460502596109858281613829748470707512974338965809821757962830820212951508429528492684414075129466132020159973529432599191465139619229225121391861047406312266712941145214796058811224228223086259831792430557758622980038321277441720575443490866358144838557834109217540706868694312973300459366797620546983684986136689647156605235477256992082203703124995425723440264494140669479173610506651887558558335983656736747954145386185106093625150836578572876849237174548484711437175370753500411856290267309905201462576142755580474579570115159517248690157774773026679455923947208616567231620002559259175354225945473828657619053177267904999958747462225749498435809547086951501520180001887111957595823756061743254839334513001223640370963814653681123206702320683063773557053640578741192107722786324503751997417857012282362526397044920099336047145920276819930972682800559875612084903565940901110003063890516200733410822660195046628767576221396992001557847902229395432818180399465937958515049428974025250770671963412157219776451357592951297544664730418275460084010448211017380139092513787756999318536467522079384421757880382700706543656270053686322925012714030296380929364457350538756911502793630841202762297629533520155073301988726525888228819429728120296381120440227241641308148836091729366657286933954762275716219559917927138665347669938262110097976283762641536271173883483521735085107842593082195488950354577254591407589646172698906395722780177343132808785527824849854707786705207766940051669248993886388454398629850682901439985666641485750168294131697881426700432143620013071801386428054979433951353533123045163562103574220577504590751331974135928177195854693662996738194158736860440161088731787681768648914171777774638407544945424598559852472896063640111918255887111544154541518514728093476242312794397351608183365786617012928474700500787083129792490064190559461875232876863970569447136069379198941760257336148268818604009437672184256587526166002199830024632294616296373799779178172162301666516911921997805696421676055163086865455057181253902398008378277291585632725515772301856219251734996653631868408856158877336784004519374402257527953168468104211599147367191931054409035819159129477809612116121383930375256307340559654605340517137492280247933667653979202657401059696121024463763398900379811676576987520374235276866211494365563485572686809703246706427875485273512432609223529359972529838273346455879445547179891611514973412606768603544966411409698921674863592577669818517636488657700891760030005262109760836456031757166961302113454231452975177773052859036236017049770271760846145594279529233239263259605834505042523327607579806022773939826800886168997479138769073874297410287768069712080766396479152567592606893845482939326757852207354417950682581566981518285223000701177817973902215874866013737372681809792622941049041322700552762874494585907494762863617068652240357684012562123013269802901106110518602734813957956115140445019365626891354395387423192468428860850239664072193696510181543460452034094856246179419001404843223939227419026448338408844037448335297960377107920824155549574236272921612982511499495320890134986848007532413968467641868526387426318063702584763951520164236355997435069978663925319132805935127094374184435276439742378941387800845842144436947212786751299101769539926651616084254589169919710682770672759236098754854547890126082453024985493969617440208725152735929905951159338275865639064458745879867481481609654649305579803497978195622560675169956988353680437296595012085294173813884923143090862192852547068046738015130065471913963466812612684735328512808958814557768368596360946243735964896847330710260573053239116609492171522473151088705615912803234486627776347075595317246883478524331344782865594214056562460136175939681592442176970791344510228441327746446085263165357957996102943703124181204463642049801797260156819969097994524120775336197349660676399502293520460369268434806539330153727783628609942640004469766824664733799485466126521210783739627684917228606651904402691299636377596395015938105828838501441640655032236585890114534062834257912002864525525911712404032077064237180416685914391386325020195130849497222573601440898314948100959252204686708529777141278240847880905176830786954877983650756069111096359910111188184194227832002248868488960768138209923247114305422425869124526689103549987554370421353052743609095348640509559504318015107671200312291849527573003717866371722605719135218419463841658864385954060997692130912811355092898996060673145575356440424678743167511767010109475778569199871969347449030963451432306492955658129413662534686947861932033163060436907717580211901220780660647988441306077180325927807851888054586330762619665398118014372537571647362235793103319845094382886217215850117497362693485327609105236879622733881180665913696921386945454231545940257377950800623345011093734535321111911733561077223526888673725125602811981062425783852472160628004810280133174019447549187542807411727641873560039236196862160099471635408891300510367405101145647397755881625129347939810178634695584102165165729035890500606257599123279080569071928155552621650651290876657817403820669768656461740845075635050003924243262985803383498061036102628537588660170766480462832314870864323372299158610121873284131840972414181147122004214289125327570193666647386572654045002641399481401495467488587758541046203110757637190167766965332737536900321710134166771815033454850747980672157050281302022598486802284468602433041603355581948879651363799713995289215756217905738228804430127975300328496012510303571297685998178174558277756353826954120941244901139350054331296515318841639254444467918257686185639147028800179313578091208142827206642799919487581560544723772709840005240074301927608908834483220292853492013184909950591635836585123741662661558764459552444744969339961205734156953304300950568668566932780191771888202813586601734326701110092580689220969614517357246909274950837444752636307048398062886865357987028518248371188657516396061210624051699451624088840747752900273129586642082416659295193338220049615824627298171120480344508797859891766405762842687024575468283815857524662649953669491378540895136312401206890026617711435074682384742773070309222853087238212003706413344941001342619420108950904967250463538932104643520409086848373179922103675995304488888523590059983223659709702449584624407977959692800645801043405664732829528668228918622988249674174296286207797292819335588512980688568505874541567346983930180870593470368039844125258973412984101686700606096370891802553798419450178963286980392385859951899597647096766440114367914558271920135360552672976597821946236485381152607904218067728119439200918899334177598887236918263288668976670250652634333338682599971223528827595100607213914257698831192650178043446601969875732947963181857684304152625879656459850518002116434101551813003252713809957260513600124568970557152195296726452408751132014936619136603824407496191084502153763179707780628876460424972007386649643187180369665924215084281961626027136504261752596758533466057765153159485787929182724284212450938339995019330743137768347462818707593521473673427329298008941693461154478252874359308174334850457789736354212583111049110014611153937241590035616382123430541531860639060712406876575754275960131971205756922322468010064921692933483385893965399170087783746302387332419674123611755620559682865971059634859452016343363498234198326340848764347835641608132171832233953576103977734888219121396236125495018059260807320119983004182205665587719327135015125563806089525550572813158237244795222613981927525473732765943355199201433824375471595682056006112077299876009758618981034933303063423772480631848838230329316376979282948683418971606416273296714318432911428508316232772116741414569262343361968928115340219145167378948584149648919718865125803142411172749624126052076963188265472470306822792306346473523474008369644216372442080531763196435811964716848976286064294790199630327348989146579911683845818396834968648080277232636205048276836466535869015974033373631990157974038575624038680740455388441572190991896351051293143913641629202566357501141459399850643041558374913818743612813989939144622892169740682244584870185328417175949130876070978525910646819566870078132765644161111094628824615259466448956627287201144423757715178442963047556920975087149675665493757738721848175169112986983463423076718446462533026493211952812289928377713542926551547488704986159069655355043339603015681263770618204856669113320424842722323366152157616492987761631745264766541310137735713632808404050968844199453582540721258931172881096441406337012964036370520320953551938420001536464891389347891401772649733672374507454318453157451841700140639466420719294627473768685894638058630610547801107610413484898850350746958725675680141098855849078849567099832188042710741777558439331325391043001524839851914552205889436517518535394763315094719267892507697818132259134880878953289174447603738843832222897251855611976126113411631461234060845962391316853576186371378623898211770314445289718786313410160988768695957547533917637237794264718648031064910463373660349241730387235556564821452397560993389354724018016442322443831537147833516330271476229980297855528398493053383714614411463898122280694805713341575576936769448238210392154483938964055903420510026105344091980321106820808328963594591152435624568874719298310380557031473739664640331561620548735329863562645435301548444018305442123706348721988795282516847909900924931372124473253766067298476605031649619436114859715440704821673920332291005091554868587723353924512119289003362558012225074802214493888585278974968330290940947800154115729079772780903823663679021913306912401690828661499897433501590808691538788366103350645516645013237991481030240626725281953865281028953365475456848965090531362600894496184140697563324305380862337573978689105340168139823164213626383873619380917663658752190493449724238227502107621919576570326106371214153700464002769431570408027595710164206665199593016718584660382823107065614858413830520191194334711009088907152250669867584943952779989781406736080648596786630855123455061458107817695860984374915907683045941920697014388269695470118775821244766961305200138844209637139567111579756130341822176997984921385275593870801504584988943136143206183926499162047588723111943567482117696333553092627257698820286783396201947594090398000025457276963512353176828536077490781291498103355452948954378186065715931643992449286517662983012192269524669424461991978529829782957514202410081026277443077622393891750924758037605734339268379100915415058721816413603977124857799495765771983496962005037333197686399270359589007031591001671813845739925208102503179510625280276091674390753095170931906905929537115936960064017725570851716748857605241191904012607802259721851009638680365885682703662885611949384291474335572999121430818832407210580660137569761888374918055693064299943721734380224985382290195019131686054733560935742030432999662403435636004754813009101838720631170771232317938722533923000200428290240924530967051953182372507192826594916430251248930185158843591081851283201274276481944555383579523899739863907168029407616228298877025168056054708501207150671298090883869777012606120067686317450450014595283720251588065396969831492698361726025788197103423096026331776221840930974626654858130853179166112943417937871830778643497710609965662748495292829435225186216479262561917151206718372011251176291812033102791259234037809465905655884509829605752816066282844245284722886285439041521109948449245782176241311682349388702840917375607520497073669958695779115831317798790468295739577803891072370172905331802370389669743184270170374426742668318028890896163943846940229082984770993434258091149675745396242003359075280815386262650626222415941439615861900638894346384939519091643027853291970351544691952158129625586854923418846445621249356493003949728170837160461278423731085595297689587613388067881757033310296756345815835137096916700809556598488240452376124845160606476455851995706912257220199497249113078866492225984087992622207043603454490928733551260451874300553344583128890659316349965544968422178865115531209199892541072956009249518712350790561810575555348184978038449141191951464699755266210132727206305081929523568338937484166127190125264839325126275999072139110770803766474226990433236676645674195654656273946541322610078435714164565522416210793482523422961934606909124198543149489304772423728213700778360896605950845137392865033653512963816257120160817477377149331298932032279284958371868013098209303548101455687860668855081424399260982453231614652688337410144642634984897110461818960295836022165744517493630900595032137238258361001394643813454542052566357454157039401857473822849330491834189718846846414132248047602040880568948329688036730791344064918456793274426940511410751048284286277511995847087279942770777797557280382791055358733687784104215706286342934868488438393494764916911089797195110518717847401720519530541968273904222382477262158613571724041913823845952764108712867184278636680649719845988626783910197324300054909051842134913163921318014866617483784079381843730440755331896953414085444366234535188979354119864688821703178427509754034020950006096197374967025871930946610294040866815850920669037147698622166056068657307426620261230218208639786829614446360483865351428666209784896816627061372546050791408441951489941606392214834928162341691245301245485248878628814401541783681425134635957403486258091306221959640894996208518217794283942420090794447533822137508046930344677538683630082723295661021298465874238590970635789413802089925419667973277699733097726672413462613267855115486707976625219210003209576043256774150005152154156865735957228362975938911101648943585052777687900156062240956693442393275126047270258495033575234313029164065811321675681441898488995759260816131575506141776625578770789287164837824354337291375390105267173437995933647236080510828665338645556949259188427934776397848097811858680307955979759947943194388825624429748876726894586337352422235655730150044350102306711203574398272391292227836146362666741980899906303765344115948290347346478503977461994977647180819581012632555783659433486133498311040620707122264603880423406970390607799008354995757278148503381845139247746082291131302146296635936519443421806108749698583903412728234269765570117496462304047406414460833158457090672323059840845079103369482992877718383071237819342570864081148134117998938379670413018694748289535270427668661621763678749272749517160769567494077956966994064327939735673265467017552227859623558511857680259274720499279427102233127791863197784794469050858472353205572451308096165873431279696629054359651618080368644252199683812133811453097469738959966102566237766816224479722240468620015675285003586343586690907458110378639558453997493424947122219164708298193211806832487643602898569629483246618000845121393923208247880525550684629018511159331349760079574617067283573739614109918438125168362577978906230899386105466912427741752068627245044974609766393518296848677293553677413501072849944120713441486091700742505342727916925057938656936657746586431369238630946840149653459388347979480471382837764281715037282035067685542027866820871814210310825473073946845532533952938184225203423605721471938309481287941359158946888723227471113073618035160927685851595506787034906397453271997645604087324551086584682150380546956445550474253497028453337386754861845858151094851842660207918337939914525725016142657826255268235810968285840648658225350999649896180539278512319273356607395857722972138883478294653118425799511241325643161038447400451714298076865394121601376069630097527458279844805191118248178449581504950218963885992765198106227804561836629965573876534548434056012857303839237913268437296124903248687018627692754271543326782868999511029291378135735826332227497185472726457981868096996381445418179687618261315058606334390845240134359191927253821388668030331539058945086608558114693957836332997250213829827799871253480281820770900044184080256199029727202017892900189842990959015584194706499200121401895364479699437946148974532340387530468102466043598014088630551791928344413442187861320639414293466823126682885794645536898752314979388901279065892019133262730297108381557348577223532112497334479813877180129986976914504600057993605410624548605029655681815433146754732848872495002490134063099461568883576826420985987548542318120088051557836455344651061838754655702734608050372622002615967972348185684284919472457848148567488961951786629796352106656157785399198811688734689501746302329783405929344671822596557770116087087628540862953214921211697501518140065919778181499162639112651828252545745391838548656363089742459168874605228773564298429645876201304349765260885848217947825645030785502409310066743471153610344445780091071310327027200894419748299792363229952450689546077824304300696123718057437037299624482871009579921905281918739773228562272636019964036163577280103504040747386394233210492260529701501822172693959649984240012360419427247791454134196819246205858076818446387929532553408255391787657046605953798433974789060218960637631943763850599435152872207321625109123602384504992441790628309472928568311905871492707364294458920248115385967847249453854132246725170159742641044099387090932586326518944358651646065183371017359703191157270625977470782788896603470558490448151524754024022890852911513768254961272219555715132237999459791086355480002784974608724214435491586386637752343597408895059960377307568423423929890233667791995062824351348225673550030479691255912907909605595515591813583882095652569617530290769335778430501830992138852968101108706998514115269652718656190011814075552021106701457798187100775605989056699462338618151082078315869254109279387747637694211482295054133578558666062807165292988386126976014170480361803953351626667316618288140808173083650382254863661008650209630213819122649221116806790951544215730837006391687955942338231129886322992673217956663709585694828280006200793239109819043502825621226965102080956607398250397190470845018830442639167643774612730316156940619497788635136910374028899239871074245361484869179081345417773667097857780103650970575104440605219966160678176720830439377420527961521326656009820976843184769769046622362625412761005037946652624140560796413816590623941411313648199541252727943038404912709322783612243225427160757631364973938294629185598065620464574607922618697423574397095663996307444410330727974495177952242814952000319264808440399321691438100832041157059046644475963883779769493084268227187001394966264731168344392615540508754888079923917851313852255763807755200269108595949409726875867526763461271639615483389820620749273421835062366992913547643693816575917045470810921793118407525010612102680391927154109781755752409535480858380318122442531529275570578181524445630520310015801223141287288398404327004715478102602379046726113088191365280168481414301730685230077673202846684924777412146776516886413402095922961464428364640333751546737775439019514935684295309238612139822600665428331975650685939636631621206525259162008360439373068076166844456156388180346350022519082054121190093993737669120908979208540015866635798359680497027599536579073303759034981923655691923336298246059968781414752952548059336784793270047486312161556224534778022513928730695488405582451346528710657061093736922422284469314917014826844753054814529506124808658946553118496905352465778607055160713719785594267531425119863947956359207449778888458160242048839282818792783446428653456050427170478218946869697932779713688344118156790917978178730221164951153856224956474449576328539347699670126084849776977769244115337735838113579130131806758782519700688636303284680060267825855153182748117411776365982918951488076228800083741081114397163777236257219798074605390984505538541416884280855674667142933837287407858747702039531662695242553297538213749538751320841182752190816898796487681134033382474073812094431101368594876307591089902146707180510204119838626951689766902755925769765627249521266217754241785505100121278255083010833951168452968754160263596773876115490332159280982052203025836819610901414358917900664163019230147496005566455901572749315588799166372831808933653538193692025126869302095093737257928301011941167813570004772269581818475026928616820476777229507196708029335441484063439998725419264120016448979760590596592219185831004044156096142051422540640776274884250421317083650056332538892388112670981206528800462163627386297907905754345482030895214926468075093511812846284060218083505872939308811643066248139574483427863005729262772607946768183032942376705762058623288198810283420379693323193289870667108336149354635325017630251203506426792476319812620153632416500269250572246220165959134074453015681986257317237966623756405735066132645637879592614825814090839842655209140888927760926853343233408957576609900669618179535694597331009312490393123741947291877785740304586870543539420068498099351161168661811642574270656602813929790093108724945670694590006811320319619525737753002958562785127244791872764729172639470164891659400412406436054016834212565114176534442784557075862977995349776412489361516722226766809310144672391671825375339042199579607947963693241331705315197638874913114273047513091420517137798412450971587426345634766724836305244063540313320113102619515757108983866056236888232241208322899423964530022133635252967175228330015669874490725409163195024057056012168886515367399567616882965921052279112546016441290782090365757597373064405119743867162520308324560354937317595252736606678267533852492582074925949904742246816344486842909947903481463896522592462296064402862112920052726527831583105424618251682384413888753946478620445628695497989508371995208470985430299837176222957774662279337716131452435289263867394701186878350570707968040535011361578872441274732110077112132517871722520788649930650861123448964561461479595476322135939966225301039431191768319134061692859346524274626689597067722750723855530119278028703535256764083165530498539695586071505142837872664918963447653734562864350984586573584535798491902100295547396317059274567753271608992185908834723601734280482877792978868198834712569150407820465008368044846279137315492742127946979595340749549534979667715999372382252597070857591030940644835475758947384189682010529605000008975882361643835573045547772214607039304037235432447225807818979368204099212290765660395367097723887179309053423960846234339745683390477471015353023763198837224408726016082557350850289358437009622434101580674295319169287177048743830042744357116938787591862923028088054829664625630989165643060317169071876239464961061472715087338834994162332882085188618061226759873334791340685100676974952011203246990226866452290597827618576929224338492216188864957222652374529068758357962117217153407176686555064479244649639847100400181914529115864937787121623315227570160907185267479942471789461129657318999782609278555927233489790135727392249360706405026162513607065652460169801632563628415833976978776083640306614898596037941090006739641304793570710871393502375538937984057292244851404786303946754103016191547321232850683023046571763540007959240947220078907031329897892773504191548182517475426322107105278991816163046428091863261551551287609017404491308872564096587581458058138875893720690880997737418882827693250661198807159203625280720390537235494991956088809713304456460767228554668249143915602798412957801343216333765241821798183570329034340979472759495939704332597946866279184598654469282461170768378993065004009877467202262299005956708826082449842342841072055099047126914971018075767017090390550646520927103733207194548346091482242192338594797706924238572468156836919595839130889349846971304032559518226755066301703704584730933631215070487978653878232466498145112175965759323689863552340833082406895627375897783319541911364841538778092216936867416306524734301116046336865806439646037823991119845793571176147248873210923026527427990598559266856862622013027199575845299906734090309407741981761330874052922621325419911761005234378012628778847023252236561376257129641060423351187374731319311041145462801994616653493032041517878295840585632954162867497165877113054091150079944941862784599307361460439343924285510430766919076815168924329483462341257219581086638903737352344194588746829008395923318558573903586803880125080618487584907777157918601906715295428347161138778834078916208867271946308872175223216700591850436049948439211050004642336776328511688525088867215049099011223181115411522421453323730517012669458582398678064685493170032426524788352714824596826050432909693189226166697901702760556049845236884372923203151576920483067910741869755953623825039541200801201718094676318283241422217414120786302445911033427096000562625684610594358048949885762216958232401634109009776674843665062934897152206111119256738167450122237019307258959405032642086429948492245219538992209160702180372199692742423892280221506116489874933189192661082598012944307084065985141197397536823385761709411788058575813212165395212714089603996587825682504776466388218213676678899888889952394298160701384255108877204272055750486256005753390837533288150814366537618137922671679783305767692291862989866614672019868378214175989876820681123970681816640649555939799896807043020432827031238930664845158082809604720890978144161005369008439786964153553845455404462694775165781407758454335221966742108899143713423813343308017880692750852687900884161524377715342320343122010728482223745018624562214825198859507812129505151372557192183284919694220296446074091266501016655829292081408508016068325832895921236664612200860412154548107899979439133589420528199920825495679405523415713047351325848938972411949592274781516036971368106571438334828743842494449600548954357740447035770625712603005896769650640373895834458609665024384269253687182882567190058916146397292245793552802217070742954820720260592686512485631723625461969951414095545633240573771956839963499187583178364709198857263717951293087622346510466713303083163568475512368592537565726131702464109660497257468458846680056664875785533423400449638736432651750131898681087550666937598957046602674832547987851201719247866707416239516311445268444883934168297799386666527621471753878977042501579991653715920345156758777207450768732614873163748120009252649495921967268428652012059371059543503997254512199844384386518127914506692265016781088439450574877674447222545908957807701749883958973925967139417897823337141288583836336175807946203235919814173320668424700493083041738388146401695351029057264623539922733325526364833716328390072608804765247767214741380282490371263406175576799130235990614198033609149939439734501962652933609599554249140444261733763201789302479240443082512880873438751160253594662753493719677287003615046012399276027474771161080853933910461884635541334381724450333323360629038442127512325107195308446128521538908285479330889593289028781522146796285022522440399169501683410469741174124254887860700247964347741215534357355842474510299550066824771290431283220662587875466424140549758327344383661240803700210513984171310830105475144501805647616579411324877023422198901420797412129304416748509432711611539243383500037265389147499045993694307473720979797576987132968714437564761371124570125207903152059569104250833060303348027090018081050321459283676949555514663310234873835504920114554830046418207612219267601408547680558956605157029722181357137190534198376062684393195012129595584634377931880065052195610814463746630087246336938480192844689155445176371668110670055013946829898651046510833775808568340014912919468675418110523911064156202600173646500230748224542414953639449638103433786593499694150166183766769944553571919460642197632594716979191724201546254581114237228937669431735205845331991423975449717522232740796483460334895440732524120266473441156924390139103924943045119459870779086715965298458792728036282809971891449180304520186884545383193494427847464211448521729266045791740906542411527639611379589916168522171819022711216300143506896852163543857944506381765194004897058716624849667434105449135450422412088014162291442246671930246201806504923059962168739408588696809218267537320229269943915132206974779062048325120956064753893411813986855114716467265407485782946623982518383267973774826842686462336726640254476340337271153954019260510545465945614403259264476611239415489564635811778917374020633423729619771205550398407702163204768094050064562780830802419185333674308495971064504409421191147424470015775007706010284377379498785981584146620232699993580354500732564772093915100479836994954320883196895494333014120840357896155164163978324235457367478825605848220929629695682012748380171795870218148618474354777099133578415350134506001117866685962262848766614954354064959775758218305684860121756777940186961850250403448257991968654842654573821370949648100784635175319747599251516305872525755628466274269827673999280285455172296552607138011443315555674211060686920577631254706053215868832438609249247086543697513133014303325547475152008624473001948969751488781206837082099759543628312596382067777208687551633341544543359849728360518127703631761282509877953172808172637530170883876962130917118072007994391805366762325722537596343424513476201343436964657929312236207575501596464290874793973567233064567491537601967932273908816371249947626744690888563577217276826030429845982313402817122977152162468619219818697929240671377436925102346959875441177004407606873036379741044041653158107146153658053178882649035071013422266301974465976673190356367599309774019647461148366187742551251997908919373101388117546813701352272075156396989978721218485742576118154524487227149685347680997447060765233596775498742476833651041073551160627011101229100343148405481551743283479236424085204086810419367489347442134911729119759859157885693248521030642327086403866887286416851491733785457937832482759880899108351508535217392133834732629563460050881135334508732563231172748775928083786117083025646465555262843856168712549275335574616368667936763989480229044482422339441064510595799636779373128424217086616597621821821687690752671929684742637623848428752133365130372077590009842725605554923864427755614203397612529830361998217662317385696415622811063135789979898819544041685948209789197976866173151070902736640302353649886301902186220759987567680027656111346573753701696602664956266678759717787577657350370739930125741929142079944543058284484024998196594411996285569251186089384771304513755272794705540821307526798732505956433535246613245149403438176177776379360134877081727872352458247253359832127543892967626935867964885050651249865252948208236399223969373207932725965511676068195522507566916416270001172681176775227981119914518292285130861625689319908146673355229903266903220686929692808700198724841597108500102657825268023725980742799082672800225166861583258586266801575303574918159331513544330165028653865136512730735054724980040139471139025616125000292609231633867361003871091148131537588165606600952514386897456472553470230343975093348016914730290967793797690338000145444647234313362087408681528220742372346116034155747701363813278817858569712720208616701134020693722617526068794526035946435085238167096698292377798978837235625192586731566119869334831616650574588063278140659344711017009710402944288289369938224716002479689895780661574578210202204418505375838181831408595212806776375824320470839490731666234760661276997304896157086171133599632492881790145924543271617506878576481040262971352179683578347877582951637503129277217302585498828592938632707384231001826727057396493140946973951821496000708823769940405820363291959603540588243518546300578323551693680006268875720500465872492552766822224651036868283249873709423827765468908020031926263420668573935134950413782903622400363212445233562894747445177910317835052819091611539660653200328343861891168546381750662784762246775976057741345842250031885264579128771630807041320579271128408248078120536474741159182307253711973854916636333676421461031698038058600559876456177964522278157234973678782030749219263220041036307333966305436057143226672564831265872636867326349967242991644111913704035483006420299813084184265512987035391997691374941752351908307362231071927106184472804941182916170481301205564836517707078386296840964245296927789303107151872034572887457093696303635216571206475622936436039545773318751751872492783500574644520226009059236888048896893734756389329064179724774791868950662347115111263533042886671186209054142129623811723816439697705439072953566510256547048000826599330123754841198826915903011137129322708279006192813497454974214940452214501036796576622254585249849173676231539128970550343969205132861491524870462951860357544427448207513615219443188738117856771258345783089473092215684835451145663309295764124178744263212451853446746973339448256356920891623524179777652641256588244465313929743038539426899066858967787423146205476823322789177156126098611088063512658464118397619601694025944449350404054137866843039130855234591900631502554546623371466173630775369523836849232553032117252784234349934397019185915169493581903696053650265420322386716289451388184491334460374987368539173407704106026561904695970161859035625158968603090188382258475448637483050626867688151047665976127038055644005613216065614452022935942157538141529840208037612842841672976053712582086330808100122836352384946762501751834099242110253104314153143903236311484305153259301763908805281660189731952037050918562823835589495737854344979822520026500562721348200868735358302867992984377735784670103296408525391256046820258357374187874215655146240002913752746338506734933361705087022122365673205822620467202093340137159508428500788086305625179212988294511760561885639497280197963993997519175213055682138233274044134047149001821390434545524318201608771212757982733634385010040469281287505426585273563559263823655048172721733275210930777032041170996796397395286460582573840447482170004788862331463818839945885358706399196143823327799038204522225091169406976144618136766486899033996989304413471621711626144536501490124225764023137161769048525849699989704499635889030558028905231981290211364243298160835932579929367020832833803445686419707839576909259030532927242824473116702216288597242104025483892212275369521133137657514102441070758418695510135518957914301905118677060932395480330034526701078724192099409508523402974935208557334966384394083884395282522847184473036270320631188619751949366916171555085925410139278025921939604895284078871600327855648861701520294375673038341715617469053601050546403665834471425568608139828289841926631402327966165590897118683664218165791240997414702670369095246300556415095346374703819893302120051693941993746556124418846378004106101141400578746293864829817852756089622631771301728401140226631530507346493944616784923120523412499163617872187570350404133138749674890733403218720677745628419058443009930337775180315606155452892226257382028905704206843142930900762887098758648898770545350118527477626089404650656968063244226835675167374602584062608564343558806654365849389646078313738116656555156591838757781724242710787173158607881441357793916693778940595158472246217213712328962256091307137844572736638902729621735904550851608464044220254658194983910416892259079174678450264407666394933962667571674779916635840501927827525401803315873160186720385529849577141171195702227930076163927403024341187025644162497863122823036319546246437482070818597306085542982597498123855352094633886992826455937733964587114745708755986765080333835536148900075954462300477432266207625124904794315807679872358504244119257576654512804638154867374654625511526350894140678759053148107939305357014129062891490093342943002885716392063257987609565593066479114372945757261741079687377831924335614457509184229983897189875660457923804367319820706038772277200123465230385464539348344740248113823783648030669333751962706666474101888874111529024863697429557637467153478810702573554471994491246722777880758389370529958153233983601291859929572695730987540574101323651129655319868634725169787172123912329450080717148223783668191605107363497090561559084623711917931091954437304964220084759591848546125091884938502280973690843484043632717561011648637509584986605201634376186749943362351382135575023669705704188614024066746793025966423997061932111071779613820493215448296308554597567814129425774815258737796126027492719434693796218938162402404626963423799849493372329182462748949814144023898153119557226066204840388297757728515955950003019523111581494320383099870029855174927987794050961899718043248945157451180630668849965932563462310677530794459437312518842635477066256909939561688215742418052163412089630409766371382229517708627819865797807679994914330634358241781974050286260232285265191957547296444084421678020314430681659079057798880602261812340920376795254289400020791922449515145410761378154658321964168480015846251305283893198883512462748705660613015502093577494103773780916168383836343116890657558777419400090112397235406071727078658494346277803971939806231083804554797905236188863077520861693035911891362484201407640142318508459863252340628695433656262953166678593518606252365045088017310395750819062562712895368175246298421348540520434866401482593627902678364917689340515368549709774648373018803061278920180984548983632417116185336466279403259294300425020638841661407153934454299914142728815824311808928845913100369804270929637275315479220119136523876625923704695315403684129578768278248573021069764924018407259601279807697743811625020251426205948447932285209644827852866259562207432799947664439047015592553847597771098465589830180493021071891346234217266161427541144304910737238361439264283251488658971054756965098173331114249919265976062399960328076298729097130024410348423480929682395405268363573055840782732801681365481215067097159443157870911919327945707386651690187209644703278346213428159433261556437573355087293714760697645508571093781590051546944716416286314497248982356520528792882644086644955133440988798628654902327249264751620185500219597297177420677750768864387132090005026166071017507099101569721295437835741268548538718735628723522185530715166137855540536354680605091645430437058460014017342700874112015433279288900966744284301457892974932316208029603868333718385671074936624920148789214221337303293804353525804398408491094219844824771603331723348021058890199420857289818424669246986958503969025288765497635690485375145681623375253813715120145096845937589265426820472006986991844584932305695526952423169397096275410853310524002432945326465331537005974777436007522365044376104219587831253568990725341737319915691862181238224172804260078733606645106979323511539569215684207752489755645122046045329604675938137192872721583875685479265894369838453125163055817736956870509739687068865963414525028936126448893429483719425421326486665163133535352310506433756337347702766482097259919063527238182990867026795132337505466426036839512768863179604830312983115328426819948525406333271451062177541006364825870903223129877400969782437979263918740729790456964619308633320952926596628998514596893594973197513197848678810156657051822847994470128300100881342709177114020133995769917517537972329346428387840101144969737402664294623751065158204642388953549579452952392499238177876645310862659116320719044270896435252879050764902027065232998166211530094688889700187260301702250970087344163336993496287292378825431108914526497676609698310303159670850811249349023497171757719394803808947007558998498234675292499945044924763434871008052974736794345303136799165485450304032994296632271096382407521273210765625015107542364219868862957540494491749607915547486805550780783890893989319620473399434358567891121387939880510047676111934081831427588670011094501857928284564118144060630675432876471286891690335329445007287272928923845777007244021407738801025383139525479768365045506669488250199378283787405445104610144519986499742668797545788613325171995057428755598786685165666974784485215021402890648836549600217365519055624530875015144046629384309451795883645110640442891187167369584687056398763671769849729581718053282247887802320947696566232578010233878184270619814130936926805998564734115696641749726122982853119043757436912674585602843318564968915769192954209849286278181109358433897546308877257789848494191356041656262454742277215875539158567137247911370219315979772194549608759016619928055911296690712186362495249798489514415441163717330738709654237527903903110562133692513124754425205904802200366209047781825489932275223710605990239669612297456297183777084266390051962233679012189356430731167023674036236595955210867911263408815274932342219732352497369192478732285197826628051831471290871899776287018497483076160319560224598761735486846282034282854866649331143948590773970711278766427348939573403308442126335458225682133086935908045367295929763997567920985512620932974274290668924627223951940695058910037028069440231657845725364265750141140881600586413955461973832199395293799829901741396552323159665631692576940329106086178467032570649642515814169550539584412583649738413191689088269451863762558197990978273150187050344810428745332608644286582477874393758974022694730238054127379842038376319944008775491045327973985997652756112421997983240153297806642888541342741269407583385173660781823175062754018086536719832224720655400760114557596290672786860245142567791955133899315199291482001195044540593828014535523884935909795460570958879337738554269358737472598648621978116499403834258154769205064597675407209035313831199642025869785863563900983799109316446094493015399238335621528016578184502758532101435719285399258048857867866859462399469228942379297625722850275365790088177168227786726431887233943234469457172821922824720072073776796051248097395655808099760711046250250056931453577493139141165726981089603721789098099911925687597050585778506387832442410652169682311946562621263151130596650281044949593657546867623589334506366654276970969798908434152941299932439466023355864686396181599112299703684615588047800829305278758922530858632086972363926193743071910605184733876488173914644854041255034736177251875090296481141982516165873661812173309506492028056008215021673454180891035126774645365814746733675647455582651255160835857849957279303218685379198494004373337299682264309560350709726565147046287923428433928759023440660507204386796884491449847904446041978369470497244324878840923076452416358210831953675031240943092552049333357512093907415291310248321387468535854303186478925070503943765922794999119456818660309199547219681243967858010210059148138054902217837732172721719417871757150598404664881651807351744471609791298919766173630553608542299821985731924361323653761615804492207945006406215018094165780337135237042209382594194124069541008195249538702210479738990016159063733076269517483272018437856168170695620758139335894064811804204089498364266646477544284112302627062257369013081436348411043914314243438722586634887557655075405127557042802081263606576489884615398560374949826591387541196394828163449430718547454836283832438786455953436594113708869404405836950004818489404305191680564196572093986940018354340524969398053635167908965947651001929567626570424218784878770646502184536438814307251907735745595271867804570024650396569472882692944402275415126004867665449082031993631634640279726549933489079733232651508507555849444636586587045972973731220326221882262874042171665373216111515559554700617974547194820279221374036272371485440314847959253929531207411842910280800247665191016108608882447639374666027114102626932819051988540885637782954725523757307050183403844067450861071358269639889003517230580654491356099128602564860564685128174272001115678268374094514994043675976020196950573731725929781624838103494567637223790283821514091449411879846154130279644143403323156204276805094538739362546482415913940441428805673411448881580202270546114220279193163111241920680224883684797737361870172065807418297809402531929297349564123124493695822319407329717498469604744432579121697203404925875587627586471594667316031009276759795144712771591736323891328956572272882441585336402924471637493038591135180056170800705938069762080094631040802190778340745914357890048147950010461121867150660392388951774613095502431682263179422882482404456851219103435951756376019318291061854973944602139712450669763523534593351795089952255712078973075904632581881010492212370739172985907560953656460785631211076642381596525454791274246760842985946109766928782282829150957318658815776548353042669527912333136367471307641182125435367278478486794264297343029041418766404919597236806216628694273230875133739807197326234941147674945364623998652843070946414819077696177693179667075557269861505538385400516841943869517364435662580421962557188300870660211581981034122255649734136454866127135842950798640833672833930053508280742076231017106931752232258943167152460988799559668543778572992131844034075225560109542127724495139775954582970890512609329233981704389088225809168743537276073985081737494930673855015998266541980762351152665247232274903945027251129518299420836703205045592441803255689156167211475653004621403908715492644368869023400677116633561919193232169091706250091853611593832755942629755058345141648077048067876670672065752836570208243120275744215852382753270944940177193825423124095403360179153183912928144020511322774307920529345518774832982889037008447202787465157632698190399357242354165139449477138772846710763049726228837702519858291655677106832439202127404770426865716552386685046123347599335104191526817247279563504657249643944119178738753178855009304442955520813337723320078788213340599805785051035100709332564275821324060344718298819582732979459533369982805020497206495692644871455913405431538060298581791747210191965019939194171819005474658986606860065163729933577350708608204831821013955527679938764843433055868196857865281476445440181697727567983616897583206470172533064946911884202791630289764398443092349837607987781534845078272562171279728300062507029374914771555199851057955656045226004419698428883107259240723585693136254319096351366250558040212201154424021207316151439047414849879135828973637000890731707691980287813083910019913727483394244477505587173716472338841682774178268947329127243711153009481330521175130968625598737850298680052300250167433179478384487317024513343492165040212722370630356566292874113568650666991359279174247977349632805250321535543004305224648400920437867897403465626391943497077196270647009466601337637357490133193645099725987036263781400434163916250220678301167123361238335563157373524321810518131472733631337076626025293389914551564910038165447964219712771195575469722218675633324695796442845183826491232082800543022206328658771642545060459560996778157994724969554782158895018019426865066242018160215334882139462725032720793623715441881638353286894162096541916223406409971783857827443196800562984192275388084129284677894587476353332292241147436392750680915353632207231171512578088717866547887610963223319914263879500604178057001942198179922323593892403729556115561211957921106948689929995899599175087085565998877477986562018207050709005977909913691365694626113302151190048107352739031336176546055311982553988735594383636077200717754275118939619264823449671365984087350678649694946586728841095883406022137791871855691935827069825808082998469471456775656479025851640470432641515915020378205726903688917106466650457609825793343873161116988706934283135943819564658465704343365294531862518745053420984777566493160395765334524218220172463728706747142451658730831686291188103283060278809445495238357585032462406881642341558117976971962663451716625333387872081722327919052148270160328547962122168334524436920358682230497325069483207924115962341808679850167846760896283085158966055111624288155353647718650690985927269151837898843762566858890732211029066178214066802778139648479325927111171677073477561738974091242322638177532356386128204977798154539133207999479393371354687777151535465520002039316248710641621685887577474364155382997999062326662619068404484849165248112284566472809295349234714197931275098309041764189203561850334664279902890581699715501521770444585127649131128579025722350548256755851419790428682482695793870630549466657696258375215707624640328679573220628984685113714222740998014681348569979984669305020241179072052802375175512473851787961434629649324367072952588766536298763794088427030054349720576207343386904560331917701835516390101962136081673691635943116129526738809564534895950339259073509966852754649205399867523474021207573785039510373701851991568653058430808986021054657001836386328557004957603699072830649425301077888872360727944737247726657060954226785567891256798335595875053653286527196490772110845183970810164024760327561600]