389855227465719236381740332957631808511962868394062577256784830730052126146576974253644172534721382833695369009280617922955667677177956764328557287711725817902411167464016496628042725433917757754278922707831248785678152505474634149792567639720069771767278904122211453436519523111846175414126073987473372823235426581108852524497058726528385790176539314920922019880490759067168957281659872317317663737066938687288714638466533133933347915840847617344984683677663100672720704573489767151283395784858147766815392905822697601919749359765473313116578466728032277874595121176042545012218175836359608059286864400539131060599721764242829835117220734975087252222282765646142472127244919598271134990114173274322539697715152484294225268546565348143331790051883495696081286761325157487797073508459837833459286504087910121817572624910734809751199555132559063435713444047621926578846348003314845762733095377638142422216828721738442549886370860510501633662792168196772017604559776197707589665580985447415123944176520297204984198629151962901620335118977280801556187711066054917344043662559644338208377125887533558565718433785324144712073142960505694354725508135334511154778668395451451818648159148078017522041862497348656496799276129534683287801827647126761567983351227744032936789752185242228736584066793176498587223714118394660712224264334498802703539893491395592766343828456314205721114258569980418972557254626987122412677405608836931264930598026751659146516741264750598472044189061197905431553063472615277938878931120095027075803567352649638915174356763692601265806867561691844846088805296658919875026643152631781280526295184496451063322821902917922404103597146483463467156897256982595248645187030898852917726205614613054113387942562021520217924641816496168661384250863748634438871139619401218278887251184128131393787776037626358317258446234632841324135111278318834877733656773369611364754852591804841597509946392268049280239294511570115535681391489751269976489975221876704861501556411529178797932951911367158173647514956023469544534379486608607947415046629509820268435987695695558633876616376179122654635382912833606838369597481105352349057437373224968015359924017257406522846439507932342614967541615872560103443693311367033644259143888046218284666123974448379340097851127467084112095670772564820848366343854858638956186537150289907226713935085047524372522056704148135816731818425457897057185991548985584511211744657964477445037980628714216518674422199537986436646921277112075156738373725322240401418845220837060297338283578626954239167706686268229919348881175092136686452580525175421999888074981581969187794763049080915746756019778763794696370323951618978158428285780589663988630176916379929273784512885770023174123741135294452489474292026414653324527746254041867439604613463684649189992687880127982328923569737720479484953538833809330323159757898951537785130499645311383491413336383431725287376825853911686740534714990948293953654913071050476956495869682346273335310317523885978676527647336478598999903542763252141536467323516522562191993654355638628658317745894802945676554117229648690575448506979623775170331855184112923362488023669925759689451934965597361197350490289716224199558829677698320807891729173108899995622991506041161238768672431073318136498858284769928833468644125496067125462696574048914197670171612610675431374720885471527649395159671986236834809191493352521474704728243565746872451887131474275493411878146144478635275586280413055958797316315723652645761501464416843971830935895062800252639055168898074428382316857454858290860323278419419383299956176435617718550461422770871655975654624011820514459171608500133234900519135068726737664721465646777177599369708238953517807106803493576911502097782471971731335252855281252713435258265965357315974256043735929472670352027585885179639471311719779674690796394168660189997392723684972259686031393317428516974024438278814618476851420093171882740391477317434662624732007720886551906665750159037522980759291170133438511222092684934374718369954337425751359586858403197544747215101655586775700891197483320244403138481665544597683146031708671879999735624915569697592719036444093122165959836268645602197569019452205417920550859329334194737193684459300878348280367243771243849642924383058265292821431403691437847301860892396874737070585667463017964275799776144320111235279632908693907893372171744787884068834770790919201373730169173840959244468209723654250930885575542881896331737928159404671460574788291960755166682334957314789433981034555955922244809454931147334491653344391857924468224299658169581463182321673326529973277214876133401962543513450740601307938576173039405587522572208288363253272529098682196118268126494829182123042170944417778661536803115156336774478242853697417391374689142178545435763406659913542282380675217018082531070092359393275879085845819914441923541347394980476228904922630215188982457138936369075544530474413987380576985618656467982976914049018278647138696025182470974894928760804727863616874447469364122951623895699487513104883133784070678257089262288825075483184534516909414332315749434519949720437396345351965932547158968258430108003217119919419313924331024814950634026673139940514577217825844427254290416070544023274665425985797774710510381458133139206822506654390213208710991379165612978854761783849540978372143475180637225845912344253841053958499141941873073283374585872875969305326632755473875595748733223667822745786279511584591399998390119166306584342335545729944420403247330647773538654143232375013462974084607151257488223292460793421379017322933268548675076088255345618582859066118593849804460151958981389559266039912119254793077865201089834824366629767523213582211878678146948091710024337247982016259968227884874429377296050105438184978306947579510636715375488928472695982241678906449888443922966417458598179359205762478603329691752985481174397746336856548596