77933577927880883187967431022889442828264872704720453735042903554259475993160349585570383831867926116795516034480322480249326514724692561929465247499430183728858001847763080846762668928442447396322276572736019458820662772280365014692171494388808744640096896892701259209518317590691409453472882425788247654319035160099536970309925492475716372156916408242835887446862655690885855984055412485816797677814811999277063546059939812331364523730174725702990897134187476634672042342203993456634725692473964018158176474805279168953252332995314509182145062548554502358612518430164218528936195506623770963487685649110615373405567165860358727284725891790984794413903252975384931100728518114745104192803225691725282841525692218778955691626449825668381977400622939672371905977565061547387082648812671874588344353516479557343434200578352511794853520181425611543292614742908010899852095988762924688583335583973695477439619672543461614625960588211387330126935668874327754486207395154735474267295491429591881399073300333054468115638412371342596480317500614530194784762128439715188119828818797602985862824051657791583332586055285848376687431134925617206955112746655364234861729245456449892144854528439734825583005641807233147038529876863819488966546737983327714289356335394108704866914188977909113305892525622363529351167024230151689233210157712553275467471627842486521723252613028073337270014370431573877467736080910557183352520338517888466411092814596988122806786427491939545686625992331157865317394711695463020227794372476245644037321998643344293776559863740808973844958816630806562505027835320067459748583234023118275424303949669697780445151933617758147944418092243259919156393565562286231978300694412274916840526227802722053042189236689928542631036605311084080307280513384782493293710495091746628156296825002212236086569439912488618260478273753406384531729251629398453812800357108378883296913239940374088332953862963696723769714548781543776597490765860840264267182951378534992456820448933741659329765527291510052169948165879228969411552935962399583981262738276695758648401559073344460480087586410247506532804896239343309387287890727335957192739570412531021231268874002345837769957844855287268914351158391367597717137134785116318918072376207848615903874212665574544596551227648617065528223261462945892281406586406783654152463942152277921077391858394703283793362898595694940869922192230234601465514751881246625263015773643851362316534718234070802184990888409617678746762934191376302582972481024898206847908197407973403638490519614795549261354393182024600443257032775489760982339510965786375469696958805592596103477597326430284059528430722882890975416775159962750158725747657134941869334650696843428446594610724265429361612113236349987616854936289732119660139790078290602496955365835844096699809594511381157312056774632353734554768489777493876178329918006088693650516687121108993869387999874512041596581071886769466319529938190391579873076591349086654116288389128560103716492231865180002312369962334323348146127441922111721464975975430586453175262252937570397815579871327665228548694770296347183574662573345476051037633814117197285462455035803826917562724356581139241086607124028098837091044444448181324088010794443411165621530760629305276764866458351423386481895484651108488985761188351680256129234684314526712563027633876746292753974593508733519815986407529305556743768386615291516678130716960294385871437011146798972127428866431495937124454624431717254562338105021728237971600655206036704771786139125230348586593613829661567387012722816587521684780326159632498594382279489552647026555313258574650888785273572587813061002160990125255939792137378524672996768642692852926111905990122419804195619017109525229775382913754785126077289484929742271073451268621586641296216131965051215381586615655009490469248874632905883577471587854962036545234124423582368497123641164115739535445987051946259912819869356512676321816345040867012423079891800358344179447690873883436262191305598650668687543853883311187549984216527976004711400865665343442588553821730470168676600949166097643222723004706083427895424156025366103916611978101648861386433288269181164512659798288968982890583477909997398911167142379508911991006536785453679866251121063695215945035817066528942467196844033766333895162258386450041585483950528101675574505074876934432914925926217972857439384981229402287202923688108620057627256761431325561140082743374854449526957458300578278607507631505699159154286206261234588743311802024258402975598555666042892199268501927280772174691592884329440788667767078950768259759530581281728993357354215107766427176939761253911743250282127973626040714776765471902262599815513549766339537548698434561827531243561975801715184336146273751558625283685292761845504550932024658083299276467153311303603154879031781932551015989629523165986218281593403399857629647959267379046671343504294063227517562881953580122325709694440021277211321797449511914845614311898724095785532222245905449862831431179929074262291483272817115595193713716410749365001949412768978378636309153487320773784131478390441732073606523719322394046127899362556526055245737891071580273464873905779152743538994788469859518036863752954987612575878686921991898523494839072220486652604534759741164767547248382441160356056434655864082363988842746810877810847287073305397368407896039461853389501875737469948207852039397460081461359230734407757400436088950968070512703235360372138912318158926102570872464335650235311204613669547831368166586812278209767686532501372462411536545723502595132979176826963280822220353571138275944624807792057089971476470205837976829584864194886745281667750195684727999384314697437070681841311907653740587371816226423968712919984566631492291256750188346236445736310967267360878405057135242032542053126571255161117586096800118733878343758017117157884210505748358314389455227531997763981716021501652878684977