1883641595123828022285587810649482248099036628068090885376690915311848700254954239441833854892269040012362262483189514343259453671627666314322207476927613941913580050995234669664256421438197603812933493987000223672749189686279316297862962180819274118539092629775821235478455501643235772097682940454148505112341798771959394789357492106657359804620961905658118282545239803425174613764647221791230222738594556684719378719272621703314441640080052692633110907896575150071561328580789514142212554940065851013187217813445810603620349513413941180536727250357787764223235930658314502025100773321046576832248404121160000994658013220391227282125355191361345057439908539910130106601133371434260860691995269858138670012582434188175261761382087774509731124200913946380159850270032357578290368179993939457836649636249685636141771512291663995879204927922654447027419909278518557625597290134943766629086199144317549998353940686886131050591888242934892764951906644008974156779676815627365800155416070331103075672083283707485355357921742822242143435072099892805733291187366649217019223938539014148261856777465019527816700927268515673046825757092154922547251047796301166688677102783042063742347650711813997292498206184578560006617731171598221870009982897144208231601029748977409312953586401561143564424134396846662513165235323990972515839111632265710969629783270061309640232104745924485603912471201889463531301942007745903332285378019114724907220817523654381484239551707353577831859186845475612590544373205897982517675827726961775679854026851986069292872422320059606085566014953162248298021857350247375524292736149221611357142236142910135087440383081919132641518703768145493515327019674687334224786392530131802345773198904457671955545565116481658127712761882530502814090105934455893440150181689372707758510144244683260724821595948478485953090554852379435488160283539431153780464340149655625305294948225725084675098117172311049534434339039711488329882625436597325457845605822432511140142665876585524794350108172092191087643239980835599731199087551571783697621389279320938491555820519833493146068134536434909594676577823051265262521340840322033039505841181199632062584662907628345597465455178257007705186789050169450571154614278425059925438221740139790025543855064359660285866503397989759828800130551093344008271587745175261543515406582175469653266973390614656360071710546158543937575708933526524994025566987794037786963435921240236605454946873265688333147599457126554796356312358462405916619799776660621522430745057759556059138500731382149304321947452676339972322001301396288074072141085645900385832848369167199491993201031089790565838866608663324026391913867993820266797450603662878692936957229848126412050536513802936884063461403083719251592091187472257087350488974105544388626206189572599543639595552324879519612938631795786280983832844178140682732015972803865983166815092298557072686088332713115797794444171587549553593343260860210275662853749852980548076889390669958936592513829747514620453103797324635589900874308403322502967170503249947028670671512448078641735150684835050499413869925022786656249381052230637193757867570643578161840478311131533887834159298141807555569878779648278132552275981817303512292276934660223428755661460887533596253119281943006252305466660846611568923640837930159500378562345778756109444370900237888661472922314825913606665050003265526670716085054461778133268384566543846553433666648591274220814869163145074061340532873966820737341338223175900859015518105391981580268472165210686863946929378887741659250023976970808976821045016782905370414064695040199389143281685556595688003347703202440949940397746152456694662212194335443818962491705028285185622908659473391292996811282466716111105956609064994696625027417295563840737329523194218363557569310832297248217679784561758089995685444727793983607206964630355398401559174170362391216580339745557704883610993374985730793166464236964614747262393894454594079849785667004723938779714472838457586791489953365711536329203535346974053496851147812607312706503783993172776297034652347118511587611839989424020286684230739836521491088145455031828569028574454091054108773903279902471823199019473499503037181306379456270865362831325528564788900354408520227429538735902982936875050752119175724750070673529188963191566794581928601766893670912387909254214629138492451386809703388168479280989928337667766927274194129846286824840146288146430392051705066503969272086825131105853848733021856943823867421435661677898879688500381774256195475943158232910853502988089899466760114770520076199623363685393738846807424025173681340358356315845350454470347116239687021899835348003715504346856675751804842144126436833804277877306707806300763379830019746561814848508615351917008023714977959464453394905970663809142032270645849613578294030933563159366432590979423690711865303440076141937947993070495483709993009871378685258805843469552012684462568394659270398997284260510046212339129443336442558697271170959566731291645512033484628209368657307494492114010474992048566334015119212678383411066189858907007731513494623218583764337939060189221319921630331348338696319571975067340337393452263592071436033795996861699854148789561100354099615998317717742980809438708631190848919496870710402912253159007973531544035854782102000032311773529092904715935694172762716695218932076861394793270884677584716561309416731163975346403842430759351882618342245691932011518131504045712727057388679442899210828176180732062854018334455192874799856607240486457154508497491621310473273400618871945095853927690321896524877804226372813948311874924452269709583775193490030493326643119785768853605022939952652248369217285415028925451534546934227076652285441153740704230560628765614372213706987697565789688130879113004236402302602874413634485048279675046384200881044771997332415223813557507174687041989452173539558505907720680650547165476958362984757813073832594046493158821760797031853902710228320688726208930792684479750694742677877179586528114329154817832396073263783556285857374016093789691047707556457172528358057824191835049509310654464492622369386147703386702548085566560086617030016780843017233718160990392594504982088602843333709326401000371355724359240712296625961678423890672193779245895644722313316653818459445626533139670245175178858811751183079402511184858770899923489241673388971035526377258133838719344977932489679433588134392899946110317092521720623633964340412898465685113830834843907950134779197681474869263849234276319169962658124721752556539591520284326102630390902689523802486262294288426923733821729839736946176744185900741193995995340055098735877730217884583115503866291270487137009759834962325863915230942281517779356451528741493945370244289101297547849654947182115592832565346621978848675972221205364893721630929872165027389530300227475803020827946128619674772277134628812253992729866604569035773225432370778750606515223107443247873094415983077081692123569752062257287072329852103205218351024410395650392012221881400379752688920748607969935397317581949420416445952169040586977852935175061586009550564782259547713383645291084784679007513820932496425450474602970884151621328963925868283007597107702545084231246821180872655806112371310373636882652910630390593814996769189579671766829792693469807243210516793342056632233537958103153080979553875665071758530834142002704222276783456771130817015760270436333440744860965242271205999366748424602314996626888221732168604565233961167976093457450813647350774346718038658198209495806903050323058517882996832334505235661305682097344547995409833048110912997717829349849340892923975936293749760487179746970684959685584572310829504283565704770211477824637942237432800172174721538599541791318001712979563643195009958284276207511967887785292479540659590115878906182005734136312115549019652736175956971548749881750278266296328718128823140394339354597645529019859387262610514934504793090325529559627566215677146069709472074046429137598291303274413216391468508141021227271844204563869958458764241175601435404546260605358416985943591848147653597110956940275280956045089944453697539783650534015909087266364154720493311478503850495030604707107507972897301348354758784682012968174357113396096492955521864877670996202624997343533893409031509452837319182600083144597899131982662949225999866989287163527998119731048830010110698942508351069010992532697535171503420136889072557865590842886059171601386209688746695996113658061822894192585857925308901931252632649146702401505688738441844955534700027122655925006616974668873710338130200578401390121461799857925842880863508238116441981243326917136284010731443465045565754139286111848262481415157773739178664742453444434668394601741196576870676012167562673879462434980430020910394523214508143243461587956719803357454534581345016624437182673316082158926809998185862134022443455113181555637852055268382925423300580342260450704468064796931398141946092085455011859296015155785096681722990185559315847156341789193007414875521129586893945087524804910679709684484420641142455946263865982203982850757617323954532130823091619486113195495338055912005279585702613213382636078127309430575252547793944639549356050212708861233666378964231859400166156265316222282379790656320337923932947595087567339824398826974404490115493177297743720406070183434996718520993619426047236590427353159198788867517540179252825080158519714476381570156317007364689259095633429692061033144763481077601758132985882415072194892014841478234336667008831967480903916965393185353898807363196359325696965191071876816910839139748799814423721026491142653018852544793780780190965116105412036573224132450486547130450849471402955522546999260500435307206966532124659075878408921750686631449587208628827408524991720434478941355969343584770023853214157546646871992103282582366068467397716417610913242762360209548666131823354202335978353919711248815643161223298870999579523765648490670231182780146297321728057367593149059991238209886394259721421990768905887486169147673167219558434576262310802578845584788029219849548661750499281745951770309218927818379027473657123579152448456060789040140415912886035668401408240634958021872726990031283035398808591529714558107422952280806206150081613187788225292488466408631790080910778463236518439783298609742664772845816358191473672183474996382352401535338637023508052667113985487988627940376986148285330220407603407897528756598466667007860774129898459994466426202903372909147903215900899209789624907932208639271399816219059324142387298680769881075212498387468757168328609592940165882314668049032261928077682493673452923084266924411806239115602954618333482058530546835339148712588269432026180924564904723185041429616848686203484956021000452356385342849312935149138844738734679624414464794528136430954843610432041973462392442032116282830529854329125236836213624913942286522437153395078901292686878303741052956095155271220745072679829697459417307021344178398551338576437993510626172164467131935014255170883287074744188760955267740815861667098960750818515133897410389663415263242225943581388191435449943480580430658696225404759537198248582648658511500280546256355597289358669333657396126902716201514916527151285333863963650623231995532471082185461323491471442454027717574071794490775000952342079565375858864115494511474181610096498653520579005954298041681102673291428018898843113495486876285743244885250138555210158122113748871731208549615557480766514455260211475471995526994898568742282751537174001723222324339493015765513962831867160999711858259260659866860323084785950764428061522075508941117980148286500514303842027276847841376525689456886872978164185317674975000981685203771543031521600952951818776418580146607274438109976308447823012684939137925221350900402743903120003289378945296601312748515942828371032340201217633172660799902837152087493633505673810364813833051581097836467756680276751548973745324416930592337414867986181825932345470766466263046410327893328281284273265759065011349048462782278629276512004449726622068380646706481071683347966589661884696244789638963640421254066194557281786847575146221152012070539135028750366016451952238333186870344959650574007714520046499094286991977566847194792276686240182321741743118139919585659780067097051171180094667330716311237641962167633396060813306185077483345147938399948723598934870940444268099700013353002986577880270189990454197922959752137499685202868205857633046733130904398624515850049057781502011160071884367566372013383082966832960734239806023262549810687701253741582468731418282036539047962441750776374098656389202919541815098586653453657473612547807809507879163774231781138813710672154611691755098535292866131212937249709744594081977119117461551860140033119079322617648811391840133586783891955523064533290118167651370971213279130510878127397059943869368226631664836562454354256191500135363708201291165024476188945875951170733847914757725728221858655160616332820603013739085025625005664742647668059278771969747524611185996174326958991254448120432039414261961114881605641823931434553734556415088596906741604505198507169721621824181280757050978783316092147272531230352871411473042314664480218973405056997161002479802933064736246427682957930589834674159168814925775157178238303405382075261922781000160157999074308138851522655285539978998541353638717795730871071707744762914810873254550654906569085483497180688548624375113851766101390410651980103734799987219784380826508093373475047730822827031182968104394832729172235815050539288744854955708345067316763084388036766821266943163829154320237912533003403779131624731323429782168518135463664574220346293661959010511438385266715831004950425016867016447237180782112638739831266298643258175270199652599358504069851732713346375294296677131927697514426202080814937939497870381428222334056673312341520034170277250068549236187449437453734758146360905374535865592264697781412850696515612321841931598690256527190725960191108253115708344170539922353624604212434047860870160169960924210216280718414808081584033447590584196573425432580245881738674446963069983682210480943784991626620210670289704412722941132440098766154722744707975400462410750211753334332888892851627748069925711824171415845894467452111166775887657574411270082717214323389513661362105868908365959955527347579599407618870058129493791213554377255933793694540920763345472187131791342158737895608260729337574304445950470763694851004221316050289825816064884313199725703586268943783016433258105519487310433290319800792796382691737255005811567735553437523385871993001796594591101850937538820888761186509558161609482115326348727139899967990614354500434448293917639642369836033695888587658995768221540472216776397983744614555303922869537422252103028209487372783529004864618403999087955903518077765500282226491756858803788169772240891729311190954834570945449152285172398411261283143614422761617429057411808363894427310308204071358255611520404982035135375386764633411232181564930409818323866244119783884795612398952603614667697920856588775948957491467656021404934604616331050084500403114337834014050685364813329710758416634828494741235093239178163412111642270403400586176609531828476356470379718011404216312618973791841158290015704534269514581993363532390239069338425885950755272183184745265972291536506431275912416488274981463662548553676473995297191592478942970042139289185735250699642596139308193620407876292344354419073535524139588226110260055804087843076485427787152575871969684485334168325942545370857781959202021739943519349169478972488887955985198276660200216847001416899728052956519794778705695916719945524596068666047459016373967138224246578915523249443153346497203836755750821773205830782799428416661609736548116743733760964798897375051656569085135016658177238162964746588576446851125973778437421099659358089526478545616290612130273986445819033292930256210559253384291385743036373104702962180255509159376870577203459235487800627893135924276973685125672758579167587658128858323055500212809750068697500557043290816659615951310151289583393374871394753682370628445401429534346918010066862167210467458283933487642587662673826654530954329048240143648100697055946171620627095264699578689258583518282795750474965785221058341995547995653413050089522484664435204294338633283098625120763621856265743855562093310923434068347359570746259019530799882928480466548963798385413809942426957648680709248723804903581386605852778677606891336200274630109062262012872296277365943623149989457966465306789384458368256679854192050401861896804329325013014031944964513254539712413541870412439235289858358923961243292300458662465583755204544595460576325423826297593318783406047694022977766763267865633120266802731825152774498483922571305761027665862789668012655181448917427532699678566980938842831360265511948223831175285173814558214296137302532507496570763564201367941410692166769747615852620642177047139214846020489958871368882165344818043335467367328140229713494375757053984418606673022612023392250901775073870647630277386455385801198829864736151406882654804075006470275749341296065257818462993756529860853613787559220959176948146694969888457711883765579910468135722586452091421544902110704867953521869373869440692228993458711855724176652008792327946534514657723032032725804002016648777027542244181975464340358797348626925082920922561658168311668419672892000152219420875757285675243604180415094949876199813671171479996559845081759862459101971368202457693632876086956883789005061552668619899882232489298556172850699163543722291584606735837329062165566178810232682913915673888964834849669301751059509653938050845812452535030426314047905316196647864521630550992610651722097763425804108405237219436607119813405873337399686621429173768703423314875689687612218039567434853153468423700282969062383652552361674267568175514441674013284657002796972603163223831341586249919444581531323080073497017536445348067066107729222219256230598368778253270978575970438994697423510706730071934999944218092827509396569757353157415154148175680179780789504105138457463387288008618286776451552482023367444618488546257951872181067697905246748007929399104630268040866691926720759205693540054572809502055657866881165894872649051951729871518194802220555258881699929463400637755606978938171463110162713383273977957567233991606552861772667142665103077971031463903280809429162839018580724128319504631499451697270326986923842556938844176875451489554560819495679105312341612570143421696167713984614388216826462889425695459876866509386525304188049124012849735509756458658079670974021504491457928843032372501308973231123598331147230702131711753414134580780524580323388954609532354306747828717576241908611884062129349177703336859363882446338248849174540869080052666705695274184646997787478244171928635300784023549582497380054861081925142974281252747101566222425081296112248557914679954795920109402864728750787481451933503369226187803521215304515932027380965949272882105810874657853854639216039964680628046972256964784247294616543796424602088273751333780719577896841607196653389689105082341506324656297119250782739562677019743324487225964005653688907179243728652767249444358169493778735266132718668627432769745129315918556248554003405901146341876861033492675750306950063851147363131239310428348537565106428766842598725190408580729965224121431844925666243545700937368268094117468464848377921912346767856838481787771711756450390530633094426472376609925554162846693071667235561478066618586146258619426916613364668199829145984482274010512127152967903915547794069152473486576448181482158779072219248808583092278483214622703440422351595887597831303920910360746024218025700705017714913253006430753806198839061119