844743074136889400935115911409434274773489647458034444229235035728740753676938990685579474256218225835789449799196651963735074276452875645903439816189588909883891811904877617329035708219434929000457313908629995536593115389859596812854654216953167286272995645824849710205861949635181998482068545428513185642444997765827121199077239798523171384701746470747452016489541050499545308021629953574294082071551229478280691441631221405417971032747772876309181537873959756078945750734580711724295912111992224976369935166440384505385960226411444965373441276628763278059750552771934567662133188763637070183652552829399978742073098062973887409312934436334784534715940132018425584121006236086951706455350738536588902934573035589559967156736572716051836699083631406130059517282045683277191847961387923847534757560529209075157327040023815991939736239742592899700157393974346089396435080898778007290113236867759766970564043258969086827076355078623885979975671418399804180954565583019961143372864519978341990529068739152926950982730197346042679851340417351674647480055641392823024422347500999957671012271996285808253742246952699351450161258092672962828120558685225284944003311456604492783528934719858515894141997423603680321746311667640088639563089855008969260055725407950521660833165459477454287301596400645027803975820950014589812848568163906654588194518743661946419132401221213680711085121021310287156671874046962097939160703630612356637669400735800339280235264368582217455277284707865635814670029658484019729008932983013334183373335295794372765732462899253090569372052152043802091405709113756086777167090749828476065725597635206795393915688663028436451936755543866174207915672104468896483983381234452037519257859253166366193535301679135738273129918818947818458140016968704905861184428572929274900326180356770691862993216444452576913169526882623075901669328486064827245212211820317013126805828579962164077583526084776853941748528709269144073875816850369870886949754913211294059853409467036706913750476724820637083114624739539428764639429412445787920352935617551382597510947171615556410378529834324615732954391230918893335829649315555410613036618681829564973669644124280967560296065198561574127535648750033338184116123262655335922862711480312127400465304539039979801476687531411798064473882814838306250665764018782664240255682387328612161267782099890508060185162077602244120106115087048391464499688183539693202257121886990454652922359079109202671854978559683766126563796177715586537523561524082334268581060527561381964839773398582249747278014605028812436813934192325970888111849343978697259140803213751147866099255886156132331006547083977239788453305655585212474652246185024389963603241003410148671102109217935697067622585425949312116773199068967103850734723395300564464793847514579849310065616020810522744475417551765604081721367622124039681383788036386303361807116921087852624068621859382401411058012454743477669593000561886922985352140812392479757360241218317509939958720048805086462829458415631473508403686498795963289044976394527674527725695015189618274010630882726753908997646192628628169975981253115361890862572673903480477805217858371486065573977344219771998680016432918586714216650409103085668357111837534961261666423876314474561221544644735207078131932512470650021348960397247136372991091056872744924573125843261911614215936778860812534336599193221422581264903874133874216716523279903947226841218519533748861663716565767350321287159266898877174297840543366760300453525140698780494732608294182929303253205010256451670851263923576184335562608223136301403656418420475489148207960883294421800859142201397789401746983193305713353224445418982047552532966726360782057602271366283992734482950993652624831821168624192962335247097259810435972308638911491872224414487706165915652600833278136738949240531991814407407953868320254177020108867392188920794171281633175999340291613404574739621495800333841705160612053220935965121386273337965203107105768489155573489764106522159885274641594085592372179285457416515617319426930384416194638636289362340831702169365171763096972070927892989377490720858701255728752254281440225727127474250598478120086448455325750741366924813261832094098970915253045020574751105041468851046243491963092767537815265888023148336193408564079440480640810750346275865106023486606369364373578561913697804990955806229697355189789331541885071764573808094151430366823173911231439198586889719606023352065764481008871798204416769043276692907379591447107837198401375292581895053948016760217455025539446424612763737428894688459371704793589398295528924177386735508064940692039167152553549256485322619197271840839513445592157410317236787423551102121455258161802878794918102552915517932008865538181252556646499705542102570551779409538878258222536783616210781455284145294578022493482590156210829396305041924896180531577364766891081190987981494730448052927450902730528256714030477723862793992243601325847845221384949838033230297388593325758439593338841952327805483897594099453284929856868620101692206391709622072027276555925207676601538362220350266950378056216287948048969734252654673732816363301753761629171743732583262056906269213123384740493124156727840404127781684908056856582430752665885192878506914777309127988206097429650131121900028527221578227690302966332534022278333905968236494486734125330467327250284280361358601810445722981883957055020912172621982645955928393225005075640577604596279118984889535541608386117561451627097185086924516618849022652637544591205111900432486622247564119037912502670448149886747953406263057583555790820113063710820001503573860777459550175759265545421025775518232743814913580839760115915600712437630533796878979647265559504029462629894600450564786113382551971219346411467346617966381726793456732967656814482000898942325126077351608001126973198252823158177014341649135805463841244927586497336037913911590588261853472457988215137138121572996547737793754899947368805815936057197890695108388469701647606647150239677010026789056502002979339907243115042367349618233065317159643348970614613007525683574744368014783030998631426327073016767745097167186590688246050609638532093670355667474523136430976792612484028860064511745919787647018406774331953892703908058465386073905833193082575458163160460481546181849990572045504712292533214071764806156115008638103683449323625168895356193155035269205620833752938956015322871193939593006830996725429307890463230183750880883740198784254513299014165155646586836336515926773280050515435237393383050695037442983200161745783447845450098405133634025105181109327066351781922814765439811570827853166014401743380182634288157651899540298204593663510873014957180320756329517655930525846894391785288974129661775101939430589192944301841392585089457139782552740175961219365211343605055044447230918937289306172805817725979695460273397833537586211034107841846639003699330726692434131390136026709388098679265366610539796600118206663348430315085885134569951174839695602179087398616758125186975078416627320469923784493442543108667519687103365390038044785284331507503547392596680323353992457310927095592607660376697377627399044406637855344655168438425009694739809157045515970221713411722874086834774702488064551387898046782484841633379018822370140368044689924772402791219862916076403337380571908362146803220155615325344839520424529297674145033740788506990837688629876009120957493117793110301867186886579347211951362369702217591777350048159784395762241808217416530456934105114471963952256390817468882923543296570571978435086036285179212507088354466662921820059365959089015254362178555047520226886701405074955220575188484107376957315413224194185341634160953979904663651819167822854984052979522623706166841197380836503527624506052558482586007885241369215274274261886200111860017636372868599797932846755227458493146296408834200466285862171962148121165335800139850926296849300989019543684940899892070060873782119365122857117487027067972917568040788378966794294328618824301993875199475379325300984559632540109098977307074923750729351102497595653380745096661234426222947597126937166279257127817152202835689182358243405530556082537241419770750416447693945363076465584985493461855435392589923332970045847276922781898341901409769676921748773310941056932116619445638765381964526801782050717227836581328390255898780602344424105415469626165239994992899351934657843855448455989800867341966350163355538605832118645250022582754279591164896086234688345979302117557064951074896774934040973693286576561056219401440401144668421494414271190216791242098872586006135693861807913368203281084415281178112110944007456516711192671050203785487042834841320454054853449169280239297746286817664214410364740600833770473047616668254898806543278918940146351961452159913753509047446339083554726747056036224010404429669199220897056448439197969038066263069176461701910054615554043976730184698716583095500682218987997564580661994147859214324122368454000829621848620508823371636628826592580422771456803432207933048744294937517649266470459900363891792642983049220379772337146865898792487362178915172840096969503764648803471415363400367784761939690351889890372409415117413274839211148854618540893186590735396190340694931881744254068218241172202623274723874392301076998851415859078268151509242578050302108416807940917273358751541970701887273742394746985373394684262971076731212577524961009455995211125047780962463479685165796040393979540265623985369617797739785283530907464589844270054748415590214727315596971550301637936533793353717402567843073382628413861379041167650265465017284221421299413463121454725445767920066482728759032125435027443294019333038696589787647995288995074933580867446638741749241327405214276293151566560891944902234457940032412626255706285077833906472949896558304900899760401651554441432848760064348649129806115289033643167693129228929512520524105316129767302311053978435029071426856750348627094108380038905521632951285920005153574073085534109837786998221726973313818684699423269788463572879389747140570775444841668345056127629170805400001895857742410680147377506851436493431174136702219636072390122085212330482878983822378799464593800019356533219035848679813832259714086271907631463478220324365598180712359189251264575991973900703459171883944092280116876539323893661319305641427946882279823289266798157972730762976035714660042927004016339756469152613289460551150516012782146420593535322384348561157098577505743405394675503340416067736977233627604315535614254249466464728808303228980157353967904470027198900870717071100399900289989829397035177095556136104612586184644406764063546532335676946682359299522100662109288397672244209343479606598223980830639930177585543891215992420572467541045083111022760301464015064430177477562838333289127080081782472718652090179761646019287732315471544809533510155773898663178211231766256197270731367018915275899015710074262691746918422982925532678528075292537240350242038619554957724236435269167174388346017562853138431484237109491512616944581411760750348910666187518582796307064486048667626651049266836622984536284917930287646558184748033366722451397543165160665934803874149135782102450067328326611687676173955377796001525916482524895440948271994876416305250435768914627917166208860785818494905820799863697968756421845341204008432471916080745341602719165533462742936341018139699522790926282819108418809659310606475520963610038536966373233935794411880302703003134379206523974529608589707085970120773629177987963862615508613405890760257286842022929259106262022352813549626867240932306841461133717014613535292112537135200998978233392273036290235270542824171885999632478560532296025811929157695093197058767106611705842023894562840043421559566628908777897940815222449970382457226227975025660555461138964925898829831745307357435688470836637368306191786058781713498013382090848278977974441934751014727109039409025794796150726516381702940730799257240844316360401334568670189843028982750704940195901638503446135487444128988906758617422970166530500163929536082758534902287988369653702118436349192942411731741415601825209129205104306391777691620323188997546256590755417872425250902594170421844516130394753866399096413689550033456038201016325769803432101257670807159884897379444326164331211890215460053872913542130493636972677067279517138662740356137118971772802090621639584757675693382036650244134402185478645965543165474001487705056665345604199916797876828347137984204003239217546328096903708239294606805236308600789665000492341272932874255909724100339893362582442204860282593146929289205699115484428059626640378468337027546912105786626964680451990925393916645866677479047766489259743663360428760956333704987126530639904200492499262509015708599698631544729088742765841514603954255674924130863812430541836431712863817038313783369343650851941737753002292090163771163149758757797621160140963645241319681964781350390750212592000527454576771585904768685509295602444897859125808648478716904379931417155276779676610491643372495041469441617467876645532205285936988446399367705649411737002556054913724237534479037700563431496452115987893129618856693749049964220722356867808205384279695520892820237202596449328882284365313640368921535414228851259013499392235270398676174167887962970957927624105771667194633761104271139383124343335219749195329296831158458210124192991202444917626036690979231464235262640844375009133316916662650814732156887451487140365164975427015475135089575680459776900877489097030720645977556379245478363510695419465403461691135391943175399785942667633947997119954607236329599521851839768361634297971252758606358654684469130921321547192154040795626900653563739218368236698047499196574871112592312515315247560819720632407776137433950592452591755769023213120120836889502336264907883272203619746320724992031533653684280054882308863636253646199567255898653389746045953332400144233987411990505983045685585274488856602189077945179394451266211430607542938466798464496771972502429645893452226838537730112103888355594870872512854060374732574732970143392549873833913847503657221370514293784976514704202335992217711928580376225044282656301806018484752841779609876224840142195523105247153005727523243775279216629359105822186183812291067436852795636710162256567877166961690061299989985145821407641858331974015182247718365244439272386363842522744218141442697282052593009117691754672367705337698478759307228674591538118862101413285873619739540251251690848314783366276479431179664220434006319840487570646344170096712268509362535640152143254745663787459605893973115732549132155157372593918810761136686900011615913030647064611469875600527512707957809652492859446117014172988869446328832781026563759727390116157195562044886021275844817796614247544400778723817999996207131034537464960004809859340392475833026605609960295490032129023667894412417833234855958069542913623065869968215854583292116352689934360421465378885724613271939462587801882432081190314039781567186425783004923878538946244560624395844578030826197786205688683813334990953059701221397456356561129192051970065045377296981343062060789776178866921545869293319059522317089436793793348217859950468522143238282526986543775174287477843898905738234651017395131446209075886497884704590897960949924114897021466255410175977366629920122507931995680550472691212693607304926283902218962915382861301408346011751610068164999236225745902626909167300854358586724723722353047237337256516767795928254348793439562465651856928237464602792667908815939966425518274325454286871411737221000647051115111960522842092868731834543484814051091790399162362419805874288072963625275779154262337819323758318906838292294140288473370147766181717299201724406321788202996951648840424906531410924386263633559558533613372443247072025532722043229102429218921216591520380595883971310878344892232615510221619682280437934328659578071843912655763043626646198259018072789125977772654659602834381939051244805799547654405740902634919441144348004060329681764158944936571777048613110014674913582965594521980811448087853878651579472760259950506837729734476865148594062109543385027633247654232996443762753345761376613195648118238406908854510059685608674645406782928034122418745124385725287803095192093216216046464872539422242769301751550653157633236121409219139228761278353687980624221075596845946978799229167965552926792124768722145324240094729706783517623915567326937954542653490980104808314235617513118234422470191032680046281542506946976920764426711591158583197657926691182073386415961160131989277825224581162515614279786254358211551461077823060142002142523285993309707158472903969216519232148699371146716915296559031123822471859630699460024521028535149850617138154428002672773608904490308837370436797836727568280431165892647718497184801190244630054644694395508752453396294627246247908565423450089871191714388880869110333189608973698302026905731303565318045490057190685958115799071722620817030362284876052166332501194754075298835297260639100502775572354364517116251646671343480505264928191511812035178226963662906798464684712905798416279987185508405299557321466813570904253693347379005634217094086859626153792438234907037882462810928506128070269197563938412892450088436090092655979507794000441432367829277483741204915188375026648052802140533281644938154076397409710442522733753770818662862882621794676104999652394398585731187000874057906662669116880864209425442479649577750599875998635937068959367774657497091071872376840448405342229609000102511469026840031252494090633741542671284948814299871629640445814774195259123268877329903094271536809386875040751923481999148876966567944077088589901634570343955199010944062289481937506203569771589227598680954450398831058426145465838836942348038553056557237825244010090617467820825544421402209389648661245695200882630187234760084798103812180217298554710256116032310877077483386113159416104427377204227798528317528819160877774794407850984402502587123111289618667529433263478487796680919975890436071368934981889193531281643419320214925633754485261878901024145283831604312409240512974136724548876705315965074355262884875153814789629829607296032546330735585937349459591134063120883538239764266588462635021173949256101122115458214555529089613836789198930256198018208011935923391500417648874142706007204502575101360271094401986826875649454587347518137142829185884367823880598340064386023529329871712535002048561449198484543436257565591337415484727568739945554912023985862010477895179231227130048201072881538860664305076456237331262647098344392635731963596518218482866614661879810193213975971334469785985925593964513632495704740961654533500354148592340667251185057304815250046825352795059357730702574769854706834939057033436477346564534248037845238658541517127368058312258119545968046792942798370342402763670991931538369413860748461643474974650477351647987226627066754257017411341798988561762928827306351453799534559161392244007925352710353816723240987545118368321209719594614423153771934885504282639618354319456168802834966812684233694717876460279389256471434597178435367159763931960984842900549940053534157744130847302770120738492582199203651438309261541594496658392103746190058030527975210358352832994537085039660497909246392722154139794605679769123078724923659616779832839458408629266814798198730596475184156359700557167598185484448795898858556210901069034077173529509210673978704221436599752654699773828697406270211361178431964947675877422409637258180381612450686714691097947979986774532504953244050192542671441209544670266759094307431310799827189737600284168042579675112960432564138625592744771159814814104081484748825799406751431366921268097051540400924429795994481053368968619639651125041073162158421362454321532465035312222036356459817924449017308301112938441378505351268548864754368390396072907932665583829654272304750186598577464061079623435417976661825579277529372465090960391954040103192324117246487760885695275842114515751243630810722928657642569351056188011780315506392596567082111551108745396148444621315150254738785073309301914993499164406788606785335794366724851510795224636659636864047987224502532906407083788438039255195347902386489964643516795238931536125222787713918493426634779595068274721702607893910247431455987183634034794051801976441144792123164939328122318221681494656889447349151957828187428059541624878315182301389858354189401636393399071178724372286740733055705143632583523435325835612515883665034532768951387283385062936018649721752116491233285691960158668099708391052321665998661544841839628494360678815720361909119249491118081605294718587999978406610285043122302264899698881626147419885460761055391009245347176773941182062352970363090468838639494522887866406885927263453257412790095251824461861641175255291818968813627720973255468791426453116026095230418271019706056671333692048780971111112447375366709510816757306169794017035649771848012243730274434051255747657912397662747736249466495344043111078712288018041393214567663103740136174250877737935799943384702301166776068674441992206036068540799797039202013749995466079140745361950417822405062847862049861612790134132410567095152304506543639852529396900671475389544924908758269811098457653459586080439562150452236383494403767538470537153742197866493362749729314923708681917301737230410527538548025178504758876293361197313685107744013558016415996527063917064541874026017154489423899557586190302668490308242116720967554496963627205485149841232658602400104280772228978985989389565212706131970162133929575322510785316675729461843241286210704950084864276933883091868819453723024762922916823349761450816887360621680879472538694078094131557630142529824615644812589401188965701754257761940722283719847955896951144248647971636460703901416389356847420322617587208161885871040119136745630441281719860526197364073255276113145789864528649269207831606639286888694469204114196108078389670383413679626048637578599987760106234316059274455556237997711339889555862018013412666052999150188883984584724992500183968050593616113190594627844210126399014215093031399175968236257386579372505300214884590963478176867427947705712489989893632513491521622073978506715282412465645187129004242905262428938182521425950788373923049499011640853930749924516742212616816219495240387522250932909578342851795621330410088489007928835486224304804122305424700021261315307379466195329314476961758687415779102810608834594368446620815925292763448638090862920373033261741391385186184139854690096243978760627950918612626543850162610546814142529495061333148448835609644779227199956804546284689639889363383356618911041299395680928626947803966742465159923701262739607765775001980063798846000909114552948543322640648883424292840526790285202460995894671253718447955162882239332094916723225005373985602506466526087634033392940831972566947556012254536208195782244882122734191895861486087434858430684323943302436139398331414614874637069598195036978902035949199494613609293248618935431356222599250018846540522301336572082984186428167340420191211930748056263932202758545575487539711103969804085191230303022721344894541266335817106211988823035593061663181728855709786427892573081823727134854060017721189557038900977440626500529064366230126800592828838126757822676504205364577006188380389622748035237748683753787164678859865341686316095766923975071134452623385506507640640731568403011416234325963723367491599559871927867251464122286428752962300747824587698360371638102003613076164597371381177960302676299499432548996192230431957250569713381163243847001064449367225744286104092391327561165660838549362151781980750884829565370415621076661078729711576603702205035204595091276320228029205793477136132508456551578959299224724611943821420542038895690737651982583455631071334297326629286706256982905879585809526556667769325746551403306943080387720059485240593062032960971735580295610515840069934711422650666302850035206925653281870884967298040620614542359701719322652362466138372371948744246766865128913537940170140570031631093212572414222313320010142773243583729681102262019298993308567370705212601689630026580118092232723622016248473145661220226035108881134005346795717054373011680437346841157754924977373121627120711376648783853553586669250633665977308976000692371737290395740689463890274694549793100744645265187664894568707315422099460992992543776040853475188436931734844995302386211720898720835667972993852397705228246556739458111138770973770007930850557531915389481569821257608123052939276044029825652701613798607737430119623179332004156922499184972093568574481945254002880471167686789063073350540091410842009290613900969803468345921662327394316825527453849240451111503798611423371857660513618669814539140439761613983125726492302980216740733553818377768757994102900637579686834969401870984963765465547973607784326970955477215937861818931041578894501442892580491303278951347527174140909419079296855450764181110134446455402626366902467905351652066878365727312271694623096146797788718534285904175907111082510314295742126342309717343645432430474560125998253405585588709962223254782772225122949039978564546331556497109457244204050511770746426724157920365943691603158591220031918010338233971143619690374782480004826215993225310082569843140400356105529180449642986073217481035630822955937532824840068343027184068038323258440471706108791165252165507845989847743745069150267555783030394317013643147736315281979541557797289820279725669025746395934092820800603051242269002986677864070212780906081498067617067015404631188212933634221216299465816362004422798164612551201309541146986606155347455794194432330285737247927336761671691435780003348568648531340440019276625458833212948630038939612248064590271933073730771854157132064918548848144085614150481781281684082403798391210181779421057999403019496051466513483451243220141480449198934490293136072617361174832308499140464812489516648167377940311227875560364691389498461268397022995422796375596935862318267845499501750517497190415454788144186177987464780639985342523012327854847359336754459256139663437985259621924981559277217469298651321426115121397531960105824190693902069980505563683881063397813242740213806773694791712971093797263949413346492550306017840106703911015069101322953420753501113596594231696990713893770267518370221906564445351455259428421908109682252032683596149004432324054498102695467686605254380236948356831906532259840713524939241314289207316320685432721371465474976775600302061723174806897746199980068276837903410584127867882530259502198433488970192815740927172860777280357682098485212344749544974307514641976708479332880736482174200983913889259000588936829102662052157943083866982225694196491613812203280188675542383623773245875230016365812712528521049415160725821482260325131893937601268589027584298877387690623259250062956256504623526633142662515389846098219827444050313145427927817936212766848482316548771235004146764266844481121665550589320217161555236994614601318071774932421318572431932894297859924855519997588083372020507657948484874624241242959166878540521631066144289575875677989126155837639559365085377107771342089294832354552101090798778926899417704021633584057299423356788819117250822932590345495904441987912239385856632704656054497932132686135400758899020048526765880879295615570599509070002399562335433220192140862576742711120878775335970842802381750760588121147538120030836639455097433002573627574139290061079442806770235848625835919567185907643480313317261809736392703293306105107180204055214262903410396786945611304596163147474532843705350732198047124480340217460434256480032972437367338684136515883459890034809734880660253357561378068249872210271225798624063658368807259847352830053068572955729320179806656089501548348958053023203804857243066297546141966708491177080583073430078582703191159633600574570031459614276508009889127647557713093328033282383132755600447008533878533431219731747393990305227371359867311966503436002554884412932531565960613565275347103003615353183995042663658611232318133910156926875639696493520786278169559654005360734366225501236699523039000422872266681759173408649969717549277653295255332350309276941098869437645432038334006375788359498799840271023323421535617111749682736131466657955478995175566816073875769334594924115785161880640482583994463854363975020515655269253334378936268227923359877178964266244405817180540830437307172720172217800020431619765711646216399005823429222996944633279720525010913052396988241350682608807588302546662560773314872963463088563777168343755087458365410763283261124698944471742863011339483505248103299840066550411675107010775723682023612188106054314223149713366565470824814211699152635885211599002066925289969183592691159911429299937522630420953165934497869363426804072399077978298353434009173482644354975267901728075779869727354830333847493737271106256730915801885615429347793598047100442539598509511108659511481310759213314949505376023050967718328822035653196615578812158435695134537918349888581116471138608975847239687349211946924531340848983458897823811295362846664430459109019257794735816354484770316558795936358433785558388365196535345739530708092531360466954085497109074614399687263988451604246657399655292242678277944838626100757739493101987654921115973329011527201226556169957630635066530929000244787717636314084310577340686718046798888675252605268186526277220785675027914220435149775701296363231614738541510145580766360133763818128197044074439422030342086547476251159997721008779079565341668561093610545762557824295555816768122893174058287934250271105865761052507800769768962126428145186203519827912523861453384354935846519940139542391862862784977580681340363697617526271792159700405478432805974873452846878782151256586924472306525491552916583027988988402862577494120821966959659012234357398738691364617293091812014414996110622663311047792717133241745527245781000417858481039186729985468186072769900967193449762455301160547953897558078626516329525103691735009707703741598808755741798040509233011363209879622983380639335564262372697898123242636594716353174385838772804590572036431416037999060233921994908085754112905384607553640015960346727024352303161970568270521444009639066109529348985812919193699050584564141171815138368619325258939480756335756720987032546002241951257700022041891822351365021906169455181579449326611676320559882947674525173807696588724734589480425499722156158273941877513748748098286166657650746645714107222216613377786003057626737277163401651512005974300946625626053659591879292311100256974240718518974985099169932435353588193389738139057300917257752341268653360461477785212328104478748804444870534028817682910031954322870184826040857713630679543968384066829291879400381002789573604098544100264335205303367698330126624341072621182165971641874936226492971221522942057948350459802458985421210464229121186707862897379857183730008705911505634267197803010377659242722901738371975650138383194543586902753450021276957051514795948639715188349030353734287078643891709028950738457836428170995708409465737376922115908523610404091220170755179442340281905227598005873659131172043707779175871374193899488942922842273929763311396062841981457567309431065632540752927740535892086038912402400860458862063307807837821167950332343508472262871763580509716764429712933437802342202833414133445877292669403663835456871053437390135068598812924775421898250908098601314397902742862284645731398723700044869770976092525550852390324008276353831087926103189887833143799140901793326159427717048890685753189684639081793712320228272592796702056540560078000207437389333898014590024621996896203945465344191004177767768707882992106341479641080424969984589735549952095512369365491540743624029404972962510060600183593320135561378255035755832534358073857758575285486184430835720392861877388995881350976929498350234794167465991697607529091520089821232187014813136153951455579789512480885364164113249555315405375894546245270223745728193715451433005488403405270443635755082384664841454927708521786329384959487843444493266610197151082917129546422432330184529196545714168806745284023674084340504284970731961643393611152187930719178106511050731342720548483648102396401791296486631167807614589141581357877981076229562497048549234899097492219137920177037945618381453563910632580023576781944808799217073940279047179660615024793281794266507596920611680455174602124946315143441551531341819735044656042116177817879566017804054425640142618366875275776135566779535064523150611792753467493989519063039975105502867779179124851573226725697109099452427983756193516323802121891158824431787368525323178830395143586586796087669733226122215026349092965942257948492169376089797486594979053130866739403258914161665745890594931923357713109273340355379080064983902250966856724582869094615796016498961422094756826087821140358048819190194498845239884717826290593809758185306909962762871725749047411545080414679067824132497048981436031214578265393825227566751302897882023552030986320296004645327382568690874891485537251869412654475615793866071327939528306068554039857310356492024040634408646779064389827655114613833623348871242963948978433200873773595744207677463103884910332191776271797180588775248436304581334292147885976283032574480591591870725732628113937511740240188784351230063540282680025347091470494539300379665230192150643749858247786444643028453914304347294992362912808662906252656877483405035089615445742151153301917234451887611444118891477047458574348053878024809870507195466162645534601902100750238742822186216046216117098450149081960438020655780373063264821730612084495921592534977060459528260909595082371969487071877142902618740269915320090102645041385076513021274437345990644172708576562019276922239832559156105578254388837686490480085399710072501557590082490303634102456782813784899485985342243554047608932766389944701937653284633670150052368726589858294469012516850941607915723070211224672450793143211937954145538254006968079098078325030517571245593044229953334040898135694110496491344060205826420899037218856424244226425194262532733502274732392306993545055113394451195512821730183460435625066073838763475023824999214250988426716637581200049506386776358056595147450410118998743084748199247911210962166041020336867343484477087837661332488488483973986916441258760585542067721200038989967780348043052797171046113939797871281765477991590413062070742523776800594106055180848676654760823365567823820610431720584492543257683041247078006166737538678478426453013569807330153385164981289961679701996738022160337744961500647164698613627581298393027312632967355330414383506621773919524203341038594194642378305852775977271957679377975989906303709298736216078721648099612951133840910595732212276336475737916384400111000139407334385358120135599257209086189916998572969849724468193417963812712716955945019939400025079774488624791459233924900049544262976187535435647264133999808259820494554385177416936111496239093503221620700111960794407210082108005631542912276650600354739318964045133330129436711699126370229309627770737341561646627813925119877017964283672952035924910903900727684276663115771298335003685344125718982640966408830933962484486232848809003456665649397874160117831751465181785034826642317605045108960552063583521241466819634711413268859842146708181327408861157031600409763307954593311647518274996874677586311885246297100645682676453527310939611515366811258480956467565986728918355504448148423943404562107908233211826438387529727085224762214841127689643793379425438535534172050888745272727147879027472659043021503558681971798038448416583763176398321031195763088892452700247979618123342870478200719617329353051548036269573521395729577917013025710828872617404778085719523954098560552767876288454370143413955893676760016143134795076808955826942629272554145422166446939092158095066895398940564899393950599284359986194364005749776371183918116104886049368175852944514692232376051110620554054377803664519329879241119484386729894856521529215657198637262538255231312245521730738271456776967396656978749261920383681622630390463853412605261191884383755797716061127990590459894658400894737881529965045284580878093241250600099056179401521279897639462640846850440561525072339829662954826072386856547480540983646739149079359695134028271802266524244732369112056781746966205077998573233099712244419231845256447265908031553513366586759914123708226516411002125681287862319311253812914686890051944182467196075163954452624821327252075805699681154072133396834737821175200027575958696560709461484333105541496912842498502679642491474203171485354929965607448792322341469654677969721486223984864162028244372811100348843259826013711863292870759932240527511823583428550936175406898370533461750209627938383452855449822052782954092560719771187326089909789560382900773077412846758546737999535322942912107045421364384365409177249041793109111902426462361120917907886548392290557264150851109916160371187431134047609416750926031168346485194482515223217625179006397080491974824798723773181174136072741755244423013396007871372143566897550712146315982428915132081095699840816587892743675105797035006743301898175688952406459452513849196525860387899368658067311688533238697907719450834282252014692716890325081228228872520363715955683746184600418546923650721356002089463693153934094614522389927734485651791744992239840274226995863325753261880460731498490373207282104647422443735729372477191384286612847821040519172402312126990248852981619794512794345387892859057958690483682847272412316223160649658145300041499480683538574867444006358358163914676451245951108219088500483456294892609176544684895105928224204216330044574816305856529491296429679453227035665271677988066470730425315142867095364549717278257278791545615499900111261206239886226950533343469587661691216160334386632987816635586322046164206686741165315686090874206708744654265803779297591023451184912378901868806380955437006171984346716061010764503007770413308101581348268467857468722519521171081257942837068804378284416950097312130280092043298148440328426460508759732976303694537959639547690996349049202092859726332758569784020658691539183531567115931216266564950118743626765067833698667848386999764331620675033925097186141554485749799524260051873084156442194449616338076457402466698861200060375337569400571710269138551939382473300269455658646175750739442316947126313152567177994306263125471754507956141548430649605536463551875987489591403688557785635604888515276928458007954514653886285792669456750560284832184631663370353159436746415262411967663622941614302545576713772827620194971071664009078973045600049490050278480284119728904170617784651751616511280378647343518939355720570024467366371463707526181159614388283885750153820054959606257199944172746578078194085911564346200727603372108532053039988497040693460362175693494656893782507826875025291266882820704439083676212992655410665468382450348887913652257736740498675498046596832413290256103557091293477097013629349961137898613725422420614619448025855363423476397355847644110648224923517240939765642011660943205310919023736418913331973870911736484811985196653864623709196123831210146153178657380841216373112579982896647789291564108843029272410928521625133893931532385960624049441242743700432308508718957040232085775280034561494601172544561875013073491364660934411822901128097794353072186974937861952002875134920702656528334567917381203728397248424703995062220278280670477605011286224872692237080303220469064086198493606000366348778540145917776420482711990652231712568745503215351852750058582384773064242618646576027235963859035331271860092788040327680201507585917282681825660904218173456491390674987339508031187802445027069359959143863845369796110821141396601849343850493659899676262859265679845717861085615493744897783550573580847681669791524921044124596786226283272470287969541773847112411203604286364208616214811065491931966635331756773082889898066955746176692326526438509822669843030270538957809524196435772063423282491324688277663972225099315584008663321915148854712527771048062449980457841894295336709978855248337977571134065029889295381153085377877470934790741237899892668880139209845650681454529355900038941395970229062937061296999849566305901770098663723958750688491298339379893587444570239737046756820422396382705377051552220451987117510779922855334012637040734286857808336056398304608231099758924273555883036333604177619816922666046440576378294315119123508774401278341340117532934829315665937075699702768419293028424668379960055385656743528570196286548275210166738067070970574776833783750410461190882628888762114857749622028033360524023553589873961038531070957573452277091787564311872644802919337821613164811808489801194899766722574626273693093656028462770345405856315558323634716970669024837153172073697609650222607863733780634001007026071554012317795433208664246929348244805510179442212090399446257021129624808600794351940177617685349845690030308363635980446874597895112542752970393575824383702883222111634480141722888526487758359542605392800367254979824785378112832183601186471454090107096794671086495496393961830021752563812660638834454562392738485231940799807567769136018259118265774349038362175586840394180142641695554963545260131015601946456730696263901146725367389582696936669310182945561421518486514246860035127408283196715762319292912358455327682388206824991822661995670639272365493068853496376739395385668046323796852722303775523070876188336833430664485939691442284467173661532189653110973610183050516927807732298246885373518152312904960723988001861864118365064908477628724772203461494108271234687747088600968051272038059687088547563773358890802159830260067040385536471823612288085000010165342916075254964084924192300682946335785351163417174251620931019712367561551368328738853097427138791656546269427240514232384148461701176795434204709337228378611944049333243456123648308826924655537372343545260890341375133168179283147123753479488495596231652264731966247257647672538333223275836079158721038366602998795513981606846493818777301908435102969393291765805244059680240977559454501195028148980984427737343982864019729629640207601917850051035042574115958411527011001313486377094141358125383134705955896225206452348186953077090251717846988916300436094726821625084911329209147504338914471878397090747153433131219844068141921031335846132487312449647201502971864656658703125856547337670114964843143149055109830423346693439770788104451187148277140536029806432860314038176726952446640175600482979610062406313111457760107856070824317961615574572979002701570991269162207448584219706375185631634111433359972460417478416491772796926037645997592476556663717986276402719923138648503435411576096523834207801254986260592442772874059298776592177957809943706328094813409873399628492816791248769801143478010824206316207258396890148680833169512271959324447186263662613677009334533747828704767873713954703113587316248167475940855444622732846644661122996211106842421635351609327501699084714459607686692135036505630231257736395797507112590452732619440934616842026109157067270843457083166554791910561725297854912569713567944254085002128131026709116074196566334572702454998597912712166005028637448791022231613887383420979194911533455014353936253713832885973527471316201847172776477635141718373138306001652831052855803111252887773232454561313810666155154441599716588751892759450575930819586701383323875625225204550255096149740285542705400976797158380605125681683059475009046291690844245413310691416010280742239266215418894763545067194722934883612910048900744283138843774198564951967618279726168936414299166231916566185150610947474808257063415627144076949090435957368255253741733537187483554876863762514113287977572158525240640886510750581092764760475966199510039741350771536195029524081389504564589727588039493662516530417384758837430753904460163764912116050279044574847848885214062467545102345112261301017127302079966005592676849990144606337569395103387496276041598487414792765383077858541997480775331529913626224738144806329687676860750498217979314031533452271286129936075143516338268032098674245818440176913673424170019064576934661062035339305345402331102832679885797584034332885628908265666822266547244765439184583510536446303883425769478194194339895435147279828733146873148884934504166562014274656246047159811069515675704340603516880983210522683566523508300717202554798294706388277694934013185690182112168682687091519479841605442692701568321869665488329508474003707320287262543859750115500163909349011641589249992682638850281698123883462276299090894912291421812879493295479475573012592951625798700651341561699232108739363009228845129595143147909264949325568085610822977642656984212794169283068531303826415612419114522735088212878994811854918839529952371778320893407449814227359606632616684861617367434433609794410581011850965207828332244719705395503422769430380392244395487239064668221375289392755126884898234990692026052228447033101826313104590527900206112014395606078458691755388723501732729806801989953797077743419638830090237775805548387571965482892068500900813840217421931842102230319578 5230044072373334188385151625646063788131808879190706895324834453539106123491158070970720322904800619361826675485914491943389657009168705532514245544168791433886853277185813140157969576435635975627373702451374705920855305615797338111005267321067998916007088130618349885705206101247738642736865159933800845998093287997557655677231231836785130206468835706687784070003896252245640494036607439498795121291601342691870380608872900041982375319982555616342635897733441486188340972128515290087406115794569704190170367551777887017918764206451374498419485213542012473688119631977990029188454507316590460803002522590369489891985110851447611683345035917061622501284274324719846270007740359263381042386069953477764001058078669705474775242588087520294198222700921325946965716515237391061584092892726847523834468914790503949981593572992483729871374269570405391042361894549892790647126899286198674031199339917847572204922176654283184526869843055695900601459183644225824980129322313268218989828212335269982916819931379464192955139763631844687080706415885510319685798307262028569342683410279044352489765936965533893545581193649376453342423533341991726864066699835370567233406180482070327291020900901305734641695601598289844912211626167310160422692530593212057350358466771476758119751958817820896456580563622030027340556767455076453722051749074326070917963930122794700353091661108896181512356606558912980100281790764014389580055152483710781956151463234975144896316080383249736964467458101633925201778450897029101899910222790305213359694011127091684136772036590681209318841896891405368622476322925805647739627456590722149917539534895098533464619893939231996213330472467116410372215296254372443082020948485736481675287667057309658912192923617597707115753838567477300392531175373299562656059963324803560547570201580327112656906672923262143656001620872552049114605113398978104162586253931226224032806785704046263475040092159502837481398826203087272428560020287333756478061491567609879350612701072738963577083025323508129121133278406261294086217514598601759417691394368456647811467914880574389744568794398541937156759963212619433052930099168670225499046724409703590240042761810165353576990283831430824135468814189668473669403126672364320463886669094277110748517641971455877434400444551342881966015023621867122632643435633133100863915104144038037617844155801477823797389665327056346876001005966483882051647962804755948572546266187107944055252787615493944095831930867550027482758387393654650161242669246318979649503929443088285463425638698243897407557408160470540341847365131556969033596710708845715612869749912199022596812136137969579316974029331604659922363973812504299371210122887223221172421049341171856865005342541587711988411754932191532348967145933466371985512725102885062347185007511312304031014853323255252219479098018886611785695129873047802632137236781385163572259319123510210743424995704107392600159886874530611851618561830636981543028275273346922841973082615261922182760365033091324892616933878747314162213872057207470994034473065184342533703314630087558058618790683852092039484501795999830838625430473150922058012046782952222794621692936906243978124169983539513280673017207416492537993198153213821571538733953995515000438239662245122764921591327365641326810757119145747814018224240652464285155041318630483390951869334485951956813568348595389133235712813319424003020705359547832893377321754942478496441129057865955415111540780715370960390876787332940828729349793423059155407734632721636393846819431814890730993946707416765586774794301454685634202454844123953028720707858732336660345006677012652578920612187010623823707324367045835417631550032963263069686810589139844063095350027978076714397460652743678211414407849670830997703612372139519391929441903687228066815671291128627680903463053831945734709132631298321985398990556457149815641890970469975370377675629755191916358974929968130801078094792026884535825845078221477510665424325237020203612031480000469902367256779326996767266153517605394155597151241169324443014351669085733255911681815135298941126690164791555605782550511996393161177093521343684727943704533883845969451532702813920281840428215664581749059643157985369881470368908162495737419177809116102012150549129294830631770099682943478956593952427806549875671986298561940188651210078747969238928640449881991983009411123776987806314785210038418222516709749803094385241744047346491781223797186051660904802176162797486786247229645704239413912703106484162908826230305043514998372499197901323173355331519183128533696433363360736043561775368501015991324382009555248306202214477922051768449113977865123059793353086462459000565434905650268283242101564831681920994548713323834252756220010999780800664825240405526765848572298579302365170574890299294617818777518367458248061977823751243073257994692348820210085816100159729853581594192222299790907323104491171389943943116578920637678772555108149425475529271859799832049496987486823602018975152995158949053072846075062755588348329469409561960235084109885162371684504355525888896502364506696667947900519603605262805179227472131344984016325004679361616446698092828783684185154355074719856051049551546804489223019315328675061087632575048711512885357308062034488624663655780705866828129435337950616785008015901850715688443337903144740543886176601061102175634697724121010408076648473064515254373442856682568980175864382649193655328790849077748956575895305134283792396868002611205108382026326977336321581767079070301544646210906931932872068692637456717928616966088817774467066748917591643620720688916910759922979721135821140503855517082663289399194420689317436474816878216712919427359541697885402341667321622620869683176089770679969557387195904104306987379965439389721377313812951474652563515778637050605024071152569100155069910680633662745414883467479786801071722995689385515868341512797574174153943274386680073330425523502876613149402643238764125936351457268335823915410203333819186163085338190744483168212786665569098367414082138106681080732573976088217240879447502643222282105628308162582591539126325184713341696659560047660089097038749467498779864736678565826125566923590922824111088207298278662019092663894722678929603249975946789799327311712452868365286294422461676832648585248526250476342688975789289756144853979005189993875346352454346669897787212948522028225824474855019004581933232145515611936654009240696880212542917271794922458644085899518556695783060815613867515408172507633551406191616402858290556205968027641257318184640018019574769900503222586911624410935058819134254574836890944290775974875582803249171851242427632424780464644674666499513417658020064516442555307019452427736501207875980967640881352605518595748931596011006630522176964359072177113357858227636498259766809508511587823323030841621650595787801431101054217029473356661181348629630484671738802308251661772300257836579201603082783419448441477920064352054932116898595715733963577184188956352061707002940429764219710544145861527392644961520879851372689166365591045933797064780024432578603263281891825696430086055520772868667546023925719310564161675640716592632349425100490627984917094874720133518910078759240288140061269249872450182558888169448873048011406080035108663696065161028986803234579850561920724454653843723937969814531623503697606614752420200394418074916572863389870332048944610990427710055802129298288236122360371647082582286305920907816838153912911520107045945899971417460511043468062817767229317711147738473541797533263362476034763984587564544624654659862156524928602260624179257413464602458682534602669582426850031059631704835784414241416818714565611134007832928813662298616649057367238917524206648957473494384863965466901379491616470313174098746535635856163909311935132002350625925419103817877380263853634926434775632192622587761618417776384413303298994944185465342016826093244170340813636677028083480557546714284601111560397895661311249042216276901161088691999653183492984978477509681790088206916123697193962219343936181242194535233170419363622309476861144639547597600375825499974539962862574976859545250869427710425781543973197636707420012977193468291500978946588189118357234838878274669406284179092928374713839477162265189062211387038144418965151733314238490683324308833717042719878960516153992873062668769865441772404579580906574953261335188615177201043803391346940190334639961661896741531231114183502317339168911281981043216207124395233692995710955879245302509643809408136812339123116381283346955838789163394054733108914874793687641548989595594438573608147550590152119800761683977329644490092741371985321672520183947054409131586225230805507981284199649308072659069861954058345556313863514222864814426919879922572407091980487837150824482241990697608548985905733403415926399655233784949038645390465232014685804511527117860010810145545840368355498824828695099105954766403438987499877014842141344001142184277474887240999636242786860316572792235283313668324210740708355442616697570524951270721866240412523596809958035870958784667911110450613612988064581898967149196866919025831676721902782445183482350929750628822094967620992181974498431438172738177300569019191338066054300288079266113038112262086800128150779753854518892346905660542218214499510037541555011752087699191466342215339978399274563319381715773446522787925226783082381178900973111806261441492300774173764819252862699667988927972046938824685024965082791204469442333736313857713197546552867472906811161251495636823045531988017898369248682699945621204004172171422438473457639220016424654255798864046533728203556530521870602830479144409801081251651267985080656850301650806071190355402923867714593540578507657469579176954011185582525059172116425838117980571845826057124437279072986059509322401701327888757864808015775343875241091567555527456789224087219213876684550457228797421567888066340560350943429112954453440876016231764557275773020630576943032505675884001850829257637374004206145177479211321686432234628448775774743085952119821961146812085967753964230806931865837534425070201205449147694329807997654104623160128403090967489388107799262638334128417996139143636162547978479056339501136327952079961292744321060646292121504761422359367613081111539106902384254629643521509380213774252819782106388564889837429892476092500937794832271879959023806924889892217030889802380883941274271753639302217462251311012725061789710642609283546000385701857313219693371324761365169952523867353883745036769484071450231054186282805203427686785609870424967100602679563067865806661058505569051292703325668621185091731249780977587042384903471593525086839672195265645648761517913748755397071690854602691872914932592220519546964606211245684589453234455326832949838045096429531393690052905216621384305676122719686100145934071747115538643185537713645529395708384589548359104752206000412709491440474186569275173452640280204210029691717231471441877588137652410511730003730813234220551965823319676205209716792434867120074022927745002737952478783934382699519230711856084667527685271744564984230288762584663484806922535390911367426363280428020734295333951235539012932851241836485549270624637942211543981358903138522448688901270068695928026150792441193478138768801644386016593650494710064419251553042652001247157748666392434816173899235966340869423486715891682363464549677084001261498863988768060323334268311611023819285397541243794333951478984855426458152878556919874509550510380814449348021591213427296402045528358965185984678769986922052554156508031792827341725187921816919764481498044077553951805248552886156439834933373643450727596868055962398241073246000789940958548621851721628092651841477014008343048760815005211002182872561993014275810724719822600290875021209422719620944650110712776558094417855550626897311544921334561455241477263662033606813809472044134165190243430447454847937456659463156289264794435162956795360646824133544772050780006950400530988473042457135708680837890050882322942565004471487126374098452334931920451390395412523116096136160695815724790288530656993319898267116859812338685204537442319463485908013558431875700410018537081097946295216071554062315329223344244620270078384656318791632446616061733278030409073039771696705641169951762243903051071359604389805304630456304089120159946192375446527951337213588661658733246719250772662017526053330727547527757021302230273120498734547851167547399505028778943769086667494086095881035658251475486251697071258747394293616819925667774600256181099427178058887247607553973984048006257264192356605527128357597918699394254679240418366420531978919150839974860828007326193529740616487901891301982490435311457486395178682423385279853250060608977023046734908526772434839623775674247674812394740772284534749881739508044598346616142109452101537165033935380737260222719853556452602680629854984960745548094327606371324081278438328646700355461858413848268153091469877440883797986061014913772043024293615152104926456444750216611249978578217502897475541350726690617377292217017185464812239858618445798946042136650487557799043953894512185911848488132197511472611209331186594667989541136212447233287818567537815214263880609746051637978732673763625912078438369677284308971625995617317754697115249036634843579488792607027253231594629586836644009692275039612521356510476425049334906384720750069099137017870305741752161494201434584150413167163748849312945915708042637173888494742994585488447681068292918857078960397753819515452807650456052453160856738876935185188756188537193369829975031039473587508206570218481476213424357654084090069957268124524767753171488254883132442967848498518864589300359955908375091247303749466961739972828497842406505802189379930191100526688701741173954376766852836036886406528894455133209609133637901459772406650288359286401152185176250062565376258406940607144232153088638575094348780516614087512219265182504223875676513471259332558215802344031325695738965766578891312457800055043673717309715908619800352125629761768087775893613303966865052895949663360207465617820503736175290114674037826484218776947646505184421614164894830419988392114125845970166527082801477665054562675857545392681433736463748146993309000174954094077583086468700192552764669405100068930861327052376670468602473764030352213685005172873838891511449869321358335247084552130377156745673436344080953146759477621695343546501642287307141169227948506252507579235962097485537624350612225663413113914171929425916234234966577490065345646821121157997155945079340703659912626845343260923075906120794649821995997889406878822957160413612964352356802623395352304525651340698518037141032788077059197484132230834152848454830835781438294861873933583526042899680984751039903641251247389286287483654565381950331210749810793868649885884839397113875104188966297935659358166364429109176318111817777444191388773665906335634679365204376982734244434672629462036292262168014054943337244250623015664110599140715641523431155626792732238721310433491369913994162215422206505665792092470862113577571671753126232346675472289018562787886175569830933236387128933585368080571577166851813269269445235116627392358166951507530956500489353054959215412958322880712745010809342127848330156205312020459532650874700668515974968325860080420729604253286917644597462104308950515357128929005094010042386514525414110079936256334908496139791431197714205172624428543473041036271161190086133585223117521686945859197310363861444327174149612507175201086505267775101631102490924631791843063298440441682003185537796741806424710435310436548214517822666810609567166404429372354809449948723967549919217497439439296341988496247221513211716622316878147689861058320161188003166262519419925893809660730392210567516988242854024155239832320969096797383474239090624175399578365745725413823620894788020730057493884544371843195236107811606944122068947420917079272141295832529135323820323438378407221278237425938011632420246946021633072162905215564455564143218891922539931251734041366071264205222068573403916773195089278782284718016419678061416364791607188151154110890170345404811245930964989530442802455894952860792588234864308930217076987494147730036935784538814343173563582375094426780870577970722441447346555044477538759419346689214839282810128400612435965601553809830240707493535400734533568973310354654332620017957453016135864491763997829602329106538717896298258501315162346097292176786005231550164965430829288630872795397005844080794902483031619040265048185888758816397359418230933790067330185762589263163565477312248632944205368654146111071106954156298894790261386788297588301516750111801053393473984047863460985988361285517341671879886951298831861483846938099523650603455987670372700950195728199592088003413548728054340800948644391105098705441602934929006769314234156362072936868021015616923183827200630124055077177455435570158220158936541924433630714169035340162855911284260582036366054809040032431387163725458475084453790235567579207340721924437098189624244081064586173717155814231830670147008030382008969772334266486260833743375475846467950411944977013702968022699618374308870403179882181846746328406779453710613273880784236505641704289277182098141646330098411356389928545153918147093151841851702598487273158468973371992253662970970241218259325242599936718979372898857788104483350336464702677288019990361836084862580693177301133683963205248806503362707527907930116159675333139568187564507230565856443228793592598472798577593725035280174219863837857679920669147652688597224880343091806492531155963746071319014337736189145072754392512725741266001998849096530730014555054412874704398029633848434697828307201096013162029582902938630793999703553491823973786266539712446510089676397789339735514624744671835117624506679823053653100966136124538647085078018582237546055920131563668781527341090352700754776834940095797459032353631446194909364791549315896899996514399395323738427015357825139702081142056448787301251245252793112369552548229531021134085582551929599324898210068051590234148244903322739053695569302385639999935422238497890563804098262935751099143997708430585297029360646422467832232384495680752649158308600940335726313659825887018891899746853039451418594879155298484917926110089828629639942325358300125317399053962539526851571313669951773349800124338512869126738428064915596331174838518779138865569521363993773857113182293326940557587394350153999160178068813804551928883267105216320034306417337656018383661054440922107984885393184082588695142055420586242466663933623786826486508901227393358736397030589640453720349578015580808856032959510545044510878410311036882566530212656601916339778063558407623283395097282008947854943580163694910114824908917208824935907621316397086427182107710950893486546946082959686110594488560626475209780320741807518255022363233804042943204279258939178748995919912638373901647593779659558118681185671593637329832143397083931974432933142705102251304867042403280095380727736943545784295013210215540253210582048422070142679085827388532177028244328707444929936520526407569324934534147329497738841705448755483724693744147788962739464114788156321123324082528632982725613148486906957921254470233922804768256165282641486230484408212867525213574611064221474417396602406219137026422982900430162472478526605080431347775444795995307223130879573581887263052304803823962866262850738198193766882255220592648779394205221322029285973497355783716904440652756078314964284667641522282825867370453510739788669835263637720634392304321870961171878977529285569497122110738567101973144266255711887729035498285565040855888132243640325972661193081148507575859980071298511294391174216263049902435027171676159146604550106967786347421059458300575416630585883992253091755915692847414582818832327166978022949567076166514887547324170312373254722734950239149236259481521531686837174671090298503390310376416597658781734393000231625928585571803450987722699128876557317510148146776100693160503030890863316219444169977184186428083909665546564098310191562549273472168971929365161415109374818403183770073369869695708887938658604574126002763152686893334421697090729231449904325981790688847892025588790906420421379633040295777071461374465632312300285594962992065763836959097910842181989705317920899749797788678449653878511590381809835868610596904536852357944023235921637841416743965629344659609289488437651443350680488129128978280041247767925692890814545529536550697013624871276677380187087139882353944109173043186558237866438440821687988771327752655432652986877468015842600746685335546151863902762690072871986504401408842106475423796944183413402120269330796230216161469515855755164359637733455513883546469786469956513771381216062814948087222554176615372750153911951125179701823226488993161302067237356679402808540926152659834101533047738840509738805697262841190035067559863247230722460027942472694008734423203797837259900942341226136320329380099266672655745830419880688453862975116006649845472327236793580869589063427352528217011390966221831058095440278639069482267025835858581693114794718060101786089417456486220033207960159793060517583598701016091643505936665676979765955910842793101676801568900895503943167313986529695119404712165054320776667469037874112720668985896396461002317939937287070258379243281296610444245831811742708155618316172665117852832478461819363003139570257187797858476212051825947413470909786301287479471326897459969275508657430309208891131764649133372135717961657132476098834836373329248470759685622807774643845947039767158860848501628951321086844375749083527353651873318507715964723102056349652272625749612457961904067401791778230866433951847074804415423255607005239115454141312010107327399017973958498365910192388771540839754133730626156963731760288986545509166622873404929951449090866945616033578370555372963846173144369031438721836136049397718584251432426599203681190198814730328954793180738216445924767204612266195948857778378198968782516177479547555787334594712112651070299847691228576271955480087445673151621123347583265956919526907629415793961464201059511195554433526358871366179913996544649192817880616314029214593616261533740572142847472383228823890999876085649139933073614793868900136541781851121141516068773376589738747460375134388336748112797746888439619966617733238487206259063974003866068541524339777271058097390663628211528046574813115298525856616016186486542574203265422588823339698400432723720710939456773254943939843027424143346557427468406655105085631806183864655301887772767042431785635459050485765112462245007225777244754890183450466342983982890104956532923623568097952245883499060151847941407738483712257058208940671377342183472810734235009860339484937204871482706328895475871826547089211418436089832488253149802958725897116301971151879158558507936800633899432347754850192407846273867143539158808775767234343266410603525757615020711131533006009428414471132579341042198401755436102442250403585321030278859751217017455100524759773521271939138457947150810985638612366016984944185221726288550367638726948904776994035440191894842272118551369704682845259527049908620488241023496293048391299142649662195960764217529168622110437949180346543487522097835298254981650828745756911691074037477469281692906973990438582066893603196242911957486186677605258289561784910799879713920373752581997859390092392389010768071716990919232730215111649629193171472635454614281643568195869604728262147500234843158189758565735622154295154168712949244073379726480375282350121848843342371015757805018889713851932480091220256816304650405128298364084224671666185744438705223900299472728864147500059206402524702199267468995046439840189755033884035987804990632410708711899581888271850736357481908324903398313313586179943549164482156404107006987567965302091793518726649143492498263680458218411196576103574880973083527996613839906683815339941044037439484918192991000309641155435926879721811341636236458802167442587341627243465250768897340363055573631085064305405725110316315117668785509234378949135760746840119667770573687912803050622216508900637831171507806869167169682348893809563986436168301583007790949209454824802881093342401457450436014345833047111804905024546167130902072916053593382807856955343393996786064627862022889632675893075320421082098797343627224156132129690389901639431963016012834296888104959748197628110046062725553503819913565692200192273725686031249475496197426463993919528253913510482654890714746758476476625361021882595373473992967023282865638370656149849128244119485030595590574676456249148348391681910150375273630634928502355705267409313238415376394206450792116757579041484707682769474315658818532569817169503880229478531331560405007974345189910329487711628276291752277488703364546102233567180410962672552840098382907381235465814074075876033669707952384173524800805154905403652690266897483944001500445490647800431582441379743683946721913183313775080025836962081390330720522924122473000697164085918732666956775632868257287166080132900559423419037232471916560618313259812422670485564521731296442659870594952381286391173030425241953008908456595686560007516122984138371221239797959980277831482512551641817224133065741706494837066133183503504491191309401787949988269773579427522988308935267612289396061510756713429019690551855931688754348252134898236665382582437186369147139729450336836143694949533072588896769451166314472407826041985729650232716834524802222857149574163544320657845616212254356955435263442732535165205880011068889437185274565599279485008269744730573628564613862022802076954348817027560207686462525782335952501917259008330533020041819771145301737943887477162135440876171470142863551579433499390382803319060869918009382485600077558628676761027256616107391191801569411376685395238103433857740816126655273467755640442296149799822274262819513564395701196811362344551742917764062706276637585950711163012007306873379437244651355005156799496711070985063153964781613472345026236790976366356357395770886667136743058392402475569168940956799559205172294230008516707858614129413820763298798484079440594558492481574705841702690548551515566564297207110707305234130606010983450988518548470154030671989282717370489881361283461461326703218813876835940539789318859135518807374761825627853174435099246923496688402123476402979949868252863012739985043650469734184682332468398116618052041984002701316216054675970898941529915541267339501130969880836744483431945762588237988330365600880301761846542032410564276718447221514012926138113743527100624211283818715509342202321825378827412760540976150602052135745782438212602970921154861563896040240307792645298405526183229331675848176716021104029917560117285285451802335862138875774942441371727000500713901499669091189806164170058829248810097900991007313106836684266845566959035110920638046701862385551606863613781995712680719069110664023587133208371499730191113047725267461573594636901098555320253360759337428110433258313956812357029865155126805042041650406474126380175580555551437582451625566475762549562753274172187678434060840676744561320431779020807508919152676007974573870785609911081429001440907524477116411535537330102849655698635182293331972325714958141951195196897765102661411590613195092279564724227965263228285592853279858624589872188442519913723829731860903929878419081951719623320158214691085163403950304140010185832758833042161099274501387013105366194640244838861414510295210713281830147154430996354270246626082604119549931321827650882990993713834747760876025548213303097979264577670169500246261368149665734174205104972058755016893324868578595600038327687641745243700659958113733631201405046293156150152839922671557935115460854710103867749054823676321794806407984358180650533637656567997604708296378155768919884072313473433135989412497639268523486769147561669887276498889355632487109389325969800133929146456369853471390021675988012885301344328438008139417613522452842917841156873850119100344174181977077118981686212739741266930949087733787993030943116928385421150321667857175548956364915101253789493127465071806609410596731809180172881295569397253440031311219119180817654383283844275847291338306618272535794116028769948874271601528830915570440734868025760492157805207990101975570673697048173887352474350581728193232816045524823741768673082581306645371669785309194092086341080553521767903194574442341753192819574927859352027680990477759885953804602455653504651346634007221212553043351863733398089953235346218602832794148842428197527818208764444427833915850684534920564202003906572860751031224554632223971180113364922186283286537057309786011722224169091454961837128788722598835006063490447546133439557559950925845342464597185813739584365360433315915136842339964357742487848857612354676752965750411187750278378415680604989789636734577590813220090209557818101464130620260101600659547719245275696344952175069144062448547281894519624177306804165316795379211062970543949616540377377546009277697783620638900236557966685760348445559902854967581602108692194666168281225827147019896456843868400313802071098174866117773198886177847474895340694408876080860281660117108980347783739008133052922498003306321479727288784675830892006251346955723168095775289887243116517348226982576746732472988670040369177011735613357769724380775836162109250791125432967772905599920073351271944321696821450244446501775720519780039215561413392846291063764154403669398138006515221473112196452241415567369272021760949695089211835352123327570998409867058988729432509561241505038143162591378543414594970079485874969781304768021986036911205258945782738673014182686368802329813063002323437958756455739318417243033068877963668487721764710721775734261494936847634026546190259331700894826814822565333924599511608333490450394374428317255468710987274837841808043368626889670256891994218191802696072506202753277423265333322021083226259261192798152104485898772391136233218689941083826434849366892850017467165026051671768202895842070698726944260615552615865298680854434488143692138506102959927058595197731185463448113663536100305296032200418062001007535228275858220459751947614066285263332023181534216431372245172178362256536783833348420458567951560522087578509871252980962708016688847027648626524467911272260484158746200133652087258043517084188618511515067468030671546905815996222909829048373910777922421894112009722714553114886896949765720208007617471387248583362169737672579845096510209057717215812059699980814054120417364556157110334746216977463126012640050643374002263692147858912143096594253695055010864713703060592010766560256247326179697316353749352981843291706990360921779176262666553696397252751100727241879315819701409346582405271285725510480773915308007425101529213993739927821312981202745800276298120015754852303331514319552169815156773979337373824589047653562640055443391863763690461287255448827281293875847147474989029187904644424726591676901491203647296451553612070981581689931006917212951920047262092325167681323809834418495311364960659566784856451100478018480055364845693493560038527230134720328037388025839718029214668382404186289587048539625039885363213941042123390588560363110929943922757437312477441673484818332180265250342128210369147410115485786821573378037601996507039386374663386579377434606895403461362805310413969981548956951288669400567876929629354881862825653617566472684725131988071098851075510110920437254696118982469670916866438109662194117428393666477530973875659424877053876695372826411343277469014422388109358960132571729891648133779537168565455573209980416004552898779781219829595729023441326802095021665068914373332138946378817316488224181682010139372007914871469268717976132658122348044915973526522106161175858335327503849974817941548830461972975055807688911971670278683826886542884947840140777999141966870885530304258351451360577766027345281775819937059798310720472182784022264180827720194575052388422597611924724242965668953616206229767057864934069948014039990331141381675411790046536823965003269573424724961488655284438971417948054337087723040649742456910034458793149282659821194173831902203733556973533832023374699613348276551230393727256133891637013398610864619104794480768981518614900097890951628316642296079994737720294291823925550982504279980497730875220297367613532812188965011324952548776086765318126370981400844822003428079685062894002520714406771374843600358380364015524788071155129307360263530869418383995186704250403746700655285656313595371190609189772642988079480900491150638692185250413908156607599708804244567850232187820733887293504134663449323422820858499352884943745004197529999884924734927498751091140718188664857742298805055716222439508527434690574520155253131312479860908729665558959486165956523246387741085356542115681713529765868031562073869496766251866426080985675748222268396035929820203664556780269227915931694275395432150151973408576934857332277892212699276188668151863359054812386772410247457989519251875557010941748671727404069492386282203429175386204788713435782655626005116988211402085157045228913845314582547490463859943701119831660234232437388528793922894943759470059908278284012179718881310337470981507093403029952594952548516523128908194931473802444132524887792766856361205864726314584528977567416923608599603620746786160738875400334500996364523541774466536778920443522781051780116250327378746831797127273889425283541849940340391919639846523706591928456570393675418409874160376556829882716196998195400579830813083136213854876661652161541669690345631294283979064291771602144124931077890255844071698359120938299412330891421615715350862904736999950111378664894841857326539871697122014252288718262563250201541701127278681005185032447547080719592959450048785993542244629879077702346818545984675418282007018308824787481248034301252532832017189344184199017588920042204268662999362501849289017915068846039422862554822913889542552189580222560824631158909573372203804213613007566269255303885308088560710575308987988774897540028676055208309695326555272619964941246104327423114603954497496324530865018818743278853154085259074759729107941218417341755199486476230141955763387714339751467124726741027445377869124129772132992496712262543896554973529526122485727435062846451257583882648238550528519311891511012535414076673023150659601641621275049616665934025247518720862517129745867495959828574450977580495794813019522701453252876113763453147838278299709247388888984738261620401340839413504278240671424934087388428804727199448724565117458208879493831873174239614194616772147281306332535189624349391409396699543164099991303720385177873983379721854633130650492160758737008428157488652076535893428057602046462133065173756716240636690516530201837629742505584577405031293397085573468853754582637065477012160423557710331861236965772853853001401885857579599147399359941340485833589531373138623650927913709075691906325678895953094132682952670026245314185169383592776624171822344055309333274144052238205473156356015952114198197719627568039508218807378339633794774816951371305221031180506272869748314628385641630663033184368146152235515873860626850668940861250457606177789695612457929102825117332284300851703617374363729803221767834086436228749859327593734059040271232207300512286994422492575376100089683257656866818593510558763800573178056694394412820930114790532316765330167673095595265349499889330118255980978798728468155910237571522344794207240226634527662896682534643131049412820848564991987349805715267105725449959237034663951365862748789258811007694210535078916908658969279564527498609013187503701063069667610339732259122485598729808015492186505264320782090707640039824256355009755231118436369525151674654911503402430117714158426163279467099075197346439451418224778763764832895295977848406030228939848607396000902954232152282769786719240972967430903227705837485493111113530905570133173132517932270525356240106679037173818447224251627871488989554147955445450054035246393472712580887242500270349046327751529732350537591546688808085259486037312476443160802552387479177754885515052797640544468001691182314273415846063681542455498030525645825096056233677616635354425320971827061081968437012389652758792801174526229629916281764811831959682503663628436049752936455505367306007163226529032990548604160244597448118618688975764067822023853154932937431741265373472718563369130851510803465759436503589288440947574970680921767461837391415128593689478597957700635459594260962525034686506504581355334285219801812967554214231413997311604867213802637600582512219162745902530495085480855032319571304401548564189795751202990854235618055287304948029704012724113744649105448968051759870466322311298665901708884127569108490394520120729306735227819931692972125791706850184357811940263875676148237404244156825188035175502487796236503854844417813791665880821297597997722346006076846799212909882878255899510917560508271861090048270983427235719530860939273521314156968632696810960008059590343126163113691625784264325380228358315442260200902731270500704801413737772317273136229223476665790522243625508063850125410195780522333409511554096944616870631936405837804840459918504297198435267994033145887844482910813810814521503515752212237680654743193895486027735329650869984586614997807108762660064309269384752564178353313206435912696898911906789718927322477880087871218839155614582479550504459745978030247322772428925387301883499209678254136209728753123903392059175862558092884904872756299805624878449604702708834520630921784167929625047279978633036850848026438597420024783547937512091193835432141069293979026125298935005562204821011314889900794775205565987156146518926746548125142260098567724301939421333147584993136382235090360188244994457899177156854848434533856604866229906768946194508506022593395196749375013780675326251326639523564935903093483240741766171276097548292114813177863257427480724848344145687559549147518836905563096571616584071353544332531214755857763280291455612039040040301442917989490877138354220204438513804502830780857158834557414181184408455589830625772493148685374026276694682634735580318453910432221264623148969405674229217991754122442621172399145040531056164608529595129789556283672059750227312111935431526060239612166828432612142538787132956855234073273882231182120337914336186911950257408019583206507268506979535232295314600143846720712640800370101716490231505305720809815313181808213172568271473543579265616471236424299820735352070618101655844644038368164308074409795549914454672050820070230230457931981778000803236521081837661741040355120915286604432626728793081264538936256519243996804380199593750410408882046243552834564713278576372163733565840616477520082825736866828483889688291623595516753053556295731060715789150877671213813472570026002261560481289240728531481602286213816012816479507700477240188210039497403666025210976157213501000699189341818811158009768055068991721409151964298942307568011262763789052136187379959870506066245021113964205765791163287152200938836110855658244527207298434168140476917070371859045440456278417841686407184267640429789480869061439400426250127094962024192587654968651678314550434196218358897473243946357539636922283575466447578764739544695342297712398803698708442564563581377689076481345233027078441332844371793694676637920992587665757571881883833166670789635118263687074361406767083677626756809442994778118504502490169791525018155646626659579250943247243827478474940796175985313145497779930603342647594077702462108428495609313127696343362593652272951907881637834503114118456970496624431337343777928879062872960586803840720377701184833096841364864491403414547367916931148887165026729241608318728622104807907525073794351000804167443316264547674475325313177493888565186593787196198449745200696215433917219643338608001890427514608866105230056091513048823438568378879975147556518034888264072027035214555273937131556243341923563135942159450251706548723650395908590746152340889673307679746657256802029174337817331516726938583418962672559897491894075546900590446253887092096787793189122816532610755381960626150582374912784688307850957575592921277820704667661476336294873517227589228829282172659031073543598382963768346445544717059953534731161756460687725158792319838709080981325372966107025557138014843313555594645942800693450578791074546804016362692088495016171478444475783636291058111594059309593121117188362040966545568055592975586972443706392902796074922191463257834561083723174894276172947706112696414921573652592150258158335861235480033167864710120352917172429297965705676186989437838117632053276680821444850154718336394051186392737560337181576145084866531410070752694107267092479135581583096231952746423816319790214493713800053086436235503312017906963273891848067215476384565234890604390413871565955340794596948131640292592564217681607540272682553636105015914377203169957228064124646799817112508614760710449914124599999056014760041824586647511424711675924983882453031584082366603577392469491188586215671055765625637106712087342614501994607031958468254936617479944865299920903178378605152565751084542222330766190910014585558603785669294472320512544190995844063417201051495354029429537871567376403470784759992668745110562959404423388829633073804774337155623052476384364037060585733494904653142199184134312347064333513324745952942080607555356012992703077363723130539011964024188462765533570346504219558131000876039898644823101060162730982025481120898897855933125742324429562685174919258739398787224963953176879060470731557242238583308645053534285271851129749696036778299089732483140714367984951586584136285467694038085667143917537602987604499325402076333946189125652590909489652711317637176360112688926533671185923234581321853141053410733827425816512922517389067365662354636221327718770055853469855566738628479360799630549003718427528685219040098104632839724309349917065895578245807832350901551158024276889827566760804015412427688785477005464705897973603403949770737549702280398398105812824834495892544261204202443967447011871294576233419828405065285795813211650548819683126133031040357440035578668819834236257231180858057751094066746977335332863915544327916494311984705350893475689351606892423310672016073235965455154573086547190049406031366045593812312264670867919674587683305540194958872215919593717925322126145120334046672481738264674682748375397835268211147551804679928701701972079624225246669000281427290512572516830901839194546500569893670945156142419437967186564924958023433614471217499904664475328196294292549438265149152050777151182555024457724343389598907388429171321379696236121110382625170700194210475503799791641385768617332032657756583649313680587630226033198843449277577746156168000898786206736782525794072389481841605563427838032468668744048378028770981925107767092760371794106791901317926570943396477725289667487846498180356268204230115081215608295617781886542940356003565101412432489924623000439238750852832814117933212988303244875648614909069782541107318057101160566029591487797892599946000887119490204543389018941512889464904673587648969063271606959376163694409803151460182199140455431632333541907486324203069883833468039242888014687804316598964816781094925613457266000891794553581742380810574259610213758053737193591405919686014693832604832977738506629762346364336568963984612571290977738354449064234946155416637093457559317506078093586599938521528416406558969816916407825727303116801789875094537079543064235794700931042050865665167387660440341286606996324549449558548139923287695055264255330309180958702032294232453079608165302656912101154924811373023790850244861029542493466446144406764927646104621661533765513666377761150010189738629853337980672620658534360420440853949292305280810256062500713653089983193109748762977258096298883376126025174396092640341496784234702054342925631621539380268653827464337861937390206308442649055023343961316652395829275359680148246185601702324681935385561468131083385315867920625538284420563952316388527366406222889028072208360376843404600979036033855112685793306428633956090738945449803935567408348220322805834411374166833756526901554256050730804973724688428988936511237063428045212472874822701187128278151990333414876632077689310155474398100079547959092693887611644854953819396466519012898886540542963514574468902326040547768682395017196928216885510284372189971027137553703709808209795292987000545144010907848333675560437388063271919423203783708033307140821696977029407145714658066055565507153218988513200808766583888986814144086990068854748537686610984647542799842928126323600122435675726845339705722410413263745848938617168921331417172676605127580901224028977982427279250254545325783927639139751275327865415688188828868374784968965028545898728757892384623217454148571553525175926702838073613036742714158432293997010343159543503603041289260043543603982442344430513529529361880678381166171967188796008465165370413221412683614347573954261328489237262911871210588408603027317639930718708450571116599259460562811525685424384214413638951857528789875453459938615388061606766672144769853783807168754441327129182733023760529448587702615601040337606096780793359106495432193446263118973064694044906870455482527411485032224361674406860812522991741757384854386282590170759962386242704443584717519900552960136675033895892154250042959166494342159049943929085362482077610735524785538565214265425470006300132816074905044018640255105087842466417302045934227368311111634133637228019920043959754328319993325025128975912420129073751528269698011089973122934066814951555876533586883229614034834927515346324889881169406232126943955200255200730916905152648677493180278955354084973720382015962636544497889136931050797785460444192951032153532374337976245574692117935757107201567649619420167092773258886085669834165219534207373278359229171970226778788637328332871726556603921410220600279589200369645835390926015070460469052671900547807082943563022705532790201743879841004495773549974091465117415688913094823294937348839745479343105942654566108690168319171034177566151172966788631531264656743429436184901525605121759601564564714717671213597467870313487752010541084014742031747278773989103550924749275833612253830100727914392442277826228366968447325195654240832545745372455654201632540117382790594287166759361757284190770439546980506503335547209496076814346525372653487929720583926849690344194605302303453138562728551912215903879462080018131172124488368959764181727473241556111064431378074194451711945293816394140822264246459757483774600389003526828592989149528409620366095071083637090482717713574480622044301481960868634125272060231984366777581856749909267761267121303643992227195989278150399071027123918757823155989135375881262811547629069566551796090448620001679062027064562435228234692360182447076825659681477682631304430975430423894293483218522828486372308436391629101705968524088317789011174116476596887351687901910169077815277548261302946664711708080653450641016257892322278830519412400422798671739477558955094317596400116560402948647638110643349405002426283156513414781135041293111689655436013604537663253429680561242021532152054615152894471721174616340277348620212603796006101159348315229871124920817729878007228975460951204970371170995800994605423239181936113499770895012522744180737729242142015763186389270783494441515934590219850915223831347891003704963717671695289018057167006355749753791720141626314873980463100169385407465487397673000168231040393034531556515213355423381499108414318508491408726507957635887701944733862313349739756772277612936195075710607972996883904306429795437093428283964721600658438025730367666470340614676920059223082285212346016302138017562512271802517702311003352661005592960009652127531603014574737086986221747358664477560531326840470219749492966569463202738677708732411480552176813722301734628737646931444070043236384163922934169376861590122257910608950260198442741591649033464102938007768846496793563067806386847278790439891892485206504253988383265977485493032896141618770104523067473302303823804268947571079315807082107821300834475507472629877058082730636746283108073300662759901262276051887624652953303009907235910232168668062570586555673206182522606808469505603758525546231341731652730618445198077734716087912518637738438219617340075731713944267138826903039186064412260027402939726616746309271882364845777291219981706711217257331385687195547979162429256818976196367458552974164897077142889255766019419261390904277513412082992776507293184867347192655381254870524258674099336512668771246974877208686986125204891857255134573563650620517920397471686734360464310580199386270111797352884040303950146942109963916306432852211215877033262171645176577450801677462280378253642869851919389189925405284331599429649730332185673382727387108602893410048907634178582727893964550143141670136261305196912732601146886906657648432614804034596615749796464178171863293416056649994042000837955529736688261494636031007592066681098164223235807154038433068912539183968317042474885185526908592851067683646231603442295126723126164457191624589851416274528761157173675462398510651657696630768665265127607571753271984235862365998957828205642933838191617671755749555996127809795331863977142381816000370848492172351547962039387473983581601411397509771820861876835676130915752376900413011858015586586432721399092409928918306823505256059163077024888218640223737797864227563115103093019431651956156543050143496845419649276892390008173984773872 404359218