116840663058714876155767478874291614369006856952498187070149511199762873237393202225398917984365539798422208983221728518809841498356762956284281299141188277215829094494178864916816284507331914605109633337985307994125657312074867248933312139537772845777085051578480281858664804919846386531371545496283914460329040467683689480773153867289889134504089196416103443742253063532837745126193372726875047367699371297891813013534366813814561458451297584458462290570205452886147119731175119541297136751482665278950839312369153537024833922612376964294998397016450730656115591485817003839957441615203339461009834867312441550851829328729495563359425240852197918220466580728153172172413267039410071967936259246854106555256790125386094584681356878837721110719487667477287927999125626686785516248899793688245550966205806149523162984906579426084832913936819648641329657189886624941676522608631952311872989501380312272549738198137254201225995999305507982268464493225719986296691398583791178821960919419355834693743892665885236882166436721494349768905142116282561244076899729449222798927912320704272734836509589455132486724192797168384659265154121423981002576792213002139564525511588178023879893630371057432420884992630749877997311544810478627933116569832431952958531616527779175490284131395765923335714651691462065088196596894525956559172383838839411923561922701878788898523621425513754871531522214505958336682244114376563635233274108552470254666096291535507648239359122264320869138179768836846988477419032388331644325550257390177496531516103542573398556913114410123462245649666418228413674170882286429005177374529427612599048766512891425514997301193702810826091083683457721116411879076976398542351526595726884344042945353853374149563460240849204164325765165922842309621389580096324100615875529937207596229085885767078486521346069873587238536894262495802344757783293502899846493460732484693493338957395481466160916804420738353091764557173369693472097687804189668554599314637203134231068672313195269976327915673320157217952480586503468726827843911770198917733469514779312594884416489445648323445491228262663825707782319247421985306683431714972463872981625948298563605844652579093096243984697714604023351768634953534631095294003744240995775641465613393834238765064171052304056404297830242720362960288053456601851561388476533249340748428155165532537199653757082001432642751797750639992614358897262415322594544378057906925692433187422859528930249144032169770730863771789794477966184665077007829170028462490729838158182747092913641250958004129422783269348388989767104157015177997116641983603578770271150170444458765314720213128718313713995737674894777623653970579849718733947001056828820415936685864172312396058582543784061978889312247345836546311293292609835622013423933741233936886689956814653783478442127768992688374002369675293369732074689164969548910461218653169741427662832810446644391421842124941824948226172578595188863502859463224293080306158230879096731585731145708469806212682201961557286522494159331756938440986728222576945232777337392967564972877031398733730389966334465691498222361483626904467112485234772824246618819135285689291130700993767312410337414143114678645076031268119151272671571785959510748993420451452702555134235868557249339827555223972159213026670668460139679643773329902574451735419722721233394954563329657158172163051259974830589682152404957361472477269312822024226318398851916507770278274177417046536843698602984352814649857152578891022210870573172145642421682640906837558523010265656988262647641528357616639237768613719428229769751467619166444852695270987374709635953491197497119742057790667229497611359072337148726816729304639073281816020951856932194239825886412357445352893774876758411708370147532642192439379378403903281243287731333152613131332571296182245452329786433679439086279878493516512120229655526885526892497885711706659486096237193416265053001428027514783122970191890727490584469217967348194624168834386282950967202871314066852068498229327385272399673232607681745482679484914413345425599383834700125632948661956902848231575449306187454166063751008544748394549964067613947776635872382697226437042639656296216124728373914329378729984484682744240463790875614565523587472251942997555392786873894226421044769925998627649336515618249283525587165877458011836820012046565415013355434690270637057548562736626116322311529832859171973750174731593887904973041999601041218648814889655259120185401126677511541516351651526009963705871057186177519481925776890038105948647302164547862389666145447779254271873928388102345366623468266586399003107775023834376889919111829276492667650328583259392245426494312896085837466185972281729856848081839910318087347814169684332927084945249101862800507316595011962424932605752285987603107528301142796760907672709273913405789956936235869518441158940088906848133932379666895585868338532508504105461202528138939155742528238803533193617839343391430152338952790576996972173544621717704603474223517982438638890323356443292541713962725178099857347647266518213169361240026521424990967472788876956412236523619425422724520273871439259373033298418211623505389786460546282762820981939950585212700484462407065047459785625921355335172814218115729647721622071865916787844028471275875598508114856242697757871366327527614833755465084642937711451632128179974459070844827783418313368855867418972718616202646311194896492007524799715039531689772908343796737399080856431190986744561087601883172681766770150386732668800666753326998262089649733155683997637993484487727895475515351330234399740125247788313823801730271926409159118028411538287589906172928973226560408348224664716632972817294245487574395913021863353510855685232735861574162681855841739222314403754398576855985269364824956227610053680614675876954742664160363963816994345434444914779866338129972771248813753297223012424196312128388777784042969