Русский Русский

100000! = 2824229407960347874293421578024535518477494926091224850578918086542977950901063017872551771413831163610713611737361962951474996183123918022726073409093832422005556968866784038037737944496126838014787511196690638604492614453811137009016076686640540717056595226129804195835677890904754151287114083692425153529309626067227103874424608863545436398293174776177553262185112647485586491818038151987716121968151412990230446382406889650835750022964993964236425663527161493520780133120294339305948199604353969420254761018738252172711966524222462978613221897504974019517165315304898748360505669527154801765121621380041098168079734535478517520246219450483450137732631069390935035988598826321052841414001575678609609029165074696613545262530732547530215683071540424970029721042464657713750561658172851551721628867606644818098185845649120912302682768147351225295912356697622384753282615770046948114964848491301953671340001803143401238051136817383529604736178236359090032444297950688020042549707581742810920051587113272541976395544996564320561066233809944107996509023983505868826254101504437048432069614620830058162203244545765692318756565514222932145066788968458166403431217542120384260906858381449614534899619231900467977963087077199296523095849600825567809582967912837899666754472631990135059896378623749638002602721271280372007190332531861208580942669184318813379806172391391371142452541538009195482178127103419057404767790947408548585300339461726805826153286598871069522633304688276156298586025104515900688436549770091859131407933630009426687245018590571617291031936490991098228217111303418881419416874105904104754556921931093863614157983757941694045527938937109384182352483469190977349229512595307139832856254481217915270504659595865465695477902009217837081622239912666569873083979636249621037614923347132760069302399217673511891057774156409115337523737796739164299874501639465858199659299833466605930164782634986047986287211118948631170007729933467879533102208785302906484768220247087722697882722570310129317599975415218608043766240038735376268905375571540042554032021774836867599633613159500423889949964185457785707105025684811847514397763075381968197081809353979406723292036890892278320076369335840658417149841587948589109694590567289971379841585164354962922275043894861815302043934524746300827649887776588657430808787541341307659150357225673206408139140297963493742700782840103299929256690860602208331598375281999915671870901630152916471911594792045589654174108627724714953933330259638766452116193127088328263058379407282477564917067772021579613731556638858117457882957118203417140771452947553579710818266975798736591330783868285759503476782370731375931078738540084688378992553663116247942504751261510463457061195247608225899147088973048499714351467705120587222704881123894015563084242325566582234524023250064184629592203477023254431663678834524234786351840868377556610441235314544712469309924054972384215818431201675603905031719972524565657858377580857753875296587611843196719011428331596186371229904364101925104590174899485735184754538966936136596452820863600242776042878575997267236789350943310481163781137073061657701913615155210544413473188519616347234309905239123362574033170102120961038611843868063597853491277275931137615512583588086143609696078414543531160473655542295909978736085781976548586918266365930166972883618318752758568105775675966067631261844908745484099323247260781661001877242447578482757325634619280676825806300025702967517957687924077010327825950051833687592868609266123531195866406424282856518217722405362370108927300980366147700076486863597137065748242066418805996019152058416937539572940540848572048418311972653637539392292607122329445546114043830608888455472262982521959322579596676683095798571389513587611207880657969789400571881906259210735317292516019577563907999470160972554166513367117816883319321840660636568596432815225078372608736592243877575265200781212833881618586750388584003652016675406392778115111868458199386894262575028022072407470229729807300769305350299030708992932968658499970377357047611241589821412780882071586215497600204467985139003349377901546985902884570454097514558451773384812005969986480262352327994453850460076937608734626659015202206123435576750480616281524573157302966399451196823834643757718903063240959402591380922240597916893176229124101771570400726896732414405895355905933752497459666555146355479201710856104464717446942699735015204481366510113173286586432989936828058224541791358609128169942609487581745879188901454907687626492445612664268419746466944857011135284594664778705669332906683191211679592843891707763756469830607726946446157098827211286318181633963433982622278777880916301674073605099360426618675379549872595620032582682304219761940526821315661525868341775673460140510890114566065131777384152248294592892196925081707708956060296377411787353266276600324787319187293783780138148270015179795987032424870185876471358109455318476530890730373245779028494198986738943517064149564804990594093006277657735282745329364839230377036786126011877199543323142317134192498839532959815897143069682311169063709880980582350009757935709752159691546529309592501608247973828973507738795211228712906329949550038643238424051988830206248681225406964552601853561814705128129575209176827634038449369860460590635276881199756668156927705608260532688929317249943995632966640087434150868853522140468163389913962148072377130843590128485356097963244234258597335002413606409678935872850429834088884095874692184869621139102956165151538170058823013454824506583037720414969408727995320732618984459390723172372773505225555870494048306412233528343388721349540006501057439848172942309499753085648354311183029377249071656160503018931362666762334507974153416632205688115646752647275910981101914383753598053770480983400813515228505733722683659544706233239092293045748627565018775794784349898722528041596009731196081424686254783434375542259755548130923524013655819377601775593408810900096330395839742102569482162078387429035759201725472744471584604614004419451027076341900365088783369309245319804743224095273365904204974224026338825169846115223389858328713412227461715321325907836506058798028923224690960644743207800323698659285511311486990398024934998680927904148415993107729560284732270418489597286120616569998066038661086705201649351313623692078804312221012250312139216410923582161474293841740579901729847279223428368268681490950541242823200796710166512178797440562594938913791839387426657739855976346749047716702698381568584368778609847394993632375641155980052734098126250830686482595500428887779183729173641924449692360120188390729850087918862083678323318850799596507200877668342250701300559629485460639310338006962409846734799416469525316124995399767182205049908946878275981474421785804487409717095320780908550438545095692074375623128883194472294012503948867091357550225733247387673836713948329373228982894652463686312122894655728394134751081958915738700777969517675233511970332926553477842126626657002704976618186495385321990992309125975969481164085107764261143480729926891434934653945485760525710686985891865174258069177742205999308690980946888210533880901657848794759904966902256959045488837103415525927717923977445378303709813566514552358199104233966745765529379855593010491613523033562555952656933996721762709773327929804120375937122471919820933347711940958528266320276926806603115723886129903420862187816632535548132153661026850422287575793955396246749701457223907836584704529328949977050715566374099627874261081802790766282656761601872487265444758953735966424841514000403524335516071724658005399597519912183875779310968284797532713687787361975283783737741839312064625026643441685607598462521709586506947887764380981435366133058233958841643177128134689453955873937874432434687145280671197195513231494609576155784202655057731844749283396889800825755589655748878413064526453931674676427894243522757310726579693105983442299584220142405730467977460221240528873414147742446907801753090702006287421337553108994667660074203230000277508786509230740451650940006952970374507654440416869713072190688458826361661200946641016183036296197186589885721251922406071796493047632548264919418442230198954452647764674393967820682923984500338811107120776752224770873226964121000376007970278778381110189338569896301997115913615797647888168527297008769300198030181524950167975707554384139664071545422307244539361131825430686392950328457197322610363857519633077627992504281004202341942775218915815914545927317324211667599593371418642221693004005588524791841972862404830299347319173403590416752483859511241867878206389162437431760290323651473581040959280976594110663286261572749778942322250276197696422060823682727354246626199636893994803560390052934479419997096306769803571896244940576901535476957850882261358491713132442048822018592198820969477750987281874282827463948245794718843584433391177265043073909560325058448198995832915260084255272946936644128057058726962168290498895119135233679078611106005101520912096703971372818279362911106858424628545623544082650432148061029825202932934167703257418140986265134812016733116051295176896449167032396751696313799382852946025718217594969741787574529710942590246992970304017747251122364200869942429038241884033592227562548081488222629163734302167789862372815541366631949624102253448015578860960389521180854444077733552613007057841612033631098799111177140159832098881785478879281355580695256084154713449469152472326303293588071045070473978081460303940056718501036271708121921975450601427613487730525199147197276975343080818433964308940508403092776706439767188849301321751277180869708729500620623858309493356097911249371414797898406425487435634179435773610196432976321307837967874392664124592919149040384282474997890647052621063555539181658192686736473129048872386414660486917414500522399761813423455838136287027973958387883497909965137568122167354165690451089724770713333041578551072933765145855234470344805699717944610670127903271473689170381838317363952033066536784880688768775638525520626432024360010265126019778485160225231568714899183967962218366817905674813571558196442595357514899006471987287653913445808705641902246543019946827778127061884055417232377647521542782361760659785409953996144644662409888525921382247616839090424021110345490894287658199343693272661467486064067566704905492346983548052820306752831201535417015459985788184397345100246498838312846172748705657695989710447548626955273737462967243982991200091741274448867484142796241175130638341788237593297314320564584561390377227159851542127940776884782682315484247143214703996896768557078139541649820998405502812909408942843401326087152749210886528273710935172618352935270711965652390745991201180849764648824063615574449022471175861321051721565747543212567621988750941249777986924320822903797472606428482676052060098450617805020511562738913764387344408615988222992400342333216118459519332040331654041268829151410051175346044859618550552461534191531825748488371383384976042703810657494000520273533891986901602983797596721764733190827634634392499707844921679047980701936607898978235076844961473308871479707159150674059554795945616206401847611429632256723006229360558636544195125810029782794899100405487072319421171269043025931309379610273269292776168085612238692797978167506895130655918778864352680786654889456083246582202049612516465489603922455168615894039160649834384823614528296817703737280476898941720631772555910186086197715460227546326335017825305338061539177185199150678600630600092400873877182858962680440181097350311853355271507893172596966113060279956964625345275782203774937875001959708712123189240594811989463098117595560372357262892928771632609019318270473134022279738527232772958135423586861817878806995580888584315273219611170452723842068853460970223461625759242072328532616105092697007261610147100068356093036018804952048001444295815163594881256196738049203450196251109453281800480372309808243475041790944974865421692593982860122946936952714583832578800783752103059182320682657222032315525532381176883500049282237037749793473772822836901157515964339072765271036498329533732393003394653883948103022833376222844458257770958049239252194621024698472658836275609450190889882439913301121161492651362657216785169452679134725629838186819434530811039875576359993814521262670200215098196316090978486654174213524212947841292029510725650186579095120391229190247172736081000573839205218197550680566881305391000406757652686690652600256147497209481701516743765654299822982695116250816911483231294541217579151912746632825168812618363899144709713881626713222382312912566394119456413606732938547716291731561851290848443060769324599072376302630111617805374737891389175899875759852963328049346335658295610221374079203742442961819753794193668833138032461949803999196346293216191569611076493619660511889414006285129495377272334113659058086275127752064098131409956263683524659858068957978404477255075481162848281133774431751953057500186518885842896433545704400754425303088202476756361974972031292673221813620116458383966810498414436684441118711953407091150386989246858007441355892246814611628988973127213212060622580373233474510322266566957668634147656023123733116093373348733724482110167464373461709662021160459434551310477138234064015933983509230604614367148103843935544685011194934426280207090501376094908281450495676289923397938367245854290092387431666760623673525421330057356976433249850946365622789694417044829225094409078969259501323196449765967838210526028472310306412516086031352088884336410660755637669215279059781455558137865770044315166402322286950161109107871717948314559272390213625881126459580594027399537375282706786853658390111769597876907303673950556794567616295058617175076509840215718658442705693783521624084819985011641431542172024809367773762575560546404670188554885788224235657091505752550260835018322910466791437523917294876428099504237108588938389124155034237963701721161381822024554388786810208327369253299404605520373530520105444587389942549759126155650765144808982939733577419457483786173615753497522389083722703433894946595440675750641967711507550411840086319231952652442436457976842998980991431008121034162184149226795406469894575618791060525826148805644253320303822308138204516899612379242904929125256612187982168383381999874458801497887244209542841803849445950646907893616208949522265207193197129658085500291841338444021085288924413805088851063385464896155410100597656027002851496011959494342049271020775862890080228823218566043326811080504334203842453007726919990171973387669009454169122192564381208160267330564560385625745626143781662708868994564684693318074377364184083928735328762858597112682905882701027011902920916640117024084495316818463831094563006897838424387097024756768194233064860716539403819402630851468979918865731937329343299508661102852409324632499690459505857225390077224728967981465443836487997372995524233686693540906931265173050508567688922581727988245951736699217572378408646156384944792973173470400972784791580877908990167250742106621102050540230255806647819999854778123326448314045332517914084385334891248582800103826200678282744019404049910304999275521507530844306601319885910704595960474353483212472755594648098101812598832265015181338358124251219192358386108246384654783814626635213334659939170230618727580237452133262565201310302123984734890625437231136569119331849131924665436669627564725123606763608977970738629583645024077401744858836836099811587681999223011944837087651431883023466880948554659499376728951125910120474823087450400522054049949744771831421725355636096684766283468518025123530790606608992080158550721651216106152336946920269529287410444670268405691856663506104976768939011579796490393712353124342599970462979713927691025205443736117910654869353938155990897336583498144457398574241366234096737516656169481620924915552742807281228195690046608974766665256885190140126600636574539099148107294906253097892680188784856985126452859996545166747191850194767710443606316382556181535756415916573970018725821150692807874028002495879061145249559448750437324900787806787057438488115053701332349468592035915022245633071585054412905801746641742441553633774560559657674092658550013439162757044290030296453297990988172725027731465366812907582036945797394446183544456534194400240889095781193783417244765602682541993503975070342118308467114898420521868451510366842114357965425831525018206825615834874915649468091261363418171487172903918728683436746174922870138201305482377725419383447720726906629863468535614508474165443188721783234018812253508379477677329420794343857884117976870714557132122371153349706406779715959225354580714248673006176106156958311593558308624014272604032235972025428928236219044380662324367782539795899932131380426268016176644284264317217822427413267907721407829614161495221476082552221901964370283298194162411232420976193546231602151237369828739077731756134944817146398837883019260378922559974760401980801668534369247535309257777425814220710151828226065673693634939251712838818519815866317870905122238798407872774608901235907855279003786439195917914942043259682012218152999617354050843311830517233153927630012561853579030004195440411357598029810119717991233823654494864966761017720862035131013227146598359397743572741951116660421899125214846170155796011033883712903776248015966481996251065325359113183354992279230426389286714105412038672234957368763289712188897338591652264344616615133870507921299619502983034723233007914124919149288541805026468685016701267245549429430492517374099486428242461703347334033558688375481889511932599962383731264243875770777840103457613032315926441306872149764954076530809297037324875479248583846672028239700555595952539495074266185696679367113179844072051447307129767146925628852910087179913563881922537819973937143961376073483722162825069521958888685523752741195529255056447754584800957007738448799175789627391915154732154194491978559856446892463139033217162616581252765196199167098796702725825005420378517820572832288390554843175483579046235806720522045103597127249480152437571026147673644930777276562020511523029284419825302082862043739752465790417836281561930525505844041607631949068302390759556634969401580235121105442400176637994154155351412969906730503968435489636490080205490584125535163656254520595181807809531715944189206756719354492387079059168813743755248793690923577329218818492124757898125387366985798563576079319433754173784987462705023353663067942714824602578438092705277884245246987394329925200698435524426777993986884026705900673895874691183977578917359695774407848460210677681164896109371097977974673415559692658869548501302041608492876340334007006970278791772088821500408607990934528791781608782162474113582439568138817115799127290380662864895649210480376580578507862482996306030784365119848040225318244364406487744019981887059445285284900323809069145246255947116812829729248801326001437518788503201179048866095072634106442942165347506559233592886421072333554178687174597760804762532144805233579093835406793630140193590191010744562841548755861511962585522695939542049688007951133856423436021737070100071161302988649518148020883490380411431691672999397289616816949188271511386180833742733925974456785117130136457828039202912862375171170395993810517420607805975703985176388535766104020644902112593139557836537400176830245044913610556403297719866764852677849513145551956997713807409365307653678367413554684070755172866351836992413353411366401135103239168178722140244900022466712804567526317368476578168079678272267472777513525802832217938125702587283806616964096355377678460196306188990132842332522237424348704024396596937553831790139574378212871425555687044748534419987834327331185852228588181462054308642386311135257762935540069446336691244996761222957233971279272958601549011961674613845205779905251090961859893851691403168750115884056910748540329085487546274460878469534918042110065741323582393806997749267867415719657449310674559236984530006909161518925379056664244841804118314151201216829547429989488285459654972254707200080030219853670616751655074679058498456065851183207696145972090312640678717307122398225681995624648679606004620113787147443375016284363484084883046635219180900237313720130048016704290460710903267519876794989506638188904083535525376671178741649619093142813906428819855111559840248531589611050289875949210140686689391454900814744137780323359657180513273800434473824237087323122409236329039052049549717002552384088781858017198348568952770049744587302379559354337643258167512803695887389425279896098662074344124191183336468829811399771353385343706906743585548614713431918829258791372432883863125783491342426463300315687791265430425421260571289874332701323610941302809380252057982637009315536796157971065346765462058152394933601494499720320893267740662053790197299017718266136027541556346454428611064151477502385823359627510090590433522689634600782074896792346133220291288382148495394418083155909535525160434922404052206045321972519786433718086820025723607956928256265025399404363159168117883820331562840222634136071147964539344117855047869026500929271573808365956756092586079231718059483127921944617408489758766670718015727759264837648838371584576333784566893763793216440044331544899386516718976637058799753110145085603788369037235052451929715209224647456278568874044284777969766775097292150587019069834599522381008339388901974536333108385342698975208589774366623770166279598449669153592323598119758976261872994098245579725658879007097413606445472619467397873971159725387223231899212474358941846459053809131072034640325581499966429590575291727533592982775345476698256042289877674562472600762793867692922818566257202918873889423260323753723075133662089412031384393356686008225431190577243371074688673956551090120541821358952099361023377911258722503492360506960439395808358347775481881802024637313993216251648615664541157656216165252916725693609204122333351499455548356460939894606497865362208879477017555410700426347813049945543783813554468556089612037311055052709906355743308672644895815935370494437765009011298901867450753772888191012128695617509836630992102030191711541204969012855568162460869866438176920254731770526385256524773704246661116427488862410435663911517702404030095297378752058387561346074343389073443377584073258768601558205959443692603582200208425236539009656850062885721966021999563606890909583877025896724383950880738126256575081366735459229067561069380996845513591677026746381819468403164267134629248767936043236433994291329352180728930207571499659808451832261016750498232644591703530147376397468565498394328331372805151922181243432897807264279562567141396178508859777654833932118291055853930965741672182641022815799137494663997205267289831159891809628740193428122390576856574630729209874656278909242585734101420362642338040970999236353351842618267640556430441691284564583707226143859961554850012510582946792291098322947520663712079488848584232931026489389714569122094315164114927874659144092142323496805925662043882646178081797284666187772288369979300200973344056892912435582602027178881047096313862159194104942781916093035747246395654690570498561911485766748749529111179879756159745566655148648279242673231940629471761428657886129584363536304844329758648074058358325809630654624388203690740518687643142668004048987384941285485916374057396618809013193147522881083059691537295050942385160999022035201365750746193909734287145011479298067190329662381609428497723381573420729024621009757211576683414238413299482883031646234038853768621224831481115361105031987226106434108278399361349241986076313763054212070685164080096479026770913648752073693828612359660222693031829836519064505953618500615893845438338906019901623361248883432854660331235901943549779529138818911640959108435737245091205563453808396505342673778629713855630455419441821871066369168850893116722190721833266712439682292574257948967846653070635835823202180511102682269198287823751405115649432080067206121193700043545290431113419310010917556679443052305808482855439390100493228849900655588268380739877733497582163038284257790093000550544991740799686363363872294455231073961665511205605815734330755860868218678374057703073735819584430713127160743274536846541062518535267618645439774689977937406807134727217087246865787020200095907655397991161668932740824613345484889955949143334132910264397986429762460470048604616291671959202461121884095745338023997122605464058666718857164901415937124261277601772954661226329880939501804354908391583117614872858036204370514252470121328077952296719143368362607963927642904121788865709155590665441305088181261883003295908595896941032017239985462113462932428669423649210967239077564379489040457037723958148096684949838797323418662590676464480241754444735299562274538290417944909514891969192323519212184367056572296368262811471998691573443977538576901623069620313514525596235236668749066457483252590631785195703575059141446920394005608398163955836085017887147939828815319439394953553130565775765468660914392190994439683950603526709020571662244812676874786969238966227741073656461212814407383454876560733987814902577863204940246306091832074467900348285197435750533090534935496695950670069178858640147230615597074756447498896906947405886465171023398211289161181128383985701641631002923721401281479508512011323753357913419765774622174877938237862049296137567416500735669229498265169164860755051744644985683506890909220136874149768626593989538416433322333511294481180390276079484137087925301213147444169757668559834839846766717412632196745557721408624670909352570376167270941448686673783687774263505169443466209032297657749414382127690718030228948285966048471694457632358812657747948498720156899251597611832526278439737629292572609314669998797200962044056422277320390636201762697867227859399398539607332857849266142922806427347061708999157016105760477336866208423399707087647222262649943829234682796449008043060383358442705726539732513080390338907252967166830767494012724415180162275854470539336366257717192912754434437963758638067094970433661743097383359275497742408672674921232002117192071941515039983575946538232161024399198055145448901755131622791787821686212435516305219777242476824362608263055229919476269224593771011030615968499133288396505224278318248297413948248181537800086901675066080686767062301997865041854471506421420599487014188659710005944559161840931593806255120761781127260320935825839123247846548592900863582274703450811904584192863910607201313253698862279745791259458316993835929519244610047634705712653610310061897503859279117222798450475843780261038216979888544576062098165528752087246934610860862579269962472714595056076362476572705178931418002473782952173834688296283957750400024049466280433720141343332040072596228689788651099593736521972257918669816490298077200510364497742841642842273500286357392658755153729264775077786981373848179403409156628940329303442974533738011057147022027409783815646183396010078376157955271108147906606061335183345404303841262123947260559998610913583205856042714434266297797177969145198575998052243406203828657190787712998708536577413053345277461277493130405007745295709826949248649926891391099600129164379663499442373257946883779864780558334134210996986543149059409133310754323108261276829688994801822192889215518779835736246368526760481796585964145846606132895648018715830067179805823716546885059877990801325644723977096884821716333034559357912411853615938503668855632269377448613729797270162388303519376311865523664714347564253866479595115380858053891707030553380928656648299378623982123099572130601100504218602841259392144056302320885808620095673517400943026582404995853847734856011249735707656960266912565737077973737022745294378540902638981960951759192989229757587161005908244620151557544612466837174397876691277866779936067281852265901762127216589176058687537024145337321833826569703177463256232679915394624884195203316920702445753710683814375550571111153984250856337629735347658609525834865111987810382523450389806776013410298139841554580790685029857284820747080973337156550782258367431236897658490072750615635771520081146015917691088732410172331901133101582764606139557405578668177196403212663100098725267071270690874951903824685072677777005981035658240067269642960970530289788252507201822569198050315066754926953215224087938659301147288746712116825269361637191222310422920094689156721089227750424224341831297311481577509554545070530747712150054117890990072976352324362463782549681736808801283652065965209168728908853726542092603908273104637491015939584395090720542013683563748388141455944413358344433112102345687698934416680258376354598299961425809653098633788534389244278735794957970583898339558570724062393583708269019290030799894571550881338655431662555464287960402555240832472752859284045200294917566618693905307189668914197458412832922723830651867008975098895447090558790153298129538039097054582303266079196070668771638306802294650725608526903923532752698858628510937268261767848268762756977899476047913579539119823470930938475798168877741575506206622890784551391567687549721037466035281742285879865102549293768961380257861474874906848175254256429168741122512512541991912134576278213508777855468252267971336672870918749863416706487846403684035095772925323483369139137061400388621552144528543308554769007850913164715794553785356980884174076038273064804896184298932607374843873980479051956522193716978948039605160967286116234112653091779662025672711723942760290317623923968557138064739354686158487210842912363415653857149708772316719013739480550237066908688793949789658902643329053902954496437936986490837016875951434478864372247760527602943198722488394572249012917083208958504032526917849938784697846528977007500816182214263292180875216501427681300206939903809286263062050053995507018239392763398588473231997538912924059996067118657932741715160763455597511757930803354984420688812633382783410900706007664155699150006344918591581386617152376252397358427669334356149639074751099133184214206083644986572579972055075705169963186662289258452665832785992873763970744813905216664416329871925515064793130057799113800198446093503500510196502568706995748248617660222468360930138613973351389232571453903417717388545049986824316242076545505306754433411827310351223471488778912200979211697911699115132518965139556707105575199173125728345505007130716909776826581399004534323658140817259633489439109621001889879519967441569993650975912116745563363895026953893772615912380171255553800286609594977281612588884275447415597837659611516949134979974973663497607925928217120069412980319841693159705590871436320409788740541117492130568477950986705874850755658356765487505292977312617406268885545475476241777253537954231893456718954635240065025616046688914029131202475631551559883879744895498061674383139714976762442921871770170623035283616804874268898103297933181943480740384509078273840242221107533336582741078298462594893212509557432138047743138493724831257288580482252864269482036793394002923063802338554796611413653700546535100453136329242452897129382103558523077697277609181079778714361551838252635868486480131498965834227933593310602119645912386049084492580695103750913593454824622525901996824830626423030214860781946663747508165190812116887253644352385769440649559077747789332110129739699310961430486335722108335831666522972966703388569707813817941004353415725272900853580329182470909028810565347080530201965116213618334571469133668749272184148472520168862881955540606023415295058631184195895304800926412637488662075553501654165522563445815967389608755803695583944744192040041517101550917060485364394510775267205334753903189829941518015815813033709453563440123814472402133856793816906771455406076556966512203704720167899971710292955851113651859358772079615780310437940116607252535316379085750118714419349705126673161414911580485544828968384727184215778180013513587183554222200863862025298860377890979364970216075603188796431962173172117837651063011554136488611152133662391806538899794432881803951154952360523835290829568551693482908754236857617207191662781350313075364590355407103871806425792694374651431016593538653847399840958129927386925839225192301675082962197196610045301965745573662401372013490143246697456964467162491514586238884596587188564188188584725440703100351331170760033982706910191077443827019224602037008093282609935335427924393891076507157139984768372517042989748859278274268458765440800602137989525517376374335993592829587214042485276320893121854803595786935478763338864691310570469045642348667304845204019267339101562084535181255911569580873299421322515501238016432230114014024952455407234457517626865014404397708839746477550389321875748633077081492512207561678675165540874184605361080486534359506808542679474250136157424983372689690837534203349717226690590846312310904769990208323731893611322040327361894845458412420826103202453077239369116686636891360368339702499865254693180503244327053447010394054017217732725112266514100836767675186186845853652972633806931486976923402741791120409607859239894420035469459284002069778489740351249265967586403532729740432498026146683584240215164052738883731712987630684242415291626423307967391112795754345208286218495933127591321402064771480831887907810908019214625896042803123272393108711605000017395832588730166115444721505955017577734921733527883163285780322897186569523196562090739183946333181488448771443307190682454522599730407074005417958383515255982066902960788581504627887667440756728358539435017071784010644369930204780172604182258099459748845873067610111279472045261017391476872666513780744886636073383106523961050202769247606479063984471727348580137160709752462284841831310577288175091307066318608189184135115158726029808174624782917053704340685492518991134791791030334976893775455878373786179267738518321690582397611770680732295062704206523493281477290395906041060684061517539609437799059261471215271422542731279135371636177985483686032521419291816946219228869945320044373872887837963207647565587277133319795463983142791947022974816819775602860183953896252771525568712489307475954301977598970654250007700145997685187446294569669289547009994263345239360625369745242896660335425485329193156672086305767800031197763052837158461121927669128589662697188217281613782055446410931865829943251490753090181722813683108903454259022762793468645323540978126633075993446904242732142038417961247637716997453375951197986480390790946371166994572367758382166324104023835343262268038372601999086871451924923211176658358049407199822260533580321902169851186902984597090308098169011799624504200033102630013141654800196533732897793334337238387928809986795038193278818340559251326685947305875801814660811009855979578228870479078626125957036538039349924328548198319557441982209395124880016991612775907977061918073950728386766441276380796129190572308746550912040037682276755192085525872543117271693103407413845086074848807575418279723521611445605642130561283794534706145081338229862911252396417456274797354931622505849877027030767067790705472728498547012408368236579210169960918158477645649639990829543809022826487697904412677373663463143118262956394759192192317396500683646077299640023393351105261720068260237273128862689636634540796766990648838729731103457288982895249949647835703650706848676340823063037761274136581040824906877843441142323205361976585983601605796218211469873578379152173519082883244380420865346882019798051079613539225286526700983001552003340094515974678010603685163055402436537906305926720653664836818872822598091113603574906794510535605789685458851477981758985169232279128578247427704774183033598466277597854827367471616894331891850454340605448167998234838934231535628169554800136626081589766780261214748353136011289215197057791052101494901029043062472485311072185036481619025864701391286451663934678341928580290584097482049744168145238985617973889425306840219240279725421932689360569861304435328180491504336347979874270418460553820885161086422875630544265991690025824168200328693048929782257966456122133995312256175254203791028176176573723552679287428674282665825236500478536682848778060105836278646838929093587773162785345650189990919656600439863890617616829935933015028676675908947799902714691967598426666295468609372837636801078645914618682666833395482621722053093101954043604461190486067794366574601491417286200659129629023127100939756605786852940637176640297347744630659096368106971385712047673733153713559843079241216568117463791271901301529831467396650293822447377047349448814180823600997026450128007178152331277188099011182419613857055127883342745602083465161176841932171302457950712178724818140409858202694498999054105973063170859680810691942720233905306936306142123279371576673658059076585673253867794110687766917736104441652833390044854187551019569892067536438901494969132344201743862213357091244704824581939011615785404844701549915986264656231465426819978896408641127646541699492113889679560290159318112324421727069717142640875125482361929482881953952601191736488219694898006730976945669720397717842995815705950815133488016167272657529551382995389293021990011376051418593813251015022133327538103760099426257950456373516913439938539578392488698704880264987336836509285062985254663179425545387506567173861585747580812555093378000032798285887097431754115806122447632318890699230120446202982322805044936756692685126369399916740228669644907833743860828122684328328276947823113532468123206881835807789067615417407697426167581693900464187418380885732029932030570172068890931403021668712058236484629298061943205684833424307077115534773444934614986435438303617633509203576137923352916244823078694731208037099531643892184361257107639425782588056805823496031093815291722459186240410073171881135511051656221311790731474895811072708693320991086598335188907803563281257750642767320195858454648833130365431341817496108215504522231463759648795572519318954016105094907554767716403650385119918071753714266615823675271750871694806268852083286755918572806740455510919481507565516753744363611003968439960240897621869260462312936348646679001251874858105506835874752976897944845289315187265312095821339810516373350222887580308800137157111903775989208752360379039936617395264212066808796808441463718628735974574844696659034433903664661105531718265184468261100746554372832180596665134202872430216706138118517021060388034781675948896658138517326651153014714571443958079970686371816413786297470884122457057603493486235211851856243364925753032951060864628079748911886439116720240521952283809154009034784745656568966861673509166356409589925017184600721983213056803128045733470668394631102087092074005581895910415769686483459924725127634787327786174281745099225462770600197656539558757669548000916423630740038591297453753282883010971395201510982486607641156325288317238238892206896645801687093834924591469127111194892601300283765938374424334045236291528706209008107441798276033370292956487857685815759240149003539523600449105544485089637235066845981502876743785998976514203175947450363287329457060772517669932736235736559122518625725164460358389660682349370140119387833431423338728999209554766764337336154605084711756686971138941801433718748790085488293300584864005887357566277528360241332140933075836001417537112983339673150936144640381276692840860731298004951829123074043031524707170598073756355622237467032390293852850002226352483974035528442545672016679107225247143644831535609413867476283014647316999370070099888286349259323546561406387762339651565587329530733916735147973463336285234264722852009756614268685794458782162787053294677262060374245550423962239197352107248893939343669260000437706892289679148202485204223883598679008421106703711511765533474318846595196217235109009986079548131374292070000695121717093457072687436431685218918348439350316825612250309159124599113553464517887320881517742976519604400628523522062973833132286396148638677172904758859833612341341936745933619063722108735990112439730623335795269151532713090784471059103905973177886433978943527909660975914722824820912300746721916143903366456710145718187862356955025802911787823420294422565407779159538756188722275991956624878477130218713389548263977328714983728862030049226860343262142891938219386658264798215612702343211842268469097341283635997190159180423505030027447978407357657965145449620445375411145436025937498093233273894309713656348276043770741705523728505572497913076586415373351435468790445577851165296802861331903956519493652221144044477047261062223895120831296621641191710341352417614712822709572677186273657847586341901628666432921866756408836267313516424636330954883989261361878499174629906120961832421251248955483781254634271211122568690768490812936172126799929339332990981906652329675990469446675659836702352815256461374031132265447206042248654990801614074950405230106737238247485795659354393619650217951808402152308467018118492938904538687067152023599972243877787329148084560689889373153601404919588950243981805826445860116593388896227486118849000717728850557719810823478030707609734548228392597261969830996942029847260418171347615078178232213962436678806600937747910179797450523847712660965725067466677527366509076827798823969737870248676908013165352781274426220444343092952040638486124783364300818089620760144542719209808691370851207335972051495187898040341686314410332886384823879894827731561688144688072644850517934001814076914661397680335133295753311112221447627897814003238904716164355893843716876394289097419516100695419505751484391728755864935776701325037961264986254747411842225277387896183209961982838643241465238828124858605274889158387880623355651782223803303977203141307234804286804145716308833339983788715483590995348139762202755531530477882414842078487588927439011160374468636780912406657609986310826422710212141741643848970589795740458394427970540893745902775020677188071333443441000792960238011820368889042141339203049214417054791638690479094570368260710047949948234750520846650134744877659728001741077038120409831707563591187526939471999613797320911826380320264261742612408853586202974276288675805124966947128262502556086377789733223091281571106660708195829246809152970462779937592129637823426349805499876676038852156775469984139922271140181983440123326244208045618132037976865781360457883010028293236832756889674390406249336761652256270994455629475679422548143745235315399745672430229744425749059133593318726882900962409065940235765293755802271190842712301465830412082718993425979619360350342763825458262153922419369781353160057215288972134657358481856710601431007361669533152960093986029111248779188320004430004028120021794708573500659011942590041204206461728645962066906933466219790057536771350111742050150065411263853310160441904622915808682934821909043629267533046144524237885922270307041531120826793734984195539202799425008339468697295378691972975389899010315834604948159791208499470508192332828191933191392856973143737854419884938615602705367801946590722025158771051024453928040460483726585197583437951230772092689964094291425368024269308654832760170181371267157952959172412578545865336224599645624096603110282840394914059060183487981674433074785467196846612485320041307077888356798418629934185841221613857990878866162978932345134016273389935872274844790509651624513522668795142292401834846443882898756049749974429567783749422882823630542769694136008990147392029372319902558625272690690092693333867053831181683205255893056878875021260871644472326909989275439568402512580790416395211945978562814337993979842597853056208880840914543106554829502804021038647272888132346007173711128284159724691083966784082217805625178740216445236875296742668088911807363150228912513974390633521881661009210667215452862267806721794693540883999495928918572905007859136392839824042841786953680486615419180259298491853384815489086701847093190851825881458865592126099766854951639275407505493694487510368072420640922695114219078839258438719311803536019903471321412962705014626199273874819081350356912307966940836545267518193335985649984313482215072133744611001646811124645838125164396880504501089501772537472310611437891834644309318680829201803599001365981015865026708524300174630748742019486842202329323003775489947576864139111930144965481176943149210583239621445851589144179199023668956586188804020197033005115613679106863553124737353301492676529041976492647248291160829054308628951814296966534141531220911026964051428192063147528442822072818854083696668623238899732673393494220560778050816877417235793328277847303042715249771097227669280977971696134299720608658181365724247113692915132387883447465329356216776735880057134545735799802243373862433891981653822826154007884650329746439981339551070460192245868231736420884448199164519874927834591740187511509177550201341129347110025059592645224857686914748763063916203097272079900891059342127846799995546826235491757667239557047190666193380329788780505047308837507468938914235342816291545689887623700478782369132509525174240838286069306183175143009068804032307202779579130985510431804811965106273522186401750749528231853870872709372006324597376592906749207382554846745307920162787497195284958009105710291685822735812437704331335107821695957470841610318833995558832013047549927463484613186640288642914900508248519390444482581651274992673834361584422838145470038456009824058684436291493663322497967644373594168616029530622839063360689782286665374056884185953709933948647439304106617381910590279264113896294446552416364668274572140862307479258862229383752849916327795735019603792074718106222534500404979542073700656709651671923424172748083855359590998383509748753061512985276630250699680884965213985286178558331352206145204264188863225798527341218587733981616890214685538566210265160592019183545374718860258439164572996610362000405809940390027705716522914143216230164843863557549623706201766293435347487351212142517321403179853257786957796246138297317716285158703204460849193366414496929322516756397270238183863307129110749180541456943857717475057113469858101628624192159917724379318633265904825565585215353865223459223753920917445485838060784021685883441610763711625974783295953944060249389264322264860003361057155662521398727941579842468200122496949808667281615891683227468148457642596368143701634949518103313060358448891878026092173532739881482551787361444893731504232728721235248560518106422134548705433321408347959838998882797240947198203042909174406734366759465787131513019893906394837123029740856958258844307561000932239202974147816054607142609299918198874359739479063721059417836061251796643906902045635666863351836972468086152652731423294539790994373811486578954190255958194326318522427144000017892571007648186719561289105227732487201935896689762840144379142429188042656467246857914110434120857139066159670756492498720337648825052742835509528502202577582018482752198136281366251492316100240727148432348000527182060047561645567960577567150336431920713151913569196882552336181441836354053940372149637759156002666795109780855352475480259643662410456740815745307429943708994187104773548381089425470106263067586264445919884104323025562151831993753269683257777492983992112274048535237401950168181123733314321694955657898041591220331524751618863894401784810430414798959292203791184980299335504233066044759265623918453413280047871278469652928936708314913216391508708899458314817250350660466027107873262950625677864535765881558024385117890673427346321012086341483992653970299419998366945416781384305917286704234703987801603993274256247176647712071296498999338032781206560188132386760814912002626620896704981102948129707183254664827910108294564868739047149313152781588824949591188122345775951252090120560644240906824128858962174894486828367753885811153825069970779546820538863097645520467635355707826037226870607104973073010526727363677987079651496403057286735375323396548777743529051172935095983782054022845935913853278026791284214773985390340024412183172448699966100410957122034893010748654557920300912826490907786932978597180351449158860232339800709098030408422484073548862939750963691273223214929791419146331966274132062412394769788481922528273664911578599852195437526440097777027045683119424514941439574137439639789862214075032118679433700819777451481839939027337434281035500731503239418466266448395234324529106695297666118357207554049755566087205139079137725937998286286842530723177576098243725282993799931519514827634169117127310055568711613089191604777525482998692928482444586481379738121896059479936722793511777575879927484413999613517834064288181508974868270291087232570043961041438575499382962615312256080791025622504887498490846635021825545232597675811600854236024958415353706951196087493997199392081780032118728667070166994203405962938521534454952012481515662535095982844277745054856039021141687554181373153889223813389713103054291775851994451550538614884568208769780411725698722635694558182516503784400955459905443699046769793928439362815517880804358976178723823373444335812904663806543956864559950730589895925013243634748148084628833104032478532170832122678565030963462886646982594900818493385316298343100234549904990445065077311867777085139356984813731116265641550251326957945202315900747549334117703499184280567762596383840541806153755548353707185542377738858300529751597855667835095677314318683370218423161646360063909780745257774152429512297123185708132832815713424730225968571074313767119746842541336845951189615340772087782123351699259669002030363962602067824791112417547807845755527771244996380428049446315499423847283557840942676543423288910562396054799427160595616364389973934013427187307461275447869637966035150097411305853722154389481050743547633151087916733983083071712124998638108254008067564536933771497702400853414291979656032381404436115215696089373305857237870914088296407674735654148698198797145651699604832836521146725936553828997125438680847354452973333746012795062278698816811919385257821841354906781910240121806664768161682646107136103180285736441821046718427595738023272422740206089649745825345474888202054953038585650971660453343067074652789191444058531470115531083523859722243644037335070193346968127530216671509257356470232420096421203061773608906618005422346153491259971125906767350827405348067644306172424541272733525325460005147710661866746642577661238388119065796173723487395844381913814710921921061894845829653817852543885096138259966637476961883345952422338497179241378149790642348003054575504804442961147262535987182745446951657105330280639917178816951717301918184016763559588203892451730139999710542301397509190063030010244079308668380559162792159227802355252513515909506365422242505215370237168852857960293718773886096648687024511941115138911928151515231357780131253592187610639999097877652886534225722211867046830812955610508470961201329182855230329461078246232047237962039216570467022917141606977593583439339194028731604169522426868577585183193433629575067136879343122910658548186269098271386961610070704238494917577778247479580979732688089963687344935648182408615808033892569015500358762583615746223263562179722687011614405188217186535492619405160488133236429260443780893971802250298164800097648801732343887247061387719864931027316464642028240852085884280547201422570006637701160590358503876758703738017673261214536845611079476556916654448804937155473214746178648759037777963445969296928513580946777126980282257197887051187353236859058443405283434871061272553779435382838738869213615863273397140425409161215884084315153366197057729307633275168639280679048056471474429844382177277041892589412556956517478920373362141533023202353017492122137657012938188212326870825078283054253211047662750571566639847232781597532883406544240518528154677332874217598841254464858976906225247040468022529770255966200616184636520171393167522854067926168548072268004488624140736874474136432305567565616526177603039218797939885552396737605171888128808517385767477084467711057410242476357276576979614698068127303599072122164266467516872082467514253579469928667692391661728841034940896236428892782560753537496272432830888750528126579660085769764142606399591179064633109601840229745713214956797965585990480012476453808617397187891048223782438982404982990699539395932333025076663069933046349004411225202953266224292192269288860315533656617675935027179125797370495121949107190029807203413023911134582109707824554291432870417180232330491274906063634735985581344731378508774869418359291940135651825015025370270967662361482996317952258278611436421004474585311588713359063306533059834992787766657613017332355270002218339140198860662533638289881146972851043767579857662619809008278402416605806037632657697388243566006708445895923715091622938556474724010220766385838600168062918812603942413808596142368286831000336613294690617919915391191338193089288311530410608631133965516906899085367035137604838804497563526505667252628201977954842742557757856381166774420050663834441397479384438804238887892108677341527152224099796275934861817055911537553815579161198186565473871708502416484103326176068412590985364284796519755495253444325439661181186844376547038238760003642382507647625797574416748385804001571472058807601767755498577533807761073969372283645569771449628590000727340499082250619136815379474321339145531467431658987610458270864069496584195012665518674571253030433702269321422900808047495541314938975196796235472238775883973212808623621292184390174400480347787053888869910238696774503912820378189893074013798195773756015832536714977649835618667915741979507213783268907080648766282551673462849639244595705901605208868046607529212534552925074170936197597247262892216016088419164310439560898692506575947958996615665454086578446373199369442220800907842044975570649795832493604849454640939917017365992132502478995904808833766119814051329048578852048666993972767749619437406410116575002896564431553249544699616798829732310802896859060870284961733632291291441594081726728806103224063982790166492779866728056006723247065935053621316670898948957112383413363027680921982145932367847736144939597622218578324398801662213298473554041578741232402806851966346432195190389064569957224355016689970311394664566110738240147657157832742688490548805806583353208281331512939220463758339938570955146743563510694630899634772010397187560233773552357220554365906552624056484731145779218554043720763225515158371360491764756589136856937636604302799832410206958143031401606102753436352984061400572044298154800563890222861775055525131671768612818300989307498696234723200382106082981167329023084750620596064915587896409703195673571666840477812667588828403525761778760506140485402255436027926807469007451897852934921874755413533949023809517003743313701463526160108341126162392316014008266925418472351720901814484502329971500676971717889563067285982232741610255795257188836459757337665986708413846757657908421314808186338634458660383301619901630529499711554069206516964074543608000266127545268739845488020360417381771585974027711287415417089648515623555755774642597628405649291557552462420247807704765094986850019764547227300280979507039564347705245025978676100758487021114112973494399827678637751457292959891697529106415158976107985011284109616025027048827947050832522702481675591157603720853592930144289370442675887993307378835828095638985400086173681170640113342835316929816091281131490735230375032190056970058853169957822297622398224987254125474029655168134232611643213644535759475924425274104772637062366544311200266136887529531250001377528304648581560308044289488092416153515569180453199403393466422706735197143251609144908466290148042176870300045760686196834318195965113647320849263765658902229449175846234469947439695651760765120185107303950012611762099889180690710684299038966275960783406549351353271819218463166777605931975429197749632986780632887840739349809558143531523507734184537447929271835113646399960953476745794977937809364198040435983954371693584667633860743705064537908411271129639275168759568906914417384261465408094672414098790007030782042078191558797266603484539346962967477481164861012312543080519991413473954587388189748884393787386695350156584128194128373521488966083009562372172803652753275008412262010917328027147669379019978461587423467055704120036203855052390818254112039682495603161687959650792752952378261581892391198880129935468513898481021191043197159137122091812369216047543935394131132782165541060583467186618374394389277738647139864606662014783087393850457100382750642958643574298187075958560978977269178132394270012337372636762134740288417274151254078478534062380771613011149202308114296700794752788642162583517888511099155282934932937988696526335937358080535738225805592730343600518525567638399311589533064000278572614141787418597368676666728862521494776028944035385326620394773240463815925095146829141489377041359569281013370701152425019987086202582071572532343839684032845347038536524833995669566259005490104583712721085869512285043889880394187894994235161837453726465980084870575838297732381082408961418971314337429012008733876867659695192445226722061735061871715493272591715047964938152997768212757143017293713481573413412556298182574820553381035529865727172623413655298696965950584352635172653309371240813026232396200302809616929387717989047788556514297449705350317803649776263295581693379238354578509221389626107238626319509568825618554656414018753480010169442972202787882036090468605312301919536085855388433529049262129802624536242699546541442788917681768807139080877066419551312590765286020557657103189046694114742313887402982066268196941768901039361235604642615363790417032014135952098754347593101002871983350991304856727316432874226925406212684457600672225157864327497705929408413190079759659129158367186110889311832529403960031143577450789919212203900696051713968949375105939686336555199534986134201546285903354307851600598065909993724762672852472180745261844142665589116259660988083232087806117510550431873190904351438623191955052733858884777844442016923794998413904542338462847204513985282627402795110856438358507736978939626274339667355972647863872673477693419186495511500145771911606063412097289039473005685478768511121439080416269079318636289141372920215259916334067554499164077536445108016013780182025052615285453168445951464023597405912365786985204478709933326318106662147228970085418649831763110915977149226369794413515079495905249944188527922572996910629934344755355848759167776942251788441054619341715695844218395932201084178724915134662509473300540418500569714105387386905613542555033090906368276506964361316739508443090006317583500973389562871129058456412500324737525411750721550658736227418103695762400730101073469250561494186242039862834020618268775663588763567018863628761270387654799364205719387639697483847321551376156940361376418951898874537709062042893998686544558929975992052027695244409445550060774558620079523483496865710617613853670958664483512774478326864322556299185797352444076601232785680863606960112617152337346198615183980203302213669761912016287658025177669142564973415264189336819767573158232076836135251841020388746916057153868663448229720976300266791745293066650812009877694356690194924988613895894463756210589097655328216857779696047655598544247407769103216396161140438486262758793534463765312927992917587924083529503093074328063472666810820745817531986554604685926417780976887830945612614274680752060795295072100813608755163352154246388764123205196893040500912560355653156176871667878550848475978993168324680896214010147594512661662377035277348701055353596089219525598858037041372828199085102189062153393455065562950830563183722292668442488943397255043396924772260297013502603182614446032442071893375334827092665604995469238301368657104041161790632299680898758039472556368825321877408037142110351023697636028534027716683424314806640932128715414077159449699122572305578744624303017411154441049291143521047645814593867644407275267920217590669441202842235903640599828656942849375309338429768161736080492139762202796798561017628701947433133281121339623595407363080059375153763096099935195692888179097286963309696469842947198217161722414512065541479321785783504515382437598186055272557298323095306389228618425325600626059106950558560629284981287081187682893433989808612936919536494809825947971420991947195045848608477714908563062737011401776988933837911016295767581079417583171665072770132990001276885359903028663803449303730921111727150202958034657285220103339335739997185250475342521360880468025034120146979464830570177329073474932913138262985998530746837193974696912456927666720103016476650126293067518666724989489681551849031610671166969664869860325241055342985229099862952140630862552999794603027895409740653261066713626903081305113377739255489777921980318300856101391172304810203043718065605215016319411637115111668816559596176045596684767723147999318434456947263748406381742101698586547819792646588112154795022781677033455357397834603670775778848330205143459627625286789543138264546359110473400030958573316517847023673912766320730609827006893191745646176158513074904631976680920246783999403344207123009396450084885654824485112836622718955809831138026232128218809757942704672659681086721926087399509656311363410633736068447297706625191077391448416291923883235830411356335263029322504603489146721105054632040367360175008242422080074872808428471060685332681346836072743009934961488050941414169622689608500447840124970763506524639433604566471784271352545599832394935863018186990193282318131472807553637071257787662039959668113787011647198881981517765251298680284167086575084779936124468133562177516228394341702788088691131957675969198729062225935958866246581940395792764021359403712083089523774641866273402542523332024815486613400205342139393212051007213769799848471618563492801942589749677919204780542682013176905397088651762014810240972023046791819984860836055050270854943407817323884350254130563867131568239347889438624634042909697710079117447790224519512911466351327985127232037988095694703617551271684954593812912517791848043102208216816913209910729882374176182264143274443079604663104763215633259359962235567193850673416976107819112424412196173432525564344628224362695471260663178638798608503244458303108983590382834173585160205105749179237388403317462556972365775257601514786542926873916112289057477674951727790999757216290034626959827146107653576147140833634371315823049773127726349908013709891395350093013256951260377216417254685597832856512262597342513949735372705784042014333968601292524193536398997708244099813035489867042596660812695893565418650736226139228589620789025490594828107627597986333747752081829440673773949854162995421859436360241703919037185373054649524100810530329370585778611995211205622971165667776178724572348731904697215351325547675724407825453724671197227064802631784429524503990068785144038725853828539876139029183219394834692160137943171485547981118826063911550116975214745844068760363400156455451484939788479782337267278681955889104700602225168435149654338721183033520716111431703023391692976736877956124936909621751918314104607401624277615565187147674013958500360978393862991637844612372267820441687805719631794622325644092436920564231090626837635660185535787302426416140276615525073207823914109465031506880408251076490602357936097709146258926914536545073537271437112959319214626462712191868966216347522579447615855247154208531978892979040605751547488951481285629176962379509468046132210325828577623764282904815870452823144179477929729232288207966251447830922417813052333599047323009040192554681615717173518803211214390850984539390311891507082142681144034520177600915025822848238620696195307636765793558000070677318425556325172467369861551978561284635053576685984498570627803949789926199467961140039403698012773085665754929744235660802301290227807232317990522247506790640881860012132082865437169350992193990287952346685310560825755828896194975819709973321129830433813367940317425073590409993280643406913051216393081357573432040183049298319529884602468348485829750403878779929365668586727441567998956682683599818072103099219025013572668774423743969474891919259789010659812252889384997020707856101233341227395236147515025446056437692980944169260051009220029376710543775972574611114155020822725064748713453942881189182412988157447388351031608819999274257883058091447020442133862895784609532795355421305488993750316080598299854497568896978431551128493146881109031631004937017170313599891251179579530492211209315997303168468492114053537132603893165073969740790538684230606403276037555109572384472362040343572985417412572545289596548585099888095533588674925497836856761407303940320636629291559296181723111840890086492225622012643867573994694607228610490446015060158718526164817934437502262170307092348406615719210864602160391676503716556179376236992859765648201150992159868560907797934134540133775942967664151860558439010548601658408574819832225716320658884029310149230510591546442063218971417773398100228369483677621570117588148391520514902307457982248488946055016683298617504633499094782947709659149091931052838422068544852486364531524525268163998251006571949469901642278092162118093973425671508431644313799389635201978782537032476316001254624520355018652671158735307219277755982305040740128452772564377339226726607307474957439648676187737106497982998918728455469436831690166170918900333876821980556147088746989686776403098043454805323362220097320425816428860960414478798422685657347378900765084749467453251836740153610137945870701778667717025881790234111041166613191669477180750117286623379906233899986842013996950686601495629032136153721894265875838765402243967240662224550452362368762750015290463364579244288954496405808154277209513574724254875029898405947366429541344340592235377623245492215671503736213313838417807753305664029493289482648291168000512682910059599894888473232240458747022123509124565181343305610270971516098678606988655216041402523198550514825464756018197342968458248395805174818305997331434099493065609426033235728548349652197744193985948475708990486524218427651601070548098121626317646772501257799494711106480167974730285516007703088408946740787462045276127995749448639939771549647496592379204108012120852517698985590593233500441220505710987578208472272158713920594179413871367295439362826488897256641147964064354664108492284107288950957340709819238597161069213680334538491329714795541167643044563162413979524265454555687479740013382603560549043922616058551452823854946370401709789456501973661513380363130900386851562439100433282095114298389154531685693321639670649521298329432892116850156310503030678667103555892895300404278444365130744503771178372093439097117184017314352885653359910113443069963270663476738484755138168967748775361411897925680312354411550093644048800351414687708437875541123722755621094673570903000162092465819110375604313843353715983447373323515562537066830599151332621062704539415295007134694018786500746683134379503695418862260587826295226697523236135401203211212121049375360110953184643834423495189635067991363014500549933830185256755279758685116235995294701852944242829787987458985597250536663704250782324516018060281908681922388623652289577302169481765625449762604935775641130404644862081861113413363026008634934098266568186006754503271844998453925061550462377764501743140491196657592570407055278052275305467490339926011772017825325422471024964549315988181494704845495233679751827526434783048723561163243570695989080261806474706206211928422792277852191456555961893960671392678400527526027780891925633907632720201072622701691267328499421793735233052932220329826522670447981779082440483833078435566513612585574716019113246440739678898396187241289961766416148706947649290879180747563388057178081916337563666990380333148627900720456567739273587944579646623701412908845089580624571229413024182300562953314104030923542296686281936225399730421279604865666690345669771906748122459098374595080157345983740872745148290265123460981122698700656650044780377046581457373362966322322511746881220206468491451608371234735782671753342527402952471625661323191743303941078652913346955740795379136949552604746247299644332420364802763477727542734456085189336817553019368059113874966738491507929230275692706853934572506468144489082321981235729601498346412365993723805474323824246611979219862033470477736157836022909109180134831716654570023605497223250187479250972202718969033829366755462289853967851257985167713571822851743350967806183653018295301200464432884251973399771463688191665253734035295894268224526883667067363210909291204193269255264036753547970209888775176363290212911318639086949922774747922974429028801078049345163849721009714599351074335375294239688373837794023923301997641779927838052377659837345244203251464526370158028474685884126747076115869212113346971681580210157092005084557898063583139607129364625630541372343951993250207773214653676203236911319378899582960271336809444306272705924992480029801378532376427803168932682233536520732142017112460112970102390161858171170383305023611182390286422451245185344911949950184507443650976284895387924275460766672075662735310624450633934315322667285080528104329786532340020292491589316879231428244119411833680199469308881344530597241359653220135215648534323394364167169817130677587219296390220446732331159457713802805348849135058090528843436848169099073365574578440310114883896557517302291862472145650781234003084929900072126575540074556420925481582205139797843916319703555760802938027261622371480668739631276818588206612513178476102744163623939650771480957174682267957118616179489424057257926638983757682854250672626717716468095257835941434274497356459423332471371008204724111679838227857389479731221879524150370395922190686420639795692412517340963580959269793807291779739543136776741688240717805109212325226079900896080791624675393984705910746368499996376420924661518942178651780383203202167393715860179317207145023558170095504589960319144748775084706157314418252052262013273151417177269136155025384436846232821546312110664094009613955458679845790283021135894780046019613375720037033843066744957033665131014413553807699585710702900699939211175940720849413650943037301242918936222431394363362977418388021920274576182974965996082762400046665029829444153187133635601484833327876161638049409866234624056542400565332968681665981124533673248638186030414002634268847495297903287491756778967639766650210756035707518678125896704884488313005569658812932216418516534801490884613167739293500129677081197980470295122796347020634411631576641488010887356319097940459460076589857204167663820175170363921586065750008021917929971352908104418257476200094537157843583789378852867504605539990533437073300443703122068136476575913339817071174455734744879619482354128960397560437590660542230150659340616382701545959732312986633086507245028727539193415797030954045772995208015026214029711221425873068089880849191624204047446680184334992314253425033028702197424721383730525511931481511990236343185096906605892354064685492280613000741089486154693241177459336861137395462244294306085347150352947839399243694655441489454379490484240982382403801119164490989013832877606485816535028105405552507000871575457019263047934769022202422416895581319506700159678206137466474610414787863594445159483884878448004021151896847519003456922297660794103676147642194479412603447114656106629493512595747008255341927317707627062285738840754429536012745809641857202944971952870493868141245614580647845969469782039046814307491630139238303624726869840113480494398704191575285411076975711220431417661936361860690221655624605950508633572039017686696420991507541117286441391727402174428818142088668714812940737106108449560597633184308825076011579352602379564981291668025081434494035703409186291835962149403720363999706300200588895711858895575744463674700183193990141250461602831207311680551020030731232713907898289175642096819589831928635435018128910332973517344780881444526974625937701706422261985439522302542754144040544235320611777494522335217555322778239480162627347804003802639657212366880912041194736621855917021876432403881580555268558687240903231820545047481695228371316414053187079528255426518914909896287891586762276942749970655792244948986193391010111770102677227406868668059975031878009438337999475880910169636748569020743860348830955411298254979876650744222741269720197795373324173337970146318429599918121462937045221435486653021577723933907092448965299413155294179282861140626734578725799797372966620014163827625387580605273494496536986311736469652738339771969301190595301691075087646315719020468760422337556477810923044035697804317881408578005975606784710105549194686995823512947306965357039280459839449252305935994840448065005034451519647571909326904813420227088412348250071321613660054994954049526762499622161990592387930733056767918094029545188271248647260124877169143654769734433525738848915891025574239796912627210242885950960826808362422381207068425654903992728672997466317870610781127050920633948041541206527806591090140123979843761865323138337373997919681385587773749046501146206621906596573010757051487667024975198552577255373410383887672885686815747260099079212951861888904120529102837028298515429162413600269616565264743717919639202787899549046998724695086233785879738889620604331290037174307244198227722547386053069323814755109784257410801913993298979294386079687334038573020299041614658713742766045540602283721054008463498102759627840864163976406557503320098533150269361228071116728311907192187275679400035300553515182260194082585764078684352931542898338554733567708128450291954743283518702664417823052208616481043882354711759037444863754809051160898445203326629997556486256131486990360731281410105584956016537727477111077053355960534943662992612617205523416670961504850664541577110345160295366940740399973377244893153539958883140911458074111683340596939943420677231870900680993436657148555662441014722665604625711180514678188852611114098572613408711943542330044120066952434724592315970855702805844519520733108919714290606400085726170926160018147321622948147453192345026019822526341240746438819747987273682745536949848959332043710541933915406840149492682219685813031658280502170360738757556527734060402468434399277912279249114855804178967629167154613414551340483569249353961971317501927849676701994100390576101655555390649791474636573746147871827509934237665817516851345586434665440946723209691209497150108707342417229325742673344868673875887739954356659044291235054990757676087507894261885513808280835776525852088065344774576761684840245264331625047457642017265789349090929312797466766038888922222178228088528600550360484291999800707197683092472243406545373128838154829758511894307190503691551209476081611597513302339822114767075844785687854722900610327372560061959680563840200832438501392815119721045471906016222775507244335964138252133892639342651091840453194721618915226732861347664775209239528056354792910601970708535358222454402685773510136501508828720003745020640569504725828218980768545377307904966918146083684104961965653573016597094453456841743896719288874546895012054885492809965735540452697633790014176564641908986324207001363660972494609437823840482982192587710542205414080197467176967707243921565633595176216922862354081806252978112184376520330992659229098780715883456661403861563384545390997522639122420756358596303532117731985083448812919730650690727986486496294338771931551222756477465830195971508033663489305353689510545319336903220057309655945945730116825932263736133520380836272438439776519526848004838302306399255314516127436769264980016089149464270284514579487064044906041103541751577448766977413772309541450467828190866993470748551446529296888714398642826492308377996659728606119989309126767638238130884578879964432568478549599374149703507293651979246961858334591248714761015441358786388161168101277727519251305874640854359762436927953916104749995843636460119670628678094413842474837486705617828837119349197008556863208113430152885426182599184318253737060730167437966075394548098573385888408176535937631309845907184812305000514106359554019307839601631493580362713640042420930941004508870892878144742855115446395301848708540423709741837631507808876905720882530790583238687460692823530726168887849600601970578341117046380973531183452025945071684393581413107415460462348702061865405308170844439171974769184384656934653585774297651560460023929184091286736759114724998901812745706015799791860001612321646965214155073624978250686438301490376387030265667690696603416591716437271471480907090363771515602754831252662730469054724724465279501106857696993308836552824975888427306462821523148388203891749091430562180939549383608273093044545593365561347840201971399496390156428925526206197415211950192469245126155292615699859745529817207753692370327294456467113078442301587521856317692983367937202663105960170269395749899977954646079074841167759305458796558024167189178300191774656490161669080782044407331332898491016609009666633657690212471049416670544452086170350785726149986876345557050851331010919870930696339121921793085233697061099117603015614575437704068207227746856690145440944122141300693480226740223347477652027767196680656232684589236218255885719628739457482603154894366612824059977057387343343125030913419622487561307158522907784074796098657916779487595711511439060999396327864284243523180180216509064351873506891633055854744263843112015495990177540906950791734700469914077585250165857263729969087409618172427749263671831617268824914911776404051216107778541057030180232621723758545922775248612815151459055883520513534011638608340364245792226999059313852290280123878019428377331308824245835839302981750851296979422442456494446932477824724750998398238360776855774622879168418630522230078688673077207733015892253885265531140762559801406185223873970109267992684637815604793389608024200248944957931995837478234711217105532248496884551886619981149318225383584330392978301684194089127615173636181896329934576077553186674523663128450531422324263285286727996048050551337584968366579971120618798471372216266635303889754545022092386726455200131165751694673927309924062411852177238415472492809268991281061293044247305540277068092741299025548878716703483195480491328705685466764207334645506449944283177936032139042635100620245993424736882723257331061193360071486314518450086715387203064767427004522422611254079190091477922068336739764610391107516941290086474569068906194772866537912706211114410866477146971115019537047578637203675778247824123977589229083891999217083790853591998561081233046247984294832317953386015147187239635936460363101660925070631181935768709401795069446521463836954851997985348443273034415817078984091037315228373774216585227699742136562945040158420773131456455943699081005692048009609811329230398524441331998693743360238715717367370795900763191446715418235660718561227868136445058102458819388710057253094416851188747260444679868970174970887402104804385101437604110041568440928847058628097680296390537328730611978099333383129533775944300382318637650440778560840146389332163395303216549979051822995004161158797131437926684668174858507651643540978045782597574791325856724014720477660672427965290735498140489353350991873297007622764806466295450210825495238609799664521763717921448099706788354146332251419949794912429580665218197785465482690931966436220209111676466842821808261758324341315231036163823897368142793119832763579997621041721440167611687726263373931026197153158288781839610971904862002318096040232582452961894061553762112684344185887691687959558786133711099552461511774836645388698205835670010983271295540055509084865060962651819417540115936912273768636241780888618048430526281776060399698053058331279838581768603680840522162309458943764681431413605766333837282601533118576835546701890813256641755021528263718807828132108085044799833856614533370739368524434017014003151716048989682145553122997706054627602269996548313760120246032163412642739008410272829678185737006953998920325012584172862081333698347690129497414506970563709211793814777607146620976938414814108852628441832421801071748585469968122611655911603629316802876233410081987979449330005778367204731653441670540858242144109907624589960175754925557917566238599805646109855567406188864653778698163121830627244774432642175028722886799872772473005657307741947853631219551595780249992065096328059806532415918108012124375527451521303344075651550866954732569581050329469602948919221855257543507169240999624739931897387435303385161379061115473528846168517618594146103482346590066754386187346724604098939989875939793557212965450108691428071883454790320373456251604902841940255348926993861142626720601847027348414016030506091313654160071246739737496886770313639285561931939726508892024000326940696952716769157106801285755739215958108031051352450281946578635749983484369366522752640904451887186121449448392782843684918362840879571342156938338419880375309972035455643814894281923743452198387449818913780005922616945071267305962577512518773860775001673873663163468638249809697337803130676690999888142221296224561368183785082575435149568443745266121747072119053622479002710491059438142017321420485354708473064723080498442570558939333091619501400538121902406232668579934710678627531871560175144136034948748051688881822388448663446818588190716717703944730942832601503627148253409871324349468499443774871846604903391669696909616287318436137675763215529881681090786957989968574961390839195052602594969810192184871990319741332452175040425140944144585204360817503003475800197168140871244902539042181957936830307863072133942689719122164193622624767779965269754512930398903013070980849127826370381219209779960464451065108219299264850589573572404345094504372429572338948154009073943076209484155019031151900850152974836721541792662994665982124711579833214733468796539116196041494917311870245773325675683248651786972778523079929228122966250963294438235758599606432577296588421383937165104070549064444321739213322232433979557496343408855489200109569980242609257789920621006594638239153165908570639332612588996083620396021134684230053980525772172545262721408947014291004439096236464757685304716395981530021273925142280071936557427513380348670559615333581635389142927287126355043812063494483777866423655633540003025691094990054644133048732200971746399451545280090923629114277584100751179229361399156386392248430868066307806962998680409875956737223146605952199560169228325956445423682108533553696042013788900786508861713681037333357949394420774783158711540011513320573179280508001123565699988524964552064407072644672135149627941631525555475374695415158466453756276889621509164905626715084099110932033170419652848394506924313113768422992894388160422383375652318035595438435815730842009035282187150476338286488063063078245239806388040775721456144499396242278321379237854607130153794764162826165532693319095708073192752678615786015063928164995189809479865151467203859215555741964709488594112095580645874624387341867323022701791756823968681593378961467282979603005484183286936771365799205096806456782913262747864813834115166857256654359754131081140895613600346378921957975458827928578720459520034602285626141584584710848969766383619534834462648505132269784862633114451571893511087341757872370482517390247652548558892231752997989036646240083770010035850296957991127935505626364770540322194529641684148713492188173486957285259015231036031191857073869560851982857942298381589889436219709143902419537107052708286002538219195679059158796322747759067659958184345410512760644139190185914238099175243315604461273803818962867522365613585841342587960122129252206635987298756798810383051171697227312706520348068324735442329005819349653713970132665198842771731985920706932896551267201072799001842152377186167013443193730167207758421282609154428141280620877777263971386850881916844578370827139648779323651960179851732620682347420678114637019767970563394474737736562367922566545034427536178877781988958627336621725114830544787274165448342396594858464273477700778488541570829904936069364480136783741292249514840228123394714234466983716965339125747765294805245370887299686148730806505548882954496494546950127565953031625609575957424637028878555203598592016307401548489005108692256173212100133524885129096505162365945232514508827491555024155813219942556954248205250044700181820870123480772691844015687619212665011603715135574951426805435105067291972000995182873593394795868479394617297542673710917516064773717333147647376969249185654583317999371748026526902101134484464777201777843044976592331367445537770056640727262847275744906084960569194044995361647209290748014259642553777342934602756072303818501166230615841522003780221701856009090312534912423427173336055822008219826326632338763978383847275510379564882608779287528841478734375400531648914466167699910192314397451518971014077059705009070890556550698361977962350573437083944171908498256136572559455922644962873371692444742399772825797936829340234676324600560947136847371523890050656439556485967949287159583244721333777432076484528583190027021780990757655242919714690746725292502944170980593805375753397781619182018023673696883992128514843328317951499792711886331456531751571123119296456030266251172440387585265607500975298871965500431922236327310548053261318654934075963900764279570677496501990796756508496530860159100163589138561664075179377027820411319915978609998804989895445636882048736435413052529813285794798729569057694387249038252707930504436266572009407503135991948831621817716219466214457072875323226510560396376374557855661288076706877999481985200168784633604174201139679009778189763499753659442424775571569791694839986698035308569150875231766249506570347808971102592557882750508518518752131557306569842250582342910856982728146771836430473248840366850514713392392656545288518043246623232547628519447197797042214210019320989884552270539193424339707844949759394278573060134233837289434276006053581494781358067444407550500409051450693971334674738963368583384264712165192078300664772815465390300310400710744214122266173708252990515473605758090491964321683610602700822160521761788016730238024319077881121506453743004141781189168863909944925328527591841741345704080162591546808501094914529650039713314799383028623212275493496732244018747007181647226133757291412331800392972656301094291828032564250268890269873586388418470438190725565892403492214589459365943945242363692304710612962011477285430434365303905647922939659348438080074647036644156473926659673823783063123344047368043905554159430404557614549691173728165057320718791120521790210361878080767149489797843800966645445362394551119997901719304353538190483411692741200195374444856191854528976908009969483320975619597398445367306363004999016092090390289485566617676171966404962115948098616182963186646870768618152558015381954667537738210421474700284419882086441315817531649367818893683248472096947186802495979674250499192402123529374662542213298298161240173915737377579043211343912329025659648109942104304263885005170070123358409780021302315313004148979774090480644484820785544836484300128085090419502858728623694314292897479508037619531947830309421867908281950085352309169299841651700777149536660066131678050376573019615403278546826973914722196253884351358220891312245170285433952308948041403915859487460088804747898628461415932205541394792154908965343757435452620388003530861153174019313683714396136055842601343436156708017362379106321630586009564528416063496077192318890845945425742697118970052053598830747645985563941150884820638959867878575302026226599781332140220803243289694927697774615147365406358223989682915962971510974323800695908274792260558495585359855776480996023337056975965752123756491406461317454757408582998570874611287631149271095833437125589658542680490346341754389041011858212671039349730814773781319500941843311211335447872007252372699896474720278889469613401092482339976721685256336721760437635495458365958276650622741293298597273655397300327320957771787360974686234265262966981696191536157166981687487420644170949200416061254649495127808751723805663066631130317724145683713552431509669616686458213929339669145370419139145329328788897655284062407527020842699399992296213884267328072776911157244746949730921383487112570745840429918849943327787419071320354357511776895090382745649494657736999225747348881934978513952468433534319759989828213904981969665719711356758610753556785656894288774978477645169724821696191646470160854976836264671601473870962064826919051619599479881783103079118368399607348857284378803263207707121043397883917205026970625557514083824424617264561434158434226988285017374494761806066479334050674489894730353454249728167615256993669709694614359211914306234618284676032412535332351756390238428929716597302274035164108844657976127316652870680842650245270027641863968524565753603548303454609680366790741664800452239356427332032684465037959289611447862588885016732492241003793732074478143518405016715784272431932017186683746357868839788339917446834240592005948491816789676895841933384059966286320265105915293783506908873980579207540422446192276929490191787850079833694716826073805299764364150203447441306378913749800748183682357609616431480074506256631017600344660333505952843705725877181511283892447916758549997063135821929476375053153252694315123433136804685097283697355792684208998337415457505880204794079529231193868902915555815337429103475153668561569875616721851329498349601070350274617842989557107057624572248507930742929745553172705547585753178883001380605474671878038162642228656337698510528570827178773067289656394192136003321821752275004418877638525023288381686712741434553539391857550639329010260203471104085106863462213473750133252902829609600844643945436041358066595156002606256508280396279224970514635752195460894314263091455940557671759827935575293189016394293578486502857427083344408861825448140691486488418463506432544901258298913219954458126568158402524388373581704280215040765998696045010467804236365433231913561291852309591848426801897158418428897009700116935250917299841253911307354508435642290033068519383517151310100883678852555635615159627332321191571393756468118055111560361789479758396843611157674688466380532463018596020590325616761755369012603665000721025555923012522644105553022248664819826292302932887085208024703848837918228896448011985194175749326086322873130886568979918212880884972875507582605112785115669233223296669684731301741920132344368677108815531341789346448232843177043154115034412405546155569252000776188260863794325995393830049442954775188051843735457768775851695428718874334696455209970742255291461022610783811738173771188780333312885612055282664094252076214784593603280407808181567292333035128691491034468623506039717103103837636556294961123928462074954374293008760381113823148156939945128843871751479663680604120879833428327930049004023280979280504754758538748514810361588789482329265748728071849256170268684787357725951928906109900253670784453160088384755215487608963161347595922412309173476504091075304643038483801728001027745077814162344810134384508891388079944327835750170720069830521146437992869729142194998024650495154856226456140128802596751719108225681256488292557510806091520858964482003792181643444412830750405267682727980836718163326330271402121720991647083045952071189894690491255258608710672054905250602994638102542367695948221108973620533900258826784896529421311690767969097365167491888408458482810573983263884923181946892167230304929400213312611298025317611414460122239116868074337588669666815868204559006767198110774550226522518492684809907608220146414227606481279285117263420080517533054978292258765701274659654372883179181178455016272864465445121835508185209142686217373453831183163264788356210595560215246077720110714488475645052562744429067981085030025766698997575576651653516605736437057165884776836590409337927472638623268093128561012573644007856694148320580836147624239077276574985029329930759091428064103139391438714470650662034080005489613635054722345449889565318864159742724119336498390114832612579507535667472346937991047327942119479217245342807870643277548149263177543987332477044635440008430275254009917912353654862027303370352908760734818523949466966179336536907709162989633140094357984146109773876335257096739891312382232656929223451052922849628301347777077386581830893087974421464914746297022851884831525646346345026431236509284055999248656749114276450475905943839275410910081885353853804747216471327381400891098758436685176814713173341286183571080794010220881498879503026241585099529592519114807952920955620182406114160127201550811267435971410956155455248776474996792468456401461614069710460114590998767805053120369641509098342336403939813987068200747704063877804517987372974024803464832574723480640647532294688774814602536470945123502924614397907764614484939192998267398573642308416211648008779982713670391990055319135959002913145066995201768136010023179537027163698876522361104685459380590427332305105428004017806279919783193658689068554317663704174617827099271535808747042130585021462347748192302616186229870277084812337061991107739968592114629955291315155523932055609642277518149759430787156657452060788351448187343824017947289131979495408826896760515067792020852489280796193959796145744945518096632995882359356280197477381591507164733288236432672617065541905500468026077535706579354273985279242498452259764556521781948535891825512603507804819093531180137889452802254470682751477803369679547909638410650417538529351876120345274530957354371274580256296267390264218167157041239940382546438348463621115825668856571988464644784007971344486791548754262567162331188730344733601017498141086166814337056754393980809849828732506834022705772112799248413381293623716048114108890181177863709214578387874957560133454853567860890513950110664376030355565974434463931861435915686163580334725773945928241422508027959136883926119483344865853426756863607282910698979413162900527555606187838625248168117886850234426513632079242592695541997352936146979123885923899187850795780468408927402830286941926671085865602644977043033442586777038000032472960387063054511737971736829072505482894251711592981580539949308330973836638677303081132190837437860928406205683924490762695340809363950967531501404437748330619564057949304761707094561680726977859498309988315551130304362428123669056079623638820118737025985553549617987074728811432772016286812996418270275312710870869283273175160092540025930643057203814820833960945105924551620565761881050792312535450993111105464763582099735073821104346158202636043625177575779007724907105769061838658072232844603724612278536801874622234692088485552467596216328290504710214731812929629820657237515055670915549007726088418842776768547784538511081331286161724718625585695471522573468993095710625426657767928697666326681433597700913249716337851073321563335019222944716196764317777279180686319963836892043551922951958349393128955799680001440661982183776465809404057760150615750359560145312120145916845537895931572833946382242986864674077887323344349758523225588910549064290204344154241413022466510031335226641777377717509563778980407880423079725264109659635150462736442663148341433203285854933385529966554097661454386093115017205936924634273275497781937731921721537191912862548613288874068467023705174354516827474227380261492080525960774072500230811232372629494251640836584224698929301871937994781317440509579795575057082401487420751978479387017858577975002879445086380717302843660363074010960957414864571516879242458440081795174438671038115604888919481975458501520346811036793075666331912901888495158846337540273186571624483583846837961011584747750625690392375944574541850059203094557384426798109472780716179590848061237514069214442742923122357787658182926513341466591216761895213800291436999464011204873142763303242279083014057253131111671562538753224249815979905260421594414691310927606504200397183127402405187910743241667456558296800437520717523590076340818080628598362303229002007275277194570614821216401992767241210887967879508757430100507943825672880057397166467446689831543308011098180105020928632632178265646320556597485658075934284135784235933665736549375865019769021965156801220818610723539592575201592638595073912851707826410218533337225079285418278886248055740520466333018992575732104560776234216595843344724061822966619348440937575192374655430651717163710465310309130519202777577291369271931047253230857703680589424980916099231520446694370363243290218546811761605648875759435525529716882354151435072597824881720843277588385654839882338423623517062717245606053145295787656919028255884061550804050802355855174175963368350658221793713815694479690156483568136589047896200987528255734950698602621536616986612776350681325998625217884029726036784482481203716432669484349940577656014300472706982420530402341440774043102596748077451555437371426326392394906429353860087742176148654580434173821122648049613787477711389221914919585910709575644944180993510140101517638512478794306873714267296718084886098966092939453679263070216082491099682316221891149320890657692145929365247600327440111236578963613444203836453128829724420357744115448625245085496144514917779669922353651340670646597777394268834011663072096743868112466724822185466016978311066004300536021448915940340198868372952825116450490447700148761564850242916187018822035127116973187415565829254140595656175345471276062081495934415440525787130718645049220054030933370905180084591462459275420201253717586996557994538436181249339474907352458637924602927933116582170518417796282268360979685386186670958483205726790787723795280450273643278788026910732278827503954257216990939823110252857471169812139258349784216650443269369995080082587313068788594321755404276219967457815056412394708235964843821799992815223751798696044644643263095002495889686443684017793078017345687422232650067375942299695816175076929470669939614114701587488351812328565006537504754727060660370405393647058717975323646100158751081892456563024117824807268989596047920228285224534933650890778684168101378336370397593389302845847255974698160009509367137409369596563858980131890090784730244022776550912119252908756172280264752368743410516279295531770160166887164391135220623432498294341871608628430416952312347067820152890844611717697148956227390722750396029618379795343550264560047740270821073174556397639530864418627683643589601492859273641200118899127470476838396385714704682377531602524394103413730206050322628825026601771455022945091278373130948094498490399097468882171615631211931057502147731155645930415136317484596060621301344642389653484108160795463109337667955051719433311625950554832523071629939860658544361595049864004767186908576927502982742940825929186303689789090629108410365009831430300390904982857302722411249508184004284415861602460131100189521943230326152975588521260431159160363831533523799388340651525201654056336420013890970817808717850700714582887012158297724207621175321523747113172589768500148703018872136789407196103964171500209091524835688513529533556563204096593722819320616637755143438526117410430513582478056673819531543005403508627394997812785970994247581496367177963408698744648210382778120881000732696814870635208868092588715564234110185698493494265573970292015365375495296893476738292831853543358528258379406002287583319274748581787244770009868128336934227175588707153928318643473464355225967982899808673231476577001619259134400041634921912395873355214692020911488336736086582834344634813807827507249747510271128474839027847259859680667296878083798480079445944359908060706033268645193951302091560381403461270447118707507003676948071345601920655119247213147043100288758342766693371417431516228393919524336555086804256208917581928182855186782847588346814775493116719480146805963681827902317567312514255979456343362044649322928187465265231028928898983883093501340439262144339040584670730912206122228284707670742188749235274360055836547923524839172647901551888291332952446001399428331036022508833779998749914074901838233297701064869625295464586292125683033947006292968821873265063497253403736228299366193322237133123843544025816830529680660839194782953232483881256062244811121824159956790628110730957014476051045162156309706020861038203934960376197217801833355464363339097908268185859655200810158230855888679707134228027308826758979428115362747090784680335662940501790675891294034917633597165240055725871392732292621628111153247829086048999349561464228945684713953632087364058957688540038614217900923448133443029074975143246290902594228017126714829680111709523740333672657403875523150756348430961400283763124008633503160403532147001068196727582191328329482568102155560734158443702351589006317320045695762350788700734103043973417782272946463612016858197012915835991789986231370278887523180143517868675532443019509488181880727435677554362410836661994173155702618607188356579894567896330036395282501032940167355581228572483240451609329274900015371222953546581065096755767650574280428792942411520251626626605091826856093298902469166819720634543034638706397233537770985498436427205243523853990794764235217617765480784240535132588038020895384729904784419122487876234500731103467460746310527909199023727771513423261957646311044969222218890592576714208167386987693324204835724553418404762813696235124433373347980677804736270871391643944503788248118663443642246672766162016087108215501284241220024481907472698809449346273711806623424273874572127526400117149491611968855138033442071142826139751764823305856275002754118952262237279397862726682621913931980752664751179035794394879839932338241747299604891528770457934674079082603506379724685239123352318526761094909113091104845232192477146014235707724340430726517832764343453446584349523768447177237556888735007332439842198862646313451836323783972714013452294594803722327743470960989378787303104745614513850491090475140600597940548611227386335595401737891257000444977512180942127038848601842738184529124649182455513399432197998693640887828615227177319793031805808003751128953654909743447784107355113208357145904757748679783200895200167203681441774151118322949375662634947122176215124889533433843663614091546030681084910437862186362457210486414927982817372291326937430158273355855717625643763807918813238381416502790109885115067998730844477790112966095393870417107830052086415141086784564369260746191315160525418601525665430145419953466711425672319588892247855462485576344129062329008932279417847280972839420760985452466183469607168418762926562750160020208250074345490068077237872129525888074786602531619708509762761726040325535137022178563917461859745617918766810622100749213117821733069517463208561683190313471151840236640760870947386616733667237976805970729220886321379316966553403678162974260524112466669039206795559971055584513655124555918372219359974372329281584639711933927398906413292629629471145062983165407536375536751052543786428149417879802365011253285419326185169531750601633727199457685032279962119466904935285682319714344463710515027857411220657059362983391602752214695334752720602639227422500010774155188121901664911048278008024790696645443225073277428948221882040046136889343227702936167784020695393188498608307956201974695873989821081667386210634806376375770664123628205896233397407556326876048679627074033367358250479103680646016109854846147287140895195775891542203896179803397059460697495195494806605630504291620299489107916981455605395946913677258536942164464807588903721685652775354447099945586880430227073784786311833030784844162920716437002109693785037979926424999674190242720655984936675846493941870828243624657970273431853678249445309133561015200126629028095229577734865915840553685293033982644669146861524497313001218392551891367311424716010872862860907381001251785566606326120031026215880090199951274529469989924343958923392895366542270751769802757778746606702741679007770700550722055452645852418844944244797203100664879420152606839071553830110800766010074110312721493553894804786962271962102404413887246082438008310956330197169733763240481207723819842158162376020877989988632729783274864241717563685289701719743376455028864356769639344921411398779723262834620542139589952506885377292673475202936105752965747989110574372281135959407070496658302871412784874147593514077940680332771187576701232534973447969050106342831419600519587180471394208827390805015210117748842997484914736764795411437930016626447844688990080141796978575309375812720418098392289618033894125703015833044747744144602908680679845365488559864170961644414495832583940161635515261116972413389544057508545238997766517717395924005551634735858327605824483804142666112273257757641310810118730975616735289120071783415922515311674193371943493124418899502735887223736902801604942038786409278505396265981705465680065479717003931676291936310996090226314786499121114188469756463568688809619177205386387437342323641247498309776589740240747214841035747884558679941260676053924835658487967650392803434546915561339554601376745593311780692736556796223599670961603790845808387430108359520896599403848647824958840937287282181393258098270506566673730571030995456362840965123641013982623259030955375458732085037085365554995880451011470706558089221591550074520173666288564570084651198980853425923881700555477663707599215962020090820583184235538586511609558836804558239319324306095035705434742374845319332865957255450400343242158313404507568245111855501436967035013943283994918225916739446864658505327257842277305755811000749729670281988602918494322651745416396051364601373442596816948677201024587381062078992333090152339785988762158286824631166656637953491738122722361878225114414325874359197268540303918132457065160191599555899307605712798880229112307210790781886861203005932908527144680804925150705033178953316856428744978286753558538189472990112776805805504820454742816799692159532252743033738197136704212185744687516696652354091667197246046242712672885064757048727134298314323026872967395600670233848490588264662607772892690831948345408538812863838303178749603172969670519507710396295283007301242115010401501099339356650572152322883795556759331335480757896720460436370501824581974337776304901996556600817470893690891901624649138118826496305172019777352867315814760550417497578274031752858982192953436295745804053326822363268573724693985822612543900392427816281013115721762691771982472123961473651201635455775264702662539135932911498284972108302277704411833133532951450001074842917196324841374215397506680311066435212868549970348534971692224826211653840391430056002467633239670837770491791641100234781725754874221191122777255683488070807786548147015329070827605260533442491153804955042644224425296001559182956922217229033342574286420671540042695492845660355008838647143498141400800966579145459308612348433310874459995631659298075726263238022364190040554047403085468271939470185180032414653246271098159147943257625456061513030785084283966164902610062777956908244307829319377105339698790962948705156385249062040343380570542702485504442022179545571643033814752715145782952972311913586850908177074059603715321972766430886942497677375892883085202549570786112319701867774101097283077014958125986476020685230774705042518967216483545726282510505892792784045889502059050340825270445174829411569015029652380273731728591551935010850630039194176178952703552372785648504724222888103057890464729577484458639915861490871800682629119229924343545522849440614914208271461527578159318206045800993536389173594859850143811474864072338565528240672841013443140162533337516139354388566288201217696742469272486733192088007184174009415117963129213009836618011189258810957093952738268060322529362575615862156554182561468232362887978290676920316030279290933119754844687393918907419135542791377739710685273797868551040764762680476442605790835496126151466339821602480095344031585143589620571054979665355281352780560459254973787228694571675696716055425991365078402693682066093463779899015593419807206633127639382948991444136623786764646894851175299404003722679671768271753184411940810441787011202611555504535098419216876449573969250740771934059397103073074315097057204728525108865822985280311954087184805991541906233275004389079071173258907170101858609707293182548433769856065838408120285198500556533159881506063274949668840692960435424097874152314502005480616931111887101326143979818972052199351530263754510912327016391060542003060116284883211775927390669358422702285815166928206042861002258781468168261596185384008163573109674169733534069301355739439098449632859074398183383828220561375015715075288198878774270680771470601559181973573973274714365131972031977170725035865850048143503036626854550327439171122284844011895345512478621569359431608017146772727664485285530572497158406411405339196117131050719946033623071108358007475512872934941793048083119677856703781912390828465799374349074065535155269395440149113332705254153935294633426518623024794920073754515093550343406564789412455682319096592549030986595245466479164272953130974881562059917093208619074450465427822291836314265386019464498478178379800668739959787935839105396285346716153335124694360619177513076324817004421579050800446327824791806456740847152432040942894535956760188186186257451187527368454238863168432365972429127111462854107758232109614133321177816034644634796583898587504629915880098759711096942681562008342067171499647329539742235634251586187964256697810046291013340274949380794641945205214064359864239042816955690339335218462717498046260946704168739758710303848890242619884604513041874824316448596384538834230775414702641481209599273003310114251096044098744143311805726623527125775485539606214943081970549351591218008428470842805117169668367240145230324512029780420045618655535095724089780936006929932977202127398943396320688341299744807944249511226145423115673069917860374975807054083271206673409813708733977521177621082256672280861287946057430061205987184398310531003110263518533290243452277910848651470686838411508182233717787773843256112151947237971433478450971767607987810152919158948014184855852106687204008898661948445880495642673046981239746844801351169725390433592532731331056712125651289719415275355629377791717472184016871700111119966208194694662391414826830456170641710935283492269046788221420711101893221979845215768703581656595361219914013151422089579805809830604900992076310837094661763227176168469069859404297165480132734471127775363547277750542870932544251835675912076895488672425574981990143934806013418818710633522044386495377751749472891450736780690301608197267562016849046722011482681051328394106038273902690422650856850934885489347508660356622836490526358617181768835751751841787926803428389364214706279462426291747042994920680830662087801914522015824991019966261138934931780173655142944930152599251109950526377591570134882558617701869757689128421232463565975257892102577305532549478779537963407592659559967716244073943364347734009283538035007834235237422535714864574887865900824943708210838408339216295170581105453678445539890647153837230078408642170692776245737620758817303544194498300606703581245996495153342491301055879053717218083779642761677577067299049456545133422473182499067351059995849394710541012680891290525330870724263652564630717785679676265222222782912050239167730635391937696669751995699369838147050294604530780384388259563584222958067223988868430895320252520827429486046495421584574534804391512606083663754471144768741142857640066015975889443501309978803987295613431014238472031494859754809673288746261439096270346724526634342366815684338068798564331304842628114852205159578977631121335070948310957046469596038067791027451586431303771742852796765124971185799877695615209155630160971024485203181694714949144495204510354134899692741219221142679985103249849583656412266080984318512284709246300385086434351503944952182299434625598282595225548485055543745117422623742902360801311695406838784041337946831352634007622330242202135830438093209207448807297224435403367096788935964111089388480973694986259479775435976850806971673419634196235900940798678823200749427324421142739087355073853669465769418401360220860846863716917704524806642820345343202677242282184343464504439796109062903737693925250302368884755953123804684769718010135655923339317604606226233685826238347376861414521174792989972098327494685635792755871448779423138950125954633937072281721321470988743108949625014775729499305610493027737848002270691596697526708037839481167054718438178428175614037353082059127354310224710442971569720259436969227215714449432401006456201574928390224399318079795376452566751839759821160768394643212142789736200820712183067353484691220476110665971492325466470317607174307574820431463247599033774998431757430244371386872787290167927372652832923718610805223718151143218561566014156468864142427988512692820282965860777546542308796404944449259823828481385196233179339604568064421531499183327588635358798905074751568939561570780856602991657367930779948315152661365165934692368433702189770042399249526310389504755607932864534335348167782251024373937583967469898265496815017569338847107259703604039782936752266808964282260304684539390567601445248760479811558824582931299997396094641870032505252009527176959325007318299765558522601629892157623396681981040902928287811188231059031811564493399660256864783389883931964799132601227819529410476921812800573501831903203956940424432793057365025543232563871425185499849056946090272627623181111102112567175339663206232603302120887299136981585864541568086093108431318225209630180902316820983160386240954908307407753488039955715090479961770160160429734828533745206862225281070654799320613252894242145648383223796536632246238286853600117022047617691504612095818655843576627164228354594194685821320355480952673086228136116637000239934258258362528809909787128301270814215518826700224519179648058145307351593337373409719074678165094652983162117366105615626392577449364621812738409611299218950622150627564970317870110642936630058948662958452007700277071210561661754067050481258456702800379330156148329361955804959093933208159206954910358173078761039311082738000066761740683785153251979622764385395584326904666152484124819768686353721354180489168306389853292578655571629228849530884133069273741167632964717428119584631420706590830029431414411332433919805880464736281107216738016935974478226829496083424663073306238554269726459594469133191127047903801364656231193338616766121374262386431817852454852188237495969409718778350100134992574707563472586647113199484234928405054548672052068124380098451461163345662438162231731092326935346665124210249983209585496165867180795941414112906545583157619290718341257754371394203465086271773643482434104403860127048208549464341468256446724659349665627231655227100154688498712796658718772502324469929335600816667756572266966100686596752977942782193327290508614728065962610876795706979432491900286175774845464970993306772885198947719679939554295537597901582679252769696650182475431217716112315207002201648924302487545265587608331769459337191533085044124360794931878124115609283601513596189055909554515931986307238377733085326826401530495017808249498410859376579546316104719113243119643423258917455428415986587444961328859249637587913591730208039198419787777637710422341522320253681786254814515571286728189502937316030844386018325747412033258463665497338449485099651855657413401399372876568746401452027132341780445750417695576530523800041888581379979212309699458666227110368502105694084451255476664044063372352111978916503497054796239831867175884236832439478320398882845244485750066553127261863346885967246270498595510645728030922882708807957666439588755929005219778138047879714133891774280296275025734487042454707206437567957804834589897690401501330121413632493264716849901581304143268094641555236650283484560295723417627671622007173215388620593646913009830727901600056388944368230273308559636939130259032359317672311899338053269126469963488943602481755874834694822865663093136368463810655468500726044121335433391582486092036854534520036840269902089577162849182093420132613483647111205944197076588075358794362367718449892131177024609907605619260183960436260058737058468978997713439204623259504723586093757488047705644048616490860265437258852197611831527931692636682391030098059611096254172548971517910526209269705288767642568256021824023517916700037728846501116179793033468360613265706470979637819290735328513446669386670131773624268247254476673636821879724958849996607336779358017333592862397948605739705606225176402743215500503036379396866824327530955790585452511395264860176043731121953965303296308386917715731769100050625358469867623894394842464710055253080171784906038821341606106772307782680560695508759101022403589392393563114055616287308295375947319642803812665958019808901952847618773050368782593480154636664490987564021604587156125592405413451612873092705183502800754273943637556727931707585551637896974497508376021373381291002036772935998973667352067426810431033917972789103904384959861905315243614101603668251439780707927799396815293703911836280840388107500444129810849360287488258001194928431980068953045849493567714636705711437809483814368580270661787612759396828322241744502706478939295420902623131028950477027941497956622797253277271334975463458174546087484005484343179622240527807115962697939413921654138654980628225536727258824498861513095603877533634474152031991881908664157038560006307982394814018176297402357782770116410728306341397768190472378262754903501222418586336124944840897141464062139339232811933387479958297215157736104645416801478382473951524378840908357734656471777451335079610953221294321081546781182360516327175802229474577807925368590664751584565510856651515260371674449826364144479880604619005309932436922262244412662308029464721812538264225524611346679454696369444107449021168504532748650095221738019292602559537358437558981038121300683435936862391387520975475550852356755103314492287079405386418255183952713712075891747967408630578319218061065157890513690805916817746681282722071458243665926632670344522837523445650609344079329604779937694041365826406344172672724773503954746008254519882107560479405572864643192363563516291695583564367237224079036514845000900163654265446390866667794688263297193793129648544137355729341335102488334081719517510517354695307582638455400198300365531504841823113209394123659428395134753557598664682178328982912636320017221496884957218609140929604764851420763333813500511652004189098012696751526163310875774692408595337844025714340696352523846676309245498712769850431416205313925689605416947487646798504105562154278207590024036915745856249557231320058242702594074889437949008520721775488758133829355999904814713997927591810708592060081943160565836899748682551013478451018898950487926259712232290612263346531906140369981745368672730173471403932344562916686855072967784723525991970296335502242789418471770124537143131892369348689958215752492033961990099097709050353986214244047182978021943466487726682762331060498459559901799938966995268620789091903509666105274725170157407568493576396027093623123826155719941961285131159880643049159210459293752089446169083729449154418234312977661374426292632772455484494264281276204584203821071378459959967050324290871094788726614105146424016497994152841277250664538525836533290002711098376624313993511629618209248341058955107105678186804039819191834630079936538165478887961876957596468422843665720359217595580311252990961251592104169797467218764595124616308927106246943802562296815486956942078106688016400335797486857599608943779216065990892827035049302482139375123004375050357553729706769369049955984094119712911883761025402462422539295124084296960781121651261738009079038469722402745775767642162148514749994972559114995334468850117089764718261119938262632249404474759663586521496127255441011601237748066259584354880073973799944269364549756945369132578915062213123763556511089239988222361835069375382681351169903941357200823755390447023910119426654745386365746053267336595855349768614508887504241152800583872918317713588444940106240022951976736002197193124276520395395054799027898025601729959045020986500819021630582807036226639695515385913749290744853913601118245774148189105200123006661327487357244723020040244164421467043989247350835567927650828398123958929958645211712239391020941090348651295412823355750789488711253913983524804782302736660363143295317385908318420691915764171201968033873425314210179420036634587438424476376675511171125360143667717334020000640344218790315069801456967965720460261169258546643489716272731328730557190727534836905742644087053675651176301900002979485948682187609705629010757517816234630518551847034759621906741302228497274489092007687486092992574451341697225376031034482232971077046888675561479003695172022868909519724480315641529565918462460277208944860200609781618689894499037116386464551189991133438926300823360602155685860368823534635737760986618359888876959423207587459131958432780094184892684759994111236500385652678405419376446853110587070188521660197175329548245192902060694900253330492994767959970797949453379756128923556374606061825108851325872893879175309465415115208830511661800616304659976829729142158276979586742972270773846518065735022613830264891452783644696122358679941092743952318046925114794579987064775457875180892061717840174970322920786045446028245381185960216926035063711789753693464045056894725578973444272638573478703993126827001920073140489063090869856848152858453095134985267858217409111164638740445911008283674841352850928384413619418890878229092783892526128315755783878355581500301306193653169103974702647439013431814547417961498192720328041034176199489977721216702929576145837257496864095858180133024389145126494288734006546118159494709070995287981379988414721658831344493562572533203446906168667991692633918281114561243199125891949334729279354934937019106833241612266840728610042394331154998232879338975727616064316550692826442803361816615305872560176593293264149674897084509664882445314884128504878889031393086292442557422484020574676307925156622787827830125073635854562644316940253581290017752290671432792461672519520991945832255738616900833227963481967103935980449893935071959432190256628827560674605370168448916560783141358841812956244172496011563863213012912409322798658693741937086666337877776745155586959577684897189444498305942429429057562619939458988792153519912756304485635212426032266035491491833362985037192251609123383592561383781578513703179817871541607543027441986910002149665084158932272952211713096289174442488602206305455819910919322225896770647021169995779010294366706730593055735277237924408338128653487577477437209339193230945150434744867708776604884747031817299751042836078364944140169815441230162944948072895980657416379952583354840157903473301612304629903057267132238652047434860995419338428581131507081554174423967116461629954177208146059919056864834769772257261850690518563668659784995413246454878847897531457568482755100798576909907912611623839653982495899245202662124193302193388556343455942518082446549990168288102471521726459105742288747874072083346349950272896794622793392422980867963393618236368342623194420474578788571357704294110742361918784286936288976728485077223793042420943625886901851057600390185762302373915981580022832086859510579327380258667668061574909263236660433724620504347682133123406153262538036694032832221475769853423556383052765460384625112172942885784462167673960475336340832425367553458807469071361231107948169502309593643097494677648376981048352155689021530720049793953494519370291062239318494798984848073224806222882191157499260654097189079212832163101717864697003004071245549166739567634219721120346717014110188622741172022957379528832201266099028625793241581951808962020597015485690827426858647681475282801724125000793047765544071790458159537579361964485355734375006301848881841884534908266851329531961153118525026596048125215139997460276052914199590466414761447165457678875926970344089896749581739806512197874557667387253520788576520051204712328894911792625590214155225096752071571017755710448378584836223665712147811901358043378468205567182902986501052453624917950846718874557227034129284886689681648465453758397720714403107477920814583047455555514101048624935140154176697149188395411078060127782714449788237935899552605972636260713452308232646315597686041377640055785218459767092598451686675552375491314967907809459741190197045604583304752896082181163902182032682917391355906757424379936691828431458574116535940997702258191650047033669873997456052162959389513185147777286336170714251037632042621857081187157870133361151266448886690217690033073364133016190920846461477812682096504181193439872704919715343562449500575577324683777931147584448195050429378069675421034478359108864642368705781661095430199228005528961119215142405679753605110425485061280318261861232533545393537955908238862791593710941922749704459028325661174773295529563557982422225064836517388668482871355069865825770637904846410701796474474776459940074515891258288294022029299191850044497689944983209235629772623399543142051051178705665523642103784078967711081354413198829681296014383045044359357090366789937807740115005574861962469277728074945026153740308679316231049806522081122793906551208700273964834811184290670934027313559633861237643299079665177210809868488400871423143012258129808463473919726408675732781159292780448106887616165437901764747273322948276937179632205642186239527245070494069649407115549317169438705467595074421868764440284368644797121174214863723769153947854485771721022343061404720205399941953869005727787102445077872926103491165982369490057404423514364214990301069098028723347098751175971519110042166449972644778384110475255051655416911564884148486885285839827204319415224147988703954921429895000242076592290740947850684233429563148009917685722667855029530503572424355476940162401057201837905773003602956379510372780684043454122274234039945253940533390992741960374800250736764080324244216126335061642551922718179473703832133015181489526833475132911497580091035432839352648379364347398690202359364754983687108158167019695962051585600021347472895595572998797478795364765657732248435966237907468293998477929047040675835570871198534490654590969113994557091641462276817772266348569727485630572986245308560943931621260323034821672014127056140486806103785725891520763175534557288182269327089985064043222405569604269865834043978847957785728014235416656412093394800720495632888793681009119019485546099683922618561639332260259708685524916945076192386235705000323382909685750306743767241120532860991671080716572880654712272991859146478588962796886001675040208892957184090433644795832447256092808876695584593728073903546361250985090680429047564816638854619481031944970554514599800639576822107052636302828537798773165837678103097194807660057992664878431406403888190673346849754312373563942625975847732312411251258540728926200657804599170605925073443404547203476071411769636454324206227704974559776385229106259889233258288938885189849793015669965054370202493153795047116362660048585068933677932880940341295117307917424979346071979251888689754263214578673301720960182036523808687805660232769854060990524217882750546529395370633929585714618258306014414700332649019677661750590644681446220352418235899152565709089984763092577807519427842688691085257071404078570595259113364943653022740526036924420424769434921896732442152353909801410498196262790120851351631511676858288040329080040896101840839987926833885803685329597918742755488031137964006151734273198378246495566943400787554746652221466078923914334621305589840981992439107880130358104309631534147945287961865754243429603742407825207490967413136364996520341007722035294942990037800444140426506512796323523144140658347829587277522406291595472048161217869022361051292448514615995663797009510666098080329509288931772283546937677044260115185782938378496779511789856748538541257307669030253231162088329235535580783094308742343058711054739995094851858584342358415595533268933261982312185529902594870309278848577171597682641294243964868749845092478832011677781711117479986046785568554620539497912767633643636825427650894150574047962529214098580648154027568476882528955274755743435773452308995009123466908197905152847791034979398068856804526108337133070239365236400973536461076381732506246205172094998167434542855446359982712010055432285880447801581932064120048146964878956345022217462975513184803152485124172085033616022808186941019382993800610874931500658656760366426311079894275382829994950432665929418102485455374320420376125912063098924318121386743240890275030573239342079597470140325857909571057489870113596984213555569588156485704820284838626137800115442661667970219306393767236407416274029560982984044657843690669560567761218851621845713440627600986362002820636676449141226394055099476271450470848481581884574158582753567679521027363985246326323309883165089239028921419405295204028128090104740118413570379602218202867911989703863170121932469027408018404848697899269241022961066867857971568925674067945113019315896924990963619294122352936683695739739438395427288440998263305939852252938156078462466975341726340208283890130459253473907174593410396140028683801447856956652130327225999093438716549428547570178860315227258689137474780126615315403660620882014213137808811990237476816458803316418185779661614351694083192460190101726793071821097945849784130774923434923594133756613029036540361345578369813464950195035127087459904502213257468378890621165050980247679295558781830436881359153233800406820955831442496840465610212475233335387741469892842405800935911823662393339140443041790572865374860004939355286797682833119987957814495184417132506741330346527550681555821097194412229703265140063197145044144051776841465919603763480894742533004336950994809003077022891594362241946526168775066499001270425185256413505698662808113509900482037252923944670993989785788974271686752066571470334655106788067224464393600531686794010205944625633809018069727525899563559460324680243684268127726788926293680631698391127192664605128577596656215565479378996431020573777683414889235871576099978430830016063295405063951719929049854510208955040957344672707215072548895987451713253337807102522921910123520561278668353363716327830097212317265515672000674365082433938019201995803041128132901283886052538715161330657119943467266415522605366947921512384834204105315382371684493187141445217005900155184128680328648857685649442674982443005404878641679291081571873228320645110293843982715927834788125795838657879819086195996196519145284628586623202761684301263457253385969188713662493319912789190335549240440506817316740058156375744706634507282815043914075944550707931299636479660741273921443333986852730026337311849836247865523643649988212122768003864019096820883822979507371308447816838462202516028301565156981183548216462019765202626087125991460491605960772115671051468232036737886811575617473027486454637710501375645010812121347370087792761127801485079839911368657503961046369334720857152732771087090413542811306732081601358802563885417411876400604172239450847180119264097976898991822037311928893278055968321093737807025299308010123036527379522406299554714877640730139671001727931140931133397289471367826765785047249202732799339803773004160045922923300606872562299706827108878943576728858042060393852904407407832943514574972256374047270001754986757649348072723565637876998672541835937114362139809465816983413555235966027636132229395005301246228037006963204417510920616317242146696686054243692653116795730256343342197966671160622060813584378643003614706547401322508373654649582634328565298898366577985542820433216595715172982462881505637082886704108193325801780722939925060066384050842101749613150475137398311173917228999231675497514658307280727708734623596157989956639197180787805856766319265654642109207424680923792087271987011194416065032181668336651422365459126479915586889091973272679442246927647810846214674957225052685334123479077498911333043195507854928797398646967821526923851519793000032667291173701176850785183971091422833459642491348245566583887045135859021844561430137557229731378775874953657517353650371526611795224710704042180503085746697619625246312228535872622945435298364364739041936178856587339276303565156238961871971525278131959402859952887030264077157172507768722231345321000809417576130084629256945426277041390461739232986165950549487806283016786093777760302969709989075588583095787418411048701804997772649030602686121137246976136624647067696559741225612607789956090634835021771652234186672941859350373666741684037134456274530737947670636027712598175887816859696266305679322648069865464753157369621792096263599294310234794853835028724960342961801971027121613508786852095912288650894096796475643471927498596015515316391165034313594285735956246345285731759709231614302321534755351537433650683869620343597470025552653582545199406509040214875820186398831118245621520704099512025559420054684288322764758321400460209480733283351766916543150109476221315910409625899678032847329748051958139997528918570335461708964511526437357504922127975861388838331483432837646807925649919761263331666220796121185083393014491644994066435588760303031576805638078811129029265685803661569630687679569908748817920172946591034363254903937105808335950784914169908717432717223769551700038138962667776600994976637604227632740936036615800298678870184299437820378214847935500215134760560458141040609737307946490430999920647924660291999078851258255802900358113251847838388364452357279458963682491202945412201554272010407600124549325266789891387999485763547385057832979587878727560200404511496765876242367864985284431437800612133746266377755264510286763965087477388116585092340933724115375703829216389034407820720061023906568965530505734135339257717645249287165669276042076946024796451249501751906149782609713563789750885692191999069774279650177241793475437693304031597169821795761109806105777356644457041929564669699276724520777862482859400235405238449603721075834126963112875290439991836520737196027518705490699839149373929761726019042064625666635343049170100448971192252870946063791729838821880565888290185536968166295878735058434746200752534132272275758787951236210190675943208891047051968169199692459484858231767798329922312541404039973029686772362554902504870307880998935050055135959661827384371811060962592623868147493294344555160554117910413212321410521620724137951471314325636040265283840324530556561573197241933165977718657721595818220040630771378119495854632936412331496743441754311779677441259001731788062112238527462566169058644301579465027214871014192