89891287589354351303026264354553666604198549319912458169482848838018945357818285311362875220186477401691949356731895136345203077970933740225267185492272307250372190188515576468967844389993294704319827923496840856261631317738288696492250314865594323398013652708481952123596771743741077303425159012929988840294526549328951621682974118155832227733368460769530823147547638863436608151445666500259420101455382687465534797662922446322252137487178866630890512663266243566697228121110615451462986326444304972644584609764423188122308459607712698655274336038348567223075304168585141450169789523677971178962666643978940245421448468546798113026529943651502239425406080973377533377124650336968495931123035822444695940839387331468726921935746948832320545162182115441179389443353237033919381266898298849773151169365498628448711229156649633939151020441607585327137333531635941430431528238852575830774875945453396293584301379166068354335288359852580594142570445410343445535943126481525857285056337186848944650695118910411145570345717530627997611743814246982961608291253570531992238646352572517229199225504023605130258779991463573312631866143821457570754851268867572902890727525748749107508122626625378583872172486297874619753076214534136221324746381576893661708228211877943496386068351358063873848551245973233724493587958414408779523067025168670448143208336941122372304046408926294501550190821448987831916743126910419629098159889540682413441751067402745973640467336240956990641908243381539440103917806482389138494242153837409306774412489000519791306528745383754807883250061686746318585994697051598546126443359957947827251812412183453530633431263975482068131491519634295160524966707358821275542713371245935323556874296946340105515095714848359954877500031748949198339726443877136631669705569461394473744138256563148541239451386626245903898868365812520406656559379147425534275093700651224259588211479914704451522985444053976288756776687076800368161427901845451719418938296148497237118972237752631754135744943162682639437727220615162654384779904392142658779588751388369504114099781602514320431337912571124569231740903982928142259199198457826934473736664103565802901431728645410144314113878298395752329803311032110330881047213268088535124727181766682727135758722536936848643315921512631087772224800513708661972951129500864115245402560790639985408773379886879236439216109687148638227831997878101796301917325921776164578156244689568437168099905945669358128440389606237284405542775116448640215044514389660626524497965660844253642688258366642677980785593081410416443049290113898694578960136503940325117567184950812774298485959826117700482342443895430481558398537243542294551982342434964623222271581111434690359743417338185425615053709392992309696278472163151352156616404585437396033527896537271210595620675297298275252485833182517242271734088406290803814536789570278354086728307049525405502559910418822156380928885859311327472110319181627419293497432837943185050351284724341143939651040405442900394384251759752401468967620009382242296421793453252380937625716734598747557953809720748087032281731554699482987853055324755182535071199881915279336841311687639614261867946516578829627706455386229075760721508516101226128719221280415987258874431081636408463413535646740775413929186510815856854293877075415019269950738534887163619836372301444591318106781536725262512627971911257985459351204744812453982409219516292421372247203559824646401508479198506926769014113425458195794209692886914349716087066987487832764887414945716764141794808046746076281775505621541711775212905735922823163467123126585228379490371391263034262938948616906470222446390675841934354578351775811243438042837531581365310436659033161395027603129185735251762739572297731565283569695361281634616067125797276913283807336567695530023158252735329817127906671094929484838042303147308533371986045780765694607437693167819491997952669366433436790388610624635815878929896665665776869629963371968689363163909169748649402782067555861858095465686407934949218328434617022305575898350339820589735915536798196455593471331682911151422587281265226141477181688281267418478429147882109949002279363052341543319461934493256082876124162575471258611840572651718251117078669618537696783472136996398405419789893963176117990241517998350580966641666792340639131751018736148020362058619677400227693177173300439903498964778158952613483696187496992372366744481703847389166982099988825679815414535764090996089697114816837712535461218258850669002537403563738311654571371921798230683289475668055826911935652270186383922802963697451652193332739879391447098692754213032823838697441162281031388649271261658806189650269074271757315995401476921720216289452937970321191383402940819917565621509489437811031343599351182063456140547819327442717613932985589699655647440254332930867601657441884114578299541680967997907364427847529698752553197119619593191858616868807664579664070440140332345205756657102450316026926155642589059670247735889127648493578938294644130874529438565268834783213403341917437906152651992626942589329251792718910178637627670519564556677696320814813166394835328945813654794736089218956935629553763022553456617626530833979925542054920277898607955829550132898190128797308425590379262695499571733644583790558037692644899592423517587113323292651586034434441542685456045835245664051293574861332927297692239376507646453986214123766761235372669980534877149627194001597516101574566453367931780511131937422356019386872318779083771758885887656274347693938583487032615504714843526875599733390244364862043858767197102571221086801531389615788762584548127966358668792726451590441641707291159853299827153167503426143039597753957786422351775021346755882479124618918731441076966346929174022789120652953305095337071497594831189471699504179072767613878221973833341549098896566702587347153462280933089592520736794956971545662954559031