60909477154370518704220983479245644108792646822461270441147422977864500847857882077166907079617396285334511460912879989766218346336132461127991321152780768655462514834811904615625109552951727122274322571366966637287876800132064014282150400822774328952857638819446256908743160896007884897795021038867263856474166755618767928134517973152411307530292223881470606000304457514969866487580403468658697208727119943358766178631995543924333878554769448767991213285903425779599134238819023605137254872892960947151606722740958502425544029851940344741116999112612252318698916728337839168229903693043666803389338259457909744813909198254782428468087685613336746550012545577962146408137632945446211665968221504598544088384003470798954827875148074025328302043705212116826729631228123234256221430815269599160506984143377593421950710466793886999174417583750531607238734368536341835032636260209228891836437374255471537962910411619292249034884531507560577164829444580411685561470508225451586633370636534442200997465205656081277311605225786115237174702629318489101379845921157589511830536955228651470094508120574816961694473545352108683836222859943939821967981091223647328866472011308476967516249994359618555022422359369661157522732616236116797298835264614022478754645257573950234674282771726340914822033489038129545390616108933671716278424865215135596399935612333162558188616262952954095963392651664683912774485693458865871316219688549461230550512966843279021786985592736969568252683195127957515926047325956891695498237586635153713201602076521670275910687496614992157424704126054489945722062622766292313274571845022098205753955105207495374235119592138122869783119453052728882079738747065086070918824680059772129361720067756205258664235383083251264281617395278191127132534661065411139411811749610706343525994502062821088024879035317074348053567556581623563339326748036728031334812186950417807332967159311503709807530493765305210442652357957175324730861550786194339897673612751976535533260378186146143999392076442223513027966541191873952796265591976892983238258082146764261729192037537959617149624187387839522351847738066207556486413079300262042980581122547937791023074713186174012752539564141102453342276090335813039573988662466742550443560988333691217059821372340790755971632624945885789984987403494994683265891245564559110283889054704135725788412755104677311118192594570591624922927887965038565448419989842244670593117378984429984706624206224864767134173523441765468919917248952796896594385236276702605260761387923187638457151618366397985272559089128496817376612621720543495159835166174580692817993850595977346862258629821117273059166211252138258243628312206318969184902302731427686871270287911911235495703471372270548034497186488792837984924866782727739853909867916441544748109372637511292547385514779558336457177845198809482268461885847980189570549041192515868346407273146404979098093604538571632053454662147189272985633159186337983792434215421559162859827161427132883213775631274248992833328462379628846613266663184674784224772168587083179337860786375475333632670286710273064344248938800123341045069650828531583534766261657681248159434058341263618948208074054562129921345509805387407052354315838991655678224890149009742642578659750013459570770155199323797475469256799028717412763563673646098892112312784676545655929425280414725911459198368167567846558981288767251110516696441781407730321319793267223596488591878124071863578393634525783614763365118135596454922079756567187260505702220942115846603340193265697568932324150826107840897015047014776623490551488997249684318286824202149049311529125758990997243869044912450074144860507033817155578013087859124237954106660208532150887012787979677601881249544465458974396645583315622921934894762817446415633258437971841747485869320080947671795808730647378628914814348033779115913783328153261371690192987732636882033584194947315982542745664563183571209881408814538953971949733361539646172327497503133350936463909717283667213324661221473223262758615616735805983129502115927905347245097875613377682159909570774744161966981481670419646898006246477851693145351734928236169671563644346877025394858235386515754325463128873329125792247886759801954504837226982666994356492478264845768880133199161760762578283854133935871089734155171587275643656348815759117332547389862740322818628269249479161085776760205245531537079616087952044177507924945248353120638333084647229502915955074345277156977442884030648933926954971887941795123035533270620472011876992746485015299116642273172242416469697459495617408523682975218061619241309732319859999648895788799863599843255672676080382156807969686782716579969824535126212492573113912641135659012453694041733407516644559412637956020971418803783891067627502887350071752397834134681835461484290099793745614995465955899048888481243431369665773777856381967188957432231722669219218481376269523312516473947717656888767566038248497539452683286197979126887649376202435542235373506956975642636218546437043919687065447182025359698670922289953011959617777633481413865582497921373729291748763036669836872662709529778442121900319690816632277390746774317494283905218899965356993109690224095239958957240671402302156013381481966742447104552945921844514487593287667677721801535577477755918467166412397482165394792272191145867251568098085713975958613147349527605449492863442578622041495624190621073658316375081888041252617597311655814593767210122351835955022848538937676782865442141532153973967093564920426897812919566028778346447527395021946124035608477072352204875215917865269545944533203310230226522477539875090635012131270156486964388169478828195954222954180706977316456209287498543534319287343261382657497348935882124931911583289322025066112668678887600503462058473423755424042621322689997279898198747566838498497197193461124923192817531614742764377530943310133511802381963332427637