1543584395033086416754078105769483558277458606542636475571777205675528991275985898605384018950292232926572428823832182156704477911403206973212422166396937620287609640481776485113140672824841117749650591246173887247787540795697311296386864895337222572350370644212888449195432759389959653525771578972449786961215364576362820742230325962633284782725876432872797348111918961203233310191949967995864052595665304169924677340661422244932342291165588877520641495109250892641761265802606810945582121404954229398844607875941876255589247923713695840625951456363213668291990359031337326974317420436445006404227097297354651473891905151263002757881479931548317909445865733664222928326812427694856113515857842627479264605212158183383861155266821255481375941333595735416376472734949839840927546787683429935301278910818875746563629729281274145591876821031525245499638063891570563761807320955699236917258248294295381253592774188571310850050338156876410718986722895007452509499372283413067319868700607638384741358939933822901108833712988694286622897303508787842016390659075386712941253836647924564567138279209767365191962228227813628466862795937382114180911276175150093204849605865711001784473581554443267233586827579501524789614262592997429969651604055503850952355177148135746967184520961892099983863146603233520852922117560651711461071947624412538530772298195033893826876586604730437540789881929124116254882588328285352803829395335017959858355947475515307646255620434814169929158078431272789184937747696712267600355733222067267003482558992136941031611561158023736018689524143157474914787056588329303226719913739985040605904332098034336479879322023242940066014558992142609649799845914489318227557391322148673944538288937887320123970563145135765318743666249338575212482018299113395718119999071954648890708476351175735597836840139931938949426992423531621164484580725458483615572743195294379970457366618114287502027873715308292761388927241965206142435304475849147968878469840561297894288023855879283528570519944603641748785054940317965156601649452339567294565417086888116373785978322415721105048387491234582135638348999957682525741588114764216327168141906485328219809479591026786775692788842835600926385499383120499023659719698412465521915895957563950497954758746314316060269026659808388619932452591452289957931931177067430104434446526846745322492781659038093836613788395517083648248832024526211150858046756338910068177200782883299607961636131874586247609631632415895232631824321341915988210813703133880024846816577763285957835643535550992347640565521926360595020199839176884626355506084471628207833710152968938484175574765147511466586644078973961918882119280034382556914390553102837961519428690042785743985750119573954491076332800273572709740877059012438669650344997105809575877533367770860765416932255750129212228163287754671470059053116101397685864122071605882414012798316272018661013303547973376543947323475088945237621496703466629523598164769148073912380842918981168319982024433375216256472467349594207566808432783322678785819323232049624573174085261406253787568353721880741588860027312983663758699016158343868165839762342533042294827683299104802509011106166420730318969973653841054603002645535458875662312469511746502314151695177497365654971270586876618250614418793549826619488047407367308609168296292765449521244957182147852822076612266668713535111293443411521693277978786026253152281431069340343622821508989338613163252424363037244910562977732316548959082082534218842588287087229412436967040746591667848717971239109408447359634158128538596324049837441503226797799191765733257092249019166039675377795314773924588108283248360661858663369989252902283776597458327318869057573403935324333222913672129172035665319158622895513935457681040226245246440628398597410801517781595745870793590385948802451712095924298146757427285084303599806744650755314198924717041781234129353897063873759961242189789159379649126881558758930394442046595868978876945903289215819526447946972692269777229612635035991212733764977979057125086823366928385239132921832419000849091634366869642084949274729082682752909020096100986611778197887348071160759752621977107284735302531692617045550261615803808881615914236442929254363553918772124426724299863692175098254883493891725145321952771614224273812716043269556509742390792574109930104501982582314208672080374396763787077892384438997152516144503855574780988037638296974661283221198658890849497565974684213454854532906898157587642102219711695573916885215207935628790572764066951414798632291589769196851088263846421947316816140043305734172144283614911252319399739689526215137188075478142629929912800052411784378730657890596044503767263622391668481578649806965428458817562823524222272825750532024767904995083630245792948807009343121117354022672279144978938382398304360845036079072571241151646413103493317312390222775193895916622874578536291341855069746521850899223836641609717428458919454755255573810427831236865627594027562662583622955104851203889150417038235083646857316404398304428921385404384605764203745445913818473644808982667143164861630941408240643623240999570398171082483740088389868817858907334052502002950336221437155268421621575593314349621398077829206931630335933694497724960179202390185715732976635542447577323354002342540632434297056987490202972245154573444582981318534618073425787873811235746158712391372756486410481871302301313222099988760163248092226491383875814819875348693001523293284289650632322834924543919566606928568371787423336809689467589687469745459478774459599948285667871145918085519665310040925033514772087812867817186726503616644594578087138922916493133198031391683211788815516653860859921173668789371644670077625914335465969616160896711100541531990811457358119013652418614031596270319817253503624388986419278675647057442416873475692942089147759756164578910288157231963768343253196405180782362484