[10982020868609580988315347866342448122157100317894682541409877908314841002043216465698560264839002825048572831642588334001691102181370835794791415326599006671646630235162124686544509065622029722515238569184171920145038485965122491504783304444332922803365265745994446231308156091609400183407870218194289521253869617319311135167715533901552108985920829548736468599410846205865839438978048106582975102098079347435258142399844300714208669399428830845508344289299650635414994563824824053287843570652601473105520396079334875387171110675740434290090019861853179894824164827787492695762950749598417826602510955406211939596702026420438759480403456723947104936786977425711142700652563595271336613228496973060281945170261322133832046423967968171529941874207167044070524244244923636511344647665635098566512693331462723630000873087290253077972716443008572070535785013300012171528370991964766316874974685452943017086040808102766593874752294287127020835515587524193992811398643546810375861914667142563713289897023193747751876826421039132635427269571121576656036672092394902902665416556658026469292792607181307505451138497126068309382948283478556319263300805800295478625528043196266566244973397232958331687001527212583971569134221138070561795110676723228016411350141787927983386793599332879390761944458036292228691078983346062947032707030684978494909216096653237281587524842048855966123059696664932553831743794098803946631597545463381635461195022258428585159766930108468069908300009129838901274386789804351164100264933105625228312468198401757769723133279534102969401267431938253950373665549204330249379447248980040236423410481922224017759779287340663922083426393667005980091013434941564742308324135986158176553186190864953038809425129463700831972831010511704838739026239783232241885897978186323844172659571671162437054059345116191955236897378340391116307901990635335245435004587037167335029529199341469347052518429568174677115696338717988763127934143252609995861657488233678050322920649621528369320336815508871222190153275231363869442026490061394909640359045460662246147336141524579535820983763768327591698271145095657595617384588218753355493647559584018143215894498773639605769867734581261053061535910018316073540524855148118898543901274803904076091354484553011939099159036567045499399770559423690983994294237065621447802252753557036726899252611729646443173611022493649010000914280239993406969999275887319952189231076590683864335196729914062472387033752150313162201665617735769415169174738563104849144933518404955742036874301235374720653562402684513037876341766693005452316147807117673109550166423213416124036675847794305126899556831488024557215275838289101567272918740364266532014271084237313064706366774762449881071565448650215697503216507043851475613852825296294690818636492273469198432393838377406096063820997849792036779791836451874354661254585178586298229738905063725668361776210486183799069659629696692046409060081655419532171142389043302084948800280028978513178574187535457070062522140084577207998680989591634407662140374494386143342189803824485576552553015887642218023013041787388784867119568217339704714017650249650231019898318502383301603510721828359075901911395363644237595189186076488567349214633679373578876685011215793002836244209083321969872329095830093390748528454671675133227697501303304081618772641751429704043229932841994677634178778106599722323624292025186571194546345162348583348282110394028161648472626453818900348626591443307791682325083061239520273271789949680928541782077384963733555081665097388673569041686605717177152664374012879736637965888613049225993144673839901584083600124537406902319238101633560694575052205159180160663215098408231079706198779451140356463312620936831932539525482497684173399789248475396722537195643239340222267145104747500887339862432462704380213247805153597255301966577072738994382475276604447514236243813590202493916378377858468972818182379788324960104781002604857998756570813903233431769210172351372145805811834719386189736087154163135371852138197078075286791879732231325544111116048711079706852203373401821288986792433416616606477781455428792286146307705645728941082257793585278373615031763473549155137855090736382249768742652693739976882218830350925058920486791494632680334685760485728579614779527103896923697764424183822889514615990514882677482616961531804132703458300469758008780490439372741979496217347859914431384424190125817410064872240641836802315293078260197451554510073309647178129560294342447358083087889865642238589942316982798834584228084641760885883755243905678718754919953856882040880885270562174028341133434415182250770314711715260556929248718582369970073018524969044389028516057517944023907785171630142610029599247818763713042509103467049800469545465402684749933414892592872126651976624231951048717718644291098844338632017418983140153371219768075219815224800612228409395040520199857064554259708823795476231842623195263732727377549700452869657448971099269769642269484143017161265304356971048526620334262034464855435184066917353380942207883709748316549790632087169199481068544057880765461777805076332953300011930045898567203136094173368975750603450101093215666032106571896063859066800590174078066529869441752204204369289878301269829853300314539692174056126343546800386327550011045397385312087866187473242403753625163905553424521669933271829938832304075176606258569902357322331103974490715309209256527563859855940922864246605965254957426958919519407133796207963186309193524823784345146437886953518394241402452680911605714719960861772132217090573221309643712224878143622673340804959510962709770955986461211061346862781809111929819911618092088746787086794424848104829203905707328517737663422871046691759189187555881383058056546461062524660872318016990638545224564744917958389854648558443011773826076538323810745487742932097270435482021927771045852304657943537084351661931743584930753649979215873880770340013664762371592912841047208781291117756492058855896239839917551875229630132279972155231389887271037623496890497007015984762086831073853489038279326419853227876653417088838941847835882982420203592270559129549015005734787753947797911399466972995132557630583626514233849399209786452161144691425799893070556031603490396105179425640226855939639565065996815828531969278639965415280860235050861260594308902351416718266984637043138319936438619172288100957076129728797798662858921751038742273634210358336453341551996380694574443419026430588914911526443008808825177220386192881635074693673180886417921234727883914075003455159304563825600812863067598154372324432030659588680192869998079648235534353226959270566351812317468181403780265501302063189564425943451355913968731352299474134641822218356628331247538398070409915678514712796047428771164256821826659525157781531870314858947460006673370306200767052603185610121255276972807830459355796074791679620358424346282455413785674764652057892552367802549630102422488869423822051845015554053094013964548985069807142117751007319027756575176505228783182377190019865516221289690555295195975023398333254246740122731130329449520784910108876032540645296213607924242568093854616479263576957563392354576706865543728269714606593847749039062530722197160031676985803526168354375354168068897161043748648608124065257722847486241309876629353781521292424104415094006266462786609191657561466299077095755461868420321176844279167424527007732277286321938400215787206153114157304363791151474157225698344859016111903341562323438956682414996431750753439387143735946623845122708836783240896587625343671442856450449784635037979702594477233919233690172218891087670516990162295866881522809720618112561704944048337858079749654308528320372548236227538982470668316190971457922843820013837909212667893298249549761045251489284523347743288864009010780866115371581734734442870256575817994751816099387690945910374936437356970759624263284642891900526595113142197546920300414935485181808413641678431461259655910491232858830896268529504528137915465887629289900020996468441913428900355006437403715594152580341954237018440199800839256968196030757420758438755353552541172881755414422761065643113883468021379049414889155785024449844495795445511595637870997495714653268047323354936246553191085520035850784711942989608171874651746326520122383447775906866583639050254199767661352490034432839959417184637058808150158185913689503079516696540652086441080076190465898212196310167049626941225572974565301233863101924747014609578367572405726854969307838944312605072118068576937676541111378023052222367659131255222674990498788050812375206369311824197919277025646740638137017553644275114909736275461844766293613388753958034106331441137636601874584626145890992194761102672354844034367997630997120129680260378863200091986608348906878461673191179391155344695797349099710475292575247865807348452837409197250723185841081932797105562072229480014911822992671864053802082330122727510895264533701653820154404193244934346625311843572924896294666241036948039997566379368043504675049518479424221361205824219002110783565570635647955289279137510219540358539888667648224997394265073168567340680134108859076827407954043670793329634616540802933149422112883552491308223964272558326781577184185684906942594845035899126221450312748073610253431914167429331243852483775244690820186750878462091212027712947315316074453615371283834450114571839114743773106887485186087139805810491766779894609476985046545443275015881261024681323886158704445995244132051169425620740375996576262238867103039350929993521912723796046147050874600732145784476003716388991412208790536921751131639943738046139364223311030476057437259741513752376161422124518839753961509831712023840495086513546339278270580601903927468189170319538821024246795853147215496874594198331517161869560191818475426961617718954992974283091771850057418127566110031647093229014863079543372807287536461671492813485589185889378565582672803171047775605660061012046684357658469881275531981097301465010327442140299784955226188426535206546279415669834815012057562680651674183941196357361547333862245012442795842920550012641065474201279588034622964824213547321764510377935759881142330845107747402186071792186760974725915175284594805086809942775183560488021928613812999420854641140780803245989339022495451940655449112995647222677612870256388247727301455619728471631062395486966511497498881228990184518465215072926165722736650254847936107219800617654721134218508472960529752355188271103266418151098963902532639755537339994598075780322967457230001903137871437270415660823801313896395778382865481670334487632245168666431642499878549421626638570993638747853614745044892187558436625219969116458412615414791984826884694531020130724593061144728503955169708836143729848253152666204251402573098288361760000018340734419365499137743120000083192707910746257788294867235155064669891362575846970770487731097664536632115348760012519225395656655894211343027920427963908251284626279555101762454488710325344536214533851339994413191442742456201787966370211206284069956408877276686779515189284943788740407164065142148903883057922229553947833262880769997932835561095200030808710733650879426698675032742704948196650034968391997221399867833949853275478738455918951518696881266374951773918837895122893469846123740567135929212468664470512941894749646966946000718868105214908455301044211796606825170410804567536744857379156707855210029461071103883705815594238740956215546121015156694141105060781366849514688080644852998406913886456836950548507406329856828753090973219069241893687364402572073666644072436178519291515309931171212751530270888842717012265918014496449482852636145053231942785802137598915383660541090860683012494277716981441945473193350213986535119880221825117903612854051244507337778069822679030997985202610585402862881937640957974161068593362763056196451015030183906839972684492956982303348098328990610265596717499833458337927029654183411983913947266509940515345482001407312897239589288594093587795361326965405257433610881889586432436944154349318407291899388708576093033191049566880467719050821023861564024858950082468224052060213402827444265658933592108757251788990376646655642352903054694442234067696500969716630731115217006890759243440494960323271430117203750993617172536511196665448958658395840221365114967567782042932172712670144227278616325907056036489095477727479689017926916693194930352116957980200117677201049743018345309162292058011583241774162431752232816594715979369277258183090305675523391522680876348131778697095221271769627241660185352452048409416218478981021709965747524827140710909413897934466222304293679454102642423013162487428777567078874436101581347143814118673322014931577380928992904845621203021809520891618025255945935047595329945684245075803752311925693152538575484664474600715117235174405670461311431154138943069778854016158743002691311572067328000499947407928062038049263219415573657466171852615470879083778694376632018082504076639885599354175642360419975498995087158838855633394208116628236212160295455637575749950508893096805907140415235352083730211254479612151347901613341686919378210366587753581606415286734320505055250498977258139120339846725473840327061426782353612620270004763210981591553630951482584498327575646190699781546729259533955824318292412003115824415656547323714544182172590416033149354030025242981509067861006478253907279188464339978092142674193136960282944602482970657273662204820624524706809373943343173549720265370494927346751147075374983545708989626152329270328522841459302166414094467196273782249907542060864596742604688805706833917896440474833623967936299417097045586378171627873520404106367107503551388978598911404244334560153237564560680475035854044190642415761931378460840398554194916028417286472625920689604950720030473790016931654078263395301100721437970172719544030285040312887734519102009472338228678736954516834054746386670787037060737153654177781661951671206524368450555527640554142988113323742376098106634956152574234092508286114366481805935586377287486050817298077568870046147672483424001908713221441760908792990452573235638934538707606892825846307487922531506302355443513688581407427611637685622489922591889252808050621922220281156477967009150771864073781580918278189810806861073783203290661365345373841576355282536968553342972937816150415422278849539502014302263948436794874946082905493249866722193924475706050279760738023678361199015294220043126345292428604169748539664610923421755123788811611698908849323183958326374942481049321143246594696155122519311488802091355208691978825476417876856315310471986530093392127168290183132737817459200933836232240805319447761886694036882523162791380518346687887145822274113861113164975965920156980568319382863299828016828264690247963418983406509764490705613144561588992995932087474202586183556495840820932058588460237653899616716438124087653641659940411156824498836254654330198275710025200312567597514610271533163349205661649357430393682868161456688355094603860135983892543318031349550700232736706994764096630106522966000237180455126198714759836645561406037406667507266201908844174445975406232635884833460488827153200283315699693759490302883383379153706560276162913472662078346129946892160413129206484233653499322863213743796696627831956251218274080949827175701604712119453080031187934411873927762049397521718939752798649715293221255948617228920235189304260837406593451439388225107233883229016938901274318921708253298682301801013612696263259927682998420023454444557087848653696825596391707004583762597610025509723128376790343986393960936142214277305863655382656210488980361335788252310692602912630662624427551935912307792248527225343778793275913601255666696310527372426538540075938533123184211935049907527384426013714630510273722219860091632437785406929770672455634733929834676636085896317625075106597239684121765380855616657917147597158678573370259593928353515940599424922931434035891829359358358574091006135411397679315711652957581148851390380996126176301915408890359122597628052592215747457470547156405418075572510339951471486799645038183799339911985846863307296037563243352788356821966735100291136226739771340268494407466794687949318219200809973542093275067372073023352182400168751812503127360350496149019675089506486730168598758411691118742507684324955790863746019796241608340077891570285221638425986381368301267208082137377050125171640770206906661873577249326988622687364438141723089646756253552606091565944299868456099996813613910234348186539738397265316776984664025113620684926008052953457306041433469670586623961380170341049665414362356115127085956655079410426666613377604524302490221905259499633660041466745016163136978994660793816373494991450636104367278105229315000121665485412224721246850663450953704527497220733848486361405633430243563503318292938855371102164941260205800542171226200301181269806072684870788814209894993656937324733916771947314733231707586241739156110210413389479474196887648087658783833999421303059153898659601363379078795004510125936946195803895163565715998447420979407985180098284316582184599741139691461615939272532883948478136530457797778819642617230134491436954380289375564996488520062029971545495644884527444832746113597464261491096409443588079334490927164840586393078984039867797114080465793704729277685044632010563650700873077635232129580121351634518918819456844220706957831351342587582795296579768799764277276590854443325948625313993957200036496598587303075786645550015829080120633635403137434300384182019816044865746874636655333283773449030743595561922229401297241799502971064825156308675053210935075440513815265072913758387076011320660318247881240130031764445657705825833341550360053867825026281462148758509131921576394129948730713356830515031092044328884102686047466533291220170301944911962939389804498851454320485601883942132952293300418293098623254172409529774191161379329269895533725326023830199030443392661113184839372761023454980706075584759744301666605558820581908291859519918809091008396090846382530403738608333054257711304671387281219908050394602005371255643063591426444726208361630656635886368943213593299289728896623538846785915793892762520936538695165053257410058561960543584477796380181283880258256502917142042760216591463033555421719308834498686626286736627962852605230024965551524206576118039333365827226579472662966845167008905394452168966740364068775238431594361236439086484497567434482588794288939198705106203987417650325573188640133119024555862616164274001351776252211247864487425844465041465864938725627051110372718628130958778934811453131363765676961653169606496392793589204445331471533788159981706997364129393137673145968697220306226286750375744109374564860652088197102563450552068000936009353665255212338977997812095038674966355322547958909036800551816711394362785340940858066662327279070423563539850879913105606267930892343844157001806231241247179543163114866246088370557523905595083034957188257478632796899827486485202798209758259590123226263874427217238150054361446287979119802761296835689026513325317361027411539444282044751802662147987905206167144263685372868404817267364643589472917695804267786843995705193929031360728758525529219164102484476721711733139852819590877134848160559330686208913049209812708326199155585138921123703004426210220362555059198588683534626854041986517879462221531433820265968174582058984468410863508480851082758120977437287485206778346762860317863310278652844198010715365445033669753486521986419256318453923583130508345663472676624217380826943468255979035648472137154416880649002243373408988413554001545230101159931429043604808836748511651501373395827305504260816402195744297928923591526566875646680393028465326354884291653421811469351096753965710011056758772751151572379792519141279154912143490454183579943863585161550961188546792996262060132940600361087945774218916088187977659857122805005132868580697556973835732566992275952583834451098138164215156904518733712779252031122571672575865365923558086030029052524672754883740360219413159285638611368065189587390105415373543700512390709252449882775031860778376701937015531398503509847652802022864839678063798322537683699946624179324622918692611818685611173567464881303410066528855278719296334895739457303371308080026060363924006685746521824651675804479958529928697661656974845520925043173300943908941750459622868984203257076743589810717519922975157838929923978232426500727022596379746051953269608598004035946720573972795932129155124271235394093364233609944008603106058382296414427387331933319640296149934304702491747885178065024785655079473481513468550519237286261852326128677226548153712747597309833479293288484036837426491110752643242337090205820404754896769359340215439632449350350476984596489515722306469033245913901046079422530408034650513467271996592716640034680877329094828363071298114727859663049557669660033897591987214579965703735963728887709880371601055636734073727918135515470563613505392456158177848915044667209762822809430209717839912833544492055405431982135280348956611167253457180505079539351835624474831509353722310456695988307533882736329242596798631786445675293746821643111053285147104132148339341567045625484692374376149859934370829751264110889481079047714492718820968315995059761838074700631650157460590522042059695912824580437004808453515464345659250110981695037729766275372566514011917559200822745648062090452028999985400198275749924906211189868419559437980789337139083595851398117262440250520569947542541188576774612842918532444641245694442960419969979569418143291836494965959261947640916346909267393812064398289234446203940056144715369199979040335999596052682926649410581259219412216292637976117271311022298684229496668855858201226305172636942190767128314937813183852810233723974511281977655170801802097551895379492280580845766941316738402429445726752654321781598244693151321513546229755726703488935260348082489764267939117183244716575264702434720415504483955984049967668615175921387378226252446638441445484815831869981210443579461073360229009804076841071633069597110033618269790856799267650363537441145476460277544646970469176996588131787985051527415874137789416264737715498383536217799087162797312208407799562221602313728156966908451711554132337907197670066653745932047546319470054717412074994772916262675201183972639196755006864754068460572511839748918865724300354869011949400183085890031032443275863905948245971523770074022739020102628581275104785240735357162720348725539572669975949996344265842266703464536189069765505418549610691385166615635923632233388789411926790092821248263122280505549942419069905954621805019173633263058947693543743248224385283690069179950503370777322127508648256150473063932183057851512151048985938732335430988620876179070835821637637891486597752601337988193452824080083301290548697736773713068158753878708650397173541794345354912363356937640933432895830666850613672748370014114665845032115349419006305612050340381026439418876603107215939117491349450473973715354263655517284853553151053351227967116794209358460997569609652809647295050905157136157550099879101567179161507932695649051939449784574746860617385323967719769716373596640730295997294733472735323057906712515906816295059479884731568605969295117658176413732628861391168139954998612261233107559783066752824071659076849937372618859751576862634370757006121511142789439973256810222376268805290203656801890450779786368741573676696260970423688078515779696611014134484693256819667889800290806124169962974575194364315940548885691496466288812907138683067733434248085554794817157813117071298688741208301297272362227092099710492106853827584457519000921369720947042170323219663589708437303918931881813566470563773216929405087552976063356280965296241355402940154521731325932892872281817742357933200801140192007741417459728700246322186811433833025766421992312385557407333405934921587872540221956466563896952354642627647577457866691760389922706852885068033929880451039006057712435770811452128817944269657560414967312864170751499634715862283650564677512179374650652544746594785366419544192197032829134697456967702019745539104042807736966265706785994366053980267233069752650033495362105166042785933993596035554416107778414203803092207885825495478839279555629721696326726228141027492806900129533661846007840389901519906895839479467687198528739686080646825932203066270301944355340462632978789847960412565218593950350611047979246491084123874153926767338826716091744962592744909436398359581476826000285710699929646959937254206159130651880095430908724660163045203134670286893716950445371742812777891782774070612257635261014979821917178822726881256427604465015176163822707921520514324160275567788785483330027535568619761112443875947597922921487726040026840642890794818297087450944815557592589694637135298412679379815781452387443226414119038678773376314593063372700605435567364673730281780351197716727620365344979391060226116424098254666850360247071565613442038486964627604659317056312708849264797990899278896466564219360535797550618318230057425359283032947442520493391827439338567670450286278442162841823032388064996524084094169740558835122856337297209745201327612097602707498057066617526666629631590396176154417197009519620985803925733326799800317262183670896801461147625087011799319725149721253916483025515994090339514137080061443564440187114108908020100055015921703224958819363098817328344893618037656056337178906127060872479035365545351318148427246439447633953646531742253358527611320966751161385298342757356035062581931104787286318351498941752049597454162224510031631258682173481686006257789915200040953620578824404626320210225502624246058497342476786859235723402360330194834310271807158268946425390815293769436144661308161565760426346486263728141708677996574646491331673081315557907318063026360621152257685109835411578648573732626596918678114965664867194335092695820521997972800723379532031465100672388528296910849387229692741944269285399808246124519048861134986859034469508673191354303704353400358954036963859748122349912613056638396961555911264330477895959985831394051457076033014894985566888250616590485992297437607816739563922920826624718914002447775588200918676430218398487580945809921530156240532626578631735611100522379187085366920666961058162523095723702786199107545885357540728954844789937960690608422273428836937293306429420692117770308899653297949699227789485078758572353161884398214900525339105673948915982489555996463734351005826257248600871360269071445955092387841064573040069903672229858855649387697417997419283593576318488675042305907931565202249391677423094290597771307596896258889132878378722056088870515265843843202888213392515340443612732098526502344267597473272649675618169621143806638113635973731210053035222216187142312242905925566789781432040229596555192707003150396135846937913119151159594417666303641951735292586775436531073734251338962706817681847394137265126329646421512655074981963487277833557445056476674469500807790613661646570800711096425458607804155308189089038472212542232701684296345586522374334592091308689990874830559568425909509278529940268528912595548145687160997880905826351908574576564679195613422585352236468175071540614542164617996034789297779452022669460072005601727129724627823024499058309857010925450871607210194424053536122878002933925427533084964913114378620921985515353478222533229231746691576410446821945202903390237427199782261783856649043473370394928960156892561575656699667706099867676301759769389892623486714179957182051663088252968574850573474178765933288108561685427434399851477118504266839363918473687480527538520964735304330523372579855939308490425611144466417454715209894911659409916727505787419413420859779750749290071184588768784007269317633443805091091349582573927967431410299772703631619840327415166179756857648659874383843687079423711838102750381875321307103958039133106737913015246843779678642086216066741993020144564452230920904168011486853529963558660197070382642890688088179474389520850034253150899701326322449963891040498253876319373368216751200481639004831416589647586828053454056962775162005170817830383859007052994788262541121772837653257707783268333474999643453699628764505944773288614545165583373803381223404466470002711479998803478748959243534754772223214956296478559383127127386172105290581316417426938388102390887667906143144313205625173069883392774636065055649201759181705621220284668808346941898556134425397376357197073120243318835264269007904200070017967061150779823105538899255363077729441655950132079601622260590705577905265677229042868633379101962242714334225018058181504294735421021581162353165825045392530935895149954100769366395725979713515474293407590246755929994215987420738755777988652090366695651702863737473477714235627593133461882847913167767535504370547561369813157725067320381919693890635808359947900168574810705099360082409164017571589572907154350150357473131860322844838595856027496242783385979862812460989040992028999111231750609471364319680081821146920431256273133742701501544056929118148054271214717076897461146215493003144495577275234815038091287434817219590124149190895535761273378951453439908231600642174011064568129144856846739477076601452014832709960789940766389518611429281699170241502291460607146152485175896819614628117126453122679037121479405145939085924437290707813756595887528008125775593709593580538731844341616492415022109931861892279234202689710768909947316059275169958165160652789689638133745772085766768560833212409232629338491503701356811959745448986415905183254736933155864112001235289721881665728427185251352109623076125712659074153318321814378308141129988761864285214734269534936334447418802424376917392532114171496250679820438103074188253230663733485741989871084755389478273932958188748379713241483468352375903069457091222391041597968545434230650484453125303316520426631906162683349999321604799037373733829392425839144671281233844294722453685013177816123116447687271869931348486576313531129564901040574578278616340570898392156412494198684716936144419452417111384670428287171565436196535203135893160989226421340016729170081101971783682154447680956198436184648091173773826022851676722443781394819331220702257677269569763912008235003264152452043978738000653466058508191155140865368658452223479710352789542289960106817213219939929930310730766548217859885279442407050552037825987343635643407421177229437171746739234921038224169902548271921130592513576653764895042651783856472116309455553913699765720193479825248612210178273851142437320411011037501051211455048621645223507994494928616381330285968774821927959630862759718865599575835598349574069581546713655240190225479169227801811448974018480663141058565202103010188500615526762195816325910646179215487244826448938259790942718834622202726526926845782500746861111258306180599806173743432354351206760925966616202687903781345056051905796525310845736660384962104283458035204715872554548044251574120575788883005049229479446171739633289013094589190081799255143027387313414198007004075916113925229137135457867143788853352557644256265575516409962675057029242549078005735148957457179903487669022404027584943793102240493716109442927809061411908389556860898629489666143424182044248406576350607740538698887685651637270763006304834271073126882973718529505769792872996959932305678216980752377283963618972943708568820303357890335932035501117294961625727502327237236512604909756654290054682370003417406074135993544639776678914375299897309160524501723216088715849446555838151864091040544146790899355581288361181174997574748837746171575007327840996917308234007934325287226581881290288487181735473953049665357506163935069916053923877063965007219502899510000539741820978875953703135616894820269684531696554887717101409487675695338245524117802341237538537001489014985018430285561878931847097793770879871798234288361667111683538451705687010203983418400684402421505770482737731692402200368844893598350213328122320869013824104690165385686669531197211718796725701622972033017981869834914534714609845283225679208208810064807334262124280357402000882644208886572165851852147201905594341991307445347525645785298220230541774222598101742536113736270007808994631522648918761277335782442314004661933124971047129309577857295129301015444573987504880017784302772866818820298598023348487295208356260180786272624620008542256140565602003776812529856291773244720742634456904320105017209892761746221361058471797406175049615542666294151131694661785326157318605800268659808295677808298497751812094277823156011008183981020990605083938564593060656995403219517232639992155224152884700093815347419154652420796622851215117401032433085684640135919561772528217899184753595930714237611221280133737193168928611183138990900183012147613299495121911857783870296823927749992183249162420030267340774357338196819004080552248711592404364596400222369777240202628111470329017277995959661975513110703247336146024432434498502196159035871780597292038142077764437381466440504381198666675779038329727582901768844699286655723658898604555198920821933198018247092240478190611383031613151632842872106555313632578813230230532958086952486906184635371727399681097136085882523813173973565357297586651273284228291290009815706517385605673082941580326642503868170692212262184823269410953268764973446831845218712296532157377798095588361213168266246624701216003430454687569494064891291426296195388243037649920865405482485092995035250274396524054006379137042116578309907184485654737163777919124590309168419585993326981427547615896910028469452458173969709330493045642102452734506466253767317353904766402717407351752488931140218244629434326535619936285438953074260468295382288583055244510620365954407983999414427385829833088362461138800566648890565142424364061434203239144825125483490756506989027115511803217928140141264092418054508561462622866331125590525509158463290808008687628291045939776140258294128213047774594918090048370098809161071716902868760603588113133420424594578061976035995544925613289710694427026288818971850164879665308153318069572910311909273334822881992237470329417948750420157331896315839561684028392940768072853984134668959897417496103216016759927634962683843221531637228623178205766366696724022317484962578224546604989343129497202682534551080628683444023937716494043062438917745929463918039347348009972160087897496207402756361377250220490381307973208695065751098338217464374081001353758760988392079737018133093487052994704952920196968480833730839666760394704497166741181702379038064268207763181609893529973214800318836689351589943725427128584175213582165635363254545804880287516772610883531611803964593127575832205222983037668088445190274295838211339672835503967474841643213594423257659869455246219618737953574390160109092840477365643681568207529590125078282705496935229303246242874408351760537688404423505615214786746778509632025428592652407476904395516700987618400893727483369308042536569917278283600724890291828574434706592514957973697026156365566303285564591631272702839688075817421124300447110520538402983331455721828076750607176344788661873597606728427632797941829350381013372249828963697933254901581463863660301266378272802009723112385823269465846218500201032327782732978936571887240536546656123845913567777213862206478722173233494934551127515441099512493666112448152191653602120385531768471363655328515491739167450378756492309115163180700055107828158990019629796634570102533114182044464809278190565286388904732452102344935355387194514555511077602794905310189473467845615545912442178879594473097118805869921750995040176760623758048424368920303658470983415323590659803790719721614899482719385086749777546255044330380354119492493666729705618288991480368223679549096043691464831058142744955899744155642703011720611814429171327251618699672940939760659921930274106743425564179781025240455922858516886126940861248860364053624385730664774752931367408222016120764455161036884491483488269295116823836191038207750827162941574934279643355560562377902775981182760743292160178977915668651923981825269807988386372881207491093637120238560949767523891104765624903260259546012899747602951253744284529189049509607060512172359338533374298608422070030607466715843794186987463081694912229798321803714397365415340432679800882315433117439902636646406088794036711218606053430106343635752808902760291954168773414560194139455436256536059347435091877168683517636518854686630374037145166671069468031008904744812002335895148388174389119520166363494790876132194005898542772258710200279977945928643658706105921116590327324444701958364777808520502600395756268425773609689749295074478312599788267465681667018205602062978909098520080912308498439135798282788378584068679641960379783137169574911945347322140967791261597464517377699565747108880708305786999792236901899380264284142208790553834699736488327940420802637388239780937775026641155533272728287735384212661032046859934664879302179543071233573780314639782414520057419876917125375392035598358248587242997926282055056403503048564620354869054513905299538581567281128860204824192890278158371094241843081162540463607644327908716555890093751064330295087914330145665219294999732316464573871218236919341413230450757515770102273005209097897021511454494583750437912699213732618581468661033468413818610323431029959999162435450757957470052408877601570051725693545542742368567172514820878507476030177555429149096566506691017105489201108057901131252182824180811565887700602044688287653060330447341608981193056535727121398429358647112531540953294220072367485959048646609421382291402857879018374770411245918386893105045780369241768183645883494977138124815588551847758910333744491754124778442615423088365848422176911779775928587376467403440139743102861694704277634587469066805072308564963481302538948009764459350222526203880735565401204366202969861609035526490093314768139070271175313518890267310037907474247026708655140236210910201203136587295487947920443563327151010711115005319870222344352449571470700491387266671293221719574083167061217928414549718716249948146264048791625449346845356571444806360281279657541406577278428607317814498882220962147647641628606391036281095196728982728754555585179187119550324623315346509744693086775577641231384863778436140080819651102319221203741250202488523869069810255105051619630666363787401030923921814375994476656644150078936596548000310600697493782982409862019514678637631289056047712110143669024658918433928358792148102927315943638743314172752993565958830983418736361540849344110132285583596415756816628926312385384077721317639926583106543299839077901130450164258665221698185045378798432504198849924692260620335498701122929556848477221720119172179104557049499117860145040025677723635537913781390595853845018388533986483869789300593747841300001359673700806996802647440340505598594006442733458389906987134505585218725764723454101078974740702494644133374785365694604789661848496369875518036779677812823269798726560436687688095490917572014450104294590436309198785701435191474632493958057627275162617168786746295067857875658067844266187372461546566101483306910870039003725286042397026949297800419933199336334855199689352316173397992288335819428666044102961432578815420216907574992638116768983961041205912531402543860998737312596439548149701079357994631406133295589049956503817644128509842933787221109213025284470671336893170180079089468061267518171272112870115773025875260456409942793465203349025608888864294517853494285136312908524810211055105476614312266941493569275142399633309184990687982894604156246352882688900796254637936919173952195253244358732343224562488415890856707700965441737314288580017589141516957868968097231669051311833233047990315625099752540177185271330699212159390355394153462864103043985965336669098429723158083256770462048213959020024624133128351087544698876369538653818587491194000055755976127077806676360684459247875843338161587918734912245635762352209394789849363432764865290891429689021477038206609755586527496459104310391229977276185850972957852886432489718441168054922073637167073562908962897621570923567498318387417529960809867907615700740680989793746758802869635498024338963027526340753486315553984206791351471578118462534555410302635253212923328626564697382568829109098331854774042742888363488732775178179548978386876924847189758941848951153516858786118757006194887541438944788678816841949977299539006059957816583507837436263543660896584459160571754160103682836896087601025231108375475988184537819570506238893439508074661471954257538996044147861592031273094946551329507209650863932090559181777327625941648070742084186866925735524080812578097152559079988699898297946159833053891238170291586207981640647304691151217652859736575747293983469866898502246474820858343804112348458269307473629879771304270115775562038328266411316671036132121258001654870147666876148471783697731424435180369062936342778902932073059760853942744998383364707946598788236572516568177733819017731242160963523709919446297913239902116269054513531519094561418025070597707783341565456731070408790511260321424171709442279281037461982482418740755209736437223945975461980598467605369896034816296047491089491330461755290087180290426368674913807071910616799393939589580621541452956757162730644496699741245348671200052769672290387928288797634568641384851026446067338545191524187216166380258996705636664182174046884719659062197593993121063889351078977218399238270871388344806163955063306380629966792762930384461814709227382000589409449120302302123968707999920750144500498332516642703935036166413304752818996735065562732698603173432812774273496186210994522391963910258736089908458844193772891223954191998699927012686671369381766971252922388381601629597430400437217485164561489839705410668062980526994253258031004301463248234043647559293142030406034928320369732641741986480283944128058827803484685032819947872110408616571057416779362310968004250136453940653541173384531170113327780304581951363021913444714623596410723029451974979239300237401076121841612658424469260897039728934105511460255918930928208774130984858279100538149654737861506322128380406755281468259401718799953883225256155516494528855697060070046660385728592404073528547447244281822676455311431891762402729895797458982243880189608601091091122071289547336696573768494174330488066615320584581164607841479646049427045410784633462992462820616466575758928076633021563678583386831415428482214177484557070763174322280975737859132959811489644236738458861445812531123692430493424961549794646844855761498360642217458318073844421342038992723253809967298623303290736082196565655660623329226400414905289635849633460195524944226006350518114156094355933100017289129135214063683857969077519363581252934025363741067219544538432509529929012112424305294463360744599460160266333687024963269385085424778266158574383020504276435906328607595090760001173164015979591656242068306351870008773656116139772628044703342273744719170439182853163966194551129554159438808977685539452469655802490496513442997211009720462647281435155037531995238525377526002577180505524943972646274689630667941736469586845600300074310203497166562959352547593178630080826000651216672003871462266820500938539785304110446448816875964807342841857008555433661718928453684717856709606387436559199820469458091034385048057456484068075628524410132385616408402724708158393143152226139897287802432066515949190706135120368426924613649786648442537627961978220432914671437314203314813503387397571174638962480594117135792803437025620636001875967723889533745138672460093576359976315244185554366146507351472593593342771629341745820053680398564792227807330516290081471465430352523335222856400770575195853857663437370482930523672565322663053612806503837561191439424131029140830340044493581366995631922982006132606400271342192210607600561531594991532792915924697240782031578087466800925524260211096739301187720724906320121544040288877204196427526865425324321385521840192041862933934515668648736445951863481605572817323623969600267037154031675976377613744662280238262926573640475208345204167192831799893194816369484180102489927014372466705732387247518921950751107816482534970834416136723434576003249740848144970769888859489512999635583580882280787329012611219511019147720562877049838430360470725825152250714446181840730645530416049090715381446610848379711258291207140800683606654228749220250140892968738142702705531309468955101546057624170172514336225741937555828550426510828613056256136290573244287971155297744058420404230789314400524272198648253588055169079200536487845574272369900175333778337971708910831213164594992977439399000909196117683277769083861028779911050555250959251012478920843529508054093218433399100849479312337874210413310958221742624377738812907024303502272750822005700077717927181006049927099671318845287340877551477092122315261313333299885065785512030545643760786431560555209705178372533034315134841023834099276226878546251028217817049679661158091329471822928206878557564623629689253200503600192252193560333972886474476504313832256346407259170234658636991307289525882293756840533446557547894944841713990358179767682457461213116483924066820027036901271933682364976534078860719181415777561992961169542971030939230792147156772958595982882741816312507293517200593171705783615237311129680748575568161555675052263406132340547344282476774436999824270652100061048065914298859306243014532111103542337023112063261193142635704935031367166485734936848372150615032152412622543584472033028150889744469808093333814126883770026692640527534338621810510567119256488258579744356154036936920220882764274454797209720489346506597814671338596487689953283251531157886578768973762009709525160009112011322087962470164636259139588812747142533066883991609314460701318407040609541720538611758726076975275360957436709553655371206874303445297529825377541459482337871934921295135862684610097367652360078243931667103301828379974058621048219968363960376515466087514208374932763495139063874661573840422557075626794956503762672709744009714821830176335353964817163633504100307572157786275346078500559932170347805028114169207509286508690287470668652352622899618322344936600103452057522489568295972905902398230097667873973799473796660229086099588083356736904261710781973815036019645481504954280967543659070876725322689280715708793862521990934263279456033361685685915129517240108898591176544004071223600150083033346615134484462168865130044022964177964828084936976844602025875277721609459212062286173107526500864671264824709511047376219444065937890587756401199562176378177968963369652932927624361918162532681216472114702698328473874104204326197909209993482694212772028768226658762203991545205494328121923437560600789516259938653790855476342193813422088443589273393335096944599826941044499228562077159827276681261549000438425120660600790702411852510767326426821979999803132071044592229004149298426587545957151311049212111059040050472130713890279523988405810389835987707064165683362839860554207001373023075836980971010710358581605780822757679321231158803741376851131537014948032536141342550162626414354647364982451070794607984882176617347069682600935699287913506364542566568391414630979189203609273895163287660795137557274273338516881602910944272512373933244764079899562595164863699825181715824888740085882952503404377132289488711339559916928551706920182654635023469251200484233425901687226834828274352332606719849147367660042319111441745871043383224569236102522346257630070050495178820730325782804795178224082416752254666160259534502891102697535568240519156566302318990431332031839066954357130330633284655889101513461201937251470437485760946172904674375783900723742421433987639228779930040028664217715241010554379632332538247078828829013956812564613751756410230918371556970107629524121140669549065458683765279829886529834475638822056881466905165848916557046874849501451283582001321445541885246748254730754366685184031739584113494252029795993238609775983779001772871221801456440491067399550490742248170173062669065264404974730401109066503873118528815711360564589319354187667609045123380911268215586870337220809067081664339967103082974982469169621728814091405996749623595760971029565072792125062603401429011873723186692368546192114356366906889316049951313157998317536624151052967987995514002749328641261510210720131377299136503890081444989110568607961239283445356405999331886487820757423192165765780692211328552780625896362514960123976609117051640147976569453557428168277885666481956894405691888786678717545926203302986275530987665563141799368085029116138853612548566360002743610654520390792896827106392586722391559744588677141193200632307130901744732369316740193203373532793686896477181534315452034343815377914487473846489867788146359146123127310492570044384139654129495834808292573916551563682857935998165737441620623840115587438395444231113503877408364765834404205934165543402756443264231765986120937371908647812747786666995901825776736936326371878468238436850622918462989615529267655768651258916422782662140631423362394055745523364534697139494869370856592632120774128457596398217989268582427620848097183458757147104669386890068515870713011048060665421410086564658059561089669554421822796155421927135749072299980990237915211788250113223683981765658872965336917923128174796723288399452191590480331177662140798476051954745205349776903458095320045928943533221377641461320283542232641930975317262262063384796212777152837090727087261558871401052208143793346261858219052881468664958897532319299507825563368808669671665646285245947849848443155378058478890106589763913160304913810221239698580705839906784253480174804205259940244888212180538411979862284538655358216082005964609194233866238788485177891249390151531485153145668579280543505829450291069143625040048897027148717450357491281934113142546160564117433057803833822872889972598219673157155325493069677903460494735529133992797802711645560615201988531500693793771524610169322140115091365684193692235223023600407787526062515057238561492016959370287158439974672883233998340222272118133511243640647312249340387873822544370328834940329927207952544110800057959754852118963511402420321602860673646647246971199450828666149230757173045516635586702933624617710478843136427851980047774028407524954682276400415788186398768049474798131605349684058376177036588511953347288505199247700438838248737595399158553339218382910019763202106164941358111762257620059902285049554720776637584056517343948219864888273552730536027943949953728090228511932109888548535717377362525200983203855917138441665616600459109604324624652031071994858561222137281335275549504854247328783497384519554924371654722081743019715753182580009766172467633173037304738738952158852832873539471495434019264418394480710361194572720938544805162034038474762931713128861876454732568086691435494757589580756612945702554801572710565563010280376168863845150462105599763357537312713966812847881575101030904143083876553561756931903612065783936811034635534583059101092882987566240356792047935393677882773909419195617813166446532399823533880911833962354679556034055249579492538099525918636706306674413206835369970205376716336785118541508123111837600251386906288144297625612651816011920480456165268906366914744794677916235650540471196343886530208806580112366275265049109835762217373962660606274849061585177026821606586297021179210504738102152710262269366212492700686083571751503631667142110212047244295583457935603294770940387971693530811826209856034394777177664318786157903309724377737983029417576768303848736361500767692458547921449374068056781060697400936787516199062419469311625652464315237254040604351103178900930816400197860320881256603526824489319702468426550057688664839179643567203886109561787684292624628923635817800832688198084655405011693549550479738253139918664593953010591918871324371134124860843925622851960795263642976203158794859689657579011439532308160271585316968756857954111310014040470944186231335472497294318849013499178977710463306911644490381353641839200587181744308379626972558010888890179563217374206755107150778412531354077391691234278758301463186100135583240278722962374852685102554122922288194626932881599355182716200058437036958948496016178483801718938545686140670663973700263332655127998536297539759437771774913506255182884526058744069877912883402666749909167911417344021775487157265123417460634007774421751496116054355741411616623390921933478665346090264088110554932258955009231354264216953526522202813940875237441270578285084429895690928628844563928508730777597925062084221400263406795436650101686443672245378892248515285728080407352416447046800394935261948454693127952657810271055610179461928620122718316407438133171849319319031520824559257190869555444128183962742836873236704900136562008554986554412775966822562742991247135016078509542039291232642908577824538323009154424073443185423659195891247449204374762858853193991 : 30868132884660345298112236273524780844020618779401181332647359804500359972032170111292570280294431057406963963457573942520356978032887928689556746439329468076927187233642279789377656055329089196633259410224228570206223972025262158333817959608428292786736613263816382705941507638501916651888764972547249274956558737862558635795622563139795625048502271657143068485528752434980383695519029226418977967514700869017715735731531109109002750504596781408716423732962517115470001717491434285682223301869463286410342415420723455711776290936164207234653128743354308926042194628780745685221398622423031123157692340310620317525072572943820263528018176743166984285809090927440400352471696788240826289899953877912229416683286688935160360332655195058080141484494551997351202857884844643245100894168024238209404762938885394275716342060762903091451367299532233479129144945041163930253482957743965956748576767610816912914008058214607282451466862146539208137384481665374645452314323371610383893281245418068241846704771368913355206497460515242592609691449396539105888172694817051540201146510893876546389479902132113696012777416942875980083848551496684005468164459473980421421845973086819205708504503808437591567726987904603718772778542824456478638174184209360532806991327125425226476294481541012485610747441611793326091205285852699069039260253848385585783060760318350128957741575936120074929068103157585933218468790490234965311205024067591069459517268325166984134635793201869491139989361499124579161793250222795386226460879196709778126222761058945345780178665453343732709558923649315877957064917341514068746419087135766092851895459111947719378703625149500438994631911319780243031546228669590967660149593196372797544369551170894870962611335899432619014601384147865161812942313858556229875806251693576537114362589547814613348864787455976302607040585860681551919695687993090676581182968385433472071576002922955147880986646741546328901918354034057219009329477351163711533651555467214502652040369040013157388103828898530557176908131542161642767927163835212716389361203671466074993710918751357522180432072222136465012970679509269217048459163222927345314441893401932388968696997143470674809363854017875884898072161659204181281972525963098767363760787105951945194362939497026837237660848899443600675610976432015477142664240346371488848438297459554579953296429950211130997494844022660116464572097053619513145615292036982182481420489479388278641403538122883897578269373202590413581225638088265627860065301859002743279360907107523490594507363364360539230849305774406970186088585011720467938760896094736133355887090774048240635040891160491055288808436306590234585627988632678943852863214142759907151346236833313762686552557577933624223293927466149770763390542777776813608500229637067827679467651317664859925384031663928499821759513482144148797131363878509278091129235862951835323762172683881948847877439849368682422453260912689213052797362345249638234304529464157621172171396906414584191958605280022342691610222341428295170183722101971390531068082531233355390130835844775477869102103843007820430826800874469061283510125225026835441384759065262071114606748641039976376998555162792522989298653827200392522981317115956563413348620192707798714053670930527455644293885263890772618167208703406318373781194520247576323301077761651827153924100458811395010153377505977434165764639115875418056598526957164121197896118761001104474815600954655217951947409209599083209761080146338495583401506599799237939349951468765582339650915959074159298012491878895224079638570612716119691908374671193242111510126020195022394724317210166421558657878867141333977023130088888894618391134499052160232775718151219450264573700465350065170912954712658475449540215444055946728088095184597352734487134134431692717747218749859859785322945722681310801120871659252265144001753396942816590497898801944081177960361385340382479589317607761982003795238510909615567939897068903662232728450576627250950415279865505427956228279868859192286407687957521524317321211449119884309295126218245523021189175523508582257330722260160180534986295622181696896289580832277689267226004176878087500598474473099483267941528441425483824743336877826888578432435729180105428042655159446509069519764280108116534300782744702339695867407183207024298801077590934876635490312602088336280026248772982120692561449092211721041007070069617698138723837566985270733795576707856025644733983480796698367929076829659801236381841387935419048067735851883242782540233334938721211499788642187160945229656536020083004712530207437194476313408138020919344010381499777343233140561274751210770000756172699159703757740251066523351771009809386650231990687763873849995795132936718649744660002895940187352324681617734225998644042245406374953303701680074933213446211992518767229459500778686674619318365022580814389457711984384393008887273618319569075936545289508912229342934795998413225497978923761046858815500177156129978418338557078082532360631796959762628674395735682472139537477281467801605904824406591008296968522581769335488419985622797195709732404923485377651753882620350480593846926813931788683413732167769079988409562000582081945314644227492142478701313418963091799675478302145729278890373697431161464208202843185190650941744155136536198635246017472128930975750352282917135739132337710697450963120159979833086664466701601438052932695268018647626176191296668572342835380359344223662610281843512981115335001876663659643440011807147949033211875748101958322256369636691342135708906260934019020321918145428955071976311499695592317290066738410901069180600443324310066951522756673628272949715316105196365608757676705568384782109258481339967301887763438953579739247742918640925082627039764447768982978136083734447272232772349335619271749110013753302218351485609476932472468768120217870677736917080198511091246962882660667487506496538005507707570722023335857921056887881774205123924039123317737324190907409355235932197166294632649782419630761179340639364458354565531591481673806210496937328923368158574466463372434888865200213683013401560306284843704975087593485760142620157902361853982555772567009789689980651349830027238869810113993571500812721614583944493670154819964334305004857313763839953250931748280517451071657051711601209425007908417469119914881146498337910805787033783521142355092307678238639055481361699141906479528452484737862313864790827398409405356831837057921469280904827870651545411206088147833486341487513318254171648058735471680487126235593851125804838349927117983948014153592428646347256267654601540063001987632777593723162493757972140814596206990787163295098092575919027323703747725970786028824096063157320216862535948111815934138940081697636656549581277694259215145880899119033631575716621866874720970045301413259920541957940995416958054147618541818740448259847579418023545100920746048561363035602469409630620480923612287436003286391861436441403756126501505651890043338339632055454914431136355555227036925209912996148533419488411057383331111245250887461722360510093018814220611861649968809384957446743886272225200963008621906208858298005286463871210382960447784254806985296562300030708064209623421316232029662729460650725649187812678729121664865906993001018788305764475861894712686722498009971630748262949541247531080715469729057216086271128966255518442369203134572477767611236142911824318371954403916775552904084197708914626343409221938432061387468001422404900301560250784354015769179492027042823539835787827367356190020242489924683022689256606293781369360608153793395581183703362769732114260301602542633317884956144377179284241888697743152343886433834995255696777155957302275301792024293085288952643407857710109302054337727048994272355087975753974421513633265915228107471272005423869522646049869846464378749931705369389709641114813642866038793165130284344913618533656185584288211109746455068203300239314023819120825226631568636883522511304078519822766046151101931148238914391661314783724909208073734267184958691904692350103639058127583764763693520162398238260827150808185604751798094279584714426043517463186582871954796525831095882316361020469373931119163702671043273561829214510116907776779477525256612762015781696276840715228046757483572958551014849454495019833779008071007133399709654858599599306133950159988253045474251680334160130140629599685370757313857742231971058893067214114408098822584059896378563291904553262241412199663110450559791819233035345419390520900400722993895196074820292664569330021648363849213926870552234574705109848873834881725253383367762235941562228905346716216247536153660708946657484241217473597331141397309799342175587206638947224562910500089870994240279384055099733661192513518355599604503026341274086150822046919273178527699793581440867467063083230588300963938516911067691191029608372033246586512026885897386483441523753756506163685271456141638176021899230576546614701222012719029898219236734962624608249663622015109242976958541304397701685430238616585768189622735353454228237111015744322604739254117746586372682629289956354777227430633318906908181650353333047516394070856169190366704010852243317727981315110319525781510603502451860627460422303790337735820630308875069583610810536912542348404034038401573368013662920904503625345784941574045124195044457377205655248049223772107159337040989081201247873914746100846004652801970684392833753100444244478185292107825273864857582199373640837435199030984928985667526741770546527402852216544027035520421333356473230690792439324621194655187528517646213573163312641987530093739863706127813346715631538160691432372430032132139030590646519627285931473811066497807638403658386287391515720157609263216745834636636557709317952182806582425154448562255346574815847461191834156837870899658671985916478125159673062674335927354537304394125009004532514197683953561650702560761653943437316434706946156174574418162758428849238294078495538686253872316859973006679818649242305937176031301888238752174313152245874250470191339314036357722688860430868214080373426849856329753895949036999859231852555338221991811088876736198167574393274568867237033557774829443431982845891487889720470834630731352934427935263725665290522536794781621464156667203271796615349374663066297223959498203095208853814667253095257721615280121791272850508300779833364491253344758105803796425698974193986779447366056654410608535705828482300777047490181368967084035345762327501329975046243034226627552670493001334360877770964163695076133536128283171981218034141641904755664949870631045771179597548022871950610733832334985300355688965004806356156899731362722949391003116433779254577327202019611483447196139486521163925849590411547742988451915128175044627478944003996103221135136982258595286056890876780765253936845193254728269865803862227005778773410483445840163765522460792536061613143026730153823765611566433493992154255548406056305461589994627968357505012396985375337816581158162214483657611923116841546835789876556527029585497434709053416139032616143334645339157011820223831339721353274296769196161520658873628590513240189390539024014992559352909097751023464906528922636005323136147762055862503547267748998813694466359006737851736261034971381331317692405387118711295909425547371731143319982915418278817613782139170778676382912262345432516526697706378619230911048313086243327037316871590268847698960852216852440645917604104306595180630376886771572106528097810388788287634931525929570723742664631694077109648950529793544833525945333901977847969204691390902026131837976428020727833220436022447335552934625669767118884339826045926023079706907482266881378818078967401932741086248514064677570139971917726625577428695823526018836534144263165108616706242183878796544094724411834015835661461601008313856099986623008999722081831999045242900995158240638829972624134161051638069021923922012645418207910676189511778759292822183574188555847733025541026403735193709087957805211280373730391915438339939928506945493443957730678555146390341830483062638059738847100431283184558182159374365283427648713655381786415632136188990411523617360094644809892458818926725741959098281332913335077311828392260739894998646824494082915150112503012963542996433004310844488665341291842264554540981632424848699814685971943984744248293073337444450133174487971851203405691407585892941653963683668955215643139285424056158779096500029778540062512164880316277369906361323428671570549209873672693425000075969965954655131967902330622288290243519992645560771870855485365046680256753175917204529394176143874672927680553584336258464066769725457968816160700524544999658995353860162605773428038321982808512054849800203639762232858886205985279046353628484599309233282250096011774322734855011582486169572567673751330433840214538328523687502216987789412473134773487931034777652630044999274725969492995083625352607037507617624740675888821035742001429580692622397038223783544437812946076309391200497497562722635614489128076189507176718272556208615652452622646348727930754855935012642883481477593473755619559832380191336206128610252093440152454662664957570746699227626293107443952890548680961745179566571152773072464202659137746285501097676870726226693836765548833686525126651104398151331743814866771875879330013638318851687810177360476065797149006931506594038542200218338725991711716327563696291173240947573437515887891166946987997546076346451272510712992104694187349680969190032902104102180344805711135788444213306206113324371155526684043348735882300628465050711195914172841842199780872778876618582329393938825158864211675483245508905918760703559441286403679686810307863970786648780357667033652627848146806717042038980313476235095578163397789262965647670142914862646313713950874981173271748642862563620890792360604382765506065331480634547167228040328916223945948846310949496532433135678640748334938353712215436634908100784010488508292481530384115363674245042294680559702488374982951018566095363394439907961829889517530989785076405119825773671174625473323372981004117102523738957419382341730691396068891016596909759446620092785017089538205960104441293037711421788654263727036821424786676434702662539607599666144998262205585278124518454299531330310403365467170526243833443449532807068682300132070571924302829975079591211055782364688445599808226343390576318545022595018588575934420747950013112505029257110332397392365072760765796502344642738375907706330510979514910560715591190374307081087038944666115021490287219106403620645961268902445688521802697393048811396838321248818935454578747684544123877440023419088644551481615248476599450958420215735110174257003192417552260564331047599684619297115780693731315512818793195964903496583313168806283243351184245048425717898998560971103467915480375531172731962878802792101114503227776404711317448588494869531459114288070628122994277878368220591907970336475880282105668517195968582028892987856859150844642821097945509307247149139853899335126397464669564666559785605992583494550241058269613307382089218602537308716683755448020135935869087858746183148761401344240711021454569438932486986823910086414172063440800418318772666265484487388503570308483991874402648243831389439514690006514074591451854602618297818745859180061376835846987425069981166648168057970139112134093991306853994661571224963760751429911559229682929123488220451032959759513953543643774701139466282280268613359222847145303123676025540835638881188997500937370036190998584797850151335108021741458552846554305617473986593750558136602449986997634688185931221553324756464944347886563403127458119270706253754163288288453701625666540253371562008250916398701068314000491349652058843331692799986027793811133363304655908149087052916283742642867639469160656439800275034369203765388225635521032895104391747059657397323138700401561341771252308546338421661764592674721711340742038153474444814144954259564573336464656179317829278935970857616442372957008622255770829143665549573464360567199055180228246110840543353131707246045643190241465627957854250099781688216028064605633327591067705168399469513035201359371584056230260529400845787853822827842068297002531567011543063148230032322830935478474325441444121000050512432135994714418290167318927087400754493009361336050081596385600418607838829857335340726777575201309225634304580841873355084679197600656262823034043318251828244721674324796456756444622558686753437125954478276774660524882141826262203812375636194795458292395792538473388413513679925693182693413804930629676258486901119691270503002072676401464936297825846617110750985797439079132073520285213587221456774832586178101976872555383023679541966820808423506536466948222784671446268122116256103904329179131830058133911163227948020885229651308567441668793249158718211238290356607019181810103680033109370870424054508877285687840640884924728134059658594274334087604078522710873462821201430600680081028059977932979223366278484102185348036388433671845283260948902518231190600829082497481951934341541817107950928476953003906650787049512788789762343626905665257865699825736227296557377859317029939802778565997625432339429227419840140792129485893820460208634716775613679876218501295015414702096544608011618874917768351626299211003119210645183285811481387816294869117000728776400372657501877859042129041291489628749408381741335538698402706413320805750052089496158314144624698831562990334202529275876172311823257183564571117346803539579551695763535178313569490671875272943785072689985478389573704751574588456573668487220433337141312194912143240391903988036555565075586663132968479023821104380288865294325905223935932890864628297269910536251919685589282005954500242718569414903367007254684260203369134463738784773880928262180225376999045946212838667766275015631721024067796766917120657600209299748335684420546387173687589238521470799949707352495873739204849268617350081760027756476161301342340605692340873082623907768515940455007856510130456993170474370252447549637826098223133189901639378729736796971082781152861130478572767446375285120735584296519653731004209642751112034777429848459060429945462823911899252043432744846622967942710774531156638567907800883081153406412904314974940217552581836765453751922267515517681882783886228731275767666637180404681111455030979795195850425326058377347935314286774143520390472603789798135683917658318987426740532120929221673251746581783786954326977690017118089187067842805239018800487184578424267443844518239225552046155217895266495787865231718460977484489243885729568594692627396162000345639294707158685747750775848328458737338883943383165825177139852003135881923492501187424738544921965246798751599435419027955863354608065427132675937331042075709745258448302215767338109892962570892738287712578624400781824755565810292367249309425773593043734660476274646584072537991125350389865356575535748691227340717459593483830526561763840658295947115069023550015405543660830253037310050233646065359798798992606962914678035626662466660825636678759554698103850297271722621816893135417297521626457394997010010778412275637962778245750160908062639002288047882458252775087766190657237759949370845476092624997406622533338858068028855331483655967883146848356607576731083966455047939456618418887687174282397269058757507613904566192902676323258502586214366309694306666838021901197012553362314502994136844830590219204999581773200729217477095157225907100813431794534657896782938453676860800195569279516777983257787705799603808727948898233581907991911604477839569352893246013422480247810874967827072850850395041512415666626470837821525731108968353951276037078339561358725924929506808930693413714718438524816032036997566987393897214145222687598291867371300384782131669049582718624616031799750607511770205930430865492989824073615007703591968818434137057058912710454261307883108595057578178362349217648408477085566520122131019435789837342328573288703299094477070130671525957226182767484128040417818408562427631402347958837297428318726687419400469065348225567452885065581857650221006092068039408604109109277816407320600958739238914315595596023732191020422940285334210852233602986190567431044683014591526687950989216085681654055057836149059758634393572849092345184287995761523586067151983096457418271420453552275660468292046630931103928360304733772169407009611587876296393560694848033367017797243915138979590674448102971305384793788545115405987102868248392980202645110387030879238333342482522809840981370523539928635542056310143726550768141962517326752152839096292558964823921690118830317463495892520975090807885462528704519181968924116497469431472099347008270311952935907444755635128862589634025685362068256463639410809993287082663318820529854918457778813681947110592171300088304218095296704254023648624809484672934645534754432027883701634251295115583768332406991741299572479384256471057507794236929564992845382038354615899573489023862429178491946928918317898008166785155604216665799599155421536706959181738976318483612547243195975924368598170044334421394503133015018283307777996685401903565926310136726281717851126176417222435630612847390980470601082565313763654102661723894778429008624011192560857004751231941090942422926652275294369394589889798058441948898249602297213637138255378625217768311252962980330764424203996448011131488377970685725565378105787013466834055518976982461841158311920057189781841584566082557715525429523703692932846187340560465690615645627433729751198868140932859909498072235504865266159636876530678859159945510072949063309622560724288826171798255324338918977274908825237343063647298270428178653395821164062626612634105473476679258724098880272814861274725074124741140837590943494066310610984281956421179065751355830283175132063923659866708135148903772925157391535975321807649762008066425846539767011354552061779413956128203651904886051306795394765843663953911665264179127167537688651061565593891493220040482744328593644904101532294808575456011035425042588344464262846873875449915857467038921248571842648194361714593858259337411991880226425081853880983859052563051834285874993816867754581363745553634613604614232409439486478250613923241053840990246548024211242424600374937331885853068319278272074820449503686866947511093036708297208980562445725943809653393421044899229734016650224765786478652804327519899200094000388816712156391964794585783301803697816114936267757931829731026610384202565125132686111049316828400700982375584363591875221973148891404532553607203470382814426061302639357270689403704196258082086983505155240250160614566635492955621500807387989003006134218496966651715013854058141529656932350699747474774039222707511586948477812052713397298935131768199443985071558730386526207909777526986157548457332800403529405210479787493198897270462202420626899136841785084562330873404836891826835549533134719959777986120888354195899270489164430541659177891742755358117703381025691344830841055040912815343409487816320763470535602410922316269722784626180101619856659943949065893854060616497844367614661166101812182531148787951420980341496724426229530406096208485243881453959141966066178404289925335225332185151013961560028703443277683359546386130333824614936306446569484550363936363365736498679288911572040769366045805096774995094776299833278438385924212354790697936417722774935822944129608523058239571494865525490098234152385584425042452449836576241058620621250189292115401283436000600083943818738447871449777610106117202590532820203376246116083213560554911684844773298617370016989358646890599653103733032393853128923928222194262371088257424225209113543626613307200167784140157502227239648492611836336093907143831595108617025502284764677278780325354500788899907859198582736866341148225267027981204559323540428762801603876473961797797458512900307819587369604576198719880444195869382943100937407405574718732688688206340406694053917362371101430161202241373097680431244276633615857057107834634107830213567829064466015660727887307647366394068273190713019535209535836284229136321033233984258000789797907973302388167839024818370004119610597470201951010823870783339993903489132114102743962568312344890761903201055498266989663223635552342538038145154063315889344984770914143682173922355227211336561453294205134161657558831054160751294463483565896106961263610392823966316226902291828473154982483114069760251223740481940663134376608071745458660868048493666984649790983482698466786808287773648941336016934032767270340984814089300318671284262717401148741295753425745435335377112385775636324077729015961230422516479658267398752662360377173403432894330461818640680350192320032730288702444180678170676102746734022950986399937639443182546348306533401775911367124998497391203542673935380785978489463657359548172483246081795136625625539758893968100691264066615855394452820183556410504849767140950335597961126099864838858016435776293483216294628022416364127068931345326566066413002251559506204191682663165502386563369921451617089246351086908067305236005377940484189487863539551850878705046076447136997649485876152492998059400271865886362675730534025606170846223455729991637353737960751016440014204183528189361829006068093646833872726523143317831312392159279136447172566690586016462183449839179225395132280376352452318263358640875044676267004338746207567191044531930633831238739729621924244853110680660576728236916473730761317811699000484956139605395180245968765825625816600988372022845180698992618941898997675391166695063718701268673978946440194763891630721474717635317831087263011962738267075846399697150115453182713991166015461300059334699903037223383349499414891449657383766191057233969987879207502587354848499456458285252139332165048568485726115988412570365175556490800971957373502707930008978793921236779498647229626060208656663479170802319560154931380492808249312915650800211830931855288933851341767677159715626018046393070081509617776148096711378471221068826104412408974462889567407882924784128941862392522262373571622350886789741755812938268582549097420336222982172803010371857291555839640368058425938235770993935455062421397838938457897461089734027592757600978640309992433436825810372986959670255666713244891167163670776338120057576060003295881006496394827254888261211289994623098424439477563638384742097857268774467412193004563161272502879277352105969857232964231342569762470530434211163617182262487588531181186816279233263359716174738691108518445475880559516504228640238576907143203667762960225926473376743329884849020727988962041040998076255915954553698084523021543205992284295258001075150039825258866931812899281165556670464008206508881788408725335681793763440132004840560672439455408278496670262496076829214744258241630924920034024554886237835359723806721546819265238718715600527994407910219155482641271638912984932986501068904667848660746364873405319886888612233297144843656923599702592407243824885461596791581231928097423357547987718246945962667966252103744522961376304063775651080042758623406646761179548056480413479751731713891832291853936941635973111306873485756763431238484370844284456657198112487548845295950636624094695241869135659350658819093903929971554542195508548100652481618321499515232182766136396302472556395362896946201194489232272510453825515914863459039507280667656487459871192517922172979502148117818221705933043582516518085393995538530901060023784554572797593334992842230493056796378533202566780656045270269782490834206068565782073038513758757173823427334263891235456389007728084298938605071126245364665381703270670967885422998580691990583672952864010801266719649061002240932514353743190780755049324561647661372185172712910452063875123912709670842518495304716534094914998459985096896188909110951888693593215842164383021781032802249090860241005781885500995684701939983506994854253965052350311813819364743281865439460491743611514100755074301159993638189209061960433186187072474531618627584515030923082038116170102742550787573692165862134544797585583038532595173315808325871792741021293126786037147284316611854641105164530971935417512786516281844910524767792702118469801518797308311851728645212156600369866146169569651680881663188677371608744900290393070827147859893917317320088609203975498268410923115468828418630467188711504024409464204241780939338398442500332566111353078964951168139135731319130030925338708117092506396523724364517843354921889880376246556434110077027012073698084200218494445235865208863047663022345534667170913535153908769385087566623946217544758415223143816926878098728349198622676510703340326925906829881809675061250962906291322019880116771089646066709288811796581240802512310853431911603801910554946819173102215213597015330420961794231120741228270074160237174400497843719536062281326286991079744518695607938157719002167415879815013581119397825761120230685648339010019973480018654073521854025090938872741681764395650781118937432097631166872417168660166083102083196579683886028058289367152758254879078722957534792230368303879715740536992835243710462177779387968596622211205685574344831847567081982234223843782055750256858279448798990140723345109567068115027961026240228144911212005673311156992232139293114025711693969909839977128891163783605945561377530982994642587000172460333617218372039409954696694552069802328122734684722913476350954693875903315889463366081234767485806502274673730084796460575506553660019473440647585053705491119637534316048506983608532565918129822796907341057167318615414463397727284504029999412474400776188754372452883242373961521859515228543783702911137363695945503237120086666770375560670168591700933787867265784068515906791706903063897416565834651427222884950366377887415750108500441492875022839663050631342672607097202718345297583168995449605100300272603122939933451048596574038663978061870760545707827524481982984974387336909006835191610344466125558201893996605193752355026392771106318207213517450885806427500468985286481580745610444488329662358616117554403518718830057032223442826734174188322744295089461888722597590472759714348345822929109193129901020723481452895545662362053998492455945032429457073561084383241656899685160544148587377511454584932373295117005315589498264593456950960571385648956514784757794412176946203024974211774523911766652637039127614990199623273123519023551746229264977093576885822297448331637587372510513928204046403635308762587379371842617084163579359943651177688985717590281800495964463154969940892569597628325682574029887626023008712875053280315835444128901180456904992020996733975635641759063246086045717422485656964409816217710968123197137427774047331373523028026893551248370459409591378648259179620774267411989628293855276041073736234530094356771727559747525500249826769661834616841095454031363379581342494034608244897955058533790405645690079174302971520578220729219903399789138552038613965006563467517100401648957081710402168406896100686641194362600725108426174726514211958983412378498304679774918093909239335710514654876898804553754357776474550819597525163873993805828493780323069629311430044452543340179689483018796216720363275610506911409858277351047523063072541984822036437587197083009877839397474429185114102194603505650183397617061317626988845130571776950896963466561494393057511611936385367867389446210055547268862454082014494515555973763981580893522571978310594213222561506906057543714252628950403546014166402819794424427157861790647653563881122315348026167988190964778483795548684379484523396403258534303948456525114457420460780335304446888799734263958656213570574582565607687719727627414356529179278726399765103956647781302632130662517244396001616637599748764442413662159123877226161503539061156734556130836206830985654356916491730430385373682707105351203168382707273600308360798375866142116526572399045776524074011991984700742858796930032040747127749080215756560627448403235276013309220141647046666398390636159302252471695103126335445137484096019050851613019377614012542707069822367226667650544339567693076643071726210899561319012601203528627661681840723487595617898856231504662738064254084133271662219965978805764907403057673356619282086254975500523408567317052446946263898271260831098895506308074367935295305580396675606652472465372447537030413450122958374825670960531929808316009972315363186859680946398055528010964876508034790746893672279501382035341871619305529726666960941759918560728609150645691389997965254157756140664002827206381590317282678251954460157053454863297302795263543941303311325994856133147894211559004375116987627691531482895219468929774768054224665207285324654781405896004233266067389980862913663971536266271082382608614368591133267200164492702036054022657392552673919530888488655948123769613573947038170542724834179316142021413019974371131089057649392169828691096296398287151814524461280555896007956263036999781941383893353495266412699069747597621704824479470512214293270166213354711970062911036501477571266453428639082539771543964185113396768694785286730024280822840362606205099810637991001503047282321460143330351613005357114125874511834200558401758500917831600185647111262763851573649782348999827595574345217426525638260729239109240202038758323555815526509326276857110641503664029271014645914621706098590684000723006903593216648338317604232026737669034112158866810860530437916478850508649645784148524670188039736973107292569752439882352162129688429285414471508366429489241519660843755069289206696726150397984065403148464748008126944449035413843492797789798276489561762754043612893769802713445094812239915120897056829515715393947993326758584436966663283753704477286363936676727957900102486784285737690736508697672654822520768528201532400034432507897013202185096380757727398012070245988463983671909334995291498470539521779111128346027330002549442705089243540693498658749432480786878742033562776041990768468781189892351087548954811887587308832537800985693118321726886371832283502235054146156294956334269734833982545295829973470370073202490120931286534741042353228153770649535423128213710117819939392565458471549733700514603103805051896466831486155996867836134305490529292176842836628227972580361313608796640505556900935378149157552810831338400988044630399469027920503779934697561091199973552285800981171758826089933350179182732853216280747939208147787198063936483150600497899681686821734936318331993295061248061685044003148644277139577355301365569254799383610269432242876476827020522513280542175695931098818563934683772408176041097303958513270969465668615881415236380671071810346818574364033942612057323475360582013218734270482975125323187535175071510116821844437215126964139262741260739317662928066155356019804457866194938621715424279076772875827602704797196079366753015902526584370614956650052749947573180265711084702523687228996129818133918197542914539336277683926549615451680380967915130073005364792189748366021077094826044701559377659615709683923130998387297668158087805772306308734077976288970081661102320654716263025661478224371538320749998644034247684274456974705258687548878345197934190065584828665576147157856161386408625848265979082478831281842323444194023827876674935691515528067771407997906234985598656418981795836325885608524527860883214905973481680929933725877576177400709870293544816845651842613219114903889842987392519772356206692124687319017217392436733342127586735972890093744272257650986998036582892478112570163772544317181789697964304817235478284374919712631794998730743325872449915908362041084658734376987486529951436158665305570159494483436237485910053466712918021796557696677071717788802850299074922622010514166537126434443070512360944234201706139463734835569827617547313428957512505305462678889265823107369478906734651295806158215087061262599594812527947879345980667241308668793628872794923416232971782190973913058805164771955749779841620698910189821081428494558203685463733974695403006901062551003622851349887174437328811868550988484970584325731650586576398345650059259241002013170004458424939057993126615716730340118782160574105963673365983504689197144663671187832725130637895191472987725220900634776817418196330568551919863971620507728724246807589544079493444339012433918993959489421027825792401946849944720357500052779260220917434191583872951208540086969159077245058417645275905361040540200915064004284600320849904028033700665126415567199871804191446515124408331932179549555760092972814882146147260235875336440208837715423767919516659865736519432231800955514960710151699022353015015746944022014769359982881261281367359021980309506039244221889982442750393896079589049969604072272106136559334473040593603572574526407845887703121972689012100375194562592756724320097793626352274083761012683665065410693819889368424851867220884633046696711908092630920819290976519565809590976132919858433520254312894150163316305679732526238734827287055160477441027256063744670533776916878152894188160626504002942707219689213810985909618525495991621486197020848030794279286158046956507258219931700120377082211075372437926076005252070948200601785616888248230155231856440190741524721162513779090723864704261228202628902660416103642410475176930184476009363920575466419668817123767391982153652184966029090418457606269573581775517577675484964700484920005522048507141525551092260059864590897519081359394383043592597507638494938553773147809804329670209574428102786295662111666219342963673700918230417194569941517483378226315079299533852614215799078773906345273608506753219885996231876652959350774221663169449251591856618088976790393198437984190841159788536003944360992939384773866048841381504945878174537907069226768331358670465028605505639720819164150263386131630030117211095450892837521770749655144250222660570647709546724242571943449572582631767677737489331909636407428242561644693313555448185070401332497563377620956074200548883011343302615438263095500046724887421595897476054732010404889382745761430755319460311288745226738159244965312743364036489445216409281791480879991974375956577611706795536791154720159600119519836599747460925207185423104516587858756841585830154645161419134748674435132173222875392015193540849765036422445165225020305791651147526381125406597660710494116855040511085191387378336551861401731425698484915490347167660026590358102599695765213729780879488888886449927359741031340067324589038371729792146964835582598829032740457738552755887301365412845837488208850319037426340455351155288452714163633943971470675420246553439622676247542185704147257539002414545023516377208922675407258722636070420541482224700179155469924566923556163503714087350880068681445024650310891552311092681510200568695884460921228950585013255358549003562850316100829557512424722300500950487355105823479684188916880643682010030109351965204124104510846262014579611706122676231915554290801512026608359921453493778265877358113065889882712308804998323078027302265283782252387407156559008274900959303777176840892156935736615326927413223388049006374558824089963749077224731962781175597372752313590161567315387020735736312853537361782068074906478143620390454233888311338750070768974478381830677766214322696225715177423419654256385004784305160864855049538879185050456194907626074678396536689158257066083999437314847450533906594687533733022040154844802555896223361173280727106220631614980121625737047044292982170502496438776595015988211864156353873508443413365153274244356708414110832118070170778473595656559549530893955650816827646929594017979403661815958721237374670410382880858763406049580431645382121486964552780690005000612320479902565481669718383208860173752263916692107693022938102226704994610847973245930754438017527781464413549760965142216128943923993914587465869832665447209323543116171073280455049269574930531794802202694756083460804038898883410771899203050489976771265859436356640878645693977397505662995217124761057613386764032675704743920405277303833686194501870495173687651700036667233945602751286584643199692892875118571170332930152273171888680905327866525274106146422405939873852184988475519305231373320250821576435054400225676186345831180049910408416947891461940610153211393058994973109913296327463173016258473865722717763255723942006957411972062387621001521547177065485343754146482524212939299213894536678421392768704770025773502701250184480765030250010368459780378218762338775914503721256992234722153541082638723951258518635967184784148672960112980859107235767564175726842488828818907073611885956192747129549824329721005016269062561980184754115084343678206314131148620986237694263724866692408818320960036507747112885034983899238671719041278198667004397952463391987337379810645287222233866854194358870683542385429942521014390677470116972998598589658182572538416667527211908240752553323803637185041588236099479798402479475607251845710784328253967652636489395609270443302787858037248516868881583777769304193100869376539194485867911529466312919190391093026186328613840242389068115406109220130875230391715968384575067763371589787830155954046447679084256244895072025462686024000937641075670194672507003460769855586432696231580586882913166545680761439715271473651519890361345108028561190865950702725286897153819109697239707434513909102095920259051253454221612054748531952600611077110490505174624195699012218093436051079280733696150188443959778908444077047492792275836859645855942053417047039614673959041185869040478657852996147437191732916941905943177923670905683577044370999275375464804069315675825541083551271469154131500192259864337493604150609834403499424178130415072525384839791850686410993493899160965199904153771974875474183938583652184143808132996786333797965927933153722229734933271174647626728598426749342559336745594875041177609697091277127852386139375178907889720118084573425006572915201541399291162594096348700949741463556847757698685243114014254350499434004160415664806263867938503590678483495659091135055874121824931625885581286503838719445449137835359815968884113378254735857090950020724059877364892510961360488307169010228614375789119116193600542324177278979430503778069359759988245381543455688414854695607333454278967543380390481698015950823244876440719352244674802337784090734869037795802795625577435647565170693312134780645325990681805617854785723864705464216798702098479826506241931150705500415753188233092172116663672295677624628605060458738862402257983150153218192623890468824131236362594025815083287234594081496919726345272364692804406930913279410012892932473153825802524542156998195582477053872026094515450633967476617092363013779656147245791340313721054467435031852580783438170066901159509264439655900814331831440739918640684062100109336656973137040086486880674547077872126456704633492875161495095225513573141470405962016554670896416103342466948115093682816983913424392903726040625360644128155790378891203845056958875713294074544340751274094582367939097242021045005028667851436853035835447363337182958735452594593929222104790491103487712435273405872842035349901974626666581643846773117618895416418023416467551077902594712821220375170977164820492589889067113157451731738608275394128329241902995624434332670632926906923934575471001375946029434021391349554802946017713732417093098323683675016289582844239699117467744368062909455806588785324718143235856027059807990740954080352664961022003308936213550469342831553923624806997264036894200710028534661302835733025248745545967327816708212348183436924060033629462586574718288546185279628881435102079225714215385572918380196692735921076730264502709794216343746749703308658627013814852290618426908635395278526652745325025822273946523569729925824490881627294154818310398846521815745954434378298536761196175949796676543532607180940514562162513083458808648129089908879592950712045910757282385409490098201720547132010529752712262167267681083326528488063609579428458228890700861968202622309364858304290662868746094565684925797863312592850862474168809813604140542229673278433060975957237541218669749866166312717411694184719472485967482633707165161765263253303712617334440360017248017780246292554590250041239169656652804175721502038946783975848414301442746371053632359819943141578143167754923724961824993683607195338555087164699382191194370806113608850796128333759291251078271015002659475805392533820186024723827153056127511350671784372905173941293646680863527354174167929973208400728104534150776107751112738301811033116128969684918479928434296211102810448291173299855591340692310317503993796586362234314225477462241613464656039720753742135805501066172614791247283000929393619790598774465153913844612785564437795747042952042150124212108930113653658855456370571037431810000030677944501065452941618242134607452656687713331887627479352243628555712723745125761539753035620443205026259204613750023719017346463987665707620107658628821724078242096969310777093444433926451499734057750626679124861926777507269967224672083526544877959849799539206028809909056049652894915652478132825806232738048120225065352725906407537850680599245515182292683590829835305721373668324814528855757759300833432021218370164720846252239940871352972386816144700060989307853712132294438307061856944524335692597352158442439330390507717579832492146769911031697985931803992883961493451682448073436252849715700648751787625241500202822185965686937586252214689953938990496953316571790183141302268796534053037016449008949004332775317740737362650258666605698070769385951043313976258783063990256655739244123700859211816826678546501032688813076815665314882930571389072659786079573166020338387606355952922626363042056549349636374387798945220927355310144121708386567149840931584612323643223686544802825525461573315789819727487696882731839613888999569692535620347144328607756189081327890958271984111398469306452424500697858048649454213321677764358803265905533699348612592577971463980861841605734125701990114433501560458014787026605064629412940217224840996613658755463376787733970556512241902774962995045053928671605998817249355496296388079466387540373531824513196469119050561139389510272987256466809034496173990957777757778078871707344967915058418439343876234357084032779915166510961966071209979722448067381653978263089736316303798671439068441259234158098397317646924388297142775977719416365546314673763242025967492118257104449674907834377862317075525670915572314546498429912496012927004645777502284696324991169960874887857796457899411420105434828445482767153398482023118161724835952374611093741470080287569905036137577030795202834156795864884945168105530450109414699173622909986826369274642445752664676721274771017306037883828395982221181561559872370230332550601323094745042140715211812398239870809595744782167394290039389414018555146136775190629895903031835183844391262615157003501299571315993023720626125917444381033021251094848844561053739064670988378989794588433924269389634417207954036867379959587407850612567074274667464242456630538295989164366790185345708827644066942800644342288533520964711159727745280422503435762228920234318177459230512073346554711317342639207167900048157726252476960067892730992424426710305153836561645765449206876842617911962982443117691866044593346411571546617141761290949164192755347562206950923972445660682172810576992333918700696929596951262393452015753254397045751046784762128704910873472606718692117157726006492062197163207951575026097815301677517342857889035093801274029609827876325562889355515799899906556264665022370338320957740493822318334580774667757715073202829844081034568909839323279884268384901597787306527318820312820379809500389005690293552938859385015109081614405035779817665080721504571309859581295738485268978066782243997732961017225131507826666485035161401658397712686699396292619502023822529490048894115924234365764124578934957129269219822407303639713824354672652123235701637958429425215285767259631248378841490440091796634691749657840350017732782455409019499476129104786689903553521366239847833326878863706622744390638613513742986274539615467082155107509218654984881440425834620676800718384062583208616841309092468998606472984997064376734461569287455543875185008248757410381184839902915381045889071948721958630385935092039318090574035781473199507087226012909652895821260049295420735597778045871058972070694362836472689444708865653468062284589871730085972247854869929157273516476923647828838426363167694148071949177197467234419897778653796244886467247542491800490699044172639051178987467784996592328724095539002332647998192368862668775730147539562709054759084818310868357348056279634145241537433051338815054334060512259680754666795303204271941399359575040756651683737021092938724379445533914619630648648254144569832110565306498546504906034083190734070803260977972276819582527012674660743028634659342871197468399641406439471192605332401978605637477319488981122164273903025366143908385481828348592661438754813874353791674670245927291940647972209477196001685799242108969733408171327254863703528029880403538003184850674525767118548011810094047356218944791160660610937412934800287216492453316012012380865692499434976368103414345587110012994570837219788096584323035966711222858004993385397210441382323594775045406456490442854768850928306052540447969914039258905793165975235205761124250094923867850427079384170269395144805318066718196320508593534682203639741557712067698296249939972815858304740350926689698656616656362382872161543360350365105849400620964070309091079632953447006737591704374256135083338381824607657321472343915951333989928633471978330263697172998133031108899115117933862918682265983540533557534957402335213908502988539194091813566296587699795989165114431438235559099286074171655683677271577979768455266025074021711455488546205896059740069473117426418320201070311944584403753129877402037739920905868164469419551630879217015470136476245348826517473538639517987645138020946350302976831737885915249586584445235325341733897123855965280974898855225095902353322324106012512370105029542502809893297321671763044125368247271011016243304832579100957676398128065606027447382615204487031191449081344314296000002439994064654424714250626716118561695840139023590274934507676559491370895914315709657726617988949160453812064707407998268716292224525561119990194991455149742451736698653431139691167869568241098479453680176013308612196670375749642132375029845217243076572224767716221361088822853834524510669146131057682261308008058230202718142313498635673593394470367594785755744409807114702620057049005599889951043625861704896570353290171615307509254940857565268144475811989015446841822363868933749201936097028187840646660263710136594201561757610973761983383334936759524191361758566184939871492994442536075971909015230251518523863610769707174561654120492350843238035588413503389599567253248314350275594011578940542952509420257384702975835986040261241779260313011072494384884133935626866816798434509672979766100602079848200768038136741138224904042254527407030662254662830279123427944867036169626728366990912047030658981239330630838214499579176627952162025593872372285675950118833176382600987226063793096320009850765396037277911430386883623523760690759007484349145895610209042125366945015521984023891907425197014991114301098942730395678382677217371151262956672302627145101770187648995129072869665665326987305611587523654513208292298646748272314249486648022913119977606297538189190920363191338383373398625497321397673272953701498338687283882036228367924567918259855087114628934967625984409128342783864963649373672175709933160355152219322391837461405421915039291173477184211695395195428858414439489158099471446395376405104302419218115183752973396007328951510772806710242192335343035506458519180540405366199633194366392418599237806387833527051472983495905867946332899201078465021092542304538729123043756336966221756875092853264714151996544894471260695839937260968721589550581059178656675729634833437930745762814781633386733848822930282761169767333475486478647689003219079401693873212850751129012007307342147946323003587982142883184878637660874223105630723343195082295607605570621164971325535330363827046393538745451210726830372977123279310684276136264455152142624848022012570653389946685744638045279492537837410350141593307042188691080001381009825251313705786168329623188515470853519907421344916172617409501267253215132200473330655737252894812644246686137264579355413107917310838891080786486065751435139626312376513044485796671242902763016922701030226240171299965307544371315763120660679283677981924849693738273634252402079975853318734012468938768343198155129145870070354909391566979487284096870457926853931279836617525509437080239997028601811822878921129525200966173449265146063974035784605906145333307575883847120891167867309761266070576141941236043761146533622952000922274494972857244510792397558446632759863240437900706056053790520802027572016197273693729532503176517042866863828953401480505279709308823446034095115165999809897037293919014270881356970520096137350037617897022835838598862303335771492756878347570652022702721603934305114443939129195684953411 : 20450839760827359661501660511540858594224528240170402256499937233266324908309945188047564725287382409686881216095230850195563564229488111560865472599572530006262019880507374578984234942026164145276170469215554292935898287745887641293119783177681584416657537708727487841092188702868724781176275697910626408089913536423968288935800136167699785387568484048196294128714139649596166100420626936060457036568541222222249803381553539698538693236789613406761821732169467569192053939235816937577377279405835799626496566801400503394125789631242294916190462782131703763382147889263233858349013102806833237498826688339436536772767102225169917434826814910860141387099712388372991028000759153888291718691365746182716243831416805355311814457874508126452862550867543339621428310607894773424346212250108993278759277908419103212781254710544803090561550357008647711791222637037921049739012663701815620740943660906787357475646387916416397111726098003502842912810447862722227422351357149780185805587280219451866566019407138421694217837341168719458441495585119118877585563323650499780358060415677385586897305202785610208897267500744822366233693804488141583730223906109320791812466201744476978263888760007449990476076090841005088909084817292917882146009086263031813287710908313473455680902156222565826680875875482536443230533846188653031927944514531686983954120934298988441209243636414222153492017167365106770813512101974752700802484236666403470192657530971598099120998531927996280436940739958523184245404688877877948980534335011716620468026961826273803367949704690147333079145720825292167817858769896924695091996927816485070480426509799672421202779037544580492655999190833292384116673868985842849174736739123156667975914177682226144641763157333339340402984893377150645001351889805257973410995116561745425092551940380042875023819993758566893514162104513846134309102853046591638593711718586820383550842695110224359053379010617703228444137540208105381392261758331691283528866848694410415143124913389264787736577146918003652136306135632657233101263798634812277356458519660798974654175391295774284653848973931701482740084289854801851958414330748521350693726551918043262478196352554043488390758068041032976281625980425300187809378381991897705784031514828247319975001903956236165667866109953560578726949220961432174632653505398992080374692132022834305032333950077295848153450487880599906758763297823890681014149386953903402367303562006738154284220601544944947282587523087095642806313987175157511019837655037446762928030031226826793591400890136949925600609758042873053315224003999067141994280728360611032565722015499043750702697789641970207722325092166603684096133399619553221661240612635818055562546664613587808942185689037229166639781750157174141776748019716839155728664385689638685041640332793117062716647327196891903168768764247133047521124800600438916510215509343546045905147627939493945841419852102114987581146886414257221099536642551304129879578921187758596598650253968602075064536473339766950108864595790138828236965392296486328410468872786822299599335697830950115370299339391346325676468332129917285693291793803258490433037737848365889877092251686614882965281788966108371810136053576721318572734022171854433152467211828022212656691332587493602324806503546755179525614375336004968153514823082185947762662856422672202213778996005634123704963904935177505097559015284774510781313374180142080885911865402609108118278865364342989841889325836388466556916678661836075253764304383442468588644856446870769863262229471469276666216934677236828940407593565331483612280269039861904603464171140736042362821378393924273753942497825929355508586509837630073906354603046676664469269283274108615125352347607676392633838335885304694455114717372883097106802791136083544004498558656371271123783884379047497967366062943622971109433901145805553173212353976417521960349515197347534892805171220107698655154043569208345939367806417860436020742620175533637961482944759547115413556906809952495225045012371956673948865894353092768002508873189979397964944381798985379344856943844988968787855099044822384182039300153988817152403091825066327606100745657054351626658992365871472402475557923972485420147226624207178279433568644735973318990299580009629791337153374921798400975890031851191086591989214547276280299787855795845583385987868743125287207855074240465276579647542359130290919137293589082981441660408910678375008353330877978349953554823963938370561948668815443353079956076846990636452402185006593058529389940374444965973690499432735038066420001800733336254574313847353246406885935340835514641895514348727108054274728734541923374211851257397154373194304809636047151632184752947016361482711345191105780606499946172394356124259578381452848021234446780581851221914641656314673014459122076382990944819883212815682961916658488933098314064931859538621760086288968076008483166257692219426676782694419054261391256181817028804412488279072217403764725551698151568438884280267535387600952766926921611310993968504203413422071044348476360818697082987134004102931552066392898737382121522002561383219654140607576339442125707202184416774074387843403250988224807855948850591112309318761967739809055388288937094098195325810755499796648658311428886903364340421179774267397423788992726205691124379168388376342492522029139566830157173397287497575246655635152374064824755025040866628348736258701926342637232104232993536565444941577946512255508926034271076708953496030455472640585472854041995259117828835160417404782128150916830051143840992052968154565767621251631609092984269890517830478429694168915184410470125398344110159745857064455382704453931515085821164256261442380514427220556036966885174679900755146625165525771548277465352181940353850640011826240289410965894387212767723162421565788150587993909268758685584405138824271954066385338204472695760490414578267757878986400851096738417244906145444038119822782487573571942588410343851808816982676221417078588213530368989298864958259041679612945988788654062965940114320856870772300695237312222716959470128658550422211409532789862448265371761254317652149362913209064118804283184473635425315043552149653962479602138438961343944903091070541490365007060865247582764248721141894266073756470394539943760996583815829640662468650323524935520508113229762905937263845441281665479445374511043574644641131239681554907719196813844720523585393447888531124745931735986685332784143232355011827803425578041241794058995653470917837069602956169021926182788523750194509225087986132750035557391322628779725044795911258491678829547554208955032946888791946320426972211021280604172020933999864719396834539524841745668016010953894600912872992566051641572724399336677573063006845743294982723209180965765418833338326026539120698448085584677691025012992118741274473882211430034490373087242249015395630153065165008147438726839114232989576607082186106120687744884146606368739478005405695928557362649678962602699357330993763937572235353036436454601836459473448975247363834772755912780926494559002396758350644378907008441105178825361359766720004484277563785991973258972479914635672758122540979174844226495095531122088111276055731059732403950325682139673799513556898832993329272614943232141678822921280092197763679837192478863965679924089776791166158884366972189146083942703448688294245007918127171694213024782131071116789584731239831201312420582980367927126981377844795049440625051879274679347021611750215341186035721528912886287286873606947115713955144897092640348620071025581008704878745990604442315480749729705934827227998337167107634851177504916715710514205566389576407036655374017180249876919029719552756196631006329888708040726014402937979990053059217334031631600995281230169145675224791599562085598254543044759942620247015776043248952526352974356022009030275277191596030954180385631553608008576158004720541037654375831204867589877156136329474636007080509527998167526027733284803684635622807096742831052585562121937724769556203772870290948857659807612116246539673058087566364500354668636069914017559810851419193650576339810992571282968753108965042651261755758056793095717990013986415738930087774076985534374157938973644582047942786057129431618178684410559497714911270795875420700084904034815134884689898742870116418908834238070978852846420045260572637497160016996704002585862351890039405542438546166776733344798921293321622912416776374390782583510041537343803897247120133853956680352961423487562812090390315724400720073939532765356346337743201855015013007298932774643745799638466404318299898397565852627712374690741936529664674860876279975780333505662009065112101373760750462886469655743075430704402505103060598898765792686090127787765687367433557168523688022671491977309710223181461368180089991442115300626783645489152158649032876659623104058716825472637735096718352751936298847262943167399763237985908514797624033772634213144181888814666062874176115091154559176845087474262994966036589117811254147464248736675618639726525389404756750397264330436343114080907531018547078464946367228442135527961027251471847619361103697168912773384190761587958202865409066376377198553278430716431909949585888234059242256451727767809314244544121199420263214934893266190177468471937663494752536966229600727206915926516130516837931664790048517901056014512192068541609741924930975330965954962963342213495833599145708097387922574330231708341311014562169874950414386229270500732597267231520130579894373510031271554690326274914738281830365730134700452257644969523100000693696375498850169150629864079082113431257118136401779213107554081432117458213881802143475836527564896123816171234135219365340855083249675061235478594065619389383170937541454229889219050295878147634919522074342131406506823687855882007004729054391028242000745773738104515390198264831485961152883187863383352571741691442451266893440798962571918181623264295418087984544554332874175778862153982679594830639840580893512905932411710459192138746588626407913203008126399537981351690382570496591372873948637453105609982132873759002071066619129367521713259155830284566988808596346790768337613883088494630970235083915157773561132995728092728213179478104529871060149485310583906269543015480761922963585677297501480826216140314363078355514920673901722804339120006675909759396301323856636947047525688704397704682228577187243009087757997840464909895389554277420093868359894734330292119269570680903392865812770797881957889435504936620980108500597487134011692015239804123211250018573226804662322590329154119537037367517669809532190259626218680909411285780410460621776206885721513160004987034786617454686926672929738357200198083231144529409070874385599686190009150408189703830157791509293781392981004550856568004481553970905493730124659244099293432043554608220447757223175703384240310377902478961597480723310396066460672029711746649460381651650484329172070434439431899022427801602838883351006137758562400882356078635016875373614638599281442353098235464147977968397428174284185776632019025628042665450584080572757164507310410532049536772257938465222427167757903742939814411852799539936259539162501659178521564833557157040986135050970232212698084029203999306021503294142003718390184796356402077281042577091121055964377302113614008692392848746289537836928468253115959497663739976910208798863432180600061088645455483111371470300101621113965620650006984833341303252827086967231785764222669882283455060408544230159228932436540366961924346813726181353776650843252089833771082666813895455845708310371592716689881178640354683484911161215896979268916527979458429482383515181451152311082417993197823254585147789178063770001735437547084778565253375554625345782379103035862056507616317886987313017438844040316213771338173606423004895253421150731394124881744634815469882876776278767366032308231745694394767229276203574058753005778555700977771999982284227102910700420206894871507268045584884966578211413150040968314179771897186282052585719170446808611024506154904549095581319986137825114634453366874783149776907731101484790444059376072963559175465670861834847793310525192682254885217696376101595397208208323483328655945691216361359833741767068263690824811036418498091683142884774057256250143824942180497749471826504355539643275733606898292551562031799838017444815270272137398226189640274899814069131259504665535565700837487451921990575718682584447417968110451939392155499964982563401867916040948911192304901048669023058689413557340085306195926837535714081488946827869754659256309637520772111446056327789531650295486364782326303719689009128086845522391201932841328896696508702516857264524710511097552006387154677822499864800112368221020750560228351377256804086742476021520771965469014645550449758805095884098690002616346163883070498628191169082997061593049089068467161019865582146705015544333130764661754097131916116262759387116152678555230750712679138074907149385740357569466571266216211673351829044314887097317720587733365588388808938832458706748099327260420747342336516954922160188480938366889868965856485537682499437007110550079152383541339110859244479116192975919655857706007241331372312663130187574473965184332148621129740578439892873712490493949907606571804105961505160698455361285216386692872202876617904337079661876904086891791562596566726254817371333750230306745922594345938623203475410299415728107045064091831852385253527505042749374438340216698117268455714137979287538827466552330005432632292078554390163924878545602843182540201787303924313714504149401107603102896733499225339990223448842509245543947381045701331350927728376697186699952166306964334419485644514174889848551784290164205366609730213433165237655557668013420325877815933548142409902421149846453205393598534049783266117301175162763779318713522195639083983486717316544053106953213509746128953890838418940094940699884525354831319183548890880533403738153216806305998361262065316032697086896315294688093843554187172589708326995576727883547916315579206773959280050066743054823063373367234970466609911958098765972291768782213252218589434255773464430686184983644938200229334843476566140245568550147852123020135087902472233411787687460387302202506681265677354956486836488285957375409984602820686628779111518046507110785137505096905959335693657618787928299416240352357986533057619969612468376859569001748929251068711483892847514372784848944705300441300260873986059240763704970854671843717187240396246412562342182299994869757241107616781949880595711083159059730433749387794069992680895050560140876164701613973921368897288215768407613612889872661789172850353464792755327487373137498685419461789953388886887348337676777646498875589752083062681865625243609430426898407767410022869867125246925679020622210555772988108155199208501088036170938792298408477593504828771156974073952335625200879688039311408344939470739031030324233715576579670406041331408513208941612418014937428825034966267163011373811179383201828760834912353625712604130309203139137698519713731211523914379573338633606676750923550221205047995174938502492278286081011756941097440619219895977940913091162278247621358394405750278419341510979797833165186286786796215746586900436189614420984752121037449678815366882632218421234733791905924482647551178227227174211698917524656327169637131919524362862712498891478009042067500600990359617742029637442561928918391334403079731961633996023229368094470171614298308139542913847216296643448222522262347650349626187364109138494813138772473977715813791548088956230829003487013054575244449694826132212905609866774430184559510509529938527078365262717386898064578590544603428511430370073470346060535056395330267003810250275187551241674981893894330516992823168445882183770465410202659343565222979660412701068268530171371676183136418084788182923945674240510511644122525133439377473832958649772325136279512927881464899605190024734812235217707192463126274262944015476816406048188468394218448448486491769162723165107029493328541998998432523838778813737299130860357413021465525353912982879510042327558654894908810023147865444419823552193118425206181841771533960542188301321596291233191525469035143819269809186625656181604259392403602697744762085996930798118252154213404173839621468821380871927861616990205226261608625646034022855905584052459865728947474475323116150979636308521635106043309636285363291499812888287355215790580018222183132395390373049895118109342619469215354966476676176542814761919305910739288452598549313891501086256003502223672639233640023265709862240515756083802012501289032303622979559074474236549272655914448561237447528948742133577997146909338835921353622151193860200701918653848046980490246152808092149132384998695468168414710214262201851134498308990862394504481604439628988479689843590839584305477061410496967462837450983118267053726698898941544642499273605674208765271872809431492434573373094286713339593824447821390140151167782493648640067019838675806072081229956427700970563696559217785597686982882953189727526081355394603787648549169564744481829291108616750096157254534303659183244018169690158048905089443434069995092781317041119354308534964010916167971931371288747199034992834595469992965498216747028978970397416837704522786890724922565850569382411842152727056783321744106780864481558408707100732043762601592524958870100903189716799353420189242805997425633304621378315790204064787034251880581460853680084905805808418953352723370924818754343784451556673888363417440442860853256520280466551805054724827713946143263978262564966720253159187732235370331683323278805193506497854463787730114256732459462841780650862049248187805348749305884719561829014593402331283168803552692855566116980322674180861637157584615720169197657969221410409775316123006706496657994379025105149164956641411300158096421554089988364045971350954863868916697183039217063233981635983932742746919762620434447285575534613227682057649785836778692166224218836271114863656833770504259366083560662423886690126128821336400742905674116811694503526081320691317857404285828124973134710374907893330608525152454583612823416158889008902130515899809481234519067046040476918894422214002170312390731318062049531922479012352416615392969317045894802354543911990810866168693340585055520408821976821151341539315306652491033640759183993045964969615500840439110030066633728778348223278205512000579948300782435951877238169913347956261603610514639414635448543225386841507112150523464691302270373318044295315102127094022212162699633853081552388254315082889678690216046040503621096672150778638890793206542075097255595502833730490365851176274854481844673101001473035507853274742911350633860096798636436569267652243850216415520588064135666600072178164303623504737002527279856669386329642618844902935441660870190940490893922231715660928084210210302874685577556167022198876859604501575678923071845659323212737427805097928951639327541896793122362249982125771621520281227116329064222432912841101785517068163400505530583072191223743408784464297899030010350747215459197497340656726252380057133653246315973758844426179741445032935323470943565515413863440562500690974023091966775087847587321012780465910503146536083994489967957374668999449426599425282528051375496953178846553689315675185895633402282863436422901484002761004064556993484607241301492503567444378429596955439969178691022545799106180455184462642495094701162798271884172154373184636957539684713669189021434039278851802180478469112418348064334378718466909274388771018616205301467672223618367079489889636980754943819632112865637530951957940648395435671180060974827218351319266637365598375775080815411593685709506403070308199772735903138634616467469898392320195729267414121791133441701675219843940594268563324980922439939075590371673714840666690445992476250211029779261559830859199619044022194741844440872129392497426572691254765138140413656711076917160829327559457746454023835708673332382770754281354504329741892065511824601389595611779661380515665933002608894770911197625388083857932507357033169518398226412460658500663311348679853573248686011760185534548886611012564354988319988392710821632712400117858656752958219297992394000439682427527469396188699381165796351944198216257302482658434524518478163647747050907724072678108695823456457794521139495787889383047939236508782526006409004256150723581471111749047349396067962526575206205721994167448269689163483981890987164006844869806647922881269484052271426240053947387743561739162341111232873135212873081377679541933195017622669119524995661821845744003616680304586569147872042415382775544861886556107367166776926335040967436501282819489045921086428752990029590417572121959942096159734554275752881066974774411326025627050648423020905357379679291260733861231391868041893071085070350123771547353765618139389837008811445319581967256069041935701796446284761078306647052295991075122466495725571508220698347163410734767743450727041408790602708305798885183397380007724970907017976598531399057616038656084482867721519009607059583953479511013492749111349463683113755599667757526104381679534346844004757696060264825324560802847496963167357861572398992652945763618704858902565926912299295273399362740798743823993916330749203043629248237772310412013424184681438730482956573430400281561165916986205663400574672822295372789392688191962279138515085184867171417921675841978995525259477199117554585372988709972841145476984363285704766434573525725898855101266469602431786598535673161092294713120122298140855444655648290809778888811885350594274405048621329670706847756677839026982028400813036515841368337625739560961600814302488798022435910533419596869610248799254393658689741361688890036289440093915550485042746826124335023401991282552279760118237140242854925515778376652845210562902841821284480732948423538398186179373227176148801664181244018899618825844916781357571061422061938411756979047694387070568004157047616737641722030470057445354285162747207356862828387300646964575336136822362830148070159900579092332120428822461937617692423461977486756312832406595085281415291852151136611232585182298997498139506792757561281294582856809485981015578485040145086151652435290713467979588766507938606318129011435824604817118075240275773199045685036661228687167108680346318353688770727187377584753891132508992891074455981331225100072256468272349460338678685741908591403831590973444659391499424121485499720931030098405425881379292642025789973364237782202275357723573539036065121060820144886056534871754524072977715231229374372712164499066547185688241300324895877620070669327779309440400859123215618570279613723330794983253141751080271726099812509654994304445210435215973702840698065354321299301373086359768159164119796090987812062147366901167346940476022460785087116244502183606758526564590323864494916087612266689520868673605154073353547004945503284261098787064994060143025751940425233090676716292239952811767237606099672094692317506837812886629165241312787507725121843678585103586492749889315697607062403561758945813578397109452878187713788932837539934280835605304955059820875488385284763131490263932446173912682672842068759541098347157976330855679446295020849989113304628394746344113245513855442681054186045790819137636019689439209509440539139446380355937248619689936849125959021855560178352481373125628223827396302601982403447860682081353694631428577835792742975754551516284784101049454094376491210111410597607138129424132873371086805555190937571120833573900643771819555950476838237942872158928935265482129309202899383468862414237617522733592267219877124304308479832964448219798105517143513166248829912320791403573187500579700864401232803157762604179713471518529534457326543790380627160959152886543063345507972619064103798416468337024681316758194905087549793717436064819277214048894956181150766658371712077595330132828520502309445216814544153361288707746407514109469366167187374550170804878250944044113535024951585754459136021076053392334104269658892667808859005304010191035681645954462577126891495323984802491032513850315262003563017740439236263231542766055815914564553929149063009685187891270153732192493262834101562471448368915309727792528282972810599819799255525357476441543023766914585871632377433125459761207770190396045753046967047741982504125738659044266802920154720240583748026448953200735159437843869558308853186233845658999071977315801828120272782032793148888676879239453864765466169075108410144239933856656024121117249724993814833546687701802470729590279392052385811139230000572098253152348065809628529587168538212936915087652747433228945272913766736856429847076947796125414599579392873844208957263564469149282748157406294405156188312179171502164484053396639136138332637241200835769039733662430946414065093907943133335355182754790590439988443473513346811274606080465648915275677622523157958451298491634521971859940275420853042480151969380549802682208851820747763906135853076251538131418839031372141389838066523708749114232508526893089248718181223104449953784548897768770399964433247471059270633253343970870481797186619547299358238873576866410033530076006580424911316311389166438872878962550989928011338648386351070851222884473460211925598256479611594913431100023701767860890868033146730077811754661742825655802277948026824403071882654581884306984118860536103325162791230147939766061985500551603472467604479863291042478808919694704002102470880050158219070437971765227067186382542676681710885292351235844733769395337914622732219951350709123618478044771622155989995614658388976498534792408625657281586791216004522144252812275277441753023086853961170095107938801203716008168179789333567805304117968925815228018591085872199399226035824443726654601251678025256596852489908155488552924715936573192828339015763667781956138933531855468552327273998674542055452349051932858511078622380931144176300310589946278655623563871761585223911250704626437435293277360207065829455656413320794123284254682277855601943987576633952035808528181619706753865180610002246070330295306720368603454569341094597390342274543139825019968878434223372987096828456178749729630156075265933214251004592395392448785745061639869563702811124332744907662310734755442942648949559000175127339628909253482316586994640920334306375179223081914115992813140978227245092758748541447966121606560203523085953282588969565988190990825995125624405598779631442290801687395309379498948773419028472729037835522167092827176761516199453809606860311442678563166710153935564002177193190751150904091001169351510661743526979483551221981775272461158701906720556990873083932965966696107923033124405514093927364203182744049653438741582027153262063820119440766283038784127918865389849407445966573251634190107054416665900064442700109647319761963725312758064948624332289356632808867630602966363704449428285051695917142004217650868248004216242842524411413431913766299491374328721263955045134877587137390299051250311374161058760355515084497748763310062873341714753384570133639206169915492757898985570083161422326994531838952684158970198548877272753707040449265197302226341239217233278871927348053490917625985374296636496962927442228459114864735674012820715359328974330613194045460996246954628012064842361823682277907420239927222329190263710388590126470185591900244372940061877728111553331886494981948002528840628669011368245084301501375960093023337824561546459006541712086985687932083802081497743258522372789124698546325306070022225960302514993150852342382789788476120938968544099067737346357920426128058650903850092615358748963463458124936174327560432100521549733270054162285716302733806014472642400697895644565113648942640466554652826580620076710529845358636591690448845798704546991563339604011233005982423071998469293598264441277299985770057870099955037806249200790749165311586364333902016078361099581276971069188160783023575083176939463604253168062042175731771631833295501865822263396313547633089728071512408723531642672941763777891308507346106402946554447176944709561138635281406530052792039449651138936253337350483319480136076681370525584813265181285089679857503436596368359787380785398847541809824005586042168583502612230327219947948514586105078689778347481544694415064804538228664904063700764215512745907555164498140307126344131016205356533692310454290876972452922561849441197716183280412025749827331939916671540039008605093642248845885679067979492997818904402092428755931391538927470483283527381131137551455695305306346990019535210182108542790069847017131017601339628841770428592319841594163062830188041630156884531232522747608534681101562802139378449104006408513166016938374594238712555259062911804056485977544777954286747465479090648264285934068861981110531152492035618836535449721097834707973572691423877003302209458744775870220270272112299543180457288783996209961103473878788019589524921186009130009876238005352368215659471079388163137851323055302578419379688481774949432863562106779055585609974769339481257576670675088950950982412578879606700121959181114107801220014184180815776169417954700473861734244100867013577173977810773065831129341237351351558341160082158897604597536331121881140788963264984770220308777636928897660613034528576023826531200540378646536550847533555212815383524593399018633017455282691291974042302519213767548708907140323105240748528503506749396836377184590922987066546547275620713239011861061195797825637849731879125126962305269935693965442755589403925321345146521712658568410346078744757080563818602775208909188563284300590592006856475658814928212531641852064898290350029568941852094684019457834502121721731126902524560514088169739106058107299295278696783077487588022067983696425897210153859149770590232012265992026974991351542027350010613351361363076117618468661438897455673275355805928803480190384637717698332451427347456583888263515517394674883770937482351274099345194214598691343613955026942540017906134203892271548889329983983873742701525382205631657342747362073071816327618776982964289131082147319896584987920253221005698889808417177819620463983416667089142305201524770895751140814693429883379272331025220831617405151219902653202000396752991916113097069005107722156034600479234349660234620764572733906064643269218673715488814656663847141595449222298839370359673917645684494527329647030996333048831252993126253622536350792028108129118707626202405260214247421798609196865485018994484824086736847010559887655732055980546262457612661828675630521987771592194212863457424044473706903636918315107912953948569256712317004840786649887190661913571483393391523632136489662220987877705240376816559511637473251144544354340144506688640955768255544336503628382944913959816794666591687315991394223971611491590452668770735402402244386985407924784121378695611142045683500062047006681260408424451840082019435378671333682005506173850521462738803201242148930630812257876511072577306004339023219869736939150310279665460885078380911306249484755635840963277554149394754796377723090316590862921886317511796471756899000987754532580723488268232142386623451417944793738794786781142755483805221327730693347581157081302829322330080369859272273591775311269449329336267751251274301998292212293782324001833837465790032891712785262143202446349310127700432178129096348335257137373223306571930668247336074635698478806001587146617800692851923952532279773392266129341953715510017466733761384731453855261795829341569608676989124221250874916234910900797650240704793551436273024914752794219411926404621449953702784687548549411951681150856410847860333139539020642247711784492384664374084702258757534973566200506952689863778114464260708990760561091019960302811277780472141961529011006603155301119014145900119646738480426228888805369522490454964224343225003857443226428820291895919885653863935104309560414813893186741996824592641703388608966148112309449579813105924269845350156832714210593926733589853165882507411950230637540636040261020542185134888756398838575877920689809136086145643892593305876319170576003082019296886501525194310186543951158988400187277549134417094209869981007706459447542007064451242720860994026312134464003279751465295805953946739444643261187336182223228375033421748841305917586488103588520139731789830972660172134746534407504805027198185419046711614793465071699421801097112345499441013296498353169690046468030375672226653669907520844704657107520197628272185594744701426715045727304230007149259078375548824945522272444059794640951369404170765965380180050518382357717836275321986550524206958887197847803663797191219161270021864497641111940875748503778577526752334009897895948775622971509040609617127513951567411619940929093658872316328222876358502041915552949328809963908038687276882477206103677736995069318602564846256346729534519311068800275616238372164537511170845177917369962050269632767274174913113653232352129807868942917238374787355984848854334549187406604356850039887790165459164525137250375032412921750105084591342235429180482654741072656894110542704237830732708200783604742625707891521212813186014503865648067109856841027661260482679974830420968149158152896784019721865248203485649472959329882872009279968033137595027135231768773625134782881033356410088395515771056925751170046501447107166976165158400165532606765490651437303369498644248856957879547854707359829556563739042662367860391641559309868154897400065196732801502876054947536590690370275942448214235204357302607707831776758097432658989388882081619824962489906766000821806808198388365405974586126436760816272355961007060204689021553694993803909557045199144808582039066621563779473128155048284866169695992406215058505005936391636144965683772002177541076353143416476218562224174500939872414275320131975570388599336956145012458208002828672260119483892782836542813364076349985827089802631579833223113874338649764987987086504578029444541248154874793169874491173357302794360046911209929965121192994125267055756270854269625659128154037111930060047283811193682313158144709996031182374328457402845085989030212048473021955177249035985182930466466045327674468041938343145198549567105533851191291661041125665260570001148016798260560133583312460986205686104276612357424439362666668972674038857767230188997205304791180506914276357000035931254450679588829086733400583231627747308411179457455362874374654332742760408251117663387360778315640868185275812662285275995174735841966202695358262174826686828685365119794006449321161725371559084075291009848085387018870761590120969871595425476545331884916183956197160735840221685519131147838163201224365581341927609012927633464235022259991346035565116917261281426901608367079499611031248472138996939141456254165485765684106029253406113712217602435184885875491522617552362814567289052623037540409036542727054366315201251855793537756830311022659979179438328211942738876063082153437741104288555478011591738806980561145278981222524261755840794796679843167857473763416469231526167274326592087087524196432481334046746639662283503323434807881574889040542935885540643057852929699891644052698324967947671700954463166369317253791679260759939991196639948984919919832771590838877471707729566341251018728188766886282335708908502087031641579117164786046814531714100914232188368165646153220168657362685050768304247314646972107350184128919891196796245687790036417530159951178216261442750254542546442470165354623629026035616307650980154472026755948515585577590129768180502144105063650953530898071345180415078432577315498910314650846975738645181019159085774331595234123042502738468647260221238657736381070585307130200732596201838113124420971246114609790257317002742819122669769307650385018863948093341008017883289979449330727727653698953480934612058491894529017034912378783174452581250824869265413675790967584873178872914011091632180339986589824806132765718696512644070741282266012309798827779154281719110060687394387482222776958273358535858041936513832966962855754210757596022077898342358255034589079175721066851445155077479035216515092203545526303130276995340590739495578026581744580593558705686508026139729598531269690946617460512621402659518918728219815453487880421758438636712384120957056636301022067742399200366829519088076245543808156312255123546519789513077947543738359058354627000881283998269042142222668678826164639041700784940334266946523003703416634129767404381213127646253829342706529213697798154921801732890212317920656788547849101334966904358817158706772611104094379254925983913862256953019416448717360321437826193175500090418601685624692795777119542670728922531853552021436301378607749509761108084628141824722905868943704693452716466061276010591539528939443242113825337470617634231444573168062729112066428376302775866537443994606500429282739482702541847595318748525844470661241162151487273304518715735709831512823116212639571906511072365762442917967113097063705753321895195406535743862362041636428145525101207534778269113856676397873770472465134019149037281448386750152989005713213014319310900317485925480594060043120260592923689213121740622189280684176676288374745780847832488324122909947464470926279472538792558697886905121902332733564758639561683690633600258773302156088027538292107799020798256192826869289230762055628180744308496458976049352411693810704929440747173286931876570996690225309730906542530921447866097454920029509516301388076775088743849430785894775164636168527549349182367637432526963992342974742761819095926643882719040480131632157687694392203062312901997237095687604906590910920978982841054777156660139707969757334903803086905465219974786116620586714363864874137522701729128149564317447139770249249008372929530767494042040406085870483695498137578329972898215987668766999285915937442026844514989641269203327404428098513164602359000928711508811446127076414163383170332460571070786860937235028700595445532971714768371843883627578460189035637683578333288451039958162277291482490713428382671086231766645598393052023327303320901164677831887731174395651638243393056999569973710439600329401796855996575757436508605180382600877114847070459492983169970057655405249711360806855422847735380607751072569567759042222615286518776812886361692628974720173675194942569799046891559021110709351534232177612569858031304170531236626150505619912883555117512879826180894713487365992152626538844365523525096138979625206353072757133344570646401036392193723135911986087717683195407044601327899892496858719798703966077487989108635430697082273255618916720427149338692309375777359860405057417988055843662749630794660107962569965090228614741560630166179937000979631487721688828062892643645834304822124364750514634067656001282434008835565153769709584871854632924385056232178142024013045135969471391691455402173080438459469238521017971854058884946304777843714502919658540261583232185306191683154900450094062370526989140755346087271271164422517216743701588743802871076045463546870813168367121346072838842637369517547277174434557123149461688087186064827356758186520657500515072378894192111016617831589157247904973294498700222134767179515140282036048625194641583557103669947703127519136504367120584404958465600166920271010398912703540942790058312844863352771309060436763732373293072750535878579283290659915229538874755608348464399661678070699782029538884920901571678234986759276575283367577440642240216271298057185557015473309579644382375266435289960156101683554437737200357070997989462137060796818161432342882568831932743143667545990540780586567802091368631686802198414925877450707523531298337768869776116441658090875536531704066416672517695801660688255869298153821382441572141905265003995293258977678801501568856899321212010903954603324622781556484737715588379137760096836367138830535903240244585082037059311913663648138139080673094624221451768457013804148212343493175165824516777537876953210909292524534887226790730221582243206414845811891546683148664734399777185270966350306397603971161545640084208859413852566333186955365880605367727916481045251472381018804923245165704129255680137740638312741574639285258891504511788827293973685086756298632620300517887370850694224946573041651511962305803997117955631253047422095285107438050409597166169732458207780846491719099569767711127700707964488152399495242038804231010775001552836370757910728209591295186207637536124710070361179088033606959234220237553930706377015585160975189566042187446984463613204043273523670214371993968876435973290990551951256754928265175503050748159563052943492488472312332690846445907686037555339594988646658599581693782660638466461421061974280452227527485286683225889105698046477364371688319205179064640320074172933616318112158282131841018305860774814866842624383654739915096775082767631533883717689483875577568179433395485403564441711723771505699400574356179125643637830250577114815872011507145179025284119725838407955292461784541939791188421590937333580482280263872536018891553401909018070536061236237364693589752223227427184032816730947745432374967306588101568634431686683362461734478495397157430823581478139137810214263454067821638308228536739561078122041281040699860729725955979021943154218496416306338283071720741927402732182473272894855651310858209858225648435876874874713591444319082181105812794817289725716161852159862268178621942290339640187099969680367202986509796281701413246712265531425048833625861089764199085737980295311018634135919244475831689200803101740074796264368960940904090632105821566331526305915335311585563912250833964781516056830974473913900063956213731430604702433774216300645563270940125479850697922478765709394399153927927581516584049197494540181724215477668678563974502007782308977426115695437528591740827286200103790831911473329786154415730078655074295307984899819869598607260181893769954245252232259435277282332735363277736460585554158175245512157096659271531881074584839665620499517456575406414488549731090223319848004413044539077516641765665042923952183577709458461760255252309605765289533135285956462146888190020236442009590650917620171907278788492718827128357912193388860987488432690901974427714062426169735234396371926025564851400739113374935814997310731919714373121324367777527765935779105235218229346973775677724982259629085688225816106593701049100485586178087301145417331243447431792188491942324016891669586206392596685402223616591242302532560054392201459824277693813751718274297637242418633205457414109446732307579169404213605279143837188718389688147421885281684374021377368082821269731407641451188025718990293894746972226567538570158055515698714814039742540640071716412659779713141016174377172109319867011618624428704692989680356583142148450962400912738458848948234982469925395194156655281130834983246460172051469352341480981042597370563062983176031697534874303168277530965760063766184993209857045958624761918266312340229187599916845156222651879819904167784596063754974943057091544110122943383990527067888703785412481252028027217621034206904738190070694144919838981167212890964205599780032291576617912975269902466337508417730580902274625780580989153617240770933434740698586370987487622147930534951865960153432630881942379822464976506704166100519428705911461518367866203566094380509791611610089660827764720126876251256239971491170502215095337983018284397061680115327184562142834362274647353985752548420566615194734258080781339171861042624213239334406117759027219604846051293965484759756078008564967558046207083704991737665869341130061492288456323847035868900672894375620006667915459872339405237107630683556298120817160799547751013368202526056456785095533357987240735507556499165362471570603510172595393509970036961618522242896766440900591861635145522519905745809068528938917570042066028428928939239080483210294632212260799551148258530957420429265135296918064590466185365054961578346845305603982491882641606446791571447109303111953787912492431648331612524773298019259827895716584098602220018155175585649350890703209936790305009088005085317449820885634489372315103927179237003682669320541313658501887819366663376603618891789432983720351438943157518996249528401988626075047044060844971848126306620880669074836079267460942263750441146320613978880677572187358472523623662497078410198978419316290452382936816173841301048576244075889674004798323466064881632518108833120583416529349637331632289642121866638648582784823901525921507370138332635958041614911478506115678640755392830524903014679928597306256896505927119376842935333591345296828191086658932127914565487960332274654449463629967946204832271364305278597625845816760588068254652612102249994840960375112710754457522703240397967860774139515489456977573165820751453821321539093233669638428755890113556910480501661354562744827654063892037371586818371918111136726832332967233753369562199568014297090717965177505594576618575479185791641376338216229044072939686052113358474388295938944519448256019362605260399916245022559216039245879324113357005434330491112308857199934298441461035897577390232105405346167925669691023487788244170605375059907326674617513001947801044715814057569230154542081264392437033410624561275215160154671021658919374194833197869527974575173192084674791000434454093459794196640751742644287562480089367054145259985980707743274728075285686764324110476114065915903920565883650430685021380688056204472915311496065779343421339936511366888934107026817625060702033095722337560599597236304732256376805108561531051347087367986769503482331168593882930490586919579286318333384906401512020335926256087887235977521360096208889767878959984534663645585444011441603125006660695118772878645553222764135168936568413717897288492399841595860447031076877075333911922517093577923966224086647174115156212206551995042983829196372347126081581943057985598554935366061558906771361188744073810256343975425101618497225259818518960711453865700251700381484948504755422468433838325212835667214773401803177169131679058850193029158822210750703244149522883929116182352562031263430431466885457737938138993012863882432702208938908157737003714229782563881210118012271961318987440948299545866314737540965773246995819148430689161371683053383464918515066104705033203179692065373222843172618976032788055897403002881688674049357113992248092357516652988392102660636770454386714047883646437071561360945105448926620054757811967937004947208561133123237455349511657859793751627468070011682226744323430202642519305870738704823777731227760426911565053733411350124946694172106407041085219118355273389428415793733730467580789943526731067920931834751101776860545839046360663841254870989429680463394823495262168730104613700024765786124144473335154261876982270295701138474008456436897485347845923034107352013566449814483420414564100529000602669447643463562048249491198351959743428485348493009661388179488675088427715582968602992801283647317442165091584069695369958467230802957016385119593012725507292159356795215696840474248168479123646372651980190987901933710770106708105024388085386094678100584512885375481859540542741862325567538169853503085367660451378548279187007522677925549000337304681459103508082238622783679995348496703551203678305821036908686983008579439464758272141850428719831668590948179957181650434661845214797182624721266652927244232641842021429731174890948396961887352717778157668240670216105852900428719293598135210676852615536379016546973870775564959903320545734910196132645373616205301095393838027290532225296848418860797997178319963175277834615166592437762273332097969025973040011624298987110915987632175844041198802494508644774571623288555172560150467172284369258775107294652737530094360914762051468444195663072414733894696810052028290353733448351387345084791070890997770719256903202757631740692474336963381027576437864863743056182257598569740777843330842761022139843292989303201138546345946422100548322399652274567485546932535282788822730686408800580056125862181521614810310875257728723956905977501127192540177275149667609534270890511491587107863539123734457734369665307480308887784158683691319740863399520248174368390953505945075463422384386369821907644643541039483107297399379650313940928808012751714786741035220640338152136252968076249811667447001367438581959986920007816439470541855879926004341937540832867322266847090484637003637722864443301396502644624813541539240244804062732497150369638592502382561337219945508181099067678652144811920468324157142176453422309452662183108799048813954326578970896980363434837972943730384140318444778388211119083241570561352348877234890047833823831952820317908738639259217419454321998827753027946185305742321690183530332330631253395526786542613015955260172118276045042590492237665835583480440523217304678907242048051089758176334914766581899954820812520926593893228503688656980824835783900501409547568033848783420617957220633699670744472892631763421077773534644608481972043068098927303991142020214415786083592437369288738151508327596460064054763381279315045795733213742075426338141446688393585733456559704128359276247068457106423214291736434998734314299365283728255686248733966381400588125867392800137769322081854043883716905861077266864918706079402492864134333750054453989599594107772649612860535188704171505517203991716204351290879519447270283534592426434593263958410635836932886505300030321859970231406386615040540738200835819250261194811926916754334632825869584921404799822507052104693698587592074731902077023682632926080308155386414680013613323034330800071033168979389321281306930479294886364186572666062020516179058343846271383675513009962952752346587666152902440895986908248924788053054120322955352342406340790895331053002239173878732021161325395171134001542211969203208263187943695074332931277470225710012120287483894858924584993920133914780332631437395854902623420991240115839236059786156290838370438430094784884401279354256380633155602479340134415295865987598701651628814458285720844431427971555356429262551416084111675576625525632279894882080131619798030139506258436199287962459336316293813081290160145528510303717571956047430630522844723182527814476625818298260221185403699627668567341135299173571446195729597867818717035600339051011412929476227125755933240156965397497115669396598625336760007275422515828578526042872147954660062214596244259193354847555029794544700764376169373857053008021712525355395684919287562765288252806221592702068641208314755367684162169836326215416699844436168624932356373090037587770018107738193510293482940372630244852488295535195603437030161836575208472242848761619715507259459555083881448988551667713929276326894631184179133652565661013487965480556462988556343076500326241863630023490007622049830553542785970014752746103496241343892554084295494692129809614697458927877705754354270710957720147663751581133489850277535108918508287566038979862706941444215912664733491843462792682055489672566349439845020353836631298018565829201110030645756898904644674093970565209501965430216683797453615883184326878052641611862521051166301642305629558527827750925252434009276330581612004195332314437103082563015490139363155813267483843608876451926417565875563628472088468847435347939652906081338458014727155522782217790844703380535768694786628693074008940762517367869028889042672557899963291734453966097754540701068984130407196848306943168896691489511547171370266729815510154896334399792165511622664178189985884397202789714073587907760363188889198372470417031056366788913608889528808879618262762812449555830786955152566161368546888038817120398929318133086528789438566047241908416914248548085751903742229384119094704198571750468219665054757581283247133933645846792429566875788469883586908378356785665645619196227598207493863491987049143088692662519367556531905446588609472175753673864755575348507292696555562795513648600740285325250007139702230157981731747579932836065370420590581230888520210504381183678843441326493454985483385730597574210144940891667757731851332595053816730917659680088266921073696977425115793715493266101656910245051708066591304506112054337776306526259385870789337434465347845214107964150841416494446892296831429850362869771356953317291803639097007237046470744385236958460333770420621327872784031712624530493744688780932330242610744704454345165705696872458006678664828277926030434055757881159686290541350153982915990067928596327549951190128566140925774313771194609113113701862405864911941963970168665750423535454750505679651181005363219882186221185329833720385326592536628578465357600096051876440466804275446545407473271365838818761734731997790489063177965140427104407026069916451500311265743054415322224557572625195730694415840972991464334380775193967204808490547256439795990185354179315870245478865198100910514056851533010509895194312377706194408416059122485640303307907548482543385742481332781872534127262121903337685733022770508407935196272275316485985236105998058825449468782087520963328692688653262773724338698158598719967825610515522816793855675009572031715670836753906324998496505425135233106636009903206978909731749760711924870691841586488583341916224334805145337616034596788292210150990169165805828641224]