2149632322259426556563344143476340512703837700818138539377313038294760802762156450357676947197869153769646881789128172598228535489678524117929046683208444616464474486151048391468129136121945453360335142017972475926429984366347023805434246352767972403640095011415428262048166289399419926290266516894430783754781514893250808473584576570150345987656682255483279383384808182248004279401498997874575953589529462578835882594466560518607421445134255989586833577436794414512406005180582486037122425619108335935395499851892341103505620540792334325769194441203777185148503319575519502622951521565156697309790837924196921233399171889850404141462866048507201266050939115961722609226105797648891804384851667774596392719738559604563879958026238837754250655776668399034663733182091731286023136827658881889379442976024074516665308740647656611148485054750736666766253741399467830518879893465756526110978380601497321612219112769863759992929010448121192543539136147182887937182455759061990331536709248246102293306160153312555775261246577768532832897283569582546308977538274965059298461341923888777229805511619796466298440071658658405717517113497845012532607337242308282399652976403791188988153093062972701311384084494944987458863642913144102697674669737024615916408628694198922121622847746217321920408990411985724131123045438988278214283473163966395847106421968567283023284318761607324924841349846111971262432724337298345464561454181026485123183821023417887976234137335118349371379864916305812697664117107184248313971481646924568417390357024918167722258948743015641744223408085304761842369316060705374783663888335508236482694787210702914427262161938557432312121110279197061438508497582504574148042765537299999177975654842674151241420421770606159026208402633722233533677276773369592189953519271010395748300350841092399195818846710947558355616087982031692085096677434090918813772488139744596645275833779255164972579284479420999474709945685472209715637861066809425526649879890778145209709237181631863298526411153298862343154876524836691870953632380910518064449792795199663298849914697245471218943837947603815345476441629451913305679865757662480653521813497186131714839613828396699224337955637336308418150551896002934427615848206859128793301531616321711881640559055057225340267497617880955716013363952165461291320737879796074744459857863983025855613813662342835527949154095423173985254736427919916848050155977987564732539319536737358503680183213018197372867822222492523114896246228866187845234669364721027846771177666859506536021254863349210169805868488370722612304814340471657906798051991953197543419572142501640864862516797386701031135147595158266631578511698573382974929827086268624135657219871916081511361501919968146682974956395753638382195026381861578848673263899077152419151839889313181528975228676518383190423586908158218778607994240041915188855078660638378582831287076715912968887412660501124337023392916924590588153109818693513929765159854444737506438382127144527786394731489546115456396081688108577485075616129915638192539787835865898832762534262255354927267922623138777487564999283424278092745274970189385470928238848816340254074495036546836543932663457212727778269444432348171687417997173804399561463151241755591770614409898286866762363972462571937706254695645833223484848882296137994531499625126917599498418236937037907145386710540127017769348529578381677351334801692299896222380170166254434771484435513348560968877768188747796847848799380268550907022883255705852136695292316435436458643720583749615240416198657378296967548160445239966793025225355648518291365337731614336857828836694984370186522030580629723677620185003676938458696679419532658645743636211359739323512282471262132662140779106907117294637506928109569473454735843477899550056452750134545033237513583733754722747258737460530022326408122514418266581724763735410869141047971252435351846413604613192710522445471044628070600680016179153638189626774475580995957801977203428205325815062371225589899718296578491374460697277793325087125270347727202882461291192277068628427738989237556006919932558824362742553200891094021551149994084086818809935467335723782184576552618744531989740081022769421385502332425647182992879599623945030773124366026189726876845826595833623997988199155197629768888960287207533330811365999156714798719903324461169421795472619223203961366377285802999608642011115650281403294951073702117956741077038544179895321489816519958205293709565485932977262560239494784667688749315863427647766541872026661797496335640125919834691700411777677454734187647173698269673853673609959646322985218962134293496990478928854658364367652769942746237129716437254074456268957943415504665250221745049605340073735654791597815568567447554313081297623564946106796816945105371658878605149140582999881347493207530705027290679697725331183909995526209804328628315346219324693754871117614739053524155788199413789198552467728232873496448362681764792652883245756941598805126268985900703183531071290642855159355556331436594481593067712799913264505060731801308615997992296597241117992844397442419611444712790019175213897849819366356667658140206322791801630715081649980744417465991561344395953989392694239527655464357626265073834705014819560436048255565840262103562870171007799688591115560248926788929285824294968853966982911848625340982495380524778232575955573924881120842187024108494152484224828273999664415215019752243395370101858718715421767112740361636787735467184554610562249439783422069906476120253188998619669996509757091393798272512896606550530011151987677655129158119527578559183225307471243316712237875808164824642851850055169274948243285033622970501955535355028786850385069341462850437764988333854093496250271184722116186163996086152537192382335453617073867609732963929554282356176075806410315889476367890874649892751672165460268560362177711671897351299874177896671186665824909580124078292614231524465188996713773486549671260214464