202492645573959407775386839754668985487556472298869656999648878549536569896963896087897839987145531352584649448028665854976468894768595773547379799777855249494908793976817298732673474866697473897596696445606658277752504452797649795871769464774281479217656058679948667368884443789893855989836999599859118196137484289828596397764256796953446673587675363815465258759697361458844795944935848391993785594385231768992266354781924268608863779667609713354483363308698444732566839669882764847189758893416377338532146487186747948577588969877949357776789591967599336836677476305972967939667251657727678549917578796735784334357998555055677991998993925881923889429973825954774168934965845126343687767598713288653758878095797799291175327758297795067369932194885949163529986439577991380588222879767828586946455188457165256794802556677878844289739814888364895475949797751667159637582797280557288787518676599075777438779858847498806887583849098589658350789983214896899799698965419624786651651235875797179888642384339735246933596257874553989794629848984667666689298455778978747668896644969467791863403999681889359985769779867305090983829783255499686786268638055597983468829478274799269573899855599596824859976119862798289969958597588776975282754577962357464072396687886297597264629046597394868765764565288380367495886938558863354597939755234932699751976720283779786079896424996936835648787660793975749463457613765857884994599507856659836666695872577818999899831891369299625578398978097976974292281305897617947585387066977893786843828566517491539575478746927825516877947956849952597869386965794583567357939297756642786994859898468797396485579337536997632463636898087562999688996917131999487266233668369536737332986447741077849694766666779798544928885738992857698688094471339266666382519475338878252908888496459589989673935799857636089369468348115944978646926594728983564785559654684773608545796899796654931998899746268342790607595147799675528847932367856671597587747861150387679375931763598996991837683552788849866647781897276578489738747689377675426545829594449264383319349897555897964454798417279986975307779153845778989420995683648876685383394886478197268784978293435965246874689287294613798484735668954552986599692971579469782779556582193899956698687478584827637879682893976388985369984987875687955589974598899593269398393745952319968206176658276649275473992882890385367942946977985179487346279705998784741784892456595836835739538599696599576248779367954811967192794694593796372056992225969934034866479797797999799585955679378810758845421416774484349627345684867348415689455839377489399593620328447687694542657464699947654939583879632898627656288357554678873889738934799398679549726284579139950749278755947794987889338393871377501206846621336796886353876896787996466875849968628977578534199688655757892299966632599855799569617482881766799878727486974899568021995969355697959647364784956467979988574857709965447874660883893518794650850779573492617714729696596747189356729976695842459797528798898911213803696745992909983439764885439453477615758727846687635756864670657849669699542396238953607260555936989293997796881967447765583275798588273598498688926899503590898294802780856873936558288997979437565276299547586986897446379740914989745744755856758825334678880669665758974699399369849673674986572889497767595829469977267562378938348998732447838489419828875866680895665647869979696969327854126195774558867699978886976786408856869897585986666997545482634796804894608696649731567143758639107768966818729742839457649545858165558657797255669968747985587518186418355626587974864969223473562699283767684938086766958499498635346821667739123392728859997485984876455376251419888665970196312044908166799965737968754278233947534699959094879844992612669673482587049178597474947789394583759558848253599657399612084487813797162799764655796518958554499669494483948285379778986469598505949888890920578596885955983857639534681891527196684552927994395982976742803645599939688698173964361747528248378577415887846086997997299458348376673492942691702182797965138937797008977455895137873346296836727846472669584569371729598952695917688897697582916749653596354773742574995899443688639566864979473344578808685569958455429949269646984791774895478486698424586619922259089884887479899592597546185428329975337589884768716468565226764817798998446868878848773559397251667469847428963849589359457580856359459396894932798768869697749959275997239585389783618296884667949664986620886719885873695005635956898672678377596603656789191392698395895366299249995775745886784476569786598725588799875546835278797350849775068536841965693583999265827696647489975955993988828698754363653381797478496659598699463782846997475519614944186689938312659643933787672996299537282777778995436449618856889487888615407848818943548558438889973679916389795768795958861668167657573856326664897399869488661774629486129742878796494718307493544468698284191499814476834696556565586634988418496799861585679624951552854639988787877954447408978394995898157684899995678657782098845529999548586887496478399698580099564848143698925580856431394715858768381644338357897086886868458844946654679824998297974685564967969343957776529879897888949872739889951476989688441852798953877333989967747796592739797898964848696869154075195248766856979544739999448457898369465589269785849370339929917553487335282866778989876698946999569635678477966599519264378849427477987593489262807643889668918556546793161729743596963629739595589245920659966832839758357585618618697484873696753998918179729454682749650490855545857634937167637525642769558932447769889838927896457767685933586378959344419996989837883898376974515876579179891549268386094749446542886898794528390973667774988923774337988837827965589934549606785842789167758308152958586807576726923413992752318656894578769592979564792999769927112043687735888392579629673796668985417917446220759650105443967628468266989956508873863299384686797786583956759893945659259178598856879471718585485989749855796669679967689796279964647067599279677977738982946493878588374746588848394876956259649732877772648984733689139473856898888746905987748186986652316159899759689585267695459665988778868639713755728982999196849497164804874945768895748754061762876677976659997776965618849189390689676455647981374994773518588767986944785867699557688578948868881379949395467288785935991186792896369490957686878984895818195333830626765969917747947524627436730754998467919746829894688735027479860922711829555869959973957676398498883288599866752291997997089162896990729376657566561269985596868879542695889081666823084773969907381277789049996430729787988367879781569617472773992151695989759658988899639959492926957881529758989994688735409872787075573727538847734997939888659827274749457743523516466586646884688855746495582988813558822915874978367242756929156799559273969644786795046928794799493364828569149798468685496594366962858539398379996784392946677796465993978895696388438694487316214797156704748179679885624498199777776198817749672849466797395475257587353444331908889948766996397483669334583765539829443844348579949861434764985857865373799417772391269758749879848995439871942856899377852568069572278803137353686655378356774786768435361527454847313162510252575138578487879458979933389625963467357866889992267943684739898777466547995899241529775689828389596276687786269548969239598363757906977896743377746867973665569653555853187684546248884547854657093669875967783881285255359595679662458752468913993956339493925858688684742164385936165275142275389469878666197969738142447537933588826988257439776752575667379638695073678573693986783987448859468492843767693065699834685295886994995428556818785239929655877995369896544495872998759776468839427468938990921858939254136803487699658792899767653984599849477876948655834785748482897862371658716925998382474888845819568754839658872819836081677942195249999892279642494685575869352638895779896988876665994139876372139856587846969268957565791858982927740996794442340789966565387499169378588655635695471308866768815979879378798676797889566638965979796986856887816887697985448573289769558663339594996506714357899527713667837659718683636660728998752849978859269635666749353674971565439995799779958337619494939371765713846829861657986756318434556926799987575759350055659856395939789489767252439599798977639862897870924686329795909399859678644948935776536587769786887938495849466557879859199428673462887385287459636874725298889269606299847986859939796666797565679517875769238687297678564529779699779039338336666586907486958580424589697294414903661656946473394599684665869964896394688588119338968889849863858927848969348734384966988627948959482677168569648878956578899944478191728687302249848977573836968902647779356615459939817866845375947884891976999967944825788652998257594876364779889798747498298587886936472559377594294597139856978549268948757699795997029958976688487959898236483969398977685754036977888816882949665996836379991454996994939827283688988791454464394636296226480937362779815659237889898486749565567643915889567771447282756977977135952997996953588566190385962415855296823894094865779539494869990768942737976863272870345661114438698656781287334808966171768463987886854438558578899898689139731875987658593775883833597791546297365958384989953448632943375185827868817575538946597898873577735978638938794965386828593149921714673835935772876190838997147861488848618981647077418845708975843988482828882659650698789805932866887473797998946636288997972689168635956679339090869499699868956406828368664997693977689888198719381966722744476859486758989566679963899876946955768465249477993885072985877693959969987576670268875075468979218271893788546587766912959866699237662737799934369999294968886870978467569839217958396933997278935559797397966348588895898948169523378957887523099814371824959416889796068388989815196853663466269375355379661988477683856825796528897387689654669574414588469784937692779571864927566069396799376677116538785864967879378564998684787751867669927699884997887697871092986889679996587232358876874975284439969781744523049845159792889956618792386719459729749575937498666869926541976548787115950536597803876957180938969858557639452769997574495992813690019858695766730955987414682778942136438795853479477573587339686427221998522653864175923757956912466664929388827974529982959978454868867498473995887576821966979847665883478945421947648527848299944436468868926740986567882848698558168941870737139793294765145775878290683678675476998855389777976275966569545690698817439568465946659995781269396486488944577869065417498459864227463939865875479595795782897017663783526679471469644996917967519371246973898178696965915764982837948588739664751394388193697950390669458888940189742247346576684678964759658831569896467697781828219395474168935593578538758615682494888993557461778673784995747697638746455756793262577948842875106402585870627474959483487665798146878974249856973998969399995594961245797577531362437983369744572167578970959145091266868776799687753687766699557636579848761796388996898933495577934728817989769544653895679597750825386596896099874467365578963898856659536533081806997995318790688858288279347537826639778829482355554953874734286258538875767683882755619442983697966796599534569460845659242255967669705917579787249491557698856965625988768597388706584846449598446963457896748452559678542779799498795938798678476490871071868129836876655791793817123216463687756770593537877857891574957833917828495378991888884618988329929354944598549399554197895988875481978669573842128776865376659599458180295545989766986595922396837867586566494597190398429367740936687575566852556777966373025766677293479678827729846929566998543684926948499342475742826516829476623261285828398897196677688187648988757845716698886909586392969261415935542618264538473919292599834946888897983994399679397697376478754595685777067989857494971526495768586836399667498848285634895728399833792876048065979441617838768145979988696748698864588897856398699638973876547874298488562989061688967963695582675641837383988815176986468351258763957466396496991978667987566737359952959885497589145944558837566848978879669885396396143979987384984486535939911736474919877281185148918746328711265388435795462774546797459599259838527341858731876884876597895489816797731636799735065976999769886870267077085079977296997988668615787872925793986949982768559889735737950955898877249879256764967788395778343964692780241848773094077654655565918732882529367303869879757758809595686873556759448989757998281767787899989967871496263779456563978656397149395973942799698339883395397974465972977987755396997595538825993468047758889906764747843279888779799881871561474455668998798674338978359450962189378388186765185477381818857949587395593966357283484344795999772284267659599338998852034615834472856676390624977549593788867923898958361436654877643982549307658793968334460775965983548853948549244129589455265852899779596559689875389884720786212675999549579248457848777837612398896699199672679838596497479256966387246975790967195139875686980845778566399987885546418916808738754858634664975948783489676474757959894888871483454865133967488288346157326949717660766831599576644399165740729238689972993366692830255979592057697749785553925949758991988799568958994444967777887949653897166576524680663164897134169528896989996575355687587159898512884697593957297385826382529978708264083758942987819810946899464953584777684987598288997690946995171979887767488483552999128673797379175857498669534588798488698876879954639497888878938869553786915795289656987583557663818758976694331869881954597788847177665846965486528399895351628935757937223258440666489706848891727676171486897647748394869989869388795398365896386929529710906157599574542668495475893787859086874532856926369077971875769899687381898982464905536551658687479314780689867142499638745837573162868232563767836846539433439727176397856358815872396904269958459657274494894459942867952612968897828972758955756769688988991673999723996859984079842483790968850937388668669869988589297659769890874466687245979633665673989354841999845893687867159461967958576858972976654936802579790884922867271964687189769329599217878745399992776854929965352379459969988665757332184598715655625997725598459833579268566539487856479531948655277986989368685676845558863718799838989162897527998469899977886871195597921435983279486557826679467929572887795957364939697329889894354423786265768456559975918519978488994298324316648857839757665693458957499788367547967954958298877961687926994894989869886291298974489983749986267296593964351586858677547943494983609816765323751248936377956955166776859727459787684888251028755896582788954937193464958993259897595998572833797497568831874638765499949972289859365157726687512761528239864927988356994488225657929599498888998676234894285547682444845091383499862768987588662894299994969972887464891385444952176431494889772492985488886555575658098729488681749639806675177657883256492743639907783595587192597327962471661524878814859888667751780172493332246365182944588874884979643382146499859833467492772895727957557543549877996252849991627567796269587043643085537567853386994514494783963157167752717723682679849759955978293895373579946725388466969677457363856878877771933479773786796577258488354648925871095646533979685279755231284657586495584635579268696687984849988775916883898689737774706245977934779588850698593487487874969751429767674817978923974387499787698787895643729796967468963788846679939635466546298682379687477999370244658997581538686972378664087191187260837152365799887597949089896991586878570535845793867695991989784239579588596726488925237783788377760796775898975651899476699687368873976793585995889829739578943996288939917462973571973379634651297746299165608679177586930274994097834963987389700635865789725664977055708598788498899592338998625978786471833549798899685333765699996865884815876649994948955885869598243968536698416266676899076086967895787879679892717849753496179846457442476638675996789676874120724495755297981779515869797977997356340635121566444866959328596761791273872186986545546967458535857785456982447516876876287786441715964893156451977334962848999536594553289587797567868775769567634894866675852347479665759856295761995328956897967884635776018183696885792844877456315689799868588664759779698199749962369934729725549354533279344451929309876893299457848986835737989946676691933842827337425998776682996363949647497379396927396376967687797689079999807357542344886268876848891249454855686998576666499667839775391991444964459359665459863866899166168347866257698984395580336393989548144097446652781989434644572759375967085793178637876325917873475574585688605476987387866666462787979534889935968369607619418974754764881698359942308359335897425516849885976447777977958764768136329626789498478559999951665775957668481394145338815795449899584887355238359936443428865967885693242879683895698391261282327667649336898339867659139619716655665999977766688873626469639687827947279349943895663899889285599796247752445485676587988511547879663093977730531384776958567339976383491244976776268741990715327951286982876896571778306925649238275796981637655958457587708679786596256727987589872828928777778925816946789439862468618790542954866786988389256574679785859692997274668945969493884329189399299558519892525265597686797928538949976768699691869995836096184772687981199935586928535117896773275655698587544457809829486583998289819285535787954990967751688798999717799117991427284944788926577666731344799064692952867655975888665690598992416387968975753472716983575987837997302719844836897885779521918877888886267678614839673829898756751583596978746699926765491889695688589769988993979776679859628778888324684569730366965997936685466967993499755123799949646994799154408579981378768903608785943834788765794958578895575656425949783866848618142994674394937936736106696599697768992776974679896778773786969478473665873943874555997208661777547691484485663863898864498288516983973352969289455888959442698332898523945979796293352869377788639923782678397579518274435889785814659856629391229335864956654362496355396728581566658084943397678984979728753099727779929996599866774217791571429873997785787849798754390317055479883886897662975955337638886961987899804718469288387565248288877616799609995498431998479134378723297689365545785689573869575598843248395889658699882267725814675996999775774839268688845979955417039396465838173989459206586746388999299893626644882883627862753465319797194842769495825997139645989951542163167599296843609725959272736926386842891835384798866657542967299997694037877417798766596969836794674799895336759817584866471478817894938475942766163679799784788798647609945720771148175428465244494655898788548869588599363768378596498437890366051869569738894896317776649789742699861645378895888727465979468897715678883699999435499878838669534956366687258574969426669737786398864349922819779448089895995984680865957390444342612776784030697575089827879298608957982587493878975759459833693871669557599785796992969533877493599968860757963736784776854896817759782667794956169426888774776497199349999988875824796982354193579585959545578978786785649859718972721978899557779889586017499798876497383694486397872397688775549234598879247279985953522798795789444674538714782722917147956984806268963966404226447971192497888575579697582896745969834899647993376497359789954945999526978937347855833878732899379543969842999579578778970354996567668373954348656499594857568399679891878749839944887871048398172367675452779068698496847565160537644688741898699978894995697697369493961398258286983430923665986995281988891715139497838261797963699771844729955789956948363955698580239886689566468749407975787994766513643975247359898884895587396647969389634353875335988895977864597640842576445789569487726233997589848577964675956443606423856997579978502665649488898858863296578884430989047879445288379692394987599468287495325714345886979937868475237951994957886347697539363883848897986456958795861387486559778643891497986395568663678654294359530179645867768938648789869868967918678660898774695934773986213869397688789871792674676961899998965032895692787475838683954987738962996757574382142958887994443663413643894755881987493869484853934673985837585866986798924894192857818918888908298467738182435899149599566882448195478769764598469984695496980873427458697575943677755798669999017788954141139959327873262877936978765678966968668774953259359747881388969928089592577186985448485974588868381898789339999847848719199577857639675559246748571757829573533797465981389777509333753388351583997687259768569968188976645957959749888596699979595308699897937853697512589569976468788687489507373647218939777986984418572889157656999898796947177499578973778788934995954766599499852969437777054466465478856989968935882295205749842897897476850765343357979491495835883793474739349647884778278948463273479729880564478479893658904575638869269556683447967718787892580314715692805580777662789844654549375734684765599778795389259775932733981478379276381363240577982594580396579374778677166374539892965182547919773766428921915766196586696472857079595518211568958847451259855952774769698257949598339868988759778652484989474742688859382699448847739168708968989485397591489288695385379687578586676196999997396787844969679748983843709679186787748692969744242659448779473757269347466445856911808767674586834929676946468396468516829479592235262687555388548985185645993527990836917696882969476569037697689956769748625993387685561989880999942566820895982973967896935783797990883878421961899816787720256137877553774979877886559649878699481589968424198187569468376966860783868893982839594726967578894589957575308089646561845586359899978677645658597497779982283479794997877349268032696856975225913348173984949796873996919886669475956780584967908598378799234428948691777276424585389217942564939458787958724686275668148979286437999768185799159737878588948938659677463018865579424844398998984646357692034767876983148493894853614582356347877276616259379563688728584124519965695645696148399574789176254544899937232778585497977968358195999784835785836367264886595667798894278898759871926459944582969799965958681760386699466598129755864958597599656284469298959247423718977962768645928779175649736868648361880877965624699389295096603617887599148758486952292767044784974956183613505899778957965775965574734249493149552294916085978596961887838578469986637113684749548747796959652461954478999784038257248968997694344655538948058868749572637927796857948356564592697789698667193791727579791864329066590444250814467976365669275433956792994676597327949859945373787568998682896313326997759997579474670749356753456579987275561657978588856579831648099849938689878987638857799876767996343369475463894868289482288898928762967899099861797885781969898568334826938798979585850729633673129487854848998597433673755986643688164378405863552259732573599837964133894884459486429830935563859897423798777639595759495384986663365727191855554889886886971319221696282668721497158372164166989457778739528799145519799279159226239709561788729355878479359498896697891253385955089172286068707525689398596413739597365884937698555379983787647608337566283656647887236875694658787048177076547487745472954549897268287947753992749571376826970391897489837996087773965877375258241156588724388735793394974637787855129283019435258829546795893780555839365389928989407858690394769799504225581591498578298647247634179957791645639689615898593371965367558969752766586447166558799548622481457244257999546745358978980686494349957757298767877938956382114769583989644466964998947226546696389859944599579968985598448591665192879474989477809574470317546939971973655923831343691993494558775573692794749959894871189431699399727797738987864986256860797574902341897524958859449404589859788792968878976632749196547695729383498407807684236455691798718885815969305078599967788729989984451678884655788883689874977897556299466828723967633155896345298575831787923796659868760958692359726855499677849687638568339628709389938598944896949666587782878254764389283917668958058958644765695968944357940918597668658978548889770765657557697874871968839885976459516379757898585878943937739783366685479442839938566344790938448779929158933594735851881887897887998135943562888991678259556998645369784997674980595357966863744286859855789369349958976467968465378898597897988725459122557979978928565587896278852885787486779876792354988642941759776267803123649254154997385453979317989390679667946195536845448879658589789995858949377956488057795945966528674798966316699589729534786776858659788596062087798359534586972595144958825883996938642598884894868984891884698936824119975864937897384495945177667392587484890987296747795994286754592997768179498747215655898887968907683444873482780954287329436323827898930455918346468768994759347295868768585840569459797839399762358055299432922875398566686988687555557795765819933747653856957484448596868699261973843343743116516927664982669666449966965509647937861451867828744784829686649676548975595269974885896323333842983489696856286829484456823844074195717522784208588574595744368499893969747594454899692754951984688665238689647777887779877439464469615589789417879336895834859253679861036064657699559917339693858686574997985625495754485619349263869554889239423399677845861474891887945453666369174787659794828457389825994778973388473669982393878693925037948537268853379547579990670944677987962737874698858387684486856858259777793558639386794988999987195999766163289114867695496755979119882936849621764897886869879677854947765078663374983739175719473948976674366768615445849834988875787178785449551587888978899076868965512767778499993869071333748483522897897396188649958599987779570794165545867208928699837834969642599615802888746664473576166589689679734678787243693995875567546798497875899773874787539886770284669089145385624389569669697587217828768966854989783556328475438399869535578859785566582273842258093996596598684438868437843797462167933378897139779779082676345968693149796742464798956478966883645519517895188876635438515252971961838178912882559656574898638436653794662975699779758937689694888856989664154421799885953849309145659787386526278796653358826474289434696873935747955569377994617297889989977465689589899658494986442588735639963964069479799070953529755699967977797776498891938249875896073915793415863749638791946946957617792921663866828676358478732829962576636597848607778889924774699176385638683869462519485346977267872681649595518745873886815411798892249557729992690162648337662571826699539566895445815284298887835891511053679470342086860428788459767538252971218652941178574828290488576457787595777599281567695488665781799884595993595362666888566983361401635887678387996554988858944665996488443923508676888599172799885858657639759179183947778651699139139369488753895850438856479138078269863250688773898798474148675467378618188085635957288891589947572688785549024496945628986562887284763297479446571264560793585197883986753644877674589576250937949976159893983957299869358599683229071479139754399977885395896733352699604987585229274886873985286569872986069367559247947335589288669860986271857895543976962177613837407955579727838092468362346148836279964788781462397089268222738097425785348968777459659639786869675948989859755699275687437428167999595796868897318011987787747689239783016257344439874896975569667770488775436673836971951155488249829826978889788851866897955981954849657939474589378585283397296719469481869614969458434476945786574778944395949958579937488584458843889644359989477419806277876889943519512891754638699456225912174177939864385868828688967036877646899794583678668784597948538717475963707885568787316569975099695882748521685754902199485487834317586345593796854989699594868752887936573879968947754519427658716536475237498587368157687749875599777954765647715532328157853975469675785986879878569668586766939596169283799847856886956882982992927354889995876797596529451976965947947447888828553549859996327997545027933966436896999164579559729867268379971657694776564776938483997459174884902728789833736582978414677829993455757068975867554998784789592782694473964698977877649197814955448882957215859338297338888984482849474328943837478512974636863987584597946796391570660778086832999398667622896741866462828746452616308197259869577573665988996897858889996784366165172835599982984972497598331417536892499664534767474846249417899559726773751836975916947354899125649747545858397689428887577379975499356439673937668979619839793986568984017853576977889566985869849696956765877579622629996553979496869648769883633388578656887916952884562684866998796277389986785688346678948992949303183895052255157258681919159169299589749791913467986740484686645993289873574565888297857247626765944953894436456566453797729249785592867326895837179859686794518777889388588979758558749396855783798759806667751823927980859547396745769589486677563517652253236139426666385748379049484484917982757448726979360745968957956682878558772401969959778748854893988267578732376559402967300568868867728755282962394848993989149797389079678174321049660987999462369442758244986992993258285456556496859645829495616676275778916675887646431564971138684547655696593938076736078779586547254958638779186984688975907834274656655331850987072935995072998789937351857438847778494789825359284583769585886437660578253575793649587997878377787978713538915156237490689948538421840166877866956697887794156777697791948638248358559491758659025867339984658847692637986718589314255671996899481677367891798481777459376287884644689772545559183576385569798586759972639414989558961567767757647449516964699151659775354919769583349397186889955277059964992478557866889367957776894478786954777998555778837780641458135379453379965976878798543587025774958669174408879769584492647388667344944258877688899854348568984588278499595965962929786568748859996849196499293879928787745349873966641845427854346777459789385490957634986595846856276473997428676987696764426167787768279496414437478948398585877448444797879896944792596566699437939963690901737388765898826969573187591942793897892277881367472995892867897564571559753868874284979677152948534776138578348679918887585048857782269656763459295474533979873419738955279896749597387219783998399723788972622798589552589584732761717893369491239909594398741665289249725979782819902518999428575957334281995813889186488837999949399697765421863456568549885467802956758405579972799096816371486949237884257979687957865587940729008875967981592838727857672268692788089917836514882899988987059267318825685039689938894908659456489577279856997852969096835775937784945965661698969879773926985228267956709647999323660837471675336998486647583979597229947482757307648337353782349627658257899722267896368873613577455592046897574976982279868969698876257295999696898825889663756554547663758295797847906476300349699598976551477606949925537869561457395829957599667699948996965964988653898316486683978599978321378999536872309697989649668588665981858589578848736699583218767016933668813498914578997857382789883498299844937497170589683972751165923988949934995485531956968987994957763927899864424448198955904766468888999449897655465767399889999690428842569979491467867781997374386990571876256393663483658487755499644999399578649785746797958569769339225994578757642716743256648862561875879969938968473766864959635673172922589187024792345981509168897856895785247678279419787871234876979932855778686169691567997399199559885744574569561727607367521896997269879781598868699749822059449667669663748665874423982758494552845299879558878564281176959594956829676944485765255465888682699499327742353955536781621983045379989882879919669839193390652995978289725475895898369935452135959382989871735868485626906494636857822694757587267649938876490272857898399869574994617388377776692799078493889849355576344498756442793397839671299766758985899926757803697789288323688157589199535295829888897678755657565496799695986943441573289659693278536479899943239324783549877514586215677963252869859689955896538994361884544467737756865589359889795779076112657989648150777858775876237769752795951825347697685991799781155256803965515323445960655346967457877849278579465417577778969778484494888953798963899091399866969383838795364947676169378795597768892897986436787985646877799339761420785805793192468976844878787970675182754677179737498336697544462468889835783888688785826656472546459174578885612855869154626573026817918991818864140968248494918759989395746980186583732189465954488898958853715595579767718899849574997978787777447837471496961496457948995174362197638396887549797463992686756492876039747818754465687482815569789787742387794955861285775726229838484626405726536723492699589220998855287968447979568796970485369927667488596578695675169886487894579828737795782898844773918756842797848567577804349588997365798628947896487791870884599446977458578978545655778735985389776379486798036697792926704798725471546818686063724985997568994897578998991026281977437279183195394458980899218984972448685086065949161972879978797649455555665958986844977692825885429795997775937396245999895819668369696676723736975875695395797697327081436648946655966578895687543988573978392615274785845517965953793839447767391478551690586567364556871886986694489385948077398238172823729696846698589468859873972999888643776256699591297396895778826945808884957937768889462439689546945594795698399525499699411265863606899484949996788787318996474897675955477844289795990465191956657648756986828638615265053489648918668956344278909895963448864595304764424899877279493593883675763590737836364889093457048893279474745169670752855590969558769897656395799888989891383688368782689887582914255789363797797594532478559857496470176386975598517437803439787756585878889442799624784962981097710860276979698877802977629399822973795776283248648797896343136785754886736682978958899438689755993835986993895621899874777696591886671556948689063317683888459986668576559694959768399365093365736391574678179514857872599380767696485053789676986578796346839358394879962779999497698329758779949974691489665278897597388586598339772949387869804879744762877767219456759675278762313957194785765679065576666868576657445603809989293928966549655336949587673156929972278891066656758276892867957769978533648495773985744676164757761953927658483518978786390988923518488967763596999979469958854427977427979357689399757789988955287655761498295899682866369994599469328748848934757278496677648795948978884530229941850188795377456852998698471998335288749671032035967713867646365827994675789946946942674969916658388597733298898938997812689589548959799171364652729963993478278995728388996375643887265840768972985792358577936877134249282479299829978954674899483495397719844990628299488968862434228979893883859896702387828066738931484596918859786645563948697257789545789899862438785146758607756469395757469878898838968349923418699735575458969935922648839873987772689446492374279994257699998988348598957698590809813599255197366439697244435866801585779588448948678595656870347477694817968740884884678887987479234589634994688887867317896878547067058778646043848995619567296276797994286778955713967627729527785849588597758755796998075961478498962975778748355897858088857878849793579558554835958187795668672647694677898999526799886696934453615963844499598384643829385695984659468533727653833173431341537992783987889693864873971591898692684159397669356945258349896597522385743989799047789592597737684397191258395669268678244400793938519857576795982665596484369637887949377584939753689696995480774778646999785369339678498675035067347438649966518889457337738445796766663279918923665794923988924566395685668961677439477795976796687958779578769776548496957846755487389775497497609497785908745663954615685995388894267914478884465773781777881055753532597699888763583256985990766884898567739775465979943088448992722269549599588887972670698849527733872858799754398995656548739742356079198459887685786918623891899459977678813109876718389879269281776599399836569878694128258789739939949994792609888856379327567170417689344756578868857599276784943583616436179789738689516197676967369498837605399989996577633656429263574417845049949318719859374957821898889484546666087844786404497284819909898896479831254635373663602083894789384629867218396296875746596549989687975655696914262684894437698657986148828484896352358838350748366496878866273844774671598762955534726769584859724311486338884996986898637875648577598211999262013688981679222797667460492513366753722666956993796399979597986899620267767486465971349686544513418155874748894454673888785946777799693637829599768142382877799966635307658238824784598478215819867229766564285945949488966938607390328375346498466445765297195164674416547747295777775762496955169818557953944798535882386897574864884787989346677936879694495543813736297839189947795858186775895692752819989561763859546688584679858776472882011069485776838549571942152557579844885464914532419579779944837745786939593987623166847813982448649569931337175446852958787634191887432489099868379484636993882599787387436979395828657686278819468498795980230448898979619537557952556874176241783581022485987815634798337949852298889159689566264238744763766393149759757878587286646356674677787961179099957489387484042386785463388107988981769777796648391289535386884383851891687588606198530798432846889536908394936259873697890773788452882504968658237658435795888586279977365837595663989948392785648558387198478798796492414092284899858286388272956963869544894757837829353118494596635886994829974765178579798599368944489758886687766677421256891859295672849787894875497647797885858726464469885756995936917594724635776844983356755981756544206568383477342173888621626267259980768599453269753473679586454777494204968779999689175798028098647669089290732675587946597826035970994343876285636666758986089294583414636879497589265469996896555829796874745489960665759986959194856495859889299484968697898576307199650459540881965999098974476927871292987577577234075965491797798855384581684792544786941358999893890965787694399746184356479541811484113563925799097381696963867029688829364865736776897753366929682916971178987754740761479605896928775674887252518866913557254941798497951797806279857268596345997253633795690579565458359569668789770677766338788496295788852869241238699555568973999765604677388486829602679497443684496429349755282933727883776897258375993583995997864843789602592737682399067212855397999777695697145704579918163728262969889336992899838287851816669584765733167986888875829782749788444659445587949932814474146496465706459804998967266543379735649656485383488677781769873828878552738962527910588374559577541465691939559598359487677969698819187672856528384597863128539529658769915688695979787822947588783206582684467338478797983859765384664987648548989862371589744896838598661062727749998856860859267557666782386759697730628537693675487698898369719837788839696326337966387685915961849383746992879734166448359783182085974893653729543635656276357654482689271738295446778370591168796745838939977966586729758398874848969696668858658878667338969977719892543593498979698765253756079399256476467983494575969179954969689972738292017134547746273177899672744579938933773408328156341859755787898389161773583384636929896515865877625788357549255207199999472656778278940899796970512491976499666148564097686098469756786993968976576796188787889875397909823399849764818224691968189658984879336966689859764769897544343945648984384797897462918778195979388989974832518388942447469719691449884482527984759795399764359337465398255959776001596956791574988845068866892965588897795653992642198728789987757664889399396709823945775645887974167888395278771999923896359585845267625559781588975689939591869477866166198319499377927689549996886772887374869366797489979876368937914567496898986697689824569738999936970995588978886949974735499555363394699899890846479898059945827388682746888472998435777916996938964978987378438263699282359847885869798858546294968363787176798797994767795083624787774195826568764809537883768485656723694548456898353564025846731613878256375699371641676849978955628982976778969999967974841988897288757694495536324467466864682589975475319854575396899895596349369797994664698258789559884999919967697748897497835888785786887953692997966655485633838826976762897377989791976576978744363869687339487816957661990765915928429633229594536366396297476492179564284997996675144876668787526887499549538938299997832467345975039886667147642455781497999976790474980937665796779497944753991159867959337199494966688759845589586782455396930156299848278199359769789867687459958794711974976697832577475988159882398988940428852547834069969717949879382898059502787398387695684433973773368756337426249761268023469665573695390462894398654667784956646375226473944095373919687236129864856915971249458449655929927902979759825934885979976368669565237869563697398709649769875856917437899985968896417547989638496995806874997237297667397799971765789083798498549788986949968598435994878799823982693488598899556987876959008979692905948772353731786955463654834696546962643899655949984350335489258968457574398999598359976977359768981793363948585928838548488959736659788196707896964769989999833638854762684927680748580696564237561869579576557655381479876445955997973466870246657731372684446261499997737597876328855558289767842677948489486767652557749836314699644563438260995799797956778982875999877986815988595664887834156574598166392629672357464797801659517818794465787722599661286224959763558658630369665455279799679192879452665898979534253274818864494474958223927593679898777765879995586987837587244879988677776466517182592148287985342329998534663867977667878983686999689999955959275213676284988796836794836695239491798999667532778987469455773785697231058829987658694866789836989437262867392798677587808389568279981246877945971277547544462936908505653967895988478823977898897635398749495968393386712562971469979529887685889680157673755418627798295398988184446403867487477952689496887765157935844938682726772492688933997378488777649797986838786568502699689969664939877099925418878393376384925675996836293888759281703697689337885923456491924965726381797963996597958905498974242829739583168898011389483243754573485586179189746753777645975885936467957957739478884374994999637878862688118549996599888999951797417598895472634242935554849393747862885784757919663258684186845998762679797188666859963935559797686476430195679357170097657748467985803906782565349935808978172818814973699487673557487482973963781589849475286684896374598636685458551365867879774840344827384645892786546439873525955685865828789896688457496657449549988784788476376856486709257955746665558829227789987256679767357476842062554595824695877656433365195618612989398786963757999666475298919252396685815768125788638155775859579264183166958788933994962769848934697709759356485668942598429678868194925439682519578098697686236659999579832959725469562355998689468588969568856775882297274788379642668878616647986794834728963574866496256429873876336499257958448553276259256658569577798987668740583608626398699798317872929948941586597889639898874995495869995857189779863597477635568841964885978453746859607574857567597758847365862877896606759979059487957956654575941574774735583795355995988876688199777629993599788846196877358884941759685375967976612545948789465797256763176471580779874666987698799027675605639638994466951665789376789452985879959377549965846858169084766598977888346170127838261360289388683679788496399598893675793749756951629975668998539659539472198789296875335667245592587997994692862976767087052986799845548991787209938784157929154615257587734455731959539889798698867287466853748895833387766874427734903129616926952875853528764713695999794795765338365482435778747978835683219714689438356771964966297925328774697552649872828949799861933754698429509495727956393960658794684664888844796829506559884925484998854804469989287867975379791284699758898977207828878953571985697278652446788838563994876984947859895491963991599969328498659867888649998639295899743894868698840784266966955800566792479548587741883949888993934959595462399593654898093971572373473739914729168626388896988872724261888654786675997559475275986746778788369753899334211588795164747875415197488867538598591693674576972827474786693786870583050468389166249478659789593467972598528981859875999136487829954197464492569770759987669574374789897988599487986887542762453365773792978758783398699465847979694679374433880478254885094596826756368187975839699883976988739433969983968761557896579888554985538928749374231979169868888123777287245858959479979259749561761485456766369652096998627876974982984486865469366786629668789553779797799362950366858747857697347966957265985995994773593999849258862469798893989949894199965584415699735920982484771775662525694694363879974678569899384498729612673655836566274685774241569839689679889796485345596379698847878562757976557721321481383679275476217769662693091869957699615856659373696849477588537888859782967456476829974849490368686167746844767483898785913601999408088883688973743669864562527968478218512646789488945994337497974788981667499835788948439953694778879585327371763519737268706497677069816447497937728775339623376566349858998596857899395416924974376449304176616534939684866594623166679582106845249869587479974997743544448445097787199859902379899938566755875449935755764467402667619883753589623686439767878666897858148286454479793775680759655927592786166897124698969085579935916299363396766762469548689897836665449919874053998352386675735795279747858970472758789233964857877592569977499985485954784155263368867929068797826977632586898147978556252983594853486926851578888814959898933846157385392427382869787986899984789629896485794615327996757998961177294798379599888868578169665996986789794838597598438785854393868572159677153954491677874377933311199072688787921853770918624878697748788795786697427891782490214465239688954195238523298345037772464497599943669938997377997997766854677857596998279449055387999886361853852843758208478125802372228955558997998995792957646486188897973259946948528895688259134487638877823386943999479168496752811839874986992117696868872488358829585968572669839568859886596878263294355936828996665473347267758992556679353796198196698876374985899719719888738045986543549979962898176859833953773995486313398356451837087754675538892777678326689841447957577587949393888896427891985857579488967453799676034698663158627433867693776734986139586446867446706562854647493889727576952730798873445376885629858087588799861805886548687616382683898889597925248794499979658599856572969474988619648848988447598891599878986687692463877608779807298791978663949836215829977984669426968697865399475383581092957143677088964996759889972785794556077674877874619999706532599899581599259748910477869685251819769838197462176981984498783195777735849956365393998137977239468749748678566998257288265929845732484787888731884742787683732855878209697858447838865953599688069292295699451988407870555168798676878299974956938589563332989675599751880898787799977656869564982693648772988264754749982348415897897898372692964574638362953434223968688885295853479479971987786769671898946867873962679499451738803176997768775878787980359349259074884238531299768237584819655494779629717867823718685277437497995091668969979998958998978506493667946965229988979236718989690782871964858682399710245496977787994399868863899877999996636631567768478885996555888328377958669848699866198228059489279245246577677766991445664787947747968679387549856998723759794988697995699878751393569795488488257928418712928065498964587476678253654789595487469879944847783999294547597747559776374768796766196698989558487619689788389575648657627949782368547878351594822789999848932972898897636663743925866748774969356526793957631987677838722564782498696099608175262295964892819831794757752399755478578459849898894417888819966656878898678288579399914506572672299989867737783248899943386575118669136397679438769776757869739468734481736962795514995475937372788979869478267075680811568372948779218189879959926956658843849465699025866674967583565763227879855998887398867889353553698984669811666977666498069978997775897599758894569646887959697686559978521372954499846672591482687784845455898788299499578232475665375785580619830793595769629785694686859548999074495477978549299877324828946988795595218266356135669251356543735497194519677845912687473744348568799558558447974726477476489817747897836648957468986457954838956686356657829783977526208196289674876750794967898695688854748869098793354666998448397379898753886486235588718082962655988668374844889649499657993760119556607166836857684694583909694365458227899336823968336921935796373528081246934449869485887378746765756621477459976865996768367977859873826389246269956829888759697932715977664866856495616008995348519027985682898689859484454619599464376178691456776564821992851927978319998537287696789574815571928778818873324765447547896699668833591388652091758349792686762983836765749535858999333869523979998792789581774489483883499806455382906792577837897753172858856927954842598669851873298465865565829867589978747763369856997667899941979257891082248848466946479059699467898549373999799879716693897944375687969889926529716492886944575849868485264384769775892664799927654827818993455998967795936276183376676379699578671166661292554815786555971942740559978754985075845696971309528389559521798781357978984857143228877894594753591966888739870634378366393199884040636868776858386785875738410879488929916849999789136959799969769977965862491473349477642595349662994898889894467926769448939626472595672970574486674929772276589755226876679884147589976899743779614652999368838068856087977688231988978559592979821832259354398991294938374697634447799288729416998576897648870287749876898995635699363765874656725997672878997895774684737223957694779926848989699598734988456388873478828706866596663785958961391379141787577178093779887782893848779892266966486424307327949364872766105334829546609897889887055655662953530838687964799999898602889889786537183399552993316689876844786996688587158988738349855797398893264978379713793768587348998498735863593994696273486665988878798635793989955548995866563688786974322488403182878457390980719685536689556185189867699551346648489874863388525359247637743565376888776873832537458613498698775653277938322955988071154699167403887706486387256868498935679221624918264933336687611386945968987470927169869396979999238934946766575473154534898654556717768974188706859484159296786983973524457276720878996950654744446616557375493697798887534649895536677548789899797876889784879662592581989466754569968296926655854897468186195656956888359688548568966414693473333331699649567478798868985629766449717773989496573772824695458829659666252841765996997584836978563472445262762957658568257968227485364629694766868546781969750847115896952699896196749797768888147896783861598864579647406937393998776870786654496239302758892227528597686104499756794827793944877579941791769789497556149672466529395881478975867465569597887629732932732114745886797434482823869585976933758892685798789297926793239970825983388615956459583566646235953956999892428585296845689394855589497891794366448476849946993426579788474196704382668393398468739852772733598567538998925898769599994118257495432971754122293586625982992968185658766983768689734518397259969286317749447855962957267890655493599953627767845677615877792888473930883962793776835799985579577739466585366980789586952757899999679968396656718814848930219333893827252354233056853986787676567516874774993839626982669861848372376648397138494749878796986084996235999947208885988359199987569652887977477758994283306787878368546688548784685573896267698670766598877694249869343798458490428359985944755049316795165274973782597023798866792446894569782766698787122171819564649967684349886867942686479917089785942737756879766793869359894478788649849586665868999519854487588853933986896549366344905954569489298169842368458426599358491699519756177855385577873987956286454721698958776343974658786352688439267468867267588899499924679965518468580687698427768362573863222792384509759764557925788183263861788868942588726428159988225761728600386445596368388775146466959864179544293589587837385335664474586547023866137989686769925877196769396484699988461967568547467685889593949888938633758368189851796599306996989929966398693526797548215747996679788687516749668264996851921926485899188337975998698747959946333841291199984269453897667568174988490748637869786787784476657127929995688929468499366146625376932534810179376537767992072899495788372745953723798877861980897470955856907796862625586939520299498992307997826799779468937579353577666167867978733856997698174975982539678889342658574871888477694654444927681999867838349204565517578999587853696331778484869899744748767896196786945370126783996759379679686559636633922777515949167563959434646963969965861956879446449752968534944655847757889995219628850683697467594611482802982737194997968346459499898617779487649898979447789598937589593754489956182373992581589909998877775971957483959259728283585482287837894429076217837084849419778273669651946769978775787875333756939874958799898937254651986952476335989679388479578995978767388846938933696635585558367978996649247498495812471556462941726627323868967059996974466569590696674244757979779698759593477398679479977397336878777756461994598709753757678577098465747858878524768398327843460778455844493265706948974544868498937906542230197348799957292549364978986686627982343753427659087868795976393987744648769749794588879346658285367744856876596996577684181749714750658878777667548943834686686658613537963772658995024319219769169468798674764590997592197444805767388749867363593738984551899982386946698097978684769947768915478557986769746655396475785477759673576996809853447559470536795460676885599887527768949465799499276864544998996648186843889907862478990659299593459967488153646773888449589886557539437991833547978687664836568484594981741401413333755756996579959581767994956296278484898547696728318998765794598595553098956357915772465676656246835773585377318797821538895294758688883666769946967975411648649605672445393876699956789819774489468663545788352986627587488617399839891959294848578426809547798497569276688658957999986827727487849587970968551997863681999599478258258796859993806929486845924776672569267831498567850879373374837879788111762728556923852954886158450538544201674879253692948326886748498446548840942875236889994788998596456076947912941938772999669674845437679825303469433621947654362655853992634997888486774999583967878768658994698337557727289479554229091291544384998458977847754682896767512966883963989886056176829147225519276957788877946867993706987659558797842985998805378349868523267847639168658695691934847983870749599589381185954954737687689449300840987648742738628538929695883867987966499967832169587677744349729611536499968558795360956817549595773295659325298705661952888485375483589870211145868668896775949892932897345694957952838979539993782454797989958369859950877352388695898767078369744952988356854989567997156896998295449682639392649682822968717699455629938489249949896499457689987829368688973574230283687898387958623192849389486794688839393988872867356565639566788906190377885791804788279779764768828576691893395985374485344613984665688658883876587846562883239826972788752328844627799473863375630767229239744544294799985866998268263232445459879676999596883996485759635142998875783888747970577088769781886894975856789302952777798654968769691749695999759998626498979958949617998898175959884579434843692669639563225262247658399397718899498499439832784477545772783559765686787095764764253324867989577778448299223657587719703399897918895998668508796909737866649998683385658279736389899499475978459827794689744584933227443099704005324582957445544857983096959885987973838396439546669278887889198292737931732954686469972345227814368442508689997435389913624783836597264959069685646679882498943269486973669728297797319935575641773897676939892874693623896668781754492754699961766997775869446988568987399563677736765679868844961695866499566529585292989949296848718958461396223558537628546476736670768988663835774728952848178847629408937999387864963845847138517895938590597510877613847854485653876269750793837379127225784786137634894898668171648134967541493942238459732568577877888728228418788455679737258188137360879776948572883485995442656089949564129598487333598391821567677946356087428776525654856789739929243934951876725575599838994558967953872666829426831987299355486582489648919846563748487945177279997649807975249977648874976678876489294979367865648925527399349347477259439676726852001189998359695586865729691996365587866348888073799532886784757385994279473545998884979464872649687888779868994899496683839256687799726677822705325681674429971583648675985535772716697948437785332649031690658977938997888609584531696582249698867969974894856498561687263098669607644639696859533648498146937258381951984989359787535879777798827477685558489764549768839898799346689894645437179857684982866638799887857789768773198799963617757287579869919869888963863649958836789447886855362969398456655934488588595784877477999056757661274383178833897673897943688584398928686867589429175795789807867989866392859164685291499682791162798539189673769457743516769942322328508998271176898583564196677887908439798875692359896797478137763286457533364769557808694583538366686854299597164745941267945868997364857477719578747949476482947936772477463548667461285736889255396466592689687837890877679888761897856943667893526295624179135873588764497948857770790598686961227697089737977857666297902922396574444248894967129677526819235367265985596695861229873815287987247925648673126234797634887498256579987127654546198867976696579877249048897618591196784629749254697787689696268625779686646349663856568226491824858876667787737827895696872647578087478954898898914854745732696518993986944951248194873787567394728959227679688358128389663549037835183745779676720678227981374702569786671175569693759156394166776416548947534763297978776593765977784777298599574635265937688665668948867975985646152759927663689956374896173280518752144442979509449867897529756657949459797969899887383897442295925345998066259598784664575676883395694953794753895176485476793927876873795883866461974178677846566961796725642877037169143067776909085748968950785957547926946549568932361336849066617699966699755683847985998307767888767819629290899695693699074792731991988987929459749649988452966601940344389515447212914642383989085886853237539928878795879728947844966966785439957875862817583713998721779672429839716768955979497589645899629365588696497888558393856598348386558844388979384297488969538871917163615353566884437985556993553985298493482808668774384268948678984959979678819408473839196988776898547615646392298969487359957748854687938191975962679824870647947745629684269281839669882726276059383842777322563777779366178954967238554949749258764674792576977888865986467587492985996798299679874685499906939999168969274995578996294289646485853937713177941878797695477389944136074879898689526288460235967746972891966578785569864689163688877128489586988955652875554791827474373862736665315188364575571878585698314469741253699386189647448428158666662691197325848953696678385081862443235837817387195484877459378697745525786779896688959479284795708847669799553564979950553587189287495887997878371642631818477084383146832928728993687655768569887954671813876977857477799053493137952796899769876327752894747795897194857759466659748999765590276365359515319276692716945775728763377648473662897858947365387661947584847855734899899867783555479259867537714858783737358597493289617398553985469935689837998898868749655863711655598762291889625843753277967960599378859737431327987868626894450346305565536349056968877479933869476821684785987048369959386849638555976569696738593696223867858486621299974985896978614498749573701766772698459457579998780269989646308788742938666632940646998644973079279357929720270794596765984767449746482868688795999688723574988395487649586979776946896734487459403654651843566371235343876894388982698975684972658963926918539750944949977179375897863839488799397523893686976996699986980137674305966695449526989691480949869625276569181269784652762245999856777679889571087718929778647947777566524459987796565475987176586769790972749246590764233599947938143844523942616458516649766547696900528382856909667663777575498924521175926415798258999799756993664589346967576858437973666738651428588787947838983787866597944648797634888160559788869559764349483535122928935488778657376866866665354448945835776175189489048788288819495579898696976989607378348793839459994969427789977829086989815589813492727698441846798959668069979157744319858368769269329097087979279869386796526187766997856659773986829383956969548715738923874382917731525441369862771898388865677729092991667665294699536869647955178361487998499378814530549895999669757241927558586497675744747446966577853895312878945772643625881297399168929152091975708729766476098299966857937550758964949697957695891068558679857294778475898738892654289549375250693175373289594662777885558691682523755399499943978386068782799987488883572528367847395776433845577643719953665496792988553708876992315127968668524342768396927679878792938806674992805757692253873737676544875662594964285817297738997639584735769989964116728964938376882968347355975459472196289887477575779896288927427937785962265293535559751463779864668618777677599754974669567969655577706373465487443987985926979939845897657582773987795885681523548673995184848648893502318695177796487259816899564678869753548649695856486269288356242578424964951349892931168153777979052966948897731938996578697476374869957667945147475878572866426297189597670548643939879792624976949584939789334265545195987326489826899545911692049028996799395887894673679432388389455958296923473735828587029768942364446759927489512936095703471566735468764527694649628586536148738995314886996456839597267999786977668956784666781587179929789978536296893998927377974356753465587415179996633752970939886982597994849857918668167488884899518699477654697934367618567693899563884256498945524439557857164398180797474532688517925569855560990406487796797746811674396805672763227878578218867997293569256536929895272966496478756799759676979463486797881678676373656578126699544386889472647896873578446189636864984796093286648798457507975288956883866842437686395672258932686949357442839977477972588674656779913859376685857259768638789949807543883389659755569915258467691596787871897185999195684299459772509664734936996594195745672757456679592946437589969454865185519917786484789787776948464546773266854588618496998731787468574563756325929673776988963994943868756748797765376454587694877393888768865688874987793935288163625373808737289923175968818687499567751895919701957853649758963977747755767259994678096388939488435885739872519899754177927686079674427507597365547536978996725699576197788842835896896493629212457753398781478377355958501954629796623669655811996485392980956009156137587915948508046873363735798896394859471879966198484278884618188736775987484927988799993493489575533176967058849568771937746877831295797988599287987868886547685558264973889785572578397985899677332769780969821989689876989266799568717444887959288594864492288986974676935994635292781418843369888411189662656948546758985864954936518718978689894388817546798863887799673997746775089448881876708487344587798472198268655899799633967565599848789789119569025450967657975524742439328857696476529999884949447468434575762441999598947363558396578359539899393498778752984383592127896983854393884458398488253957993684507884867975637785895895533897128594325286967279539457895941577279317885898298927939532624613799989632715939849963766836646945853763483669744638978099447456739985693886864963639885449843149987258844665859769298896242896478777937178820266864998857885339418585677634886513894728695881769565990654755982292596763876899596874989839828797876547839339389878788592143698664973798551788728197364995238692478687659957776494450698451987835939543669617485488386242187780219689941937997672783597987471734679946493988238966859334666546819384727350097695767658989722476830878985432852849319646789489952724764286756937480779647888695585560843876797839914859279937971659862923570335235955952903497678698678764418790626986559779778229319935192816340848887964080838846588198897543572999491986948939399757879168719557297240116878683936339654974163768689375899854383666479392863778976443808658698518693787879881848667953897787873496768529873736799668929279274946892685899497849335464957787766984977386786759052974177898391319659589798898868892889490479988814779764724855676597816177473827167638474584967466365746554889788348684886979438757796577698889596296476957979796679459746696776356696666559597958465653954840969291687976776185039435857969867886552475791584529091886983576477837469644398633848944379784789756338496776329305619449546797627079836447468184929217896733467725177589314488979937797419466339752296593252682981635673779876184965846331137888629875921699963579555975876371623257968648989418557565765386868293477756038224979744775377962982748964638307828767658299981397571332906999575589235935543107503618249757849495046387657865696979383874972749158454186979677495977742717396578697517328844688696256767779283768197889717643767615799893145685855989699598877685895629977486878426935444644876358787574994293781909478986575635198535688799585577388828375377547955368155728842948564998194444553585291350777192682489975982657998171947586992757879648929185959682495028885988864933679643289835889342866307268877137896987195987476427939698579796297608826478983889776575613519945379465815877789785339416977692834468637799775856874939282279859573894861669787117898632969981667297896399335288991961888868373765232848136152296687549779939686961835931669244479484689587089252856759789479873719339588786897753228566837926986399826893728659647345697699957347949595871556461989959964379984481495589777873928981868920329738689568658107950296979278854128962695665187930847965589874252953278915928380817428429563361419869357849989442679281736737558676578966586543828387096449799764276768738969625674622176802966229398774447697759677712979868953934498786866955491769696979368988881379795784237974503895917005229359795895854236255729808655614915515186996899368693514593012662689746873999772545949649696766891681153179472867569438899735765999987263881996468865997445255892247789558749636759969139388144693267764877689979878779988452043868504529319997992918884884845093685798946882856566878496679695943901599889979387725562675765979878627644892497656039989360919920829545436872145349375886594882879861758377388547344893994815299699759995995365886488619538939419965055110988759469478654768928815842274789879796983949145063467276779827529126864993717716878767946678544864766946966999825613673942229655696979949879027767906876567637779689146888305806824199798768666773221675873588133772306955768579925738666479698425977959929299034681893855583408829788779537869895087355529377566879555595677947766957688284539795575976748677378969265127987298807296919096795787329497868147598457998606858577571821728961365878788147875006867584578754333923733698518814293665798897497565830995784636886458575778674357347744647837978986684037797966267673539679778225539360839858869885584231499796557785866984963178486799608386341314585330757867558967259493389789274677566185959658919862992279976977845999897671348767796577613437132994857699972664996964950469776884077682584829579989288814886943459969489781809875895258595156961146998848308388376389923279739157768148458661467883649876733267665836669600896337346786693976266349791955988447555194998979798929958639668587992776557709584574887488798718975379568487467444111937146748647496994178364967685896289487678975673788478457664931794883246493599994948787916899757184578933378868560689797843182545771883463432986495178595339588877949497287469198429392285693759855588845246469105776507529876449694449765832858586246952941858665688077813949547589983545384988576857790991494819379935825747568589566969775778815869445771689464899783867875249857862576895845946979477204651977360895394486606994574871394982884486166477558475757599683688458196885659938124778976755768770398788387892870873846758176346786855185877498678626475498586677633899999555997896867515752734467888176498729552874248815998794599575925964788536988637849466922673193587284354818945415868077429477462898637456792873831843859638972727659742686647365866981767689744663945888974675855554774886759675752884859746068756447397624883812897958307939878628648358531494687789988457868951999999571888959875884887554379816874487855677037797967996398588979572776337998767155995736124824870286476796903829956536489468867413664922898929448352493654875882839969545974598475614858979892380599148498839051583610879766895479696168988578636451934797998795644878759079114999263928627461586778683829695957671874631194487443954594349897417897814942877187189736988979629144585987598624693476972394996262996659274949699318932794787294289847516997998688948714977346789432247896482998936268273819833759825427090848978799493858543706825289889999977494037974685972697981896879648562628293882695959879698471457911259688487476449809964878952817367585799606788954833844903759771685259367528334999595654573359541775385766845555663194836877875706983494873897629897399537769699937614889796356971872757594485287976389496983656788523409363975944666567938574552897496051255729546358699748979040895938198468336979789978890279578654888882968938545720984953984497630658975781749492285776897656884843588799478659289398757634676699152555187966686698268345618964697968486788596628560671632753497798447978291399560377467587307889948739899388884628348688916410089963568388488142384188784679790977361553583308519935735814054679948169579822938788869966736979983973759347674836965694889433345829607482863336722595185668771295606892661957768669776994177995866360569996844844158367664395798808689897365386531294939875317514478921954366166578468772884868898526686565219724967896974585944376869797285356247573799997123798992647636837878406688369659897888929838872786939868397779967265788977798465775755992978796557788861121958893413376563889868886275898088932172636843558617959341889880735699568885747885144598894174855671944597686363856567753236388285590955386464928887560997646613588562295069396871656520988594989057588638998979595999635929266749882392664676797553848987530677813387138299028839699673373576456277088675727325897951468597987686763599585376235865359944807455337875483589407873558616347445435991407535985729536835337486688405545896797999683423962959978414804982154354840565789909989628598837612830946575489719757739361644419684329574856385457876958547272301698985264843776498293924566728898837828876454883473567485558976344897899253799968558996645979226893853789996584375726398767779853269788799588873849865685876824458779495969943199638565345768982794052778876566394979457798797463537907894569735488459883959696919871669679477914981389978843878785984674176868447688279949745788235366586988979959099945669694495949929863579518839962796881317574659789977688047799246576966379936827599838395180785838844866087958955698985848873883386659987567078489930997263996864727338078296683844750857549969371614880994768954973869513974628964924185866686766864489890662368359758743859699348647488846756956225978886967084343574536596169784877654448906579499975256761798347296926598696795562257552952975315085389636977596939767717505668982456763695996935236994974868844353962271777288248856465752767859747715894899275973947879299799719582334949889286348377177859937686779689774445976677794968781943677769296996598769683473592988588378945323229794596719538936488899360168794986264446895877689339359882552288254878764668678671891935599817789153888605997718614595696927476266189572469471787485996755293989779489948479777439986945797526887846939751735658689999997195081365683890348886327629788489623698348871868945738863990863537646191545788569609621795779638945746869336737767729416389955453894968973189393388457514762788888574892978995625880892399509466306439295994996619856868557966591786971759220977930637884994519953973524834536305873466875824958796783080825775316967986886144595767766448956599579675735986734502997997742642745879939595849188632593496282808287491766995879856989573798575967693734547799788855635838862696769695957459677729972545884574967784909650480599964479164836847779363792568737754774389409793877916792583889927189688088146261725257558694884666208255558759872786666858196934038741992566873997281972533653375792639779948588797599434909784447939957878225699498998849335894375886768434587478984997889923297283559692266698482792555583699496589927996297756786637365974057588386187744875985965478749889968348388162880866389698887218679679872733468777734686382696983512436686986609965329876997275605648869875958899557809484986632793863775795416559868768848687134558878862397564558968581630646975882822552659731959483898185496787358875792698978988573877288381979867858293076777578889938835598834957998956247865534148956929018565696353891061799361563642404785439886444589474635775436969158882198556977973259862744697628545746835706677415985925357623278282986788027548254239098875787942857947832549362974942899278369568394564756436489528746893999971165174776899991962711970992898669707984682188668394319843496578949447148254139569329876949989193750479168999986697953197039566468563574945465518668472989369598778889796439972636955417899749976548599597476363828768969399764749445235367734854261579259898326746345629495236457580679964549795847883836996491638895669869962556969963934273914758669068904779687869925585788966844895742949633753879991621597747339554196599594767231992694983496299225485856759998967895556798995787859635924788846388961639573869697968843044176588867975848905967962647418637527953297244487796495741593498687961887997959957450970644989656588249579997696415774798576564373426566369521737798799932857578147544881969968496766967268385599698713947764766384875392233398848789995949817999786942856793288097124494667598581914985540086690857598619175860095393814955327559828648574539895484586679066758569865468776252844560568078209816887976377943599467859697721349474989285450684295452248785646897577487766497849778867587622652339141575983705479395499953959388989629597951753491973881598415971883787868272467369865939455978695379594914488689188919797894208696864367589381038969155528589597640559584983689882567964935757947359726386929793587336972677937805457357618614756821267869989878536764386679798998847767397454378875953856136656765369477495781686897783927677768848887568784416896879357859768766451946489414877525489669858818735524699786679695857265756947590645845488975817281363796888878468789284689858295989289877708933795878827809557484985687320173995478976152695461520683254989679677938820865185494325228914199695689833539653627858867914849894426269659485671735891888538859920584486574542679888436167362676538696291793836968674856664994836570735629995977689413397286862387368508695744855628994385641595136873675861357983237195479762428928994027535558195599672966698238945890235973586776875956697588869966889998806286394799933626668879773827572793780882548877996947689496991685686588874289798767476178962217886619259998967885992795798849748929677337973744672599289968788946780134968897450896476635858695496580547153859724341946736219549649939147379686759995657556499527459819899949338984976278464999988608754879873856857756628839776468632538797749885388957786627775198427556989525995296998825367517979673336709845568693496899375409452389979857738857967948599995487735269597877158622146717872553615354918578699997559539989585838741649172498777595599776998941482888958933222638377987397979941364699144187243568589653892949759289856632489886994696678181766679763888879899693397879845198759988293719768695433891665335914994877688955884798945328244587787464246668622969821476869453978734588319757359759446399764872818454677365618797647935862678436561366989878394948528515928865666392989848937725660896859969199845593566966406675988847362569974673186217994773815515654229698796494265594798453592457039876662311886625683790889349897466795615746757872957723992535220583594497688686223319869965647357987697695589780853779455749289885679956497384224384598663819260674798498699893479645678787559123869376556493261547679397373676798886579853288976897376699451916651167412668588889233997895668897384337757727565869466495599396754596263494878499969817864660383817989598679916753895569025332760153296921705384395685759658479699799852828694859543637506651298999879566196958656738986816989969686896768819999657543666745778566977685551642573761785889983376735955392486799987994659434799957927848177775192048974948625994389638958873764377787676268767489367591389469759685280687567592876497239823465596494477240592298714807036336427669656693943692989859895999499936249358783885493966936789666872906876742979883835749647999962689688458378129467962564676765065282154392893758677564059883697995584597589863637786893987045527157162888384748689979854974787948447408389676163484288867869829441377857196896288786877892876184858189987325897989976599996974667436788898883676855373626954189986996759735373005963254799798871743967748995159874969628924617659851698558924467124665398792474675159849625659479595479183874379756836758713667643928091864298795816213994838665589136437539329761369215645379897508478784967115938077629425896617455872384893998987537869595488657246814328628877678262647048663777275582994898258789849986387579299867385622488712679928846088788126768893992444035197887979959956362565491994398198774347588895874389524643848687986847344865878567539076237488878569468847873737636418593275622723866739964767448534998899067852978863969777598588148769578852767922349904697767769930431792648688936609825856188498976556336105937151893968995498555879451877859695953970243282343797875544773468389987247978487675898888398544229375927778726559852967895948784286185769866974775845489059856647702662698982556885996128939984342547894747395647799913983678628364579579216586966795097809473599759995832685369589274758884877858428589233931796694994961396552177339732783372973666484499687829589992327758283282790777999779539718896588907997385798777874786789967485157775795886473998597596782517658497489735686554679818388778699127057739875357976638529693983758368884894690782994177356738158676978643794701939981597682449782715767388879469855384667666648524773978950855367587765195250773796463789957724377773963728778459778654864687780796557392877867796853579457569799674478475378936857628948473999485586754155977395768771978580981248878758798824784957764947992767732462456297871806959891594488289568894953839493786758299488226981965668377569828756868988757399406143862929388887859883989457846937984289786884779964768446797684695277493531815998418269946534877556537528868684883295842859788199368566573666985871067896696764388425828684489898918645542887789843911319757765643867879563517959468348621636373687795988957287449648586889599976885797827889444198266489691077852974695851789274547897636749799683893675799747776336879523849846765885727462741389553877464877367014898698783399883518761956777699472587600746847392393339338323673469696798374153325838877996118399448959779869495807961289197819686269769979319684853438967515239463945147587646790468823626423799911974965779767992954758959996648734159816794666443168639912897886982466413368678590349768287516488849394567548532357947977962963775896874274856844399896039755934581594286922879365343786134545498580598888749993245541987918674490841993198845983939343928787759916986945619159291797889898967168599577425517494997798964625989991676678696959138186794622495486778267496556632445586495959878658573979873920763889466396905748351369888595861431499682639831387694675895468976225888698967676328884498947764969346945084439944407058758276921269559398485944598979657479443529390289567177788671948993463649053879476633688612485746578159999998359568966957717226553396569639897577847158942984297507764633757779899837459248689896768368778678986285983364672661978557982379769798726782776437844893757554969892946979973687387888444109268692963669586974759965869906394677999649273672488008597958588476995887576598869297233887925678998557448987898836518659776590660868176962667550943809448349980895673829992878880769273783087608149686616689993788685499782978876782477663288996835799843774859715856727888721269467896387389878769466868847259651877838197748629858715753839386888679494882367658644325168998772364571849745957748171823088576667685785848899686293799835887247887353757369674479874590696734544772779944728857757739685567787791786570495252276762271568769769745138697675881497527798849753898374948531649351376355837218235724596882959654790734482840837847987493245560853746824999952564483719669773588938234337896397568579688593964888992779494734329677284484493968394484385626794836988799268158849885235957043927968845134576499784549948681897365614946586484884209297249648796251947267956681784729976675795821993467459679082995979787559475289789479179902928886634189954892657755488978956872672579399766899869579795261668399857396474917978745545867198697915171855887757498975389994881984491592885833889946793118956805615287508666977965987819662935979786989485987369485555436798988073766014788497589866368983945583478776655972848784747545885989308769267836651582668688434437176992272792993584264609047978483799923669644547859711935948593764776649469889688869978065673951936879521766798899105672831827369491095487890865249669976326951585173492833995948596572482628435866325566559469838899343277208358289561717546797559882931838489878588984585479382855424696735932694281589523241381326986999868456736645761243859668787966847289568421645982585223588943871821276909759858315069819691973395784950356218661918744256891458263254218348951515733896455776791794839757745355555496846838769833896608699434779678776682320656637399769299566289659579889983706404495919164685779779528763971088518628437565789807879798656785689547779988889458669287595683868253872899259397982688286876883768968747495874125839415626169497657698881179798892777638677894684798384789748058769986987817476679244599678259454783997569298984698452957968746698594893513556318887777488175994987794546750475778927688659761557673987478374584999157999027949463997286778768789419560314989957179170187482919769874828868642654748052865946487858789449969238496985999926346327602896971768579657966786730677116862773938925578483575575389376989998768868899369964499878696799366815896895746417937746995598713832887478896493409568696569877347857572888948969958463245935387689972549799519676477999256579568844964779796657879977770568816387588425668973729776939679728887765944386558453704842592786896954765654766189669837953707792665944987866319381876686565366697583531618296541894373992574699481865169908427716135979377528754297632289957858897599989637578979939948345868721787711118898855744755986835967188864965586659797606587896558858869813677467975556698395666183119675373679826499947969616038241528574785838460869348689868336466574358393178553053997858278977495578147953941788198499394337729669897392949429894675459355653887931497499479853824289957249458895799886565828533532437897868596949724723348398454491563858460966489799169388697869756563686576999496598888478797993798642989781989988253398898696997489667155217786992882892594577412708096259929883944885829943347229596509379867793833698775578589386652454669842993778945447469647284798549657835476785799489838991394939225456178805511764969297876797489599054357433985814793177640257928799896196926848836086989369783877774448699637936696687759569898284878340766687531165844947454225283522966431348768757835288876188287795739895699496545978969681189849966635793389668259854522396791875334179941989898488747734848945556938676394466774335949786998673639479836866347714874637818378889423669733149466256785668988596579213769647435386762489758878726369564564723277947666658538459595647377438853099887732778767299836617457955988685163552698419691856827799298468373961679437119583887877179452599656789672889595925765828766455865688669455923894399297397592283871869904599785994697598124395973619157670978848574687448689067858393698577349594959946788594396848993598287984317334296677588724697569378688699885378884888609556986598188397993205818274888667997867918673764883896266638336897642807883866815969946652946823894659968829539624884568969372586269969849378598779544616578748488692936959981756889744499788645904655768238799092775469498785469676549831405796036995648484369656944647285966899984329675745587546694848954848844574675579837479971858519876897466195159927056218683676586868789699954369929582835136702868557847896773658267973286667497285452414749929978299869695995870522229459254969269276755847586659999844978889376504358799536135238166526921499985246068774945931292587996178459949775997572977385193688995674698959879357143463216586285664976628447763787869898987493816314894774371849597855585580293793234587586795945282966734896835885767972869645811835929789985676889861690689569584653347819374998123768578261657989678678124579525944648597966945625699697858284834869994538628879483397643369347484295849834949066266918645627816242759992197879985763589992478738769992606958784946645884516638916297619481754787956929839439303648968297636944457767973577583408382999979888165287926576486484857359998498886582869029366877984573992279857662695868555987227598877973426854498132794084837361998969892979765198153859746957578839545754037599647287784494635797275279698575848953919916865688574489786986396250958999539573748977724494617368287497269918677864398798599705391638858294585986586453096517697950986737959919378829135668838794158763794639327858475792820779968552198686697848988546148446988981394789119645292785988346395427868767189799332555688568717861248567366989975537253213568576348986547469795474097615274950656649555877848999436455668991852796654686797795838984654629963986899575168778988582347955787863467578879742888419947849986969882648645556246613839845779889617617597583568499145899917397688580384556657529568682998297494473890555921468776165256858399769979655698267829889849653988658949687176275785481932664963586479997757683949696494761732546658295889769680596878869219459599838714954979960495227259799524399386056571866568474875584899812184992918959337689955460899998096989869285495367748879759863689779794366868666999443594945557378588789676787567926966897087566315869999837998348388688785668498779858874510198874627976324947589488988189748982125382499633912159827648973869579674878897805946654944929890463769638594341989169576196688994797797486315453439780363481983698985824897587593618077681279869783909093631945926673643373808958570649129964746964848299729835796779957299755978683482785868684907544764733925890628657437829859966779886487843481759669885388984444885954965989699596873378988639949776987853637408858926479653968587970489996488956677935111978986795589558889664859577917937659470989555499974876859986676849957952619868595698698988824498897947332391194737553573933768307457666413619463739589948154181397297368866238369966968977853259471932062995948748456849387457972889819874576289594565883765175539675467797496866293977898759830342438989695376876799673204495795348454829966738549414896828975882478876788949993479988569987560972899380973991398823995988998235713679485558838878563548546547769174079689477147779881375859348675219987599786897173669993849607193776976898875299228395659536994586689859887985496363658925767656886659777433844898766975774669886677981579126463757869475959926591869987977728964442214615891886408562225892575634796555795484949265588137966885544680857856583463583697814586858147935571757768928596398896717109215493782776644537426789256944891536289278788725676542399995627972557615686699346873113781978336949992723599746128371304478858355685593869398689479414054475598175798544733584699473766679095420898849864388469982325967889369379756778865885397689564849365498858949845464989724426576358142996857767993156966993379786399579880467771825098559691964288199178964375842571849788939161967478679740812717722393356389336616355674985293231734797694898687946667407927688899936764999178995427988967970739895339794595471548969644476582979986849949573897861523673792159734859657632897456658650058979787748568784408858865879298237579974982837164727469899459869537586519854949953741954546445777995973694051894975975589797708497889599586071865229968777894595525875589957646036367975789985676716793969835899867797598889558599652987889385532598793685986698979778763569938276709279826758482476643343963981799993958645838685660651659328989396067263815354837386598923369749776938333168736748747415869971579981684829954555675365958742748599671692929337553895996848765379599887178982848428866583976788759454986965863988327398677744985826478731678997347982898687474695277985418889645778694187464878347499263774784395477957850434699573645997927967539986658697486398531269778646897897608395905879968579965959925389898484929398177789689696957614468574526058957799617875490795596395797664526634693793188865824587679744999744956858114947383975439739523974176945787588383487896993856999989577559169895889666991046533976949427796857539776899527925748348594544698934759749973287559424641483488774969519053964667799773275798709849599698555978587683766479968970869687833652996965589978398146079582859585624745192169867478497559396733992796685725185593016776706692630559418498277753254688894987194813518938809852468276399217592746227951597868346779877613896489785296769899999428385773745287679747995465387274638370876542719953663495354678496567779456298389926348196477874798558767872187349437793759799884585379813689696581935715937986594383882623945275284602877949794959468858682768664784758599609726696863958957277758640381657738759298895525637988684897778893453359819198494982926655241983796981896443791543863995599297939868556575497696388948994896849473667981369051641669918697599354759496885487735752567129378891793689637884937994697769576785648631937997573636975197274899666751476656779893568876968984539858437358442956477578007009995918829526749961943797924067758314821736967705142781148886434520595014864686355989772487391543474685825777868959776688965885886597879997388366759898789758852967789188896476749846964643654782786495838927695379768309877737931299299848695769999384831337969283828983399699985079874947958706398197885259875882988698289372749888254659496764897577479175868834597635238826956809747568548899893389919773076986693594842946969555769399964738819808967479955778403186677399765821689874490684929578857339498787348693386269680772733978074598956899996084959740605847752554699779932886883871887369691957685988297579777281477746875798288056347567974365799411598297743259683678584730938959727998348858976384394032598639825557359678577679578377714979239878872772293821797959768586587465935837698957569153536894969748367994420429977488989718999639994669846898365873988888578967191784964347236758749883148259594739973574888196528296347243178948702149857692764174581890979304808594766775854368993977276488412769795268575897777959864929755286463982655086959781093988477872989586966504072345311736069667854557491504988428969795234965696847827889575650677388747886564696031868778659253236498699892855956854299738761098449908076515533843473889995925784986627667418361376906339805999978489774063471715909878729907639775990559313566894719728195994564272884784257573985492867543784797270773438869834492895586927901227887419378477634483945486646449687518958959773324298594595846668278923948689732178293551294799569298889177899564585938673426998483855788748292669487693683985659989967852575577846753919496898974798355488435877869178767577789889899076539658966989678446583894947787949767596368779877587315998854658797679935759877485299468938993989875378598092688788689759338765994088184163929682926547768287825824899993544848699487905995855698784775577459686998639695973398676668840189885914752927955877495997758236987689285882834509595648796717995840868282995717054494082696944745753157891610845283693673697557775499659897936919336555982453594626124942489788758875766757856346979648774267634495494887598678653566999999856879548528773989493118397973728454219745784597095299244646747499118729470265899394898678656431526279554772764878935361784686842454778369948264580598747178467686877942234765840986986697968269788466778613945016762468399089921582775408564189599663583996778281548493568969282148987553834186265696687999659764617797883899866798389396988729799398545989959649700488797619998486629795266884451564359371879654818149957087773588939945895866839857324788757496896786981574886887943753849787766678719659899115497823479580594845527276857983887484488798867864378687988747918594186695715805941828768754799744873366288979813334189967455556879833599938688943259693868697726344595791587895558859197893804122668989683906989478838691778067283708858785746945625477837267346879168769999569799736407883799526087838239279998759987985425799349655975869977528623846945643667678249618786925659375946783885894627996687648877734488268384548888314387668676742852679888589975617792567776534478732259628795997194948797578898588672779898579567359557769854591918817737847899975440918771577969958707793258847898507414496566629924944989738287787769365584697065686578252583895579651968948976386952781986796908349998866621177998454842398079356986616061894878745787759938529841674466579897608880475998298979755751224814897499179373979553197529745976682270186467579884897478546096254577648940958786574579886687583941294892646853919676999596743125978997357699869476799341670357484813467990794486874999978697235559689663908874957957407789094877693779782527376959747357463475826969955465986536647799484256856539682782978628813313488957787488725848696519956739849574186433667324475992138875815899489399568579577698629299824737563561594185498797454738921838779396798498526937396875846987959828899583265866891695368563619637524348897477404753478847562127849799948657849985913998846468527889977996387946995672596786736277329857775587197448645977718553591278854868526378923387353398792719581169750844472376516994164287946785580973784409382607849595977844695745786849898679956252882255688259689656739289493877637009189979190495659140457515887792832395097789865658988515495565788498779298458767467676039265423685985375548943756178895493784500989863216398297168599868988546068952915956154069697989096998684558226093667588558267699645999445878837897569989573859834999543186973823822797972966649894854545759955834346655874979357886369854654489407928056908091985857277957314441287995403778596289577897959072971927699864935986656449285761076698936625278672485979576651560969174987586776709135669689489657987432927638859669268986648499939824799589433918672686639749960943664558564864289839373896553797074328716877877657786497724979350798794759689197457286577971845379092535433792786765774578974684799320594451497732338888292843579845570979845465996749722539621973922756774469663057397867545329457798926547881687389806777462886768875104739486251944188367634534655774799597365696254934755567424554897933899980474758863886798925819897658932834953338346481495261379763624345945994773982792852379149919639469958857669877925958364275420544916240790189954177769897998529936953957658499400544772448669733949375617969056994124341377897783940866636819956672554883995043984843542283472418346316448953982866697865559799587357549384193977997397748668944352066276567678498745922950795475656578635146319473899286798233876267994969469895175725694997486919689771927420954499352754817787919714495440299975862979881899435165645672966397754078384879536932287267889379996858997985347734268389786687388868285900745355973666957669486886498498389988866444754442899429885508616263443658867847885478368977276874583535565675971839137361559458974441878384868279908823786758947879385976751868878789944275586454715749987949879837098699999381887641856718989577788002797878779357733961987589269886621973754967644568525947364967785898647942597366496175139835957832597666938819917443765419964877565189682297152349259971528909992667674399479837848688339265872598897462595559977656478766695819558846969986248582919344929581585428621353173687467588759484564556597938969534628577914163568537685792378129546268486979543908658257766839298575897579597685647997397824769962798584683902277499347656285828992759839553679533679621935382441483650797856546762694995892686436789286647918489856791836976905725734579799064765970974494781269741659656896843344888979998526978559593192959848989868695778856366278918670997735178386517379286879758482865858785965964839299947514641777962156888869594924098634385685397316539656675984588836864281794954755289868475674593829329645936886696962759566563254648679948372957966947565739666318949069868898879975729279974693999447629786860878708588671449386389579444983579929887988989855687998738466796282456872055396449968397417689899599998878479315895544867668727935649847976134896364496930383477597309946548458862929244547973969866459738459569677388226691978999559982353682642657835278765686908817675898778893189979429835785549469697238842795774359966974097459888576944746233992686995458979485778454156768167389953588774889657875344567586497596952774778976938185529150673957776129869954627169746194523178919292996767589962346515727758878797954553997894456169771060948691768949478371367677798766759173736386935776474796599873784425662247384968846444047499559995192955389784958373936495060866553494898756567985716946712596279987738447098277088974374204682491774989128779926669499895393994586972867476727669296779836877591386666858823676459861519445294972976176487793199859879359536482699604877348963638947927454778675659574453653346345974095116197654927579156742578964364897828489787737266896957911587686836887929736744866369297675969978159396978835884868699731366623395615527887909931775850798877891687596929587735846545199835556577973999587570875944827504552782633973966687177969995955561873678075768232493827979888837538479774398798425533694679047536638396756823985925908244644499969507548990167599486882354297675967644565059697538488529749617469543478756838784876762082674678548785493306498454925386636761878777559528573788765816908568497899695688579979459363179592235791868863966449638007865976916994897285686099691368756918269997184957469819485366869439587886440579705456376693503759878492417998886684553369615715955294447794943886387549248513991594529769493146552997137794795765496944853585556788435238924318976895249536885674767434624575966698943399997872457599384488952889749566027830995898582394834298819565396185595049893851185787988479216388948998292272344798954829839663776098993484520683769862988771671643994870285365973736866466764798794676992857707956766864865943728507355407748255097987978885997162608669975857228408970758549337247509256895985935989295227554562497625864349253758780984697695778594974857674688885891963385365289583284539294873712696989359688789978792857678359390438969188342307516975283912623785339717598378969995878792888987336977292972557887895644289799757763979594575877396987456696166867499598672929478848967846486949567538979898716878353862297154193879584296563772693766751936679772627874485398287747168618546753724917976388943148691956391685031763779646172896296761858776598565777444857768697256958469469879998768351845889784654753159285788679436678948661799419148981399588915579699784459853586016719935880229979912824864895983780875998946276831839041276689979899569996273728693658391339536594895460615558264686588027979885587364485195176258887154797469186815857599978379627217591603819987367735823727149268884593744664185906996724969958385879977874905585746743379847998488978597576789096678984243739573954739478394713977905657845940971285694968567562383667676334584756893876466788687149365393793863745679526714087778776948267888318772794247943225854545828387989789114076669778678777469773899457939522975498999389443919494923758777957369998659385976878829788876871878419627685989207993954696932679957547968698649760749886985265897835587805643588994914757738973994738586469278699776944784939893774954958189478997466997527925875657962830437939529766988858835983799829428854769996755782841928918369876845888969755452705898593927989977951886997896766577895498808955645682977692979987879646979964962559798562988924488469771267864266927974682488899765915538738056835582739295662667575867699252947398574737958898870466992984366981949469293899993588888687797987944948735959878676889764578657651976803587845288997738958269673628743004144779698984997588670824663739369319362490643629953488535462895637802596526263845959588673933588679989287745677988898268472288869633774777986863738532477776638925179669843807808659689958538675647455074985589587846796697829495786739567436967758292464810648926877928974347993755984392736846968489567824316936386777398442854445478247239172767389898940302575748682547378848689836793895958847989582199938684308986977157695639419539994117276176787733874717562971658948866692889746836748998487866843741678896787788975278999189836568377088767862149759645944595683804726498659988883932773299888377749997382592963993390221757955549798488769632855149239656927793861378611938886489773970868924989927829788807042285373447646995267984775344247318998941728573373288687488916564348598776338698974944493480286387571727788995729969518656259288987369375647698673491895668898741544518817293596978558226596762988995794678883928558492396196880694856452998844960269468376874897097878684976784996365087368567015166515697952492628968557988726918514648753549999526252628577582996397785996976937873965922279335488799118954575543997586479432744916697596185909788912751789398858879885848445277446564456999698883701367382695977667977698901597808675689667932975575819599592277866759551986598433475149480667299746988387678127788259474476291590348969768397989759558751319466825681579988705906564494642875498989958178679798147337597898064392598798438121934757809949665989674950069576765769887827587872932499997519878838799887938687044728548483465658445448096624779177998808459746469966879963964379586157858393838562393533857709506986369447326596479677969972697479498779736739487188975708790575452395892687874941499708583796738625777578823985892167788773887943086397899895764684255678999798686335769097192164883868999536982198894389668995287985876939253567599838846991589668909335057987532267735799222673269494985599645631894394862849359963699777758934667258577162369292354779479786387468688360763798811846986779799629939779585137954859798957458969867724356651947313678988369366888989455789874764584490662257825839802338085998996055979582165848783975377178387971448754974000966658972998856799598873975655999446985904189195569888925892643989449134786666510927568226988863771578577309452597699785196917653456234999378388577778382894118527138567634787774372598968295038584873772824137998496735898551584517788985982618796799247392720943174398468196786859338599584978387965958659862592547296582670756279484729492206955827477756992265727028859767669495447987675467466959678998597667290747648626778468391676445363185189489957493648989474658544946784580597437881947650919288924088638797592268987721869395957428499464394712979684363984856257975668848779294989771785399538362659247821786699938614977268567864171786549991523679984880982947284828381995685887337982774149784268463597983806691368579877646568114898655687579569788799747968370987361481663489677986289529567958196895768476587589614494798085593797847666856239690676893534742879938489186598548964932658334238519875968993766255621228378777687846838455384986896846785652698883654779959476867472787965872535561298198202540116258998228754878672686970876955869635999358533985588991696545816586867956253578958598594667964386873993268922665568864914797716545983672522241337884899936898926982476665354149761180978479396742178149965633979905894689684283649366830541797593872679788698685855857289090589845976133638896667397836663998298948878498654465845983568967558448655427749894966769753944632689950407889752673649099384643295887428987868695779489957439389317829885376687969653896496899414267693342985359587668749268769654644921654467476989941958858482564979667580785888488277886498672448753492289282355847517848389475615896962585757189768983596354799556777793957478959544568689889883279759957788886776674524766995596676568586557863889967894857847786198880896646955494781472729827977524638869328464787776594978739496839998756598627879677714428589527688977443958740299078586868995087462668681778799422896999089758817585694259959695564212497358537385765330288824476745755874733897664352992760797729868909598388349277584857497767959656899645978683759943017606418995166992819694639779692976829541672746946895952826698981665679273467894842710983657347753882958246892489574297856035789249959446897885752387679947299861999564879975899274926823374744988864666283957867899621532558920659359779482087688375971986857665335468162351999019569720764759503586873847689579875787473464747654567579649155699274989883099622383490559589689467876862627397859658545732839668785726782242258296962933793662716872859778996797267373998442396989963465134857228156381993435735375996895849758848544884598905070673893496079768868296876721427648798366441695587934638996736115866787862628527862798974447455289938705951552935898498691456879737455777843368848725391868925293695399753791867396446872595494988373979589623989881842233532995876516458672747895462913382658307299469765859357869638752367289998379566459188989498519963762881598977773789688988854077466819992556411725752697549855789694454981864459567998597883875877457969788029829669826468949451087947963952346468508136199678744889979685328899798186862455568688378562998872481088566984937468684168399717836874929478558269248544934786396478597894179595974646748998879777483786561644877739969185955795635864876976998839378739646286554659626099804679965388741576533664877696597657898609858169769293143847699154688565765593669468795319764747678043055736619789798879574457836378178543894660279874749887537858877979286567729754678482296253273819889362176721767918997157977777518772688434284908594548818187627899647572559743993394986767395599379878569889478696789714688158662279587924584145767836683396792898852953498672789589579987549577899874997168797697987465742461894679976550294598839952698182787779352456666659986939665575804675775108486773577099475717893239284938387737389698688856607936659348759677968695695358245634596989665628975897436673593872886516919299679763577878836252828497884117666861909867789785695769262588884567580476285398557674948945284947858566678379435879679106970715817996267737781790696384965591629387949788837752759956917497447815283649468919491677439247445356589398163101939685580558558795696669370969997383365668876658939792899534678158778449178379478364499053599617687779749839682148649792766367297724589987612669855777485686348587445699278677957527395703484153199841966896859947268258888327989953359847767989738866773884548723539909678324765398299995987982356888799883569729697987775989854656859479774885800748517189792314599769785768987749259946428769664688580478837277758304896945753747856622973579418489597626932628897507449819253680998904651565599840563867777926987745929147883173916627265847937668789849849505929744558857948415983556297887794757857848445581969551375573673488683993266394295567663991579668549634057698769339853993714875849469899366456043648533763768896963796677998768867889376377937087007577682643110753665797821266462825667195892642952242770376819677984397598886428079854925988886860869848954469795494896415668470730472285757968299667483577360895891990296575785974761896966959988905582785595751435987839645799733423435974482635475887648293572989880245451747834067575079676942675695772958229774543475633236933659347972313479485879699325256571686399566596527457957876476806968118673468597546989364812789862698637898876567983879496597295659798793776194243276565588757859854745102767049897897883789858044879849256912997359465359985976483964889816625658302691490863899988951563989596454929795756997891489799665836787856089644585666759753696778849763942198767668984859466306456457336788168424875980897349659158969268988866597689647678557949485860799976588791417982184517946935553896699838569789465849869584796894586129638834855941986589453923177318146864738198956482693644694953709532227360277678973833696414887771899368357769348580969881952828389575283487077899362980593741899878957497766450967698824642962457682965986228898862889597558169936878358377665249684556976992257628273989943989944829795236585349726164882969088184448116230889369476867065843567737921276717869571633377878692698756466589215977991568406899096723738787578742386755577244843863969958646389795766249054930386888897617896797745879478148769658789496483449787824954363994277542836192437656729988943234858624881486978854782817979774286228657887768969596987656949498395638678434993853749776991738978791877996597794261752868358829714346879973606165948453997078862537255883753549949871747364537997098339426687343878998194576424764664726832383948472282977536986893893539878418678929928517783964728386677614829009868998767656988941429032750581733507554953402897765633967682576652829743697776819822665786996768993723784858398597543827885496371793752647816779629727939897266258399416893644263297587486338754471815466494671597796477998657649644797771919854379946718592793949986337869471835888867996358287754557695668891598979789996681857389638671853988440839716956934253447299433977376448699675894756575697178781236978982789369663648890958765568968551964389985989699798858329682278899189883328474771233457139268443916978997392957673769278987672580723447997589157737765999672977725895975542998365762792789845894575869772259708965613959716244868956294989457157966483735624768688592821721973856439797948787655466568739593218268665916825495488647614759852722938765947593574629667875609822828874428753594765965896828507975877325233696729676215138929425462991779575975639335374457489653871992978498299465079212784733785637382886765935598392568664360275825989798335189855843573973956678567893666383788090915461365483599436779983776395991975885694798469228349697899874388574172857248659633858426195469526286713192940254883477894836862779981728788334477791689579387478789068681368770259870764874553674877626499830889496776787155698896959896500687787558857982867985880762978629973549792156222997777937879597864432654668626668993158474761452889146846469597099957751995629889088186996542698987684996675646696439888026868868869189884657665656798776263889488984699438719976279967979694647692727636815660473237466946694915844785484859188457852564376586539751796789977975868872682399886608429794876675494892999884623984493688854525998758708546944995658774634689699473387688664786989774627789438482561992770069854698444157915987778979068694909894993778417271736678724385725683069565858350556798948037488875972389395789765882912508763809887848381514725067778856883604865399335976877486437903734518948143583716354635968427596995744989967871497997799565937787995589696988196781698795694986576884638486992850989998871855786388985789818443985348542233985792099975983298639665227328094368195565865812463839484884549688961693525936043148435865196766469535607533995388984846868366227643969622448955775294583139997519977596906355895933549779774717269783886789887986458577593215374887965792294979928627772886853856773856627813896672457607847667873724288516468635549580267674356548567253297969913728896545966987065247386785536746924867915595240335536167843723856456944579647998404976926569698918667498896487896615767434784798888889774492599582565196659674748867678585676295714126389632588276961857694931392627384486955982094907298946478514544698168787792938558968688987637972627797841974956636773287538389598295818575622959889848878756509085889869634324358529889956954883555651238486368369445274865749877607789379613668638465456967069878835199978517286799146195959330798499237447986495193990936494752546332098236549361695794925777797486965984596579955490767975046709107844499534999565299970785163148782773587886667998939546887993789705926735629178929795274951887375657984339778998386884664785585868759279295996746297185597666876699768746956827200997819997665445617915898971342898428442987742074799655667683688164778898595304838646978198911587989999254399998796978971490845364206077284296591664269978659675426158939999129769846848677998352458497979956677687977784988978785893809256988996488926678935837964899878899893492975854686635976226655868959546899298563174683097174998971988478475758999786947948955978295494796775688504480468893339777864959456419797284769705744917559784499989797548767397589598845677385943882259976438846909568789782786769388147784944622834093604518755368699379996778876661391469570157694425984897742975891996918585102986881899997637580430814939966775993939565629883868967039069689616969848184872757964687872768994849780955578516785729957737627857635083389798964559909425564434545898077399457574854125538661858545447588571688241956944517586164465869359077538107945998555769135986797766795977274979677898364831648282393879951364739440582646571774577876715657258089199884975981279385197342659668354764689795832744674969969746495596864046759935786995854388456775052678627887785309425983878427944267853798696225169849884788969812696777893289698879581538989335711939994866297697310789078679968989880286999866956408054946897998677933575819574568648937699467477051998689448298619991783959772564767669148778803597469796747032977498428404353681968987739477498938789573252497979654383374869816698848855089381956989487961927449671627899996796347957868688355785369639464976543895258389586944989879895948866968394244789148137944381545539357784998787346798657972386738950949734168389195158659799378882978695486883386779972992978167484730844847959885947679842864989347895448857499543694658893366579668524965977985857697456199239473553368776833785865395494364959452555877966559575578795599917573987448576536665855877855487869645591466973917979968905868147946497943454779694338959438389569067878399659558419668495498462937964688598248798796659527374459837165147500966454728798443475829978162837888294798458877596659943788896999598352474535718946621492755891478956750782998798777779596675638894379858987985486834875764668577859756977687096996673950352597472794499682662496955568964939989265865882937957698998944797399142789638989378783944273115974388662769293926978732736498065585144287676824853604456697898395876604973998974815398449459867413358359971648709494265869723965466397799936696918867648877898649886835632122947714206875896594786969788114529366778897575348974866566193486841275469839996939643797931986284437778582128515524972927679564605593873344316959451699598877914693763348649888577059963542782877585278849877359693946843586897882798235489658297593974687775544584675973615488429689368193789523997988329754166772998973572977984857478999634887967919573127465426745826739591774730678967837789584988438636768987670459985848196899838759109646681749852672630826872718764885776398892999967247509479939595148876746484985648255359973836658997813776530672018398864257883845056466639656642464655996479796797765886673979497793895955335483775255959399574178761879272895078644538883899558663976879424498981845869655375684916293757097738985158449104879397745926838763973682067697484854798986848769547962614698977995468774379409533355531587929912455084298867046715976373777499983658584986958033867944269529265795363988384849936996995786494986367995638435852283899954239946569796998858656033963493757475758939893797875669669893740922637297694796699736895678735342796429248368826745409569955453497995858983753729531308688754884267687772129575699294223585686068808488797894293118859598568551274716879896932978884327593798695786811682288589658998499093987586681659560898834868717238584973555956429793699092874895440381329459566755795659688242316084357177599211985499388379795988925798673936806435866399893595619746744595697761945797677639519938768643697987545239589995612399678981402182959420783787345367504321599336998424789964957678661946489287672398679488926709396446972178987922531649596934340514539894430952543279878974561680187697361378982958852698392778655364794577386121656484936722285741965998956026682756364231795598937723999654859987575958573445590072917798794674858836974397399866947399559757925818259567988749742664988833862875769982145724899549866788686599139688699337942391869868749052758666873895955935569889649872458834859557187569569877684949872978167934578999769795929655397664918867971778757981869816298331453989877928980192059695566983985000882971745396952621256469694528949539855498324748778958949724588958467287687177259992869381912956765583974777156694294876944389697963695486628477779893436372923698969773719755997685998894943944979653788938795889841857037749547975654838881295367658693474247963859087650787994996855688676588929526978326096093779558889626796288779663598376177968196877729609449688598524946576168997859897816855958897976756248357138698438959581682793973655339458234283958919867778772985638838797494810897285744777884689537393038526291457164979783696889895999866959739866097788449183948892205713656994539369629472694859996858498773846696580918898687976443757286277647823547387674644979726554786469525759726647957988694749299962889572496867759481266263365217666826864667592182278986508896007153639774797335597798988987739785291168894726049577857928795296456288846678878297995348897989363006589246489775967719688603522269919768854463656964865847798796921797476868671882597246709797857896385439093446688967979647008898828979296394988989877496827488877762764375779698777939717484897884658275542366096578758925999839669126949399688961283856819789982491217964607943933496799625885974376889999568894579669847647217589028961628099789475395937886778789864897344777993301893864116678589224588424296998485864679492389688689532297783896547881947968847768198039457773085266493318667785146685479899697893577873966293187988880284267039684446977946329987162342667596837995288645679729088587772658369574861596788195697822634888998655495589768766855894886939838531168145577496752579682297586779766672852929999478844834698456462777157787804328691748226859389687914748424959972496857875583757687429488588478570679479882913743566049454888619740759774175969913283947595255957959922835234859345326593756780613738362669444899978597564838652997365478969466831693897901838655728583167611138480854559093956999699899638744673187712328398704394890659919788524677978783651892830778707583773786786765258741877475808463536765578763897979349994785958584704699879547969486435937877972737129978975794854897889535924888277865678998729586896976771837182949995685613589989664468486637585895791856569978935278597596302377459799554464497677713977876743527652749127689827984386126594878576590424698398885989467436885971384677463189674939819897953898859949652556296998588061585945219692719639489843790076748750894189993588759599938958877799063979497757594634597984629519788969017376367437491165825739622379599643306687935798467487186384529801977336992957678785544987769645628539783569793878645747658866799294778570623945456599976961448568836478627377924789939957875697853089995941888267641788946656872419728699969946965368826985785691845519657898259595734794767778745591203384505296392594416799888487993770946265784714288941728976378697269279871899993336828964571273878799259970486373489286699756799215459417986638526945671617776889441946975588739157269987819165818847786648890425973697678878975795866389386794791876289984289988565986669767319360771373497525898748487667229959645475966675587566926575599977688769566692636399194204753398898897538544703757809703843949254274739399576899968992992389469475866433955672748769335288599923689341889853846237896549825966632357275364962767294972882675354993648164328948597327767177179997866485354917876489188717527879989964979445859563863858388358682659796803769756981963358449782388884166895683519053341802747917877569999797794799779736375980756504499988799699474872854489364998794798485444769360583973594779379535772528248128598631788690995047626973856245787367376496961854845579967725574669553539259789149869295458463781185643977684461964598567632764947048969578991658277766479766588496686968178854887694598922969986839569554657977943474992976588723338883984345772299485857737757285578717588955463244369815986016696266955382749680885812695977386966445863121846339278706587535979958717748756839847299558987889790947787774498376935657285890399736847459829799647760869971792787367897107398535058574787254648565667803499799478949649899449577578886987660989481756914497374981926696534768703952795878468951789846684965789767556169699335998738997509889837893919329762994951938978948017496543398457391782592994973334837995542998667671987297808199750558487875799368994487535929665776445568999889747597379564977279888891489615899266997839959696894959676884184976617977999776387988469775269765781233879956793595559973277899878595487578876589607374796679730835845547888734348975824176513757946797381183477847256794697753888999981585147527919541578747560988893786695439136980185877688796191689788559568957768869790723754686082770787789287999639307399868489195295278698978439359669785429844967546638666894117743588927479981785693074440686979599751942388524849236675559932904259897346628650898769469997948791592987619882993788767350386298486757769237442568358792469442482752739866485792629561175989768695464626882468658527731536396952999979698968626644786847787662387848655967667757425196455953868858738688585145582094629899866736936775868679488677999872927846688697692395865397336975374573554135941442469960949462714888945566937239705423698938284996585429668854555357656573736485857686168335987959597820986789989777418912496936127268555339911306235581474874136335505283679786882962359586965817856499897985184483782395585675994581009464116547788498767785856458863869739573875674434831738497977658083772982688853692356864877298365145296299647829978279429689299259568998752453478897889369993894499663801497589761798798898827896889572642885519712937697665973667997858763292564932752975739262799799751762677499683863269678774830385738697976904818378598585583586967107867663989441436573889746486246897248463682629179468984493892478943689288832688198816893463967557942296838772679485271859927766949878246468125298939884956638585576059439665487882988897759946657899583412388390776277865679473459760618597928299758978958797187694774584786665289677273864725996187798415637435678389992974899881336864289501876875958727888678558768978127689813177459988494514674987189934879578892664324949951555741383362666492844238069969358475577654449598328694638391755452423746886720398929032884506369665956517889897717086599625879287395967472996967799639994889416237356939799499782991606948693798396997586868499999950998577737826697352675444446913885403575947889099788676947217491654358809777767556928290995378929977243593344925838359677488590671461546258126439383519346588987398993383584175838528839398872998699686628688666112286794348459644670799623675932787861714678698496839893894832994798920979527599878785767974543686949132655737965788849915486854922586141542547892468986957948973979575889237746975894774828835789724992995849254575872962989091999297579597754228537746847451578279961988960279191751289539989475793782956945486123729974972684376678861489687889649116861969414098619648976477686497128509074553346875967539724383444158696955983424946183195797818879597688950929599169207793623676885829673089486897795589676297600266695932903237767768867406613687672974656809567887965849759756375524935484386756664645859776626481952679867999268996687917698374956847678998648574789387777739644456336999554187666887697457965677148591944492854833865926718865686621918494595726853548869588866234485184382682889364719996289859521847538886998578883761495969845164895177998649862799665127533996277865916839777428938679235652739699240248977898869288868272791974958655334968977682769244485784499578378469772763293989876138219489447698686297466669952364757794885362433988269777369366672963456254908698317957364639676693539626768557723834429597389779568880999995078397169676578743735859456855692717071559523656999356888988582774779685257168699828288482488695566547836378595883849896737824538795773499999995889877798649563850418813656752854987983879687967948944588576491749696446715726616726979979420999483478683489173491905879978376589974349658452787927997694555824999854998794779752893745690978838779278633671876225853765185954497991987720298587943881569708679672985857437245889359594765874481869979319562847987879932638849865473925985355446497744747981614287736976783642493789267930984278849942746887212499325539889964075971341276769998743677687279566598883786686652464848870483578691939742647939879953767798195478366297775184945677979796796384429866177028736578079529981763678599798919579341274153116327775959946876314895583140922695789823738242664644863498969929908389453522366696797143706813168588539959594988149755667545441948778696592154640538995859299996178138989487429349785309439964955897952671481525818525985459285743999689345635859653354548350564485782025454858199848586698648658768668659926371166987055168058642765498269906568332959563987316175797171647678764072389056577966899867979786937862550578486979867553974482769285749816890064952352539768558556889294559482885787968243603685995374047182887688858472925186578993597969894346288139988452887821858968717339676865757537976667535864679995791799675496273965873997986554464484570795922169863438758577496779566254928584798977138167694859879658976863868498495523874457939847357288879994583842756378795971577956385669562472678729822759838515320558671596978797241279398773862789297866878982824869757665899491794635898954485678924583777983459674885634998247198794467466615776459549794752175926449799565722367845989692279977278676065755779979196965575187877490788985949374675287687539832787956973360329689187218985277847747583437877466787816916935528566589778497478823189974384892717741878699377998639747666736986388081748274668976692793244336838559456644328959286989878367234863647991976989797997969739599576478659671957766847849889838142769540889938668588469658953984457686797695799970868237221394889598263479161474883456969945898577758699836779889695556277387576698965324934189644979974737787669562567941765846361373614925958817898252785997678575486184874949603382819826885386047592859885627848665636969878978950825769886658514676299855697748661385381802173957687357664967567966659618648992476775794942733725774532792176963588795766884869569693253682166379879978796595784389834188976087623159596796965696776795758857947596636974654979526165874406966767999417798475777999885373685648509493448619595824889747296955766945786564833619572463591787897839067754524765269986899386443939964133687677798732794996575849449269357946286686984237883055324656286171928193993376319982568176867775398659579749448685383579963694972298686976155503829587634598528345099979844478782839843847669998978549961661168504668241233837557982148432868914332877698343849625863934268099649593646195866667992589497989389684738893547697988749238928658963477822159706744789584696659745662597694815886415759699686857563451648677799995677944179388013759494528987297684199617544966188674479956966948547635487424999968994469748308245564698149862795665934585887595576696984558892795719697799589998834586984676589776996668393884696905760636798684398278982919571937347593665328828402757587874782965975438446846498528098859856275656928789895780472313662086463837193797943870885339577474575976499938920186895796623777287388808272551189861579189776989457878574495247366191657836699267468986833578916538764975607651984280881986388566383576348501825846876598881264673526195677377176568779145796963922798227561865197368766634185564959651999774652488049958657445752927482292985717573683216503553547963505574818198131475369965263657296748559312573016858827678973759984502959969508678298286484546666109954830587489357946991857556979638598684569555726975979177896577251799356689747796669696389996695796274819692749714573867637507569866563833837921502497689527643562856864617398610842497499448678776728829797828760139352323538897995748495698796595462482579795694956861952583816846735995801139868657293793857668852539896034979796727166953798214817692523662555297753578778199996505368954666678089968618365495463355382805794787998786658889779975676936179878875627945758617276555853778096937979548891658765388897964977193839903899839829082746982894853015936367856949996852247864772977898893968958517546987979522563785986263967677878235847956866767587980387667895797455888098959545996149433749993778269257865935888661548726908696893937931248228953487995311668598538375123163578979790745283289144665999515644791826229975547597876758777982658826466835499248932587825835824355988947995863284883566290923995659241939918353497595436177796289632978795079991674768954405538871155261983672885820766889813775885772984734997887298582838675455581468847157884315939824889269678567649268139995562796588489964927244549368378966846896594554895703738895754573442194658768636845688894838559861859537628307316489905264629597986949997418895682799765695548596988429547998699455933562396939498288327794893914169948794899857900671998475787598346896626514654976536669784865079899949533878917598458283666786552693577442979636578999265456686973973975896797744793988742755355198687939466787549716739897786884859597239656912537897928539889827476553476766778359581193869964785754936889888897846348962698299618188450347547555588648915275656777937608939938289542899495993977785785695858893584575968499978965386978826369558256748917579958499448270938399239795598793958352749893858692869889399775395320869969759499848838475945836799922355898396527919499854995987496539424394648924758799549528956626727071963578348535988887688987493817786588773881992875817469988576789218617995646899463256785959627697886816574582045745949745596886828729579458477796799935287374479817098687072779439667898418917197188935445065277788899892942991988844998068898492739436948825980488693878764968763706254598789987788758454582885680885798764797376595677675757388148633089837746878954258894383857786876717957458059987987399438914709989539987049179511877699574173689525859897127888712769056781885498895679749991598969479789199375645846947279451787989557475013697767988467154978952958572465877991658584776575595419197858974968853969548627588775696896227928568573865583267978673883766955153666359586987955715434496593389763117144975288273832976988783652989818828426965138910655287827490779085944746799995475889689693698837597688694864616582869974030847837359642949752885781659998629977598695038739594799555981457774549974964948966835267977975987999516757998781967488776975398653791887588787272133373324899644364869148789258587487438533960877719487458734585296351979766876668878936918637598675965892455481266488463764024592848647867953638518568757173312501297793688499558384797389697795215837889855996679966787875867363878974856869557977073597799887353789788183746478625888823545593983971838784699704728476997889475874368998787989633948292840479963166594896994757686647499227988857979346392888511079289368765180994383486487621739598824578268628572665771529981749894482997759065999496265675987965176928706758924954479979766727812845138644597979786836783829568495259694988777646362398393948848266421575678594488239445916886760785847648871912545687993675334199269543793285997558667969994925255736999238848169156758275978379964934283549768829863479850734857588727808557533198494956968776659167635430698849784418919686879269290996577412027947836644964565895287682799955351354938275652697251238719558260870854289678796879888957845938824873598918655385832999269867555799588978390769985488951927299659568999829887788844974649549867255776895446859290627969899940539359299749761966668895649885372869619467284243656758696502745985652135694709399886594952739723678714892738857295669317774476156575921755453978899659379887564986656963878749598478329762812538794269474856871113248992967406455489935977986387687865287676378997728785989915388522149587858642156935492996464838190735762681968859788576878533929883882979956685631499479486229945999876853718766297488659893368335753628484939616585544828739768988406747617785392896291758749819388268196873775679757466589280489580855786985582784987238982836544943936654826798868746698925699173878997748934924388719752964337835562495438265905579697677997846688868338974973678597446404758854972699647992884435495712377687628783876685528722686793759387587267552593098093898823798915757413498338349275393325279794909999477977936842897942792998194779737374859265595669387876985977568953863865666478387711855681734859671967768871548947115686897594769918799720395565475817778863856755165496876874989623436996486695377999792768499073095243995573780554378664546854988964489549788562669485170697867997893546848578824303953907855938418978829284272957232968989877184447795395467809968479577586777467350688858892795648789848963964682117996868564767695835861697570638977532893489586849826695196588372575848858973898399919924487337492853738488374489482637784508298688687679975746263793746243289476769035646554824468095933502984293795462999897958965138878450583973998958661375366223899099456571692493799053081827851486083768023876466599597800969757394738851870838846688289986756566876548840619799454348647767710672988237359549839389899095649959904358974839879978459261089742969753948469594877711374428753947265049597567837249775598858947469596897786971788098369798997717874552855242945489891787797879239674774977955967781998649757868363792495897189673683874798273636545699743697038769768291390982594858799716763159298905778359208867593613779157663855859969387834766886544158667381795914952892559967564698848973148838412464339974569708894646138986976575875959834567269892911386855598982862892315883966654737524875278878488959579899366224899368292448784799588592328462999917254676646956865574716707727842735057888769825498074796248175796174755893865545897777888996680659737876848689698879767725462849867886797568786399977406634579620656794296462444684282754955989856669858392357039605978686352858383699688935975896948624512819648695648969954940213742688977473973463787691279739755643958736368983774472953599513129647589695689797799976967128970476536769535838439945252380789935288966799929985753858313861837540454349482879884604632892377387758875436644789272990689483856978944868368575537566746838366898745964729846569683817554733791973618692699681688839586996996736965539887846868848977984474377860646844667984350958957775865885592587497898457359634755542393663374774289995875598679374775429661648589375859893137969979664494928597488794658468478582764997886474875166998889866232287848298823677537828898996597965732779379659958499218689258989662526046803468972315397416449279455197719764496733236735758288789879289539499967782999891932376559474186549163759922404782848874779538477899257195738087313966516938935946738897548579586406645956894984384468447225925978497958824581967755870495944297875797142693898555939974862946798474977865786538367479738999725294838424482927759779873399337465842977592536257624762976991158736472278790886769986056699658899161887449443545932360639088679965587697689685890884896219757908567859354159847968082505989968346788668959600685664253364944576408733785769981798535759870479657667599478788855773974423897986479989687682689790996664967287457957967633762399469792983979787952949719776788965836994873864528927854465749695993957592879889918855789295771175645784693952780578668455327154955783268678946235446475798695397872778525455689785894999687697993857752336889796886537918686287949789889762962649399597578799895997401887987786588586285457454391770955743647644892477659294446063917796984744999787890876656569298355755646683950274219180540957986659875789880324979532707498478849783474263408058797747457674865998453869399587249675379944975643683813398463654925650794204974647969738778877963857543883743258648788731815857569982475931109976896855667364915979996699986589276668823878777953875937617962542219357969469746828479984947455739919253957763358499924923826573368645158986657429879088629862698873059685948839833796879274942964644796483179088688980618714929684975796895480743545398195992479377666954783679956696737637776915976457254708471497462337917490799797974843235257618137556297855981795798683893989829984765725627496243779582678973375837732857927811874159881585848653989993812855046746796579235843672887348643766139978389727659878750842719075747687881635585852788759272582476778858273977593562979958718986486873278278841177988457394299864336538889538930284569896366486952288438789328273876455989900928799779876486669678329375796917785657486776759599145598699589158866618328518678840395370648828637798646465399688838276287964265459939706875928545349335386679115667114039686957187825796799235259998678764677774653589595726993534868959877873786979896958884747892753365993647899759699886655486959769784476967757854895755954293987648176756575397994910229978648337339588898329599731983487967458969885078328538158894531851668899415789798739296974797591757779684896935379759765428575865852718317883445374979877897885888959999916689798798887495849166568832246692423634695969898355854852788449795489736655069939935889857624597957988315435894436274934706879717481848148796737457869819796787243799896687958846785798855573569770986873957935798986994883585479945666896538498986429961785738189986868362469359049446819596389933582249347586756977847746688834334895959839347397672911996325514468359957646687638877537576592995890279047394247489585877537397657236659393696559288995558466980128198775577532791397686360566868664346757295227864763296986588548567297480554792789879867243566777677489875039478049689916412684644542475688296954798974652299397766287787342918579783997239558645854624547518896539559915568556759455492829967375859573298697959979379575458485958384776586567975948400192032569793756896189199438789575386814590548561181365659387594587315586617887159742697689776948968876671856429995613979979453236568883873629497175719750769789859988927280747985975672091968346482590899869575899896874118359844223999898983914598659878623665637497826970952445696678074583609694997737439839728656627786756588678767764975684495907878825368666994997047776854247775886719552864494438758836778294568897468814954868488754596453699817592875615797624894899583881892469648789636894884188769307685496643997928969956784596408867913998658754466889572638595959969796425493839786969397766758878483679779669360991948799995732699138972687929973686758376466467598559597163855579971842796967795388915759457999790857647797489679936768889524947173988385759639953797959991350596651866377528829448466287795407573047596477244953683941699792398546963763441397155802682318255798487869598879889744779677682477697711496708739673539658466455968568878868679283775239775385799935782459628050689720714695873487877888388972912955388832866894697674935469066536947457299706486795991989247998734691193633154887934786277979765539567778789663843769186367645677935807359882579924778956957896828504659679598634679780878787681789961929993995454635269498296296939894223923754734943132336138821999699197893857499054339774538068988987266892284775690375457929729898126673687575388122556292524694689928933896449818767930565957979218786587868832481960297935488758817958955769291244519776507499998572659695754886793931648741578647929863247497584536679386859787462885686769592159583637966583579353578669634497698167964267924726686386171495699957779398954808929766649237288567789496796895973966849751816917154569383332255962667490850869868386725488957668394789899936619934472398146698813991886596688796426934759788205452685838778679957857693345726726749389767774879673192358558986477884293316795345360528746239369959797549994959736964669886735717899894717338798859672766634971509893985832954736757963115683339422949594797659542426795637917281476716397336586888689599181575969068309149351968598988992559686919567658766968842953398993744969537285966763515683996666919473936739018976897869865678597286953824957941683757268992789716916898399654746466483369276993614587902899637358567297498795599916236989613817909869885056797978966878822958634825695779163042156388628996395258247793265233669618368185596956465489699522628407808785077335881899458885568773532259898676589952765995779269886997993769749167696537707823678457871971998861555699996199469938269688564139796858889653194594838524886983687579669338659574775127967790439139555584598882899377743868968241198485619946192958735937737899771494757716986456644497619688468565677258665985682198749624839699935978028949887439186687286795742555777554727275528933959469591982936067979570545686388998959259989886956653925985857675707698044827278859696386772997499795527907878764685688869323288854998679834887758643594391492831477960902387998667975958878817854372957559899274587895785597649664958698983033766988964673983874394489199498645767998947679246859593786764973911759156453366549989838663278489576599209879786848416743877787976171869999899857875776928847878246878363644689464289966853929557975972979469793637960369587654396975366963566665581186992821898888588754725732746638774899843462359552467529743463655488598243198084323754497797949696978796335939788954537396964237040388028993779132958675698355869339476672922962879859594885948469696586437858368455876766678179877432787214756679785355871459969093857039564297977767937898975868969636645775947425655835899973908816838999758387766546897563587983825668768777674649919178652159988886835799995449678666999778997909568447447597786757269554550289747456887561362553799756990767996888879969576476885957988334739974873464557189097558925885734158867775883288408997724377477475815985841679878792333997076489768749892568974997629978565496908396458383798783896364889683703732982599765057419475054397739862591597967059875535882421628721876127502249919963492467993577678285849077829019532852045176978595688989676368763489676436854749166224388026748556558994653855606584204455235758777578908998861858696835695888930575884669695678999935997359894796777618889424958236773891154959978234926766788177939487236097928586389729914613859619669679895765777938957885587549579898796525295984859854363236829679851745639185542799962835658794568746484869512984426277871547858389882643448254539986084976567584397798856697778869963879846155979658699584865753999712531879666534977484825943279974699737484698799899038787969831982798799588447688896529067546911668968589854569607372348829625677677953986764995592591668279784762243214783756759987778528699952974697754537544485143497669155876683872347253039699199969460463990715176947757774385979369784954449896987799328877678379548848965787772529984786495727468388676677867796184676976787976295245998283534245976354476297660444675892581778458445726479885924453014368378897631985666694613808674991424429794127766359554276879876184899673798749696295896864586866356643880915797887397427809677680667423877488277697668746435588842583871974587672952915898607626496606872975883959999924451749479763565583878561377946598839729720115371399666969567949384783944571826939969947163266723673486977369998929477569771368409733578286982249748958783853958754984774727767792158842431366478858798465259856357691777856158948548849456259809888008707593067279882982375496755344796753949906517364082248474469776578928999584786137296354671256197725693954978294969998597969179566486688488444999847645894868836298846499690772585406859744439776787688896980759961699567697173188695657769484997565928713381137629612397668977795744469444595493599779951859986833890966578499895995873888826973307722898632097198675685706467699975869658856698868932869894509629735692606725985685937247244472879887937771759369934789254597694957587894788777155749996393198754589457837489736987698978448692684173989228388832861288728489667283825387959759781989519976283789288956796672633974891588469679970709896579576606345675897157835699617798981479763996807676505859452857048375719747868294169427388657796564748829885698635167875885588352494476698676397997547484898847558894822588946259896990044359972885547886682757571858865988028845795826948223670965656573886997777858877835868489325593596745858879172949794755296988964790379549719939473559689424138688887757252732929374863149679687986356879634382524821549969973994465086034598784587269989386552872864946519893525498988697536842711465418539728754729669894663396358714368888968160776769888197482664638195588939539695787698752985496464458985669569568357780870883855778899905541748477511879689982855565869619889758599887723897554994265689317857393647777497709453415944765074599815892748766673712538797775287595947989581743487188891586379742253766338989735738452856897980494493599891866437089687868953686393986658697634986454957398737869748269826828667387374385779186795699727579982294493387679957957970858839988993765957969836925595988779315912985923519653174946436773675292596973237747720756699912994537989889283984814754978106786489229855869478595942791478462695744257127596877686587224559995739874606677878309834657775289236569151875575210986898269896664993759984298938189986768074312730489936968167584545947498831437998654595991833280274796186482814877776524599767121647495159710636479222648779888789785658983926999975196668497887493759794979598275686488767956756547542058099575363905744732598178986858768226255844775931738175776977682387987167729766734291788765375391918378872898595697736682968787366988549885968978796694578759637764688774636469987276773293899597887961444978688194871488949527549762909078857897612008755437977827689476756898989626869926968628288899169626768725454988753257183965919966677973845873767688239959986877919855499828155259989885878988145849894852562763575604898655889699464439869898484404254224636992799685768887563649904796777766618789457399537599669638294086949769943989998452759717733899814659868557477377780585444966788996659485986969637975637958538988585832584786064458989975298599487368544984941774181538659672986998889884834847998145779182826895129897780399977487796509982229576895597689574365887989938523998357597898888984973948936466956482739959574446682865964143298676742615649336634956975686326971937064976096357657488524667568716954158805769815382588191634547999511546858629618723489989857595758698909983359152796088899749466564624466773546959656847868694934738985656889154954847952953884978399385946409633678886749566959467775631796494897783532326246244159887293013548496781695688982447788969675014569972268298461973569774939794773775587729439673883568893852974124667887029964978928399759396779868934044999687591165797226975391671728344939589352967850448293970668927148606683199896788517772888839298984763547307278454187693797567599993799547775664869954672846958961869586822161363746594869678558685916876697667793663187808207957915429947873921788697824078992756859655788295695839823489188659432148032784768821246882486789133646624896942998893915342862297879952785440359893254479689817667897786674624694655396559634299956849556549576347596424819687879799976849812987394575765709896313578799484382975585867737516397396996353914895666187979863396797196828578275666988396538661388661655647486725669896679638883276982668098639968887889554853728787758899516528906397737749764462971876594476485895465064968948064889469849577639593676678789536407848368777371447266371553369673980584447695872837769986046587538838669676817938387399688693562628788693859885892897494686956836799749566989898799333682097091736139976867925798359066365378322427279992804885281764999446504332465876647771843699673780349279967780893399596793716685990739887777199967979377689456374915450364668279838764786676266536538518398568687395902957821291949782816982331783967785861796758388166975989864968879834960877587816599860790775713984619185959249267855767868635634384374743586478265883979478195979342771980129569196896737944781337917955955475538286759756685892949725677618380763565507689678386785323786955215779828868643668742137528343636564569372678779337854868915496677271728247973966389436868705387748534753695861694982982988988468499143678760996280798249964978812892585609998277785686438170594768398760881155966137874181597429696489778988479577551987984965867668196937966987981417959625689813559768755955199893788468553358737813899287279944694999896325888899049449565442274374979875482755880987973349945896798979967966288639429906167847997888899456854499378958732476135577947782899966284943749478418386498292295843499969799842739280751549980668551174717167693961529945376775384624239766828769194869887758759926157995714970287883949637389575865637957749793671096795479264406847999969662786538878982322665138986056695854363686837784826754467872846578786517739789169626189478755744536890799996785568983898658769862983879896871572288263295983982641718199976134853988779986261199359978849638797895685452987897989687097736768996434449859085779873154639186699686969995692082978992629389894214738829599876795889639536905837886795969867515898956669545858517484557765849389985692652397988683284737887995854697885119631498499639619695679775265323467985655897985484737727724367785528699259884549955196164713249297839888547679954991588874247988607696576473687561837655979786699067434876708639038395643577467796689948576946468799826886485771574829892658464479992814427214997559665777466937484597360795568298635992769363373593856354639879980196585854520199936293459471797899347715578578651759226888935458684766886778749698837997764070574878776882851445755889655097769669685975364446044083895439482747698766699517768937898465973963927477476733877993994849766467497166897563177937792957523944997996233264485154878844767676969477698679888991181767729268721947476455975865992163295588973572895896994587595397842896488147546961863588372406677453739748898968452845584969556278886758988903628763946156837887429278838966876979539963637787876339767644887634632297864720356985286999648747793837647337899667827988989696863487655825849897999698454968778623472321979257895248935884287278746379979940819628814848596258889379596699868385423292865299867976256766857782734225989395972496199430566763999097180579773965949538689117639596066746867925457899355927695566844394656853554393769916496698686889538377910936968870739951996799551598928958599927838455741778949538976492599928788049996587493671997578399796948648885797785373899872780269496618890599773556768583786379668714735235727757779556876548746996974933896678479595576865989518999186763569745768289149523059466895445298597446743953395587463483670856883555399959971998585493627149789368685765987884679464874717670367889684549308433239788734984788655769282568399662696288909846649683897598789958843578798959470836795276960914278691796679629656794693799526786699664975978988647794683458844999228378762996272496957985344633695555677976037979724458674487929894072943845556368949699694939747959276966835259796497192577558281864365769564785892968367376486694324546452737865394219764599389176399639074179924786413469125295477392386582987764319567951523058968373369043939758591762567524676499378999558216748354587679049299958656829879554027511783146178274985655935864485097397577588479995399469487368673662393785186799895559989758809499555488949736454868934969478056958569894890995419646909774938282488598588893898928890785998547677592968999922284447997986693328396954841761795669475283299984959515495767846769455381836456794469977878986889091717968612483569677879849836548597779681905737588899545469678675862775775793496983838848778719362471883799822279894564899227866519494875588663783157139851985938475332158899316858178497968398957683794604191167444491514316868495659969987785669599493958621502267366469189723974535876749541267357972749578408888376476337433939699273327799533583993588646599364747588162899797035859468374587788899830975899555854765751886285517949585665539999728591658499715448798795958735975886574592803069793468145656547807758548885549735749762996927953622324272183762165894510808989815360444567736162855693385875389793306926086569942696661384973638676373836797383947997878137998386858469489626394884638915997064741951278624456837864958919658680979039466892781698984911916993378949758774673944937244899785649033678878726173137519573666833928987778567778998884887849957873725779575386588779867324987544943225975489772341773877272782295565433660873769503372745426815746887986369598917994954896643969589536986968749678478249396743873646575698988135797737713966929758935455642548985656468035666657659678836806558489526547984129299654957646288938287049427778758827676380655345794396963973670076298493638212436449554683999979587429765168473917717816556837697897559654859875997666588969739715339295993668841889793482579697852879715973440773759363778369762976796681747544546932985159475795639389531888498421579635967686790353689549326890427898879311891589297576848965899597975778877895927186958939664935867867482853769989894918799974526497983939987479879885858256376638887876687676878769896164866229934199188682187912185977599769970465661988258893778796758839536777665865564085278095383398286798769886476639141229638654149143825688991247777187397667822458955724814341601079847455777558177459185674767576969897962998838699692817499638312877398475791239574936697547950166788818976462667078189636864370949958999495696487596652498537585458525425815925477769540966621999983558869885089987139851738897977777154678984584519046086732893581174347695989669880657798436544587527385858409284754667559995576776299989334697677241362789694988498795889368996086937339964181721979369456784398798775958359887878958838798775869516677748495373821996953986445348958665823794828295617987799498405148867808521894537869869657084472935883288859928329052834586472963759139896811946414792993798469779965188746774656763877786058807359487536873793568974975879569829579429974577174876688957531937598569629377861341568775389486763898968725762387878502859368539487512268643896989792377966796089878579613779849797395336978488595659964289895776298795354925921275845987408897297846761995789647369868255563969453946586738844545486866736229999797744769856743927755638938278796355669768657868885478575626277671579357861796229285846572985427727367550189762389972489439878983746871559466011154851576787791436278977638297976888835693455768787496583984459774641278879799880893547539368826999853567797788888298855984284768429778909755866629969785648998347465827937495957997794579322877393337793495649945678265281538793669994736486351799186889937898682826918718937854981865894294957833945995938352813535469989888946171469886671598539799856869883698655875923848123093783649598578839384496949336226788993677899995363846938869738278490773944498648877449958878783981354677649376237876715506999959729578579669696625788668777615372699492057864158276798827579358971548849537987672674648377793599747978769994983829387878551059679459394887578776861114480833489039363683277313382468675143748597965367163969658784382777288884997893283877983406959497273695799876794594549655893897698576367936856953587687642088881816082788498853948847859476641269677380986849994655677591947877219670607045645883086716673258995769755938965987666522599974728906311588974583468876876868784928758852488298979686526889589896974709895976872556803259922486613871498744218668598597578775427497307566593335835696842354046169887827836366518644267991885674243766206499717595999648689484664969878995994595789649879474113875996937986886496194192574856812885513244817786868789767398489779799308557298937384429509436685635882643797621694589859878758956591969915769448547534344689969379849879024618645691593778796566909452879963468849978617893385639878469658977365695951568599788963379425264981871929299576097806233490393587537655567458355769218946987868383669379697657764992048399537389675595581829745989589087038159257857887885998956878669737966128148989568677745165957886854469566967432799824087779273438272847777889637988216859753464487951769996494976802737787982567398944952849789565938425585695771778438686987477678476877997519596186971975053699895596978748746594869964497161529779553873157591293384957838977970586582933964649299062894969910911897584433959343149587374127950919877889889791727892873092497664964793577696428559944759200859990849462169763837179943197843682447437388883189565288599567994566742838733589828547534677044788789959254479547968495368492749681368791894885268107866499767424993993975798580681581780326952618476392667575966984949501306583919627296127883762492471828263568096967239764188667004869277691769669876695848692682867657498679998582839296662689698098989255877481685119583624799924715779462886379487862898253989696257227598369882695889859479772790814292668783951869587988629519395376967749963896288486578745689769462605966477790728825375762582447775481795895451860588158242767295678676599656949855836999644943869854797929786718457597988595934784386389688371896035984993876154576263896867173757344854981907918263517278609598257979683807876676813368396686793438779793719678706478738587289562294561959399532989676931906976766478792945899374287259878289397635779799929846554699788445878543893557568845789142179789798459416553734598688629881698688357683786790479948859782395828894464658449574018847778267763738798991898479893038958957616618277899984398598688774757765596389789775968139368967794728388728358789785469788696890689688118986767859983998892634869683386495458965588892568967888569957922941859998727666748329799754761774373387993849386979777388848676576733434791840398728865556808798395567775883965799849164896406758486444932478777898856449886369789964977559988745438273197386574699575697978979583885575490697986939475457386547744948619598795747779589406786538334681899746657783492955274923163659365673857758619398848359984497697899012695935473654914767997874779498978587677596825655146779688868681349997898736868766777698675476688596352886965437554414698186484176860276593867763262016263396995256088984027276968569697829673599589354387749749919969582469386858744247864395969977979979938889849185667745494447997998874898697617475854567396287961745807888788627585778768636544681269279879766776486898664889858798794573290451601957433396158998958287569697776759578341439958559868404485865833993849934787472936587884793376336899445857583099674258984965811516892036143939354696852992508616877967744246569549291024596398766962768855434573137098879845924647827266396987778985878957868958774968659438372237446579992461289487675986697286097059849670559278467799587868593698410568255994867965668864516686797946887946594768776785767367674498966619796758447549719479892519695761853126833719774194179887969885481919619621889376884499990948491779808145685093163989847978266533873397728995288831833745936896849838767894324079557978677985596997357689925919966995959049939768893857848289381942742916640734898436814596941933715696488999786497271991788962354997876826587875755549753989679962477595987782597375791998598478894549767777093638937688856514936828747885759745756979937949695757955074651480998563268874899869136981459519593977618457330835873740736872257780291364718772985796989957459980768586567848379589588169596647478574764787981969162398697301997756865996976592862979996859789248975988759687582736353983182293734929737238625549959369856596764686489194989337818896489596283696977965675739597818769924986997769867895795575985957558766196269353769497499992566847753946858958613853258765968949989789857695699120616852290889829786644694995979832976948293499262898487688876852094567677495673879493836858873959751828766896798798349868573619991838888608854878298963894737546685861494936364167929985074955998658629643978871394948962219784349449453232586794744789182876575483899682695776278479796976999499035620983566358879377661984476969615547787898889369240991759295896747547193889676528575475782385696986283881998623879928268948564664808465754259745109996786759988258947799515784337585369987662871499559689854193860366982527743799959949663252888779859907896779978497485860897929859493977982900448469296377899991516892779252678487979995648585953195888089678607659694695709868375999487639963687916798593889883337939777097959648765749079979049529114589354839864776429569869435566883993982546993799963486787494875554818994685731795377686176578980689177927598166945994993498226894897989772869526638940598985645672784898771973419238857565938644767694776876913347996754658598797654369694359726749987899978879579967265638293794949788677898580535998445783687485946229790049855798852956222365970528387447616498798478193516477692958976997872787895569395889394458755815676858719464967486647088763975287846557979657499587208363764647596937716759830466996084672465174898793399656899477999424884943794597770896495849696848099499639178595583987846424581838583875548941669587896937783674835482644109984938486563344689732659287850395748509357542897584589816279395785458996784597093544797998888962727685937919247941875746396736996839185757388089857558747675359873547699383977675697766133437868986996744728716777279605869791946564599396071883329786316934308867949983567875926999360699845166687636647998176872838278567645699982961861875588469459659683693693771359317298939655898330504588895389876863774324968996911586839624486941573657857246959498566669834543699794996774593467467749585645878762745725515789789663641985339388973889958379783463753776589579174416999244349969552468444076282102573665774832789769778918996199995868999359845868428558632551775797798747357899973028668478667199575608557838577889574752669681937937744609662494496986989596588885974784577387854879683979995295584874184398045549375985284175884667944879847174105895351862468256258991675479985866429698488777557691617387965595742668868813865347499841214464248076587861189949852762559916586480272499293757258483928687497699789554965648725868641735932548521767564592074851869664876176744549895689749794098611637748937838951764758669292887856898599395165188996759959991667829834586479848656158184897918537637561744692257130937345462939878648898853897789478035674039699676998396549530997458179684419983848966414939375243658597587578685792293381529584958196527532999979677797664766692872799297198339949958488997599576396833289989339356217355464959486943786998240099372975448790924778756596996999808997869978973348548288835375571657798867849399699714772257635876651838764764368797078569265196179795656938735896248955951652562554596667577747238096861739206273168246298986628877866869299694716487988668397665932799773545817897519375950368979369999397394568889746352979896883988693673779390668726176596229247569589872797477796585835788679699496193287915899871458633697679635955959718784447997159837999488465534377558989825674989748083126465786398952668774954738794988855964848587569828766734947789676528573149645581577593536779823878885679148607587099796537196887946858464461755871379448598877859534212833798948274763956977698463447568658785948699854377795578886333578845491758765774888434692839195973468069999748968708998886997556767679976605561398568656078544885989689727499797928898865653770676299739649687752255579975347755698605498934999955235678744868929156398998099861977976796777998296078678499743586379956788994769141689479875685545295447604463768857199496977855788959994798579295214998153757186458383878857888865431957909974663944428138898915857541948885665935867659975876478090888728574190799584898971872989406618780789165456959755997548446560967477898538845896819181925560779577695869250993979487272570559893194766793646568991859084496776066586496749876494439695748787984897287677589418779722176895418881288991767951795756948514945898981569792886567209789999867656928682293237308887796974957726814504572877498978459660279872274844669385577566396083367968065738393199897563894697695543449686585391779835815369788987985387577069987948806778083918797776119582857998594887538299999655928859868576483312471809747591539675082595961875533448987935544488565495286689645459733628686955285899879348666269567154851161388929956442419396795846791484988274656966584723218197554928638457373449934873156865698578591898986595973822587393200772687898928529799782484676695889879698488459126798289767966808335586857759793488429595598669138978494899847926016987079488526886866998658997591878475413861392166539569689729756722287994999298368556778597859467956792587749035356514482999789994697124639551668849956166556766595979457080243683275889970057734784287672078468783824974553790929712189684783493627678551689693947268979788452582870857797548664539706863835593975488478299993776865575133855383685062710959888149558485099258621995897371657623749867784867968424658593545689635999768878987798662049798877548724426066431888867189999766729746376989988986788969644660189748894883495657828639577168918038685995888347559555672786953658747784972949838339578695939689682548947987759937898997026897818357498475720567999888141969775468298825498939852478777978869735276683285582195449995757896294775375791842938324458924757183773879393186969838497278799424637663719755189576929389941839597884268924259851687595661922556361749872658758718181435997579979678198644785179858398762108448379943499384789664843319485496944344196441074646998968652536921825933933532689071139766816457898879983946985278788638392266398499969966678277471953587724387483138913987692899730451998937687896899065438236896591593796766185161897159879778666359279788189482687881881925859458879771976738869983256158466826769695795687970568699959815806587987706216687280908596759189653849458788537495483177527871319598748643328934239818927757858898164536885386779796369564784993764835362814997393286835392349858993862458573876673169396738848899066385980686978715897680726224555649592666162273549935642868969776198633897727854542589556494766869887894598475855993748316903781998274467787669434396735397889787936592858795996765155892885349706938958893699497578566783887937949674498860724833985485476757554372949963247956474999864795686291776356557568997327499789769657887498026968016968168865673699380939858757257928444689975479799667296744639483539141554439653886998128647957738259288649553965984326989838876673947169778121764966749567687498896898434466207721490907853228898857811939437846889415532899933985365649457981966763033712876499778698975368596884954636953862842874344298848488895697579973396994706648687887779838544695879797985971368775860287838558878666565274998989585739378758588999845855397216957884789958944567494469287155996377725799956043646885687675695785267878474688571758844353338993688755907669447265297777693979247773888842373334944602679999983965767891858585265267863298247494828839457990974535787598768796865775276337867787944775539959834398889734751576235624686978358371898992998958098698982837309585653624949644554877277989767775254554858886249848626474098999853277338699198686742476768894315818743773637048795299966766659629589790254696702148574747798776793894648054566168599205391659973946625892883907934506628679848287647359588765869922548858586313128668345342223399845938566967079734686955721866707997688108869739788526990973878979579089283866969586795797948889988963437783412968778873415605589273648445955962578472570858495786499590987744959646499671978546959777439883966963765579181488856999685469932795988782957726747958866245720327556984565498856485996786697992097398445332811593953686389937573358657969859598781559338725162783589878598389844879959856448889987395585768899397945697524987831688309157978857587656876256694894577965597945974879293473467798698884578947623736987729999927498884486760569956479924895286878769861437499687673464975984414067524997796683724860883569937197999236314887419895588839884485299115898878945779889836457619396435479948489784969006756363827763856456465234496965681195311438979185993867422251937286332426973949735799613755985677976548067967752131913537093879811864656968386543487571343674482832389694521767668994899875632675578854557727089895809646399475635475593479236795597825870876877869997544388667866899909275533307635960723624793996650591482999884376497942367883940877778605588964788988785299177659198756815626585997487673629286861373987848538418034796692976571730286853938844693767740494251754477693756662299683679633427884979758586085579579346329883526529433623549839497664546874736187064567751696747603043639776787459772647777699586693845899945956785985779276939713976485892995638687264843287539983388669458997661867779183547756445433857533848468744218842868973593978748383885816094692993654858983977987787839449895822526474534713455799698400366786851981189227776493797976435694387789763946876865985728986489798899897579394879852578771857967832830493777987957939398962975026553294656858638451766497689507789939562660379583799999848757398899999649462784579597967796889369974979562646697759794696994459785385186856881877828539765975783649788649985392174688826699854982924497182468354995976775212443532799266655857432557457496941884256997999898788238838992787925198685995134543871556627876978119791688637962816999767383798868796379988988679764985769689528447759676948854997934780937498498775949867985987465496575604544961470887682686444239669715407476359667918918699596888422898398389969791754973628969887875987455995860585856995855619788988799464235626948958818398414949669794713965398607767886295498269477648324749706523868288786788886998831986566763276972997414669773858797685598757461962942516823304353371093618889929995425993478975496873968418465569831685999387451746774989377875962947561466754877971728799654999325653162328870832799464954898499842887768598858783665689722783478661279411693226856162996635218976763758789872124684987874083444547663327878708503472748635776484966779479397686281987267857813384687596894377487794789364436526939391599384756418676946582785298368485699638980768269658445754207288997559612684146928959655297945448504558489948728994968104777889795259699498343672777896714638495478897131869987167628673459237599669555886072623966668287860993799802899524598796289666983233745987889773338829983167868967519087985084666796857887799963755977399350779684193067469754698655507228895953298233778619991637583866648995796343787035188176856999452756089189847797057792694879385955798478878227142083855895178874644376581728735856677188747895229752252890829996274874697806996866343284378829998876868342573787467787674495698638758966901334296558989949695678564882795859689859851679493909648653575487992786745338386958549698280969384397470986999897918695871717895864789899486377634947637676888760894389494615221945871523987465678955854998979633841998185512876693387837697974995953899431596354758862871790966448524489547985789796935565549836586547395378258883999587469564599908978972997184968992787769758656876326887189653679896884919636749694935077134358349674996165546446573699689617258549913953063490569996943795861368879418937867498328824838799857756769954967469485254798783489763986845652503749636678629297796996774379696597379848999428584632190887909957983676936699484559578976399199835249866868697757706950932594564395969499089662705766499760138316559788982462595898964589466494276956897974797617478750924888503626857289748666924043597377943918636076397861993419497696090561429867796122887777885958565998524875989289243629988088855624489899962998882488668658818443358559892877799719479797889772979228799516761542962998298976222857308673879985599773436761452909798799314537585918924385569962649879564899253955791975622176687676780943478971987324177889169531398186813699398595838546806447757796825334686183450928738659918066778616378926945139558627566702593466699344946535949488979448612906323499988768961678877798763920894356968348999783897985686194635768974874125263993976785893519581365788879056837577844655933157978478899819828537766278894396488818876888670808389640496190794789845249989887765962978619452796959648278715502874835534894848549859599358882526924575890883368389569126941433939989947766676606304695735828054797865499597668674887539695545787165409843249784628667869395389436585926692386571799519681727849962982949388665578563692546568598857787795972700861798575862967389596889662678886456293294857276486889864286986679474478586960490752997853398642821952789317487989848329541993397886171696853555862839929485546764946698475698378868896654578226397637887905682872732786743987845752977967764787954885873929499892849944386894643288659025294270656687578924959258978398999826797867692496667599699969697186898275369356778448769989972627598876311545829995690789966222977224396976610439846247165084287744879188669569175927465769874894688497826941645686965840832835581465817886921596698126158497587379183828663676935681866954174897397696472687946785874878569941697768798798668843929675797625675489797662429979928117344886769393976868511762562769995467995767999692139764759588466367555349481929263475549964574637193674219768450375679978686454770989719825270871712955692987595799969628598633731763856579275779839222159477475968964752787484868569979739983698775939966990857968748818994957448968958627384979554686102926837866998374985589816618916759829663539709719278278663888485538997849317939899871692878595795763579933889948943866141792586639991328964893629133027694587648578739759509556959068687486487663627819296713645761298956937473864133067770489853712371462895675895935859775994881378575489515941926379985642798595396963679779464961457857685870397566866856465637895487855391338674838876896861618069586623278964542468854969943574560277588755999758282974779863997661833367624689275478786706567869157594917765568999876824577724849855799505896372244959468993449638728959789277567458731886694890739980996992983219389765377987745784886454865757533680889698893878864825669871464597893859918913596635884598938357999175999456666998698324928896881242919599285973724496054994579719754409351445556943733795533368869774047971994969837471894679354869983880487933496365948854698784278821875898284574865885664731885667772814671976693539969874575237870554418283438384766679845937888899643898847875984869616248544495782651040999199597389256987639689583994585177689727269465879869598498361449773571429272598989298264948797393859727621621684997939752961871894586287593969957588896329955688491337836797699873406789948746599674983571718985968829740779676369497496388415186969617212592167175985829585898687577434534795537974425897747286188679341697889988949669732697995943988683725825457982837652359719948997828181458167499973169779580589298793520916194474955513283765613784786746953127888995969904665919887942656979676666275776234976492894444795589896959758168447817867284713546769694688596897372889489539976641695289398785493949775287498557898441869759886569935784994638997286866509897297777646419670592537856480974997796273769374125373956853909865548875738765789609696632379333595028995954969899872457492538762937764485866543798629727899895648766973851484855554868687643788447958788284883599789657868594742288406422457798137946694338439698545930039665913195653368572995259572791285650788038589886955384935777677999899376699994981254893889757844786622489698428599253862972691449967975178268367578492920953289575127658549539754778187612979976384998938778369788868659817947734464389863779961690839693878999075368763059347925867868661980829956717877777945257880789348798875692769770275958677754608433476587876839452777652687556238434874875896949453786575504192857287467891845097379997855737929428677147388644928869855447666890879387890927659999279599596954498777993392877357276788796978559654554491058988533952969746399572778989499699978736196936598385545755077746577165635209777963498792923999669680625899898629167496486454164707755766755467074955676988635659302979469884465960298349469188772617249243886766525765725949975134589584873896968358997948738472673489499637973518625979937885878562279999686386955369906683468796776847266769893766999689823861646742092985338655671657577198688529869436276689969942682981949872656915767628757563788689943696942567508997216399279876615629478935358539162653975550889786554177985699849998988653777570177844799548578884655764487375944924376978627449198653873819591834797929765746936077689856995799757952467955399886236833025875397766856768479979344255884574655509438874387899572613991999529576781943756886178482739376737952865494727714955677637998963639145303989786564491566378832389992769989565077944565279995687089998598296385861387376838489376997926843969671168888959079233462388475339799338857907469669868184768553363592961188156331667994817549349864487267786976486282646894824929615939527469989586898431623493598662582866969956956952836793723953618447892484894867752865798286158679967986506195227679885936994636829670787712887898979972768086613788997889587229338633689954794237968797767972576848997369385564976595785560897399858227838526899897994689768692437859323947597176184652773183687291392568788789534727468265574298887603967954568791775796237938669567667888795785189466699562848859676426576855185439276497956398565646968319589933457756386836514926869965849641957885368659147922259319573704552763490712427286988487659689737089189779848994365287883882394558775969568463876978596379638898901865525885957764984844737228701593579311284765461763490231938488972929984353865828597664373297998838889285999899489886736894389358899958938795796378982398077859276848912076387157877799969405338626576988565474949789967264198915716999736796358997552534772858979888668577367576769869339969487968910732498906677635165398537051856828769936976939998778418342667399648786840574548867986977699465433817485490868849864399766778964329655659776925599898447574996754887897973797345695559787243986686778957635835765987257384586989969592856593791234639637369677389889988776282796088685871199616986121096997368435265938095577734579866485599531703788978787486862822583958828497993969864669839195578549929368138248975757073772532749673788689541886865687333969482497979987577098754870528898836876768995087297049828845759329497195793472373795627618959494865892839637491984996889437899686663496954788574676976995952699866286992169689776787696373266879814996486446888563586438556486156585738815582899977636637944777520808786983662839586378970476824596386658454798297825237900995488869999660898294638977268058917650458639854177858349880828156999988791579758778704924555227194788745798348999688357339735993525980093336092794482157966259517148985698966582596399883356874459897997365897842434988526632935825668099785165726486813713806065685869859685965234853978758399865812978781495999225769825327949796856596936966838583748866896928266957293565246301829247847763446195976899562877163892056797598893579959264764645728479833877694563286981887848653295939763966379588487597893748467479576768828693805764679949989872799905118166866799409973257886495785378958149312731290859403991548737615193832385873398767674898754322565382884373449959316942779937995555634399941796553564791853847763849953954999075602772869561725434843914269749685575497739618259698941985725005462993844999533765479386933948427769576748892864785419549198734748277796854385887988595881959979952826364525559356258996769986878748159957274459675819259547648280975305177456647185613988673894988612274125377988473685567335687377886525648658608879841979173738349967951395997579839875456976815758865938975586196541756797754654937987954684868289281797374689084479633544158788782937951514399984919767549964989795418612410288894873298794878998896094767473449814689697672569397871840677989996869527658779758747784978374701695636273466957781689983927480496861424236479324699679829869461575799613493609897878989995588719222556876444866999798484656488767778997699776456303499476954598798868984341169797248396458947985485599842623918866124642745218974666819898778860786494569888974137276776848953199798976917789557645234746521999277697755273697962634746358989789898953299976594946647794667966677998857656889464388719287721883298679989591370963875984945717919699789159297266565492645348137881776389784979497431677268866581957373523693993948667966498683691550814576739624857413733797747475382996981656868948358589141871863484578949888670688374755350309442767833893668677936853963598787895541978166660358699737938657285547299978301160857894687963284585394481789999389284211899986146477978939632749829585299673883895396778653795499539862584396948973648786979438695708891679467241597785861979986597319352627814355289658345747197875955756937389089176063455148189089638957569879546698697935595533695998475725642299859931965673999966463447294677454894975957653516721946469837308588982888886845858788595764497465959875098989895994486783562387999859846096936869890966696258527355643987798383559367916278853989985758249685864598703459869623381969974979378088986297273769788560733772886288769657782159548979449882980666969046269688887672868274092793599939739456848789585656498586598784795448534826879757576656142818529599478036586389969377586659348749428137742445485753851789113886189436874587479573774628937293795998259595489416487662476369346788588459675578669618789539529694967637413687776796939894878215865599888383889975467464169902399786997521845847663743512389589777998866294092959831682176687708679370084379427566465976426898715988399639538678564699848739578885828646886496845462269658958956576599636894768747467469959288820883453299306569778828867929886737988417595597589749895497491691612796436680814166818055998685688078489694679661858492547179968215779731781585652448389857516762696864962978054539996976479655931193798679468695798799785884599189984999177667772188669578687812179962125887989667845368188884978585985846909735967839838858269730968968989786975144854436994989947903673833857673205756379197781476399327919389642274697662885004068776989719676423986824889990647936979635968659765689379690732665770792787804883698362536898763657920985533989354386395769783667257997246109999963449928487851876387977756528548988169639948882628978978634643744554956975747883428967161688165639928679446687978935155719287729968169744962684775765329484696799998888563384199392718653736891564078884644753518946084596959773839763854529749788933484969044174957379674669585599986658566427779463779435596387236578567926786889973863867956136968689019869217857664956979181782747369858739757826489955957679355299789581557688798844846379825264978395399741933988557906966436097579571780672894982387917658138584483477993860796606795857415769887753897456454678888687888973639746953794966581385756754391871926344459796166755799824776537996479765968987268894468999409453678267699779239949157218809862695828632890725994796238687972999941403988749029667879954498688697478847898595956535531912979993675932876936832793958548533899746956955996188869828964674548928839877375796091391299867675788738972654099486579442343299957477784853986582864377679988896535908054896989217778099264876902989935987961279499656485563295967571868892475987995156396635765383338897486729959874971378928873739606362297469545899969639779857479863512735759695991684817999797888836369917689499799699295864879869664236478552536876658189581379976556796755648299396468479794978948712872928173858396597826468647948783243966938659857035884385576947495599697298137589987021899879461703756885005867748986598955986974878988759767225839469863758798887727869545684796547699878852823838964359863557846520556489691963338749497442697879768877359089855951369819965597565157576486678737257773100978688084986756979481425798586946458637631332194241978898609678328717953587646899954975103354194748388832022205872269188756963366839494876685887944537156589897697698991863184799328679697888376999779858698824757389462939370798596898197858848604669237619236958675739879877453346675565787991356535826959894966468326737465525474384997082888983474989948986435878842699289645838386938696661997177808907693997375769827373898996978589866942587967688993687459683885996743997735454838571489999562983768755985067637886756589465355882687897305999199589735975593974957693549594954898894996746593888959529693472998997683729939684169883670337898997396744903925787524137824353442913964573765077625487310945667755850499358588679577815454777397797795779582887977855577763321719242208679349991775286998772558687843909952268253832774376395238391966927948445689498929657855689970577698597989460221893367685571875790994559855813795898897858728467848666495745559287758987993859988864476986968515755927857936989899469967981184497191749258999678908944489543389652578986459093678453689849887826499764858500541575716184665234865768777952179974965932778794998787975857667478423425643599652823259579957682774068947483229784876825467478729930999555705858859051865974546665967967938885679519895575335399476882699968773986498588592975668602937789894839578668962863849979965938837208489756379335880556678783719709836682859895356947448247588324406272994469652596587878831908959659879873772797558375885346724352493839947366426685459867907997985437338785835323785997503516745879347994766526427539778685716985893551519288789448777757991892676679373557577892277788485551775096774936724919438587679377985595883293773988995684184798950095329145595965187995846787658915789973546259987569339928887197832845988684679598988198996574558555674132764567542673631974838394649969074857798368596779736365792588537925997696576657296586499974869965897848982755195741598355845883677177597839594792997967439986153908861824577797459235372447355491396839794657865343578915789516558759648882952986972864899359992681955775996686958958192745497739698396848856760502839564496956369966587554372453977876456634609653680972888864328736484673399577495655281958197592977678588892676698853589876119150579228910376608527833443777879889873688407639457239389999677469998898449469475938943988885949436536890597699567736777744267863440763974198477323898895498489517698889496866208879587787779950933359897858973753476969967537376833278387779577382983953187197492639087948281794841834959917696696372888647754779958068391525670645862877037768191599904596287555537878468398745586879474666453238934983877759269174615343984955639927695466186578566552793574499416373578595921595426834586979898893998865333780624933689847934606985241977563555429335966529332966789998885767784865341986696899647298597377145758957289969453785987713145319984784989992715788998288776786587060676697559729652799649668872407935889662979866058979955546649765295868999387683196996767743799548139966237187098555359599773799686457543758727786773682878366376693849565953527193996599896353547449978319878428965989885182635457788991867349479979686756144559919554969636172962439686467955745551848669568469677686882789938899358644936249579491389489782795879894836879786289926777797298727294869995068894788343425957977776577863649469884836634996834435696637569178953593938559497378579386698991876481626768935958819884587899969766224698696492865922099868725666332858997868597329846928965769886849874951480948486987555638494082762393388639493677844965445649975686382484647797947796186893785867718825372868594954448976693718595668376882196119589983461437845642937927794738528160508517394599893857593699437529796928469899987898875389998785693756648430714599849518475734870645332757569941214874579298959879723245874999374668843189468696980964877565948390407577969269118794445877738580362268649917391518485496534799788569565783898137987195916895745548443977976969679994827387283235768961826793797854659948994252850789467837962667557637923779765889767672550984978369742458895038097526966539779084478874881267737490689294694509704667796733970247592886757469464759897368279653342697487631569914471595631779368926079692885978149379688185854278288898468409961799466966330595899948469986579565662485869476784523384289765496897259866974879364655019629347572797952116957536586933758628489348775872888331569436495496465292816654967597697957993788692763999577455410685998589974774606934703921897539884843359255517799448919525757729356866240256587437319549889867679578454458562496623658479899922742064862369985688302395872639573668835169859968848338577879889804722915434655548227595747845474465886876557689858784777814098698164877463797665061397391256994177378974359855087887249088878506471677595793818857588877499750735630563685653436484683686797696136268937970654875227196679682337496968976227688187261622909869887749924408367769092533555796535767781784285686868454694503674171553979936399761612753536499937847995381747754238606952871747398694729948647297974949087143299397482885615226378697479697312782558339773759666788967463344581635987487843159776956784856748994637388743673399589717579356559618968997997972268939298924424815827139586367884389872745708998575867185352903894764789337898282785858044786467635498854889198757645319430875959696589775691997698898837926852997688753966773957783899540423541897986349675270627659755418579953364885953974638397868646368937594869887763888886963276046159476758951449865494719998566682875976874137986521674026999856969653976676908991808836894354288467827586769795987948366896356904434796537972454459872657837578684265774597747557461749758968875554495769494296485988672998606649847449897556896496489199753671177778369893089945999885676980898699966444478846483776699957734817956099797976483807699435755986299665386989784185287264973637787385823567498189526639993238575597470773918049619818868381278974536167895844616723385013857683769549894099616352567675498688488998692957289986268537954565452559544947625888874243959979496742393935779065445852696857246176865365685683774361766649991654198899901779838693686827766863639756286973746479999383786261397786616946672189728899531498563485354497833955879669666632769588518769167968781468316248963558275433233699679886891593936792753718599778698099942559688784099344544171777627552915923875096517817692958079457608494579046439764746984839747678588178399836998967844899712582992998935892357748665876692332857989989169452395518168896667446855965986548375768755763487638677774157625524749894859559749695436896797124688449439877999236964428957968890268298779654999896526946344889358716998417978599758779915567841883929365057442944695998998787599386445937892695426697366384586980361933717777488858619783798755996897299736978856865697794845987278818767689338993993852989868775748286594149798847777363997254345944824999587798792891673783817738587879885736173865929839919989389428654765492544873298377274398933588477988398156786693789825496268685384987555156695947268143653770370050096001456955754853043465693873779766388862518475849769959857377764563996976518746673587814643796584957896442965959799789179885832597963374997943176697788967898864693169394697332597249560953559563937678954885827267518197793724432668875689496868675954687887134759998984626258617673389699596793542879478786793569858531582729715653487936734149744788966489340478644769342498557478278569940459997155843674798639818248656743697748485869271768756944656899868979373768964715988796618520994928899979668995969989436658699717628689882546998245768828849960267847993733779833569677597563818587775669481947786957280488862538988728962542999979838980898747826985676948368459798632482788284495939587568995669745704482438382968899756474694560764083948896596846197879460791955996585882482846854625142389985366606819998828489879707897272885718784842978398957798447766973988492586859568851899959735185395874998996977366388521837755554697673458789838553076493977507279762917675477888729476757499375689963534859299986166065684527378474961948539778923465894955754567621995293769586597047491495496635632844771505255968928777538766696330946990299297291765774599359978736977962515898771243436943076789973897378279689666188966689294756789999345369377178929504386457755846683624968646994889367776773784486688339173586388779899847266975889699853965899597607986338387387896476770909579372817243994716958746876932818489694776254574296876989587892257569078886976555692995777258576669697769969788655272356688693656696053879993587785574758284118980977695888799882962953996658879848698987060997079896574540862588381776665654655379398539778173944718769388709567676657490868497559263594648648584464928229398964665450842808432978690649718747908282959568998339898056433936862914778963785869076894332948537047794529195755376228677679684991499592746984873846889998767379979390497634982507957346575652593979830889954988629848845667663959823389969497591615459940539838731791537168749848767955653893332318359998937889469819785488885272893639218008592636968798598398774648685555953298738349539846884987794866899876384778356758866591476974754789248634354598745866995994998577797786484741897884779877684989828873472953966455977699637529686877239787038565434728351744657899677968943552078893885397145977146249865675847670238045998633644875918885895695557529989979696505696918776947562843994097758996675646284296487646579539682754554568587588834829976546681420393809699397648929579833669748597283945979796649864985589789619269997424807974895689755657835855761659827990158686469678749986173994470474899969909233787793655928188488797937985685888658875831257514323478756856537493187375848772375885623458997148339995499486439697096776878999685965567247288449857943838767774826572938269766494194731966866969996245777263949379739499571242866857846568719782767899994694696657286584667978469844687916899756722889976633773847788769755658787386549788939926663687838442761976671599533766897889627734337387655875987974753564398978626075331227562619979846919048765692449845586458186593959967499384586288542365857788376889576838746575978883745380645662657785497293746699873418747597086779876714954547779696930738724756856592992249615833789128948583479566699995877448885668097506875856425698391688887567967996659640352769686587966569857561934975446866727996850781803609833548943897369445779847859806387988669722978458694945228399337847363897881597898698888994569779985359698319669895699865759688825827876867707683845793398751739669066557788695013538575486461478753238289683767559402660752897303953953967618878899499289342779955586488388725249745295695286926144344683431299561526885653646949188868468471683087448254596534889493895939469779595962795399979378267346837869689389591989487898982084932836988247252576978979471985443989942988796914736726289852857184293895889493305959471689599079671839769263107797644444976915725588886637512806888596995544966996482662380481847495347804419767493845487909898154289097727815383858885658657934499984838899197845785958690597069564939156051424910764596399708465963695678276979846261149897464498548282717489294487567949984889633448397857668587975869982991995866153696559724786789217775994878397455966749593192797895268683796893186964972869546239655244786696846948788477478449977555444828264397893978882997839773958550757897189226798682379967299278669236789482465202999626230777479989987759797963892776717479977847822249672795794938777866273509455998906776896784494689755924336657999289898424597884089979487383996966744396837866551829376792676233289917698867892557889691877756098379964987649996189959849689285184538277944999694883182354820771998839967997284679672354583578619397874789889936871587576895838827697833256272933677297286747673249338989654466977607854778390688468655427616717384894736980766916478485634607497584132186470452758984444685861678498568788976862691214994887378367769753669149446591967294672232533187467857867908888589447681985998962065486749888497287786469448793497764995475927977735868685762975776547141777398290987448995355618639659192847979954566229991939238565999958716889716729042449662556717674976974858490464768769792846768692666586148725595647387499269863633496886783696986768194476765795808865655794454543778529691997926756937789848995983688855766655769492488373414436244462883675325817695588797786886837976665979539368766253245288798798393774955694243587636929753938785869909895608668995897674578647839125378877602587795978695982689182067487998291335942954388406794658988388999781782596964868271829748574797939574492879867146469837882776254453676340976953157398129996496539798799899639985588427487332377479639553338885761477843690658269254488997795997827309963919296512593987748889049815866566649286556979492614289362749953749767542588899067242589458996951595576989179375243936775756666275806687854889465629128796281284896894041771350736762554788938989799553589689972878845146137997994994678973693544993967945659975725297775868387790979786734965696327368625857769344799395859661686895882689073794725747886505697728353291477981474647895884957196774977348545945515856896774368066538477620775699976954806724824134761576889984299749391677768868399899278609586565658854786254791485169459878385995737846992978965478827889279827873254975539949234441565572949983787958724797588569368128827993468845681248479299295495487566794489559178288681215859595888477288383667689654948378887608546763838724858077763955595928988627847959716848798359039447877986165294625252869918354936698364135898586685279194834696894828797661198465184897697467769768645828888557998092467738995942965797571946794843889147424049778375819853473451784759545998877085721597668798783466799847932890997478832456548729927965787799330379788176556776566048758573983270916466263947666898949069399986971513986759994839998681674684479859666886280423968272737753947975519746085266708378687227587412968976287796774325622457569957764485789877187535690285271589904299279978736227791093997894699357587677415739859388992943464370856382556276369255274976851615363689766097238776777989957866725975849608886658798978358166657856956598757657484288589998186988869777592597949519399696731764276397983955596592758964442366999562390827876887862722089169745669598987988329395697999886755686944966998976283012572599399540989687848187296384977263465767657599968698239986328835196733066804694799778894879687997615889074689789293572873579399981179966999945975855549367249633858397639695769591565992736818668987887634376277622377058764443679676135877584835775674899067849695471687667845848996983956618653831767382063589873859732782975806992253849817825795446847694588679388496884764599965868594397693838963295988657879055727667988883558264549276298467999963843943363348593913754768497248164949758388872099704628682024392758970866262968395862789469756786967485777669776999764448978179767487589264858581948849353016786579986378892866586684655397618879911975946944698650476628075416889067879598697948794347968165115471752938964753453984654438828187897417944764892737857987644665988979488846796896116844938640985689258542884543222687572788938577587149878377987788766669964796716870789817965699586666294584105877538976779552877837975726478092986599299566997598964751747899389658961249725387877187522896407445838838557669779967198846996940545946638521866649989864547964967586176686784797399547689687687156497872469942891688987186882698487655988359887286358269878969783468303482878328965428797698868689965596778825967406995455786579042162985677468748528859326887967386677569297389327367946539859379948459375366979089053829598289687979568899271668664946382806585892683399668882616878873868594923529839753572935698641595370816411882955256598774926767868752743545785979959163689344388707334455397587615757199297499887747586667755713892650658676685827970669496793743689832566928268896922957643634720559574684794888534978552373248798778694682599885876479782693223653832746682239878976398719541376286968275778795582776557747538998852777556343608777729397536991636337404887913831477888455669982858567649778578927675636765971677783462741286643643855279743972367486675231485897998979748881982841653959354285556939795266697585998979562998857302785774489878887297258604854799703694841443658953069886226526479958565767582796997560275956977789849945887657923865579657888975415569692
897608394659879597569946176446481424686587879852877993190467532863478692584766343993953265566875898847437375873992899677163954119982816398779987546275876787567598227223396968567626546259832549948466718577893399844489695987707662298459239887239748784798495972398869787982328879259648484860367264755891992829889959919486895759258848708066775729472688748795584883279307699566669544279774494988506378838625769477879975786559388734494669574633396299669797899998961996579877176895789378475975544949785678662577856819894672878975616250472459852649768838892828797187842569796447376571346898989592746679999742566378955998745692877965626259534596676648688985882438884795446843495674558883857928689745489772787599437994248601959935675673998399966697597819727758958785549587886438839872877497855777796096995841785867758636498583423249895813482188173979226755667435548575945774718508719452788316686585823974873897846862864998596995998153958540842769276767798877141961375779890578966858588867475688959868367626875664976478907742796757542849987389357975693840872795493182598865823888033539829298597956858412969964840840993796969846681586947631869649849762999418637572596852927395844567985897748817785868249892187802857737461783759244636949499872289778746927604979369744715787581998608639894387456855856779837709285592867756646944299954797678884458444889727459393993827795216995385492816849378756374759899688248962617245824495996399486548767367633393799817468719937820396844884399913796229738799897499682582898878936978887766456288433993549585997979599275795683844953567190778963837975165305599846887093928263689465635767632595487846737959882889808988776574278976939417382516589978231835893869983782474393999278779599936470829848946849848489085125991308567643921967829790789835627981924684675767199647798764633236926999452554364952660684879986377631456696549272237955357778845568949594556596363975879369158319997757998789495875983654387692294367795566499982415958779899865892747299587449616068782318557212378444484689978886936743286984662763975575587572738779836738687979285799238595995535693964654088993754948256437820699994636583478577919886684756889742925065886987898983257679835929699642545575386587757989586677438935795438941594458988475279355689998747297467236378856187623494934895955185315447795868853773936874676636956179781764994936588729380836958097198229818977888756725286935822855798697784298688279377673686593186472875761906756999996447663345988283807639348557673679948579774642676988759991375418660679864867635853889697176678986485665766998678379693658785654946680928519975518379982554443665798494695976969486594837498398393972688763974656985176570569879716619925497685786490986299869987696093218274488791799369736999997663679868227123669783665344944537626477737593768422477965996449248249753258979975177873497882557849954939397394983628630892998357443955955558756896398246837451013777458294244589449499216828788805859359227458538684999970495708775990998590695394888757346981797722088788196873784859792716796939148796596582798766392376348796498296879952453976896477617784569892759659063619858439689769469797734489788398733976813669612473609696619171996299489867936767493979024699788554784712455577944465879655259588896265795358363756184865654169892655372066754800686571677695863857342767736569178657225856597644497952175899669585815795993285753379954986857793678586492897797983815799688658366738153355697792275673553965363588819858818568895596967593429990668655968982460892286886482782397378643668459681848477996239769996146759079485884967981664795782847635480877528639550926399566599974557878726938885897888995260897839889761595885276136666989798988963599449998697958993878437647566936578931897889885692899946638556439687990746548952952927874927578832838939281441298778597964737397987515298205888993866367976892148648703840919926884758929873025593779494875361829789878876619664438467496885849649488827527457284198957739364758898658843179722395877336998994689962622676889838453945565238857774679826597979657458698927746734999183642999076865706872346677865667774989728552536531749399809648935484596735408957189459448804896287579469875534559799392998896042958795661598747899283857590976988494397328876346688674925576787688577758931296176873642509996677969779883367785640417843787545457789379784903206899292456772778751796778697794789597888495937673972419977985559706745567917735198754755050957688878699921768583798469432671799899799246793925426978996676449461798558642519996364913879717583849795835994955514734585235837733453967446686991872367459186957613749388584944673298787677818047889974864856894846997248093291508746887646678576934819986761612569469183957686494786156858788697898482898079648697144769597919258694729678558898476530563488787796463198179884849577385029637296639637634876193758639936949937496795369447768675829778327893949899499377608605884799917477844445897809794795877496456968739943887759585953717379516536999449657857586842553987789589594495927829929964525981476685392799956369482190761564733779772638661669970948464896649695679843978918586192231628588673869462995116463572258286449624197127858428458767765191889845837573670412225861267761635998954365492789457215098258887943166857339578580569872475992885156979948979853377195948858298867794778839970837747773627298849797176082558729888848294258614227481184151443776869534544771499956775850785539912756750969298369668842892684653557939696598736499486477408551798899874839799761348757427582585963996479958798676682973383889989793759949744854869386575858564899779284558079667686324566085265576888367288829753486885590258435868477211959247588765675921679885756836999790785868659906559579979067857449373976537997535483387866890886969398337478812862588696988178466495629899586598579669782889506478261429985498789607449977889979823267626797848377467474677944588698559889450969895657035896994773077274492877347819966945579384719847373547299946841826855195150538294577517432477779255697761789362438959248769998627831994328773438254737898787746553452256996783795749888968795889989935798786890678679671945683599068487888327857694882942578338587773719881788672335388971487776882098590914373992879695796355948985753348989647768925263379007769459781362848769683668665395899696465347993695983657867239575521494521735891562468731091706746969624778989988999765862989073784354259284689915766469477858986689684978696885864499769163649299574678607669979976838159289399775548157679047379837713679328973439647989909484889962897376869895847768667579979385956676195798518749959467286917576686493659888563988458589977357256935559358564694797966867848339088953442398458975193929683743678989997614727521796696597477946936394483395367232474711662473938356587896787795565598964997348969588676639895187858577987727658886887688185893486698747451768916696955697837974908849694865875732682477619619646449186887695844134535699298435558557937829348684864997628677683898934953298374867349638699971957268385813983971657555847455697588957485949669969896945388595667899628768686449436497879896959787697971549596679135555146799896782498748832863454154362527563178187984965653169839997867822296985878516766946955839927868564669479569385886999489997566886958955728988127676679879456737987736198027953298595299824495944467879385979692688540886811726744958653754884530994422958479895364775799896659835497578458959768689938856769855186467395495969588524834489219876857663584335867958647688388718774971699585762943947888987616366869799858958674775547449934183964979899694186936993527789572777877784448833773866978391528589495879814678794638808897398888979985986615798567307675792674189747895991849127136652814897584897199288733668490784764595619988357473888868496943614685277612739578315432893726946966595888427771639952688968777698177045677675497378397842699966882999893363918763998899792277778853669637319497676678665138220484125723766208888136888983269596668185854247534309981287997969147278997999746755779889959990757824886579824539793473258685654770967516535262412656777274468466055265317287517564484976748958994697747974717749897395997626892286362599498394699869479671815597158736250795565695491869658629789579515224337696993588725271678486999767386238663486277783768655997758937788881949949788683769779812595679899765578631149991489935959597437984434691718567961566893665627468735770723747898587653633694669147893982796747296684914672968835598903695934699726582267163196995984556699832993735843865669847462686983693812451976795965894516192594147669598498382859895399648743164626666485579498742738923729841813896899699552171779461392265352781469716983071478074342747845871473481467573741160556599878985969699985777662546397858599884262687898790281892293956746275177888759392538569199577679831798617299947280611843994857967897944176849972884975869998974999088656771479862677959279994779229835514752997866917436707188758855969579326399587270744775487832929749899645271185759421639808975969655893833787879793658372998869899570599978786669897599895723462669663967866793825865699375203177643565909624858695168787999515948246953471879688189736867475576548738849699978899965358769299963677196264838559786894826395565891448515428463894378936024952536278379168703228588942649748716514649571587157677846385794999627595873816998748779576199694383789536894781496880479297337696798887629969979309867938684886689568595978986968998659378582988589657462759815876999467387936678552595393966733976957978938878548876886909477923373574764794575671975914349076373721915481758085597867647749864288847655423086715587556165762737771559357789997199442967193284915546769949549936861235791888679548783965663489772166579967678495263979761456799362628289624597899989899492625299878951166764938695448969497959574389888576694296994696983897789978349988991754942728715588834888676867958788964625498862892889577996254992758755399849583498787595687919277977494629489794699952727820787468897989649535744699632696597829593848372696776718336709884442528977555882758054415897676678926378719775872998975779974277973558663454893887998385763493886676094683495971787698533478617884579593957797233277869091870176769996647693806546558389486539996993614958589886629588617367097883567684698827537698862760559576779242877679765898789569748487954465280746476839581057448027867697262558958337277939699449450863959427899555689063371982469727555893764681475559719993697155673875878468399266980369719374988297537999937373657538036686689254386757935743955739565795599464776874478118628845807559978676594248969996661678578989876197448756777496436767413985667496495877588589575487683366998979996046772867429436487658667589556591266667779606836828328569789977948425259930387876675434415396158297368898869959585488918883898744638832897518446661951894828859984097993568958426297198599998794759545995646959558781878587993598855289796666854596962755472993641076867398097101245630947785098894245496668698589298879579688934569579478854908965392548622599598568473346972384830975439553988589652698627638569289698441396559796197945446349479795439748921266742678551236314479995895797929596983574687259999456827866689869488764322795989678786688725265919943897558466549567954384589348708795887802898786669857386759967545846599194639227787999757994679434884523251778692894519256655894689337698364293667857748697662509646458063741495745629529928157997866677459789426786876898857442749369589884263253869826063668192786856665288929978383458880191955468936665993858872298495944639653757468268984944364963865882649969705476682667863914178849499849439675875655839917874883259389854855783257475873833728987788426936830324195695483496968568696419695686859778664987487483693624786758984989836968895723744818357594382867685557968895464639875789586668668497946494936784777732496099666916928767745488753892688982399998577343937483263889238577865489569663670877557462768487118273950886988479959958247678782272863854782618753358393685636562774664644885547796694427942879668519998795144787307928377799877976255284974926547779875788989539877563678754958915734675685049258785612463997099863962595364886458889579974706856469362628018637478864099664556786388858865888985788677688768912587318938235868788572725852181682768696669329768458679938630489266789967670477985657978530276289862967917953823856553548965487368238778488438589028597890566698278049754348637951325957297684558888667676437577469798856346958957596446647888889668485779696357127887883294414467866447297782724254588939365669616062679428869949349559947257465839859619069869975995780666997959389744139199617548904684657781375276573953388381896245963666781425648586349839848577847586776704367773473690789269914837667857694927846818484462494833754746267744836797889404889398819947761588674077267985585397657479846679578597787599713159789292068738986377724657017459693764518853767569387935366581167954984889874862765899578682423876948826329771985599788887627819454580967568958576988997695309819918637697774794539679947768845774584849652878978328929299175298736911327238476886886896276387882776688554779429531837667299860259146428857545487967843682965688852775650985589763898825764955780874769492777691649427797558169747451677965545359588668396995364888269792955193168659359722666089449953873756478969848998655975990692918038737658649538426856516788387418519944745737576758876389894939958595559644989789196144666267915888589599576731839809353445979347765858555839689503881386554841927946672568869964206621586188278649964623934297485250996499498759727967024788949856381557733536689141148245596239665827848474468678884936476668773499547073776865989783792699882559395985959534753676292986988665556771585885849173684090573289299845514455668739727674319232653946498588164095851974188447788860544939496048796598693969971492798788519564279897749384899774558877246887956856694369666766596688949925444765788537994495875549582489996965508986467172288398338983787037671594985752369572178896358698816268736932667978289792969582974938885846237757874443382949899634625899297469488689793898958104778498536993949669559994663654679883347396699728609497698154889298895888886671450982143767675338494249680988867658690879968587953898959451488948494767778978866396859863869866714554923579689869775613232956329744955978868296772167611847418593358590778289654858936709888697819788549742294449634090627653974255975983735677356506646676733976462563460279794993988557925765995895393467162263498696886063551373832952188955643886764038768073247576664257717988808967726457479785836917866236748998286729572986686979798794496688749778275782095477969664980296649294316627859977687169528889155462966866269267760534494786998669403574647588137382987607987887871189864997773753499398875986639889567698026879896553290972631185589448789577974896958575569959977893687857066661538196909105570758919775719894875899964968736664999907077718399659969551984395813539269760693766834675717969969376893297868668537919588973737638659876963988796822775289419949776698859634949469995359185672998767869962855877834729849797392696562468657192103967672929583954359963426966656994982899848967665687507549778896896758787389928987461680765625967697958522398685815957899585744898954298573438487870598396714435944781669877689799974388898160636889388879976494758508547660635997725758446970827954486569471417272896897875323785323854579843838795718256537479675665695183822686677683524633726717615978573454778848677277979377878994847988736419680567893883839756577434968886978187969985956809852899263847697323156796691962949608487141889694884217956428949120556879766414779375546786887659958792949748426595446969279857886987673338078796826415143374464666557935799761988947996459128699568678878668702958399583849567879926567977786939259647999797346720378737928947399437614776389418867564397432436559476895987898814886278332126746996196135582735297246618359481876674785637894983339945947964452274386964856607789575559726922679855877655967835343864779228999986704355982719829795298843325729645769796888544758357095871575638268858239875034775656167591567163599777648896694754463999396799589846147969558842785367995689465759879895954248435161875373682665376295998677698841374596258944289218781997407555945598944993987328445908598723779987340383156676867283677372914983847784265679697451666799973779949197697375146816657261048889578081565847598477257275872886908564348918898355482528659617992799763647358814656961015597755889888544963636192278768888579485153666374542876282826839488968838879840385997837446817897943694988799319396647799763828858582877962785559399022688959498469956045918316849783454989198779839929517573395924026712797649757513280569720588484638999387687525956937349522990797995675884602996697887444035869439987191256589994679898350864637874194849579765142354899845878667585268695622895347886789960667899971769463938777758286957737351638998948986547656864172698768662979397598577354011874894521747575897484864289292986964677286888121171897581209875899854977594486675498893359487917973879589638679762878860539927658865597997756889119789777268965158286768938982893694967779754566078672854372777812998970513708988394517824157374276873749175597058594569378733985299667685993848985617995645358417872607583787993899542508459974970625915754485387574799856913643471876887138987629718256346776914919729896919823267634376985889146867834776966933498759496477763456351840680937896378278869844689351439287987252982618892945857397575788547688985259975598077845885859822345649542009793856741438387989984698885512397764997294455275187915372878483559982129738976396282326882833859679667783245279971173975708964324815772671115708760545386255998274438978697548799846066635763637747498397647754999871668458267523895892850759685962696392895558765694744925841891969568663574456299359981986857306366797688193763993809502818487067574928995168828938525174593687845439889139988938991438568953558996864448277804147913826488478066997885858598233470779572989647886689254765909847690842649480678639592664739788996585350749796597988788819885974499384566899595658827982429467499997667953985818472484956975478947095974735164228788618898670337319254518588463757759682986523189848683439585279677861667399745160899281937769879865794816174999546792946756998069759879684986767818847785328425947971539834167985976912441420358886879485798734759845526470843387798927469892998913989492966242667993423858892624986777976867479587872739358836791576868658987648474762869555491079969968838886813897690688867938875378644167858964746802284873879533754694735963938788333248729096669997555462425765550287845445888863192826278939067797989523920518746941499894169889728858975977797878677346403225765667427811947933992818945782449649968882639573446899888247473986797561659659769968237579884823644935495429216301049865719565561669889284989444791895064887957264323648886780197182630651977549259177349274383739985659997326526999855545938173727907595985139859968452647248651176816738865962618946613117162966295826415988759279079265837434576396492488958369615263974587335487977862815858500725435295687549676828450844850688877784518356853285484738398783440694342693416997858784927695678615553925779945375788659766542196782922117496678337589973586559897596988398085875355818793951556547795789587088899987628689779865458135758535396968899889887838947593965675506574989088755168369837787226988458737489875666764774299656428866643876398893387648595877538897790558937873582165377228989913848632525998586944535789793949939773375981988908828421738474479838830776369805749749029989588477993394798066488785865708967989378778775228496998169262945776689096553669893783719435794876695936955149975489867855778663252469224978647657338659976748934975023164068555567759367953574876987549674869017457957488267339249578599786184676760277998469983664553846799817986759599491959821885989928548719195809859953788987299897826298982795738889258548069647653437567669577471199035984699717339939866457974568878898114935641437322476869756479878555797873473951532335569573781565389945729348089858355888344919323620278848777884598345577946987468668936836888847346048665437033362826857969973596605558668897698325986529693809873638857296476258682878657755267079815827476981497868192991972371829686771979867675297683936564352767475837788398953869568573562574945566533868388990069982525677999870278687468837926677243244446655356845597399891844688989738638582992459628985099585537227863376659566221695527978277599836852856991987460783353498848195469896922874838865529793986646794689466205486770489978968967384595474850774841717540978797898422657276779943789940736198693685697647998939352986966547739018682948384945957605477885852958822627447799465278054575445713766987766864659977853578886366750054066859805896262557178226636369344898855144908929396317468785898976486548336844175998959831780559869668987156775199826695954896466848783788399337448469998586457396499672539583165599682856296757755731789699644743394498387698692722758658999989926999725559863828827427562937797780818039958755185688744988979097993885878498627394999858588789747596796578859697549567946618967187821970548597775564767595266799589882565697781953566979946591931685518664909663941519917994694662946663887839094828917797974455351857378595956953597987557474656797571882769958849854769844795873398495579439858569190436556862789743994282891717988839818554973967688845696516996519479096497698884548637966984910496395673999838899819458996759755978549799508258977872166894756582539619545689298968787355889844969743766297924956236592357626463928618379785883993588541673895849646975349087178918894136736185446558664696998978878187617790694842395897492452789368197887687987659869788779997815953778778396972966229650623598899985987595657595319545163297788754387785672888309252825798818627899477887396887327066375395945343997676967696521637819705847884663837899496591967546983666847877589676974815999975847966938129816875878478148585419999972996825386977885756637477977988894848417899539964767557894927745598234087989873456507498082992924159687475267769739858463925482406185926291382259277562067928537848546975639539697995688997895864349042813805347768879765988988876781368258792475874465888964778935399959539775096995468671758926997584754480897392969887878549987818587174846499697722375849845646074437765880537960469947389978881416468752174872958979389897338865462759775685397939175927575958988982754188882505986548663088956184755949376589435543591788856589312818794582926389284733568659974976629586749398549647746995946696546548469695705675060890396976918463988467503797997322556322422968529476756656948924728984699345727763957552979796947766294510446744361296719376456018686688957789996166882888824432784637056499950199403517429638645774779386195207464987779691668527874916748194545552679568854565487431939981595769857754477998631869565998566729945518592769788776344253588597336671859676938949654487975597948486899865577398939689778505997897988864855939935984837574741765771286884888992982950784761493569345773784928893669605608697789969675697942838918978292675881651794999861904676477078782644654386492852498696444898564668939983625909841727996977978779924458879389676429847795367987498266668787496639708858581369857942339079496639797899975571887714888276999538787816587888989994689842979675444699559795881777699299613893389709697676290698894918858542945844456889875867977888958381751694708699938039743983633298776989592877878821573879988679899753272973389662821439796867777159566995538157864086868889450676744786997737824386976987369661279457754558335858586766479957888768528879698793655999785797996389067685798579999788159788973755567729948591940685239814769829693584289779747799237863679395428297978309496689498769696782367422657633441233577260878865654274726786994498515765748858731894934498670999996850182945982922719768375537766315929785657976604898962536679598982887977714668935424968712386345641191579283619756295747641726162745388477868375296875999533857817667954412548293849696972737392693469988446957677657834786846179583794633362986966720249377693969774285159469186418488652686878579492976527668565580916938686774997181197753758599579879820280941567685877888489779125855322887287567816538575781786906476689639526466589895999965266775716474458262681759269735532078847944543624399111985957897889864287583837724654834598927467886891636927686937958198465494749997989683879877017926558143888893659590663495945769378594352382585886419164653643255717979717359693988365236159783763729783468549348264368371885997948691866899578368486889691989746747987869974526346276099298367729294395999269548395259936555257859638977723768259468749699357009994286797014466955854898998375946354659792617867199698779286745771573799582817079797885764941454005689778897951985957989831788667791646267987986768577887798781659854856453657997647574595967954559596252768559475556524848587366679559793684383545547853544778596168691659079548848985991895976582763497723576847888789687789195696697489678755637273718198786847776167958894289878386999437748404496964504108269983529779480949848058927766787899732752498495495926770595679489793364585890788168987968749873389976989342485760188873889161318995914787877544598844689877967250546797784986987788857139639669529976978345679835643375759578666946989667962979695727998898936637359987972767968757199797677688779539475625278637889945477979714495734566798856335868774997854208019078077818627334887842995166929858599323880327668270489478528168588562975659162768959869768849993939288998567886435698561589697785695226827742996316768449772942158110997851369889569345588189467958796262769779447203964924466658846426493839346847459784792395399179475977557838395599875775865878776894654338720878537985997339097244669489283512345144497126242673159329977883986874899895849451366346694883777832698259089839985874539688986364676929950497447897948869953918346689977529696671889966998547937277937596970772996977437669089726958977599879818249798573287466483892604978444666868799769088898366945797919780765988753996786679787577447923234745193859395464446118886977999345346877786694958670269963678789903697984598966733595663458674664196452832085489885189738543998471552784496648364877483668485438286937688489929946474976953253234629395548439189858536128928198776995836575464299168669562888628478678287273597955665398898678889389779851997339611289897732859659383746967658793867859676743777368854464885967439289289798958357977869497668889978785769549778375997780897984998687858714818699928698948438829999959199589262754446694998658986988959832427794899737496997414767528724739835314647947379406848566906824868687984997369949599794239744718795896972156899667327832956687999684513475828803539661853669861883916287273688920965966736588496846849687653728982955751836979342236936747868868369934698984817979364487911309655974799433868496989833957788287957853738247896583754889898669337456832497329487468625997467727889797350798874659888388772381759470569770928779998989945934865866859277948418398645936899827894836675893479497039993846988978259775856889956699929738479354966687138938897578794675763286388997871888796988774875479426719697745917955779395965885897795594229874799672418662567197570650447753889636599781994780938708446435889989949249257416962289996786686595375398568945888289873768973728388299058895661768170675966783367348586124349248046499753167657784647985767699776580578959936799662786987834187773435662965827685989468198944719555479181976792428535896599923659866999484788908985394525698995887898984590647914538176544064999375963223708628658747337415463965286825286292285571736896547749960557517457479884295397884865592476696415664958839555691476508352747583475836562954597767485672772883987658972808458734962996676659634757445459676598698777848596239886386546854998738857997793788097683898936564665786637047767319918572857363447523488413578689243559068952873722796979964666936873798454989786147684959727975627746771344851643049959545937987529583646726564948925097499416769296538272887347185679746787958168695747327297791817649338766757906869268894884899355781157148799547998927966339439848878665872759384574798665674798426855977274598978459839481998567481853553699243778639968172774978588892872987444754767457196983572852999085267669858868865847517887468802969999897789209695658475982977655773589785876799759499997354784094866234975498782655976634311799434458669278996974564427363895942690484619595436355996646645535248853738663558983395594146480887393643557834995289579473448796674435694128483567335679775563116577974931765367735965878288369391696968896957749957942469891887897801574896828297892859369897849997548823326895649147939896859373977859398236977556763787783294870296858982988445276894489524977588563511781875132984558456697864748214371697642988276588339591896679387954682573382498895988967995964683869887467954988537667685377955674778547979977295569278898579598667598889352578653887497055844746778665556799954999649574975384254899498806576968438854715789988527856798972649092660569786587692765014489386751969583546984790359475719587637744729693564835767579455739979585985689903828193969666923736477784875385792522928168873939793579869773976668899996959067536947253521174659156568994529849896695777818976959986238975479654867858946492856887884645916952597786588855972859943179793889699876174536578842656925854293834729094663757991943568541970974152978827855177979365693697698899888569198549939889856678953639837978635724835976388638495950987736967586288945986357872689178789879585496563584666493637853898852594747487866759987837844785555797963739097681778668559839666655496688826678626481775654488979758645999990647699474368633961779869996738084875968893365577918549682612797687367962188845588948784797029816749638444485749194573636672589946698863981778960083246386890436438568455894249759458896799654589148678979855786586958569497586488214996749886854815849827529588777635674959756152552979819622735665948908688760892960466879898796664746984695385929935548869999567699875328934647915139749129439828972779469237746240557978186666227878675887471193123497982377919997399668577747539778523829592889856734223754535876997559176895799275939787827687777987939298658293589639968880496949666298439819983588035457885399782081596529678979978447387368928539178879366885808639788548858499795294799698667386899695598445905386629916081775486956399795447147427479595991289872248708262294667697943799572920797479986298321936637990977791894656963611393129598576549552863867983495478739976874798079576168045569396433689556175018779757168496582308999889987849484684784586885959139706979255537362696569687867249990379946878759299966993656786586893776757995594466424399929191732926234778844174816387999659756443597686798385879435872495856899685740448745749647498891996788764778846695992669939366588861845889085946666198989695988964588928978941556695397695452691456448729359598593786842283789638418885539984189764296991987669905296627570276601840359367606889570867629988964386144172477214765999673735089225782439684677948696685935876196759834815819876655767935352926459125729979999542892909598854228264857858759578754775867647837851663954668457571826787892988688362443861874872796766756677459397768877778837838644485837889692699593638895479448857088839815997387859449498899729499208725866742728587947868988927961689149274819895669878116731878449564958978975778374494635478158628949272759805498325772777975996847436367298946546998518952848879756888720478923656779838185929389976769285699648944786118378941505782868876589685469898327968930334238273085345485908919549368084871976846835839641886748989578939079458365631685585497797985549477599798435795661581693519967282364643993838169588987667784957665955709554158668949756602453757718642382798840299844276475189575398717524942897868884824900564747291542416451576953968665509984069866578587955974456784697677532068770976247870795597814789524479767297468988255665562256878627567566462466239621872578805697959987358071885969527762989847998732257214279277767886385878915758885948796768495676764059447679733767579555722995988586698321887278868629791548757087140968695434194868668819788985467881666355656477107387968987565827967497285692738589436597619808578659386163755749795879688959885974816966664995977771412579419245712387876743777669548875973788797264361889589886997299595638184377969758862996083743173685298379978829888830734366659143998278985784853976982652556527813488652767756286578927938908874676215937989976784776553899298936078888266937165960596493779574945998186434232272977786705579389725329378772865947478799793588277709708689979524486818775767242754383029888771295448717905489834847842879923616922996468846958614477598089279499923465538732895694745535879646881853167868578589226597597087971883427654669754297879873655638958944985424769989698999479899876985444996376094808972536854893823559983818539763754938894795899489603792615997856586946946363939249135636238878779467638176543197795497986956588396868479892975966086124396443779319967389884225147916644785699686938665583267969848779644316576287779741977595938854196596284378839791994968628878548639713972687463568257888365532734359967655785978976699984496462810864371799368438816877877778858479984686577668776468892495954062993463697868415799487698658898859894575529899939667593230826179413314874989853587823695454535398756256729638918496687395743373582997388765989712583295746497986741992446348591685719695757696796135756926896278737686579889883885339958762956279893595468898579488978809630788858935768798865745362668869687771899965974638487974932857905756755597626875566875759883698886598485778896996525655695145359859889778975497328992289549885363766689798053392875379096956476738871757527139969965994299473598679823283390863651676238879776466205378156389753837648483578484979884976897439888560518855587454875596746666638909789684659496852847686297757761849274943918978435687633494305989272652867827048638174645974976483268253768568961638728724576743628674899497871919337296997489487426358891555842374848348897363995374236465946675873145468389756899493350806292234861488969580729889856593449978998964975371958117434584842845897851734359174289797848883769689094463847782234318779763697882864272477429129329573488556574423597460995371939352922925476716948559632734363447177789029560650979275696968246997899787678879471291815499786089299818808689569948047665589137979714366549997964943289444883637498358349413489073397595256883957715598788781922678067997450499676543334848735567697256889998742324474776387828556635767899633029347388767659683694989982968890758293628878849303637665928880958849572771564483677997978496496156887918297672995935792498978653481774595786596389896988277864550980887975447967469992644958826865657885491375844797386593372569686793146796878377583168424859721758587726895125946486884548795981876611809296889825865953739565956886995954799524330953768385985466994439759924436884983979157738642299967543786676876265954763673694528631892936958225855978987467690665966996758377829459467698264488296786324553448757743695858873927079786792199439872386648272848921495155196219969594586769051957898986987569497744497528879497784453787657988138876787786856457384818964449658537486895576787838899759972447836686225807766996078858609509365867733854783969743791628736989869256986430967689598562997345662939744975639797443799999406079591265866536189395735617890993162588972645675389586689849869786927758172525685789659766388977974667775395964982866944668396879469666647953794087735677787467597667995579682079757780994844678319667299778789267957754766274668676998654578796646399895798193898556565799828499691639996489654637686929338786298948768768522954475489616759866619798719175768269838739383396987751699388961998655635955229879309990572397878863791488628218694982575558946982841890584546285695379329553741844639497896429384761895963838436940832595494233668888951419791580551227409898749865647986939829695421799776951541147747758685887876596866823512581729897903544195969918475994797627625893576597694959866882985976184991580698756656689901138995458958936757935997509816196698352134670769868677738358899966365692986599633981618804974276804461735676224957556895789445655986849987867872981535354759847472889768937796423295786188345858968877369588293434616497276689854983166954398461579558574494948899817788996685119591777879335949569796969548879776075316946767565845457110589883543764796759858925497788787857839381348978766593344757229758458879584505971969917384632053799695383884495329638984894191464271477435799179993535789995495869784967793909983597855985828895565588489555986848866749804574994898863866285709677817777893449288259957954668894474860699514956597868772192839089544692883427295507948981750958267171753363675322243394757367989988957468761872448079848987863196795655795599593484956757768264775681906567486955975187299987673582199998958979989195539699819939769923959479743987963096998632499872765043864388385697842199944815376529899679958483780673664897555729949998569668977675246985799568983957779802584962571677835782399378877709974249456181756923858848795425586048947986589571718627957817754796756993537988671954537779669947465648767827168288365936396884499318887887170887197655673860777636719877534867317997567367985393767246782698937938697963835737424589908784551899823971677402818747689947957270561824819798056148256789649685973975857897936443865978116486777739948627373992938696623258289713287849788793389997719978281763218655646698947145688477745760939973928565285825695365377169157983594289358485797863669625999869754888379764886099735916579772896787444729957385536897979848258360948614971924562381969749767566894373403274977249875958258917486463274033980905886598983851735638774775858483586671563247497743389638768416775997946578542799836955961992536623893801949650769719684672971237583979779888138999532979939794749726227264839668459507457257568949124636829684989736633894937653932888889598987537874820944868738746142991692697786275889729402887639470749785179971786787559358642699799172588869574958584758396779958688493955948987198750656954519799435999788598329550768541670972656293539876358872931943807922998147999881941849631036621284697493859955799798342784597486828697690288878369982928888866997758207818056926539976479698657784559605996989744637339879505942986399982895948382799739368668828250398977299993345695339297883095639257892677666445698750558552870179485976866573795498644497087866793766735864699544854667637868689298578683657487764797585299455898551973569599328295768859989835622568564196956598175497978409669897476983571363086561307881212698895558819796867569893964934893276565355757349945972567841359769568385195763729788978297260088385679167884968799428885872387379387975346959653602436735495167319964385996885175957644099369163757364097139568843592855897918958199248568879898786983795895896669656959484995658671679779984253365275081329457658373345943187683963426682449653878445899899177994988589937869762603345868497939612755693874069966764068880498134310277681917998877498299799825582627479855969768966793692893688188966977579997958589916627378588314486684776394832883854897799876450939356379832189496799149999658333768733884476919614983781469589528377995686754836467628989863497988902963768593896619168854351038944765445394684496332668966887054664015986697593599686972887267672786229767899618279598679581539681695837587246899834700447993966577612948854953999678857909529334184956855519894933952676686807878882499413356977565131952604592986566497355783627843243604871749296796355940767169962576896229789775641377938532822886969969785907827172674557113379229144845676783327757458178846475296977913715149968454996642488467985669597431751684996347479890448696845385196989957773211952589794922548275377597672885557795634495249086124736684777433927843355257799848874473808476796544897251334265789279986699573537809795738277391662426292518384497365873746836959477975359269896836983725760689579968897362055474178985454180280768197259511984727657819584893887653644796389441067599996188894919600615844870789213336835959764817663558376196094906762519845677315299315439886889603967788579378999185938499892842973258421626647477698893799670773296643759889688886395876388878675978676729849877928983865745505303538865123955257875675590755498368738979889578895644989967948966589784699675939993519829159669699227690949667377139978495344984836505973464699174460844217694903799894853263756806758430221432422989343787489939378776598892979881847968604185199579788983286998982889758759729658983897355831988397998699449466745674969799856839934979773499478827749777889932598473679653865926993988788946747682729893997636187586739752641891374591579798640286679765294969846868468848765334948338796794970545488477186774413897339349685764134974505789894876454869812844845838848537484979617521867767013659559839576608498764199979666842616939585218793484991373958297889929769679655884739866697588555849788779699683526959776915941188562847857887463677796645986836058939668465688979687683539571274341938975399147485777726909889384469279817098339484559508879964769990822669495856818870996594859187659733159776795398957545557739842612663969659984759995744688767566868656633592477872294186997623358596677799889471909555384257447978645693295466726776574596969445892933848988387784538357898665594883848834912677971388894789879836856467999830476978831683429977175697677447057476887989684755875988096798993948467238482585727719626696673857867861031725853543594929957892775259858787748597587964852338949329445002413202475282845796646838075907174508487369960889631093759969258523663855866927506968947484286358487446376566175887797864878441734472593821445977659969974254859755572895948864699894848147505544739177486963253388892750515437689647898887238845140975545845442459873988765884386712988779728856567598387686942658661907539646892366568972627983237587479366318796516475766763097766483431698401481781739860939925387984225687855767794669405264808888268879397576585786258877599558196367798719924288983702146596586989897776263866886501998765757976497556917816830976856368963379759859189633097688883838176726385383698566187511992964289952986789458267688525646927587869875788492668879499788686983990948975518876559096577521245834737252538484661522615634979954680696979904345262956737899996878436692965196561829181189358602955599873774988029486679847654588744959229898436594766563759677198194538179869573716886237995453668576476264477237292737996519666883474892978651875851586787177716599743977974348845578773912234977982534985823789977855629476999442956898674958381997045679617097889354358939724182849718336595464896469988978358940696999986937688527378939149774673595915490472849724866798958574374282899596987378497556934419499899891835735179377797744638668663821558742270684143678149923826967960669753364887683866619189691746739847903894974979634685873774859692598835991988561777978795046833569757895588623999661782747779066779475915392584137468897614939308156859626466457777375555459935988836967697999398699789967654681656677899275593797884993940924794477368647388557687398686289784176571244699820279687009694925199838236681417189979724637058126889798489615638274797286975789729990825494479606632979598998666983276548179584498848579758939921953644565477883281873957948411635325964879988874839649755744897363632854613864169896549379349358989146642321583496480827945685883279677862979799568533695818287935963922979949889784664899985990994946863683989387865489875954869543570410716481597839949169991418787889998987578567898881483678867879247487739787565041597876238795689647877341599943784496782497490686857379566138782597899677652877975628687053973639687789588773690917693245699199496635327435556887393270896876346484527245147199559738729544248677538979520874364279894479745049828467889946398759496281638426536279153561216698199448590680778687488795828971032599707390577995589857199847769775357699698889848665454669337371149749875458807887846587469256957779599868657878487396837379995376161397877948274648713489133870778994897873478332935768617778988972679949858947694992937137475428779839847658388593989466369289649518999658997846999984448367497697429437894499947448559896942186355838577918465239444944752989846995176621469766737676878439549946597518873471498961643546464358966679836669899875979268937825583786742898685569303299139021297568639278543469446839789172889515574093796968988332988587251998693876789397945630067853750999569965747853660588955605496597257899945737294585794679776389592558579586879948879668591767968596672737092754195196197636827485680889389763871279333855228831587737995448598789657646468297588497475889976962176626489813667503984399576455779888986459226889562583810391189456878864553757854156866779354086577889788748798473964523888694778907939263665597496463690868917667687953484737740857937994723273069483799871335833356988875759294635996698345796918668396388397987358697898984969796598673929656874596784968677441638547843296963652582177969537990517874649739798766939696944488938187698896064474826869496635554774561871564147190906589076046683675795868985497666889246455496956490548994978882844848763677678696786791674915452910273098991981264586868865970264254448648598738480539799621687766868594531384338545895787776648458824969547985295848418845309895718793967630167483944669744733797882574412809768474674090379977579977938937899715897357248569679491394778475459843807471763847046894875549945769633248293935588173649488657705956929967889969496976899383388496531885177479886484846966858577668470695174274925563393175686909785698893963666569863849603964429589338476991774069033992218871808999972835298808261659964773989466578352429788187688898937522462799178569299495126804656371934867987784438577549989975980651248904864886793997969329685999824279335463459664418805446577373882967863775584979925908315978577777959345994842877597989971094764405412204468377477683983476428784989053688666718986896548561747597873556037753843565298698598397069248887477575557863892993549782877341570854197616656267877716947599394409435789684878362688784498967526809877858428745688934489689753799965313978560276959755877149468787468768513686931967568776925559728574198823564697411868966996474993669818165383983268687843469818956688342735979662637957976567146489449276423964514564786695799578445466509241882893259289417667976633539470464939617896948299749453876793968479599528603088791236860394548749798548888776397887362257537758443989631975728699609679525998325695713579125796774974887986452838574785735803788700844789888977557958534974245595744192069826617579934498579456689249595797534530929788886495989686538418999781238875975968933168655698896885386994269567955767866878937864833759765739547733967816768385495769658292815979979559414739269798686899638171899295864788542323973749949308769998797149495897762383964975055078974823957869071779520868949315388776152669238937598997984399923966858379569894788614929102647509156589787857057896876985414439928148764658439676544453858601666349486388460612959781499957677752794377592519769957869979316896889803237978756582994668984595682393877789459942679787679988774268086445073687583593559549996069983982022878493344429378938185989877881799957993034324166662591178490545020244475399438672798114165547565972647761859457993678839785974675791754788898483734459869645288487967641798882495549916879677389151796868892178459969858528636828747279789689994949532665432539945889546675434625644857366566368605798464746956990225727973454956859878985865526384784551911454996969396559238995559843758799687540217165768528702512969697699374983794848862886774549156368815734466398596698708697908591839969907398337684999465483699614575635494848392316675593141382539556471559792936682726098895599357909748262484586781483778669486999860868835340786548269475541377563369688586979887997776934369679668555142924934949649789547628165478795955830499474979868189794698556994939839145558949976784262449387542684676548647469769017695688439697676573972329294865847974671546633856837663986625643729678679957698985527499618526279986646314697989720446899664769659638959590569917768662877334507454197597365968975744495773925972897474299289966808892769947969840989959696575552829799857364399664567486872594263891898867256787562834979289454933164871784662878583677188367437786848585629177978791883985348698959245575912969636367253537963836875899079753895875274788428784964465698959358385425976928287737663812865089889880463995836897796385818536796797639846988940895979193967288494715996987999858366861945647515893756576864799973977329865305854836024585426397870765954458577118784496368289567776735844555586994315953593988386779333482255725667987649549753828789858375997998997598679865897624663775605212787487878689661995129675699592854584534697869999735978979743664228413997428369986997798757201666696786949702758274419555962846186923697878829193969958274656476987145946499447779489441149859892647974564972759992778776499752655504457874358085942508928754581553958682955576885914656957073757352785959877199937323953586393582386909485267995587783867795988885568289557697889397299488608959007959467899798917998574673606864378875349849748188479478098577589444725685954968974926858799689791795699546559874562115277859987265196837876558693235366479386768697866960567989963695587848699537939463999177589184785560282499867868679169737356297637898636687843497617674789027237990219793077899984196698538659638939765675435493779827424349789873845925878743496308877389798568428939991964798958024549889979477899547168488188745898679389978978957342688584444912899987132724104971579933386234814986899892799867368469374693348998483886737367266977752937591475278331394852465067645681739773392899857848856215242359709823899412483966956547978217578379363307749394563599699979194636748663998895180966693773656787975969869367969493843535462105519598695182996784879889959796895780447869768779689623987778281877556479854118855344754886749452534681397563666237516057726997893838876947434484769364644655675448739663739088679817996867653592759599680757476353957945978835829859687782747779859634488999993797968778887553636126378983582596653821658398827889677774527979948935964896416893795767886292714799799778477888955489766627499647178096125839379964354873165796862268973438695737856965637985899985966565823497641715872914618799336477848734399272933259658589795896453996778912992384488963848888949894796717317348270726978687718649042646299436873834677468295588693894828354988238690721579567096696949956766878702979577975254984964886754668786926315857679227885878777988951894958959238975995737565296788997797978497273492631944168996837866981646866253593219254959678888835149443944827861962438986864188918559795236839896695792787271637429759396525775998899699895479905914897903466275172679856957796958519299748618996884538747474708828962137436638479769979490468879299986957318954986918188282759973376649759987436876909877406993349788719953497778578938983974888356847150678693975925468521959385977886629869846751833555563926695951973685919499837386689956744490757757989553453498947776749859713637989897696599368758979766577995758467357985468583597493726695497764985785916892379654244667379857269785597665696372377464848588199938454537379496289289574664445654628462793789817993059784617457449886815963267709377383599652269993867438992779669877989169147333823893993149336047473373739380238275888765552695896628454675423018948477866981585996948749648963367891569615962725493775729894883765974983738556975926956854933922769534499285715962994689783961799972770568479854970693928844846239247663986281137539654937743349348536463998868592748364554845651649787577513529283923866997466579837989486369759375933637682787584598232794693399956492286677135506979835989996665586520766862979892953596521899758328480558868865876628926653845853788889352786876786436946458967641765974599356983615362534877979866897639679917937989356648867938777367645894882288663398948837968699569992488678296593995712778939574899764987443664741785969948079558844977836450548563628769569796817868996557894899423558575223843796639568381979848167572495586328729647883717186797661682867849715604695274044497099936748488639799888278066966442953886893955748205159389898614795854893897579671562250555766398729846915870659486452595977684759664763542727895565948467898690925431372685930987899374925569896389891775488865899927141555572899289449877257548548369154799757946498408867977478878599703824198694057487670870574074485699989568964299675678747053701827487298463822691879651958758417756497389968386618182586169686996454689791892824168477799652736945781956354872329997544698779875677178395658628584645688898077338487773863559952668758358030877299289382569650857291695166868996293760808881487389648824753448698997799698372867348691859751782177982298517395924397587628431087436838978535744888876968748452794523896249389294977352797482976816847792664357892969798968979856591422738763599963488895758745277787267887869396850556896759358785389697968227726691741496139252568975397762476817769527862688184126697879912946699978969949089879685689257663994003459538563449307848777569154425531361728584785992535478825664697275845839305738390387499425843951878699582879998557603682787699265584359796779899784779685255893287995997869862678253485938878686838077669887958876869695464922659236054927292868482884258877926255693861875687966458726907047426695838886888579457389558584478589187427435495697566697789398594995692893483879559237689655529342659863656995895619587489959527498877548467897726597906947532436933986675685867598348473873666883669376524972526475288196148786669769984504599639239465579995756676648732734767399598666859553979366294699538757939862729938586297579969663959242854529673984471969569899786334349575169449559595338578698689797675963453536946989975126197766997719662862738294787426239288829945766916049962995938754349995787797746865776687893588666896939743791117657254795834269988463890494858969707629553265876186756593863997894977669383394744918495828478778298756751921983192788239893454797785499985714788797375594683869849043549349346748840867761884757605965398894570769597186784499588784899517436479493838935863327962888267999448296457656769958759771999898595670996649155995365868881789477999298869998956827733689597683978078889958882397519333747356789826486696747677988499866997987198328969973439938769471558032234269858647702989686778895831746783939959859647132993698297287628194988999296656938253978968853697868786686738592538726766934587595774994674255457376301294826796371497763456761975755854608885358539799361833796878899578875663798327888899999513966767565772692472499316956125073697376287933612579495690798689486647198948488979495194668586778807649986809595699868832537825579810189888869374447973664766407777363959427284277765024672848777575535554751668745179672847811386864569941892869978131977947737655458983787131816885679498678651978878292895893566576165975792862379600562963453489682399047537779737429964855958377829395672938798725887808528167769668879987979761096809692865289197416943455685733174529959106608639696788976887667366925659466223463988877268983473649815588698988775552686957775379792973975555895795291466249085896868979875955920576604534888578966574765979196288556846798959522924868538788297846179287998877285836847061234369450858304274564374872358744581598238282839574757671886256329794791496989797788385644882293440658963887469677634764279969949884413968904668967956885565129832348659939879893973782496697889294616086488697564798764944982117346825798792587735664926987125875996247687775459388777598978897996898438998567578865748934962139329878481834578879769789129923874748866168898567816577087759874996646757896793027864979986695716674674977688933724385631289951876961977668594286784714880494576788327295996389138895799998186855548768918349998748276176569667693057973457647479843498257367965759588697934841486684627727996467705469593147868808797457467383796579673449845485737968497387679796886254589691096298813155686956574897992116992659874689486689664777855976677739269749689868974784759329986488999751797849677987249578639697867556377479684197712272994796299747533592853819864639857229185958117569728689466942487455881917669996952838798594336583943975971443485797686790499377857469199343275645686287015475734256758338471785578268877989835738998551796183669375945558968727377458999625789265466847884971396558975333752999396978872981689758632750688835775897998984563673534775565294438683967614639651873987638577638216945955116969546768401868157639268465889879280765438559735786170983586656597328177795676679899786688548593925744469898693552298673244989968978539883142377533263895967679557417763439545350067976994855879818888945336499675581514390886554772988697778679979775667877676897820769899872696368974982676582551577474914778337278687685936679397067768575323755984498387736966361788695885969970781481343229156368351581399565985826375779188684568485665524992827726883842167947284788778656959769697679866587477767995692488375956990988246837893275721949869768837446738806858948888588460941649865746757597577978787994893236989873548596586805789597191976582247528653753314523868848719844589886542945493786976864736644669703528836269958746686476549645957635882747976087757998158174328586667555472588845497743854994898749791624177849888462231589844744766546277597737999872866558548538689157657559539947367038773496962998568754663798297088759697658876356764871996985380968677994464443979278888678695726945778684798529989777837468538602967630518893657699802462057553598274886961707887868873269380754749937629697899983796593614385763438454899873999679551157957872379687714513857662737949748347136501496449259969767488496913886079861946527817473646395970895323313968986786768891977575829387794588689481982549645399471655459855564729392946995938826585593765696646842244753989588732345266816665636976759564768636491661342287398374978554794337597346868727857749981577866757170995878662146583674357662947796243170325959737699735798678071995748538295646644463428797669858417648376964579973256594996897848319184879057846367465786698358488488246972892886982934493914266669249944348676974593596938267768884465948598415476980968559164988501798862994796587577729427315506474987557599179584014088874295661167948543999799777683597862999895468976943924877367986995797228796873587865875547577215698364934258395839888286998955357873378487568344095723813869920484694827613936444782936693414656869651456791688797983744596864729084967787656873826999266799509996146838727968698759245979873988997276177287758380597939470814151264898466386577907775274826744269762396568694989625478927296659886365367985988797868771335238279855986838859678679559959342965921187938973945991871991677527388787672192336538986646749449876905767686946759679395960948997492726665628429808912496884856673286896488696333479545942056886935720275649675962989786453794867659278935235764257693967943825871896964989178568165696619387588787499869748895888697634859161827626786671958886318773844487669878889547657339842787876347463825794918258977785468297949878966242691657809255994866477308952759721855287698782580922447535850089968626941828695493595338838579369189529958677884577476777279753886764596965669769489476953652543940969918983349768708297356699299658462547359988647875535351291507986709967756798795698859948586054269479467668882686598615361355778889479694928768586488227224156359544880850873467587262636569686919968755998675997995966788726976926523492862946598588764627668708337997669747877543499430872840473899696725689684879779973694746797763995633896728286493797399517486949988669493813984677795543974816964797943879365885639978787599445599036388861269877998866978343982696641832739867475495998618879769858979359879322568886922927672272389749629693974148873765587878682338865347888477665834699575551483346489788188769549646897947998256853969789677863837764597766427616759473538197681891379255665346943637753939594796974729796866716056696359224729963965697463645577473031559989359397678768761859847518898338767057948285785569689913292476441969877637633598794024255495638269898469236609769598886979898779695672681977486496979884867488696243988559799787917145999352948242836782779488958677687262844786356997668647612769944654674792239387663798671614652493572039732644866858387248367418959770216884644887657968967998073269591837542846193545575945781795599275939859749996549945398796478804707384787796654788979581999679032972925287483967048795537999767293408758895978852747981050893499994595755794949678905922975865252918263586925493899845788726328973936879099753596874689178868582979989968743797288571897367792698957509765747708968579159998945839839749768771964188569576869698481799768988477769932347686772996595682387508997871077349366399199879713865293977989537398580674857951707234793573489289555692573169617149944895744759759321529822775587999821561637999468894879813486438622747649758429797459780803089022624957497420376973687737677932882706377968565456468580879595789319687549598459379699883481937886778557783386741722388463896346087496795777788756362874498447468615995824292779663018492976586665733249899795745597724227169653757598599767894936513982524975129833598983777766849766726984672468567396745852993327443879669786364639650365728899797797798969587839474168679355965869467257314509967378898452796538998769693158698692549864906834951195839687426695376694481746148533846942965858843697755088675389668897867898446948773566465979291803667622963757636894735387875877664958859887955961639589668486688424559875558272567499839798887757965623696729879556579698988992979564787757814729539443789955613857896709079926276677664980886098837797542892552497876926997979448288761849975666679689519599859593484797957507878165512745098773574565967558788669737873088712197993836198388194846447998687575828585872913468789349266335577998977465797289846932887298543585682543578597378939992472346758798759798885178887973648577936986959562865968562783498740847489749896742409358876488566843896398788874857459785132813957977873669292154927844865658784738990557066538686648378352637996473798976662756794665698458906788679565875678547496789909794798649574692257838445776946159699373906687992769867993774997169128879248964338747550998863983935245990378576672951598957278845898655532684886854339535446868647884623854775775853257891666498398623706934588459562595959828657568452373855439858780595879898615257676298895463848794986511895714296968682793636786463675994526435849767498396491963596659486993757663516552748486763384614799793589764897859387847591788841586929082296816939667998125094798845659597771758735388356746857997835964743881787668959493477796675945975078849999956789499423934494975164459285868697885738557664228193537481898554678731739555742869771598265873545599394868798473658707829767995964866753297263793966937686399818563647467769998199835927984216382842794475013637973659522227919762828988897464967469939398877958277468747553354791822867651946464356676778097312445449471998816353352779398569760589814747785187785350436595895215958848409858728859639927479796528587919648686399795179789842659743171475472455196075188789987987623619954192865362879544507398814756745926753588756593733978638679667951792775898927476799886816482749527897565987649686496648486479969683947333765998180469971764646596928589579349814466698544748671698496212966682583269278967877873319119249889557694708515856163806627597765263958695594189348486812881887694997363865778557639998576759698434456721189173469999796251290677785094484247469793458258367557648638356596847903992649698686778414857747664467566996877599973369975954454959684978264945796987839296734337563265538671888647328869236686917791926179493537389877358298957743748829804469775916675692496443885282769718374246878976575957046227549294996903985556986917692714478095278837589808958582984266469530786859543655969866919796380688396118858979688244528778378056636354788073883976654779693796675669969609656567927977956469587066597358666682373211755679697276817299383659270589185324926989268979623369698945727864449895847699479989864165967798864321709821966686639374356453388787793688096807498899393799146969865767921857106558437943959924751679903298256871285973884869894177879069792487578987242891967832596787597681979679324156966194966842689707237856729799575576984315748634857698129667800549390853775763577436124522893784585752882953336959685717242949075862616948694478463629186637118952759654747389633679385184777768596929546173865999889815242948647595887935468973585737353561598869688358667809929758392029746395676778359983874763938871493541857959388959791978725743685826994676955478758268989667959479683969847269675835186863958922887166266920637733376975794754998698797758798368678936186785985955984894323298573486842530689827558779487588537682847954799987989658569796730357887876358679984193498254878757936742665934489958988954455588033899779559759659937938926284971886223898358762777949292887564893373282741801759879498889896768645766767499997993499696980368153807975913945744346941836888487995871597879188344945547597689928983347787878388794637976558280737548894859682578497694311108968744887341706662956328126689326946238893074868385225755243699879949458794799578496766819887599823875639941987869922478169861959699799167768381938867648825978989355978729925145019787228899599819717446499756178915193818675992816949256569630978740496993979676696739432986898156937987835789086335453437955993398751616163596625388984178685835598684794464694785887968875832968686247353197577877860748466447358795655995865788177588676916419946979986048299818237866699769156898897817533967725876559179495078847959733528872992918969887987899628987683863458416628448971678866498493636897379287792796655973334349674590696148873848140965358828849669734891936559873478437499886985625967567892059984269827268979337636339854589388046959167948286724989981859887888684946639698736872764270767948849784766649989443083954997286679936666584579973646262731899767978824799493974609496873366993359299870935386965579487757084668380798392637325718944358486896646599207585995986979248739778775995373495947487299487934343400863386987739987878875295858034778774455956635697539788956895779565730568676869435415364848539907748796727774769288897997455352967398847990732967547799639744711590463922282587977452498586791296149487796927678938518959064248454954239684597564257599545585877766799788739478033836388476337643586970757669488189975955595998897862755279746689174939271688849556887416855994815600884524294894244566595976399781854978889148442858955368456097497798968954389379936363988986752965832889772884166389696399785497193771756997859799253859298688858697886794864752071387986279699983846962873478979954895395798857378338654337889777677841899828897684232694274879683747816896579969582910986898397866449999979288532767448745942646470823783864585528962277383282385717893457698998367445944230749894236883495735089919945577988506785988455678548393441622958199496659795798389897139997748678849348677178999821489795887574424102698595769534555578916784556976695685686555592284538595456962786036792348571334835779477879193186638635956798565349749956539917036863518241691776868998724969789187769696780907641833779789554868457691191158448936173588168030966379973467687583988967978668455607967538364737279762293959946867428492641021772789518868669979630419192327168964669974299995509767693919897643299826589866253871573439886469393586666765335766572899668889655764926024976863378954646758869848218368453176189490952655907756646997997825213982371491224780564883632965898093867261679757339998689758719739968714941226599229556995659868486237959639481777374642083257798895942487741293479317949176858786539428668868624835859826665841922486894723894823588918715757754565432554759543894396596592985775829657767287594927763797368999768321962298353564910637874817961835386279948828789874297395658693866858997727283399438777358435777790629967174884299348736374578165786965799549788899328687636597187885699847717757735934799693724747736447868971804398955175879926994385271779736774634578629129889478928965819376839939786491778584549987742499708275545804254433989957487998655868918998688227996295625855769988579786986465939388274659599397837623889885699967885451992581962597521595948448467798287450694839772463497835987874935498348356279356554689696326845688787729382448367235948757985399878852697349389922343697868761488954787688786827483146559762558539114839569349538389357688848886797554165328992697344493691715941928277972428559979067576978585339988539987599770444495981669682986996489232672668668857368985649178436765448625866785492197229639420898823270948536989393493249584363847854829567898185985541985895478986973985183999592792849453722718885335985539238468868932779165886670136696413688597289995820379982281599967776619585787579956999987949738627541847655853789199305734865948664989719447662285789892968423987858803529277569786877185468251977778949682623493959785856297895752742862285657977178874338549729773837397758485846298759347635946839585888995915642728653591146351269787646834950398289575486976696686398328764889995667593464786796968768589749333368996457966893153525797448685539582471289870865261735163685137306956928378588967715762868832773937897236786692786566757334655978586577636584948859398489752760388450989154277978961874958578459709822598989494749444361956879986877298918579341644439697918716295434577365258933880877747865861744765988641988848974634415946772685383245575883925616986498889498669758914874675923799696889662754425893662659571214966539595985899989789985176473853632957677861337981279825658749797696684784789295949666698883672589586322497196884748877649797969339998758596236589966696792647466876697614979572368958393977449057454933253096995775983739839039257688975869448687507897359357765975488738083948782786556179168969964829794778957345871586759579797489786375626758755995695229726975793766615924999514758757773294528698615741765406266980284389788094753814458092895962664384996367764308872808563858449989544639699859569614342313767196982577879398559951395550778589989974663641984273556865859619968988648096813445777595954268985849789909147659747773749679239483486668439794999824128948789954979864984929582412057984650964973877459338618656878925469354897869735896982877728987272570389848563848725911657287987297698734586172916647735658926877865996068995795987285726732792679681686773888674138592697635790786774765556359599896768482100329579859675757798799767846655959699685792529893708674598289093649671294396575978695894777893595247687697343479795728898764219876186935594946278648777568665473175566619658446689477946685364719797913286579686585184789718958772813726956788624267428469755417200784956792356899358797597744569541868951867496765932818935948927196893995697746288903586867599755630498518748986963345883998570645923487548813662556649515987956927885573516751599767385776835575698066872970058681367876979379199643485590239848858993945877263757981972496794563459994883583982772634869537597695757916395094583696663647816914380756462967595599648738869338792779995814446677579744874972889788419716271655139755588596687787277868536624933689979719439767840865656698359862975986954289456895359916134975996695675806831838856397655496729896595855849536868764877643309934638877599448988695919848499397745897562483895934349899256937535567968639577192889878289778757957777287669489975181687785159258739387152932745900991919668885992924757797947560664619245811357756826676898288549966745566876508578934558629759946564981387988983656483398476967656509639935869455946796585325432881684169888943766738399367822728459699898788262958477994035598689919868298774744884599567778562875088244748759423853464979295996526084484975339173987669785483586334312929949756896879871364696397811853996923663279474589368687619238584873998997689995895798314577868288965151677462873677786650566687957495878830919899965995299753263625828233835977239737789891938899776947719038382693747498837429693268282789065679969118419598379026475378989797536945757785153873339959396755687154716349895519677286986773732683547774966268998418932578678589162084445178877587408634927393834759255559941456890797737495153517975965633479197694561399704267406483945955675527666979628738515994849619987689533967365173565736849492765399958863592288262695328899395853831956992899889784998966829786879795948953383597226736482997267965789257933459904978387669796875998463867755948683933995992536564570676294885867991605478874875796229277666534642016074490777995926877757799411567328949897590774495575357786447934492877066999889654955676898834765765579437646668692939359884721645386781578374679667839346986473777923389897683885398896089973246985837594861747794066671994996588816479587656299724584585671363783529977857526658603847671785799789666327637779678871468552579313868608263968574577738337726927668766638950263499847936568761330167776891989979122183787246468963753472989674867896859969622949699887696824887125677425528768896977365945819904898454067755579599483375884773998795726698349394749578748799999484979655885870914567593887749972197884877837787842788796572788656273994819891289149032848987897487537068249489279187454348494329387822873616682879667632397573956765867431893497069656939389631949183925605769994967935988558666554996683472757163872426737146819596137798697687566294945552679862693996378433044984636571666965943967269859561878322883697669672628863647899896587493967695977877423869973409793683877465532047688766689468484933095941629735086914475896388365367161978459861028979565499862868995920497256988148529288763832774599353867324992174475493967764593474098469785963668573976554572161866979948421896024776294672289967791494693657792756795704945488408949825199325254197584559029558337845885888773269958689927746958646757973849739898793617670868655487974478298553443579568338964624808317987355455273797445767799766263380919891292963658399673386899967999587862873818989654489954589199743680984999995658698987776589799881726588538546985321988949748838982268777467449448954797989785849676858465948472319678875728297727969578826598851527974303479522698726298551456568878488768888634669794783698515796974692720493978678999999187489753687879369927158738554632565784875739629962745285546988976083835837896605198934469758963036996789627512569656447768584818582546964992858656899627087637755666557634994396875782395596654478892457684372969277856593551566753536939958851146089394899979647699575867528414704478684862642575973938857793173742792682966497578495880799194599821548344785785988743417467418988855465959819466258699055699888987377294344678634816571972837813867265291997244492979998458816754325879878366778583889676658479576957947779425883199575957788678878098827457816999469796993772178995475897784840661525868965788281581549089678926559959824453995963957865874769988577563164587873887139863969568872728536364997966944368684742898324689155476126984388724987747964549647328793944836297876295225972876679958737389037829961858129869096698263645186416499255534422691895896656217468987797898636197968838539999779936148762670615978916943431395843289784776926699895345694887729035228109969989463583071635972476898597450963073682076539896094504649534876968357624839449767959894386768067683890471960286967898585278636884669968483949482360165878467225742947143297899587831498767957985989887593659978588886762645684746563882846976587668815799434838249198639889073568787899569833307687294875792999612220646875746645359668536524265984989568858879978682669456686769388483365123985495279746484588783958573754935505478558789839169793287877561934962878367079887321257938969775453786687679552773399397767749355946353819983989598965173666597819567258987557419899785481714969439637769186195398724345199372595675755538942546787987479595379855460579944689426692945653340588716747628783576935936683386584977478357599688774416984615298992585679178773908038154195296339248375077850364797883376993599218277749685875758913883038448694498889895897347647979535342946897865986128537999485998768799886869314897955697289744767546776927564899447826543531654796886957175356953045604364996279678849688560761785581265556859778788534436591969835894541619978964378329843462989149725493936959972876743828689732236735878864526844947305788684398854998933727180997464987563289617695273477496343879915743613685658738855754899038594277449878387456525975093688917467994889399866935579394689726724881499591809794358273709498576392496789878072377938946145375573299195252955333197862980189346768746254755445128549688857428939739185948979674455618876729295368544878332697072351889389977954455193499879840577297979388945285556765486578666749727945842676719335762507299719894778935613958854759937905589399976684982472693687496578485545776695683263875843226396916845389928846227795136479743667194382594035997322716743691881586777598735875985789859909109682962859975586328378956909434999563216687788994795875848269955365781655247037595182776997664967878869967144657186599865149838779814838465327755999665829563795552074029884675845386696557886656843157879589369953346575378898676996648868207782738989737888254851145594495075489840998843955677862898444687497776856993855594384820615591966267823485965599497798896494968558981915497987498782454498868598580689489687889397689398893979438144995288967398874133699684159896499081024687265446678364876985878996427775769854951657736826689917948759941775596976966791589984998646398429094958932351983745649628968999853658798843575979639748356778958427863615464499690889979855816638962855244393968683926878688726581631653199797465585666887998277473872576933957995938880959498679158485346969574959586933387478597656795368236291689598707451412877694495246838585883878693996266948696872897767849523598232183517779979778888858764437955976748843654956995834646929768918879978859773534483881699747817687297885844579937478566495585946187975699357349748954945768886285738957973859562939384527797899658386995764584998766457887995492727621547766687377877825985461725279977699855998978743865557568815849874675678689898547975886581429694470777688354897969309982467282591682714427494134636831746888529537774759882329219983966687586686668898966866696795483559863288729692981899955574626684344574979309496267894657435449499626938759398873744526589768299998078592529695519587985892475961146847782664766675887182549855948997849985849388737638954096275682436956888657779377979437774829965696677164292363746531845482884835537786778467142685663956958716578746877972888283968643689118856152793709685876292877683479977969778694897928298444718527872752558905479291668566676722999987719099931926884188764683137777605597999797092776133258387134747153394727925883636779445291759519929346893577678887085988875883567122478973497952418617887289140428975752977649479249399934528938958664994698498626275785497457892516368289696882734988732470986488862586684678884826596225619498923792455847550406576415887789820975961933862518922287599959259710925757379467980511988449956372657489693470896868573648566984997999782467274797268872988209926758985198685298546493825977848699963457938767677961896778796776882789968877482433864888704796093934394864199468763919580595731748343792369487776557995882897855989889494879974579375996494699469745889852947267985272295775675953483259878986883770487649443499585997969555569974683796498716760617968992778879754356449868885733296888443588967156967975668728478723688841934899574977984596859765899352817796478059496768969598459813674966276887096655363594249979390994999233411126082937777747674792987894267935676336398354558564247984814907699729939969793868956469879988508957459957727963156779839726578975799651858848926715389969543718999799755715627355691353779933667867925886837617463275351854685967990067893975575739999772486602944485414374342831978489689854762928812758873657679373948322577469867597544698865878839102658979289379382779559686892691457942358845497015793892547697455354727569565786372657657631742822617779646955589399932887719961685841676827723972897226549469837167755047246618736684957890857657168665847289355847940496739934909990829999717992905554452554824135993443336723966436885551525786858896839877883349838909759182879983739899976992698786049547837796428238129857978887979392877918696888738919879563378538773739663867931069879737979957866395258286754489977996958779742597849838961163943348494592893797885272689778294916828428815689833384788696952077967895698485995058877888999937757732787955898955374956400396745873963869693980345535366499873279867379698077277143256294994559377329365679517767887887799654244672879995802388858926593226178847431846251568858969879689889899899877804117492746489769738179469796336628956989986299976512887799527985490286986672795966113913594853769718655311279290897469982926815786969075806959817599835166525885739883758715898853998499575296877536686988488961518244978895076939685945991766855889806779556887185828958687624789327579209963759990929839326715446779733449877893198078848966880769697553684765953287188857896914239911660520374888938621199709978888341595459836837794996869655366848808974752076598149938618626179241553867985066199985789797433745194516598778876530418094734587773575765563349971948657999679852689599791957578949859548345178197999297696858563992291859389968799556732999574838729797517107576956990965292998901497530465765246788286797706988984677730318337260557966799049196581589776344162899887369382681829975726679144760567349873889994949937279437878566768538882586968879987889547567408667897993681926839992878233794717798188946367455475454836699985575928894668467888815489868728689017775491546275496348766994545393484656889644578786767956978715267289988753496968463797957981748568638887359945799548882258749549596937778899665859598487995768547598916772954258975885779868868759398285994580989354772837747779354479868396814586935755679894069295999829694976486233974874367378958889897598577984795685488997628744774671476989787636795607669142779368747874944678596747675628545865785976788884282688593832616782341758832654188455393894446415566638974492979456933328382728773788675645856858449866656977888885988946958756372889859798644892277384854959895694288573399928342673948898748668927029777698855875863045995875688443824542466314990799997420867829929917578093579589282467359365968958455658747755733970540982986984062885957699597173169333670993484984969624898378777366487969889587497833796987219596494980696897841467884319665789954794599683086997118912988678398751359607890893609848373852498938595258995496758987486839431888557791999688863714946773647465087442363876341627459982983744922874335637775977868334291744869965759548596597469578769419456358348764813963566749895388648299429789696949979313637774784726589484976978238629469579342718396831494573586865195759482346847769968172774479922984498457320080652698873498885289889962958467699284484274944666454429686317399795735697794343786723938324777915794354898985986637940375848962653799964779693489577262799284877761846969896837849867822696947219968825674578842889346199278921851997876491355749837588870588327959886588664189599613797399476978755765871197920887969379979667773664294479274895377698904955988846183789794977544937747878551785696735456427673927315672546349297759081419338816888632834719382635835868997466198598409979469999697948888196356576376389766869981794893748767627266429624552489974997689651768657757976884865878829645456768569635916348897863628817564996975973296798545630717169897984804975997797819498276877389873498896543915783293967976336657349997825856694898178364685370559399787386779654739968836168288955895928687338578799478592769754373852756844788266873735697544950648864495278784728680876874195988777449198877976159280593513899867799888976681325749837228799554815157756481955493588758698656485399932637996795599851568883724733096857595986568564898836269913551164286795665858477777373953597789960449863876595648909639979569465932597789776064916769878767772882358843984868744943739498480888881648919826827589606584860688840664197699676985957874318451794996845684962719907878268696095648786157609447886935326399844779647173935694667320998145979926567990817749667212508985757018517766345899786889932714999874672842592566797776657679893448039783887625419798694835534789544237281459435676807775584879392658695928265786393796577686476649566392390761787437599280859976880766755795436720588996439277595337877198248944559265715631789995676731962219947888650747637746524690398597703988296654887684787498559827398703535681524486826853549979888975359466937760777522288849882567204539839970796984794336846485672298864365966686549864998799184595559435869999858438926435736987969988657878043919670309054739798789550948790762734845195646782273987933417893596669629768869796838883678584766883963248874488888596865937571591367629428738738929725455386652999378666899667993587737879639997687359465894276915979383798185458689287706196576859747936786865463689795718087268858399747865179466699699579399634536477483468979848530598649889191676331998652841938965420742839997440697368855566387454897604837461836268635605963884171828808557771952569815373475559955888092888682885759897048989672836767851927856483382138797599498274985815793479983815697518579863997372767981899698247973664668748489966558969999797693742225977766499833833515583971915641514567298993699426365679448948883488936973466566992528932278693166748979956996272838164330617884267831956381789792882794467349977460355913518628766218748947664525357866083293644824449759535149883899953956774956775287989919795633858852898886376265879681874596739964263779945577676857925895517699975375649183727584899456392467943877769582798867639437979585361568906774658891737754851676459169748937880999918788089683717878792976962496797799813856787359991635869476524767876987448573986189754942318998945386855369653860847236989576767864556448277839975427844564383889395873439728862445886744759569658186565288833749250278839780386163956938138564494846994387993178647493592895652546669911998941085955824559686657685694773757122772985958219446278988458969866263798774461799374888197949492648165992454935958789498718287335898723664508644837563673687298669779746777121848539945764479798740870975388498528659664784791200886683687955778146886979699618994189889347795091698815366679119098976684670838548949565852373737493976438896577985804959745254896643964274835758575194155486983633789655419462078898797574774696809430749337889805959584799898563766517116912558498974648964398899871489876867769727575475768894168357397479589899731973938999314830527837485378616945994798669777929669819186919698685797962547488989619770467716195928979987577886668869398975759561874868598057182759293996257875869721299386588759648373879495487687899878249989383863482873476677819777469559441737957832225855385575799772968948586948538394091699519348884591289895845699161786829676328964576522597999531326377490775433699578669899172443599335744711587346287176485452067647597771469809647922677795589159867919937869587638877271893796749699688588288496358847919716734795747762781463342086197846698498949515783891947169632996677172489339476943678647346969897675626978836977466726176417295879699993370884775269274636897729758685695791088286889985325771164128998855873396187928278770225839947485989796498726988457486286789487763614793193998446795663756431975921368565994223398696790994674894388478894665828670676693496916376883708635974974895350764756899350770784629777998749787666397613560663866368464955596839970345682649539876548789173649948179898279982044382186658996987878529794757787257975978896564977598684757814886597186666449763683638659599852389997498889696498278231673699881727885895799689217427996793594467784259888596768735832988893568978967378169578494579709753236986968762667766069679572263894958996884686676939667292837930967586997886512837708967466666811779375794949579952771475745684277974087279646765894784337754948445577757777655955271895745026978699849782889508949488278845268278928524666483199933248385903958729235773809839768788487848182264299949089694676559797786877959693919785685798579226738989685553328434367796358895195394478396299868992559986344287399292538972306887999589395869735638144746770577799555868788737888996986389765487865755956669966345367866743535596472869577796873725795738284897875543325766488994518597285280988899376769559437086898687978795344234995258898714240730996978439894459646638627686998434692893979834868910739945284917250797426132963888510885408748872977816767738867768358354388984289890081977397790987343637846379666189758836987986594386668599598781977835669933897697897667639478989991772555384786964798655457595174138796059459189367759596734294459972820348879598772466928288973356779614516936917166587198666867756787766199087136015679777394277055577626389478434682427977532759849797587793335898238446916736994686691958526487617723067479767809928455509889599887146872454657606888932321777454147793809499746742995357592297798187577981766986424797794168697731959498988143768793156909468453847984368999878337518898654575782759487312595958896897775737237598867779078964785885477727644268577996664668863467871656825836889978787986598983674798992233341476579665664626596855879376563067725749898669668891967958887987275495799959974763494959450818999458764928897568037849175729988798316657548125824984944998993666377667828961849958754591683966959433886694869788986669997627489543781817855877865764357797996299497397192278557998795783597956796479978192956482873998473581684893291789991572714437275814323289666549983779797779534778792068936704998693934598596559841673077864906846289508446999697827897777416888479818447882896859649848268497278258807998167998094827996899858054456461662768367379655258689989495793319637243248727657979858345993368763825884468234369258333557656947498874518317296368858598438719415568218657399959724826277875658827998914861299057543169566768319937948878936796816598689587887249882377947876891756368218437767916592287896446786316881888777265928585798816957294545578548467683746492675072218770153869747759176789989992995016093885794793148796808875963545787798796564497957498998245585899519996648584985694338974858958528558786653376288689333144347123959749639734839354371457398497758683885577999898895099376589737318646474472799641374691969285868823738867356587220676869776558749493057713843989979397767553696972859264758194337737569734927983422858748934248243729680937356997538774988896748192354879965954398891588526928736986725269783265998761640437269796794496539676824896925386786776398718278699479195491642778517568766867973788439898296029998578146856326976140599596494387858566236398419649229196644578146517047826698899819973295684284914957688656235844463598586827967873939657596589895542679882868266056895606999865975974549984424425626574797596522760671339768788199405444395634882577694666419385956959586249280885979907579671922577254994051993788562375992769486134247559734888216159864963758386947877776825261846956445829897818975788824153497889763509687878529969583699698489673699289988536169865652888687666749659309729399969390258918766588369917672238928088528248195693633896957877888975978472969969588695395687541947799567873655779874499689729968874476657384968981559852969796589516727277443988801762598911758391984986669166639247195175448943576463685998933299686398688198948356966579487297172486497969985209898897933376389674868859435827959575975729077817765897219227849397677875569759648463085898784513885673882466779298615558665972889363842479785969939409757464893599381892568835869848905687472758460999468435568884849784685748897352366718568965819319279887765594487994652973968091855495256212886678764943854982867627817875800973583889584554939983587259578649256372416959396995474794576395599772664386381677685830861397646780858981614909779948416651995575665938867977695738279656334928884178101668457658668674896026169832776687467983988235889307989855673673179886664087369298044266908097684978736976747417485895757796389685928769998867904398955518978394478989866967948789586737758366554976296704984275896892865867099778435877976158694485942227438265777989344556488748699986589732901442578978899948143779889971587041569994697397788798880886629564955947966974255925894588899998767879365753657599794852866538437327085648645523977556624668363789869626386852577765179367978967969164234319239736323535929497885998579647942970778589499899549859586579767018466989556797874138858979542586867847745613824228343389596592826400159356872835758694988719986264447659899948517394734727594537984415799476981849690756481997743913348884590198227696477565978649472539347896689969173549157386597267488346582879316884954178532569537587985964873976848639918771849669933874894252197777823865894297859589581447534268187665785293987867857466548798572587882077784557993378385955889659585798992289545889817657795988951449787094471734689908693983887398772969977084488526484959983431889992996672716874794957371485963969776852738982272785677389869366166935453582599994179968696363866883394779796645855939235635475688452765935389548779757755153687944534499957249475685453826486887499549467539269758392329028967591679521286657998343491823562978665389457529489992782656904047589586948984877045894516786388406796795737544690679275757472976488333834825335987784447769888616760498344274124648469558088416691691879685898976459795599679953956333988969627422595375665862498978425635982735491729868713849673758658875995513695870687050467946498454144658779868595433375196724458928759582366869092866848996125482929288975378665546099543055907986885031652795961385844476979839859587888585209536895247742527585987999875466792675187464698983957876386636889682945840268966539944694769766978966695683369825975443475749819163972896787513878432754896782524583858380675925974899789785887178987664398261633673774521588678689798785884698838719835773462589576189794333613838617988962768768568768854693941747785944728804986639789865986672608847798897762954698977397865873599475854589995365791777116767357757494129728453223564822675843628942933588896595382587639985378645496855499868867955958989818876949779728664697875858997486254989129885995777698774954279259895275916987865481269948818756824860523556870911538958494996955666909954645989985998597279868797918331367756351486906774898847698744965856645589974869596575085999855289493849929836886899870468895791965944554431973557953369595378977989824956968089639567779987379884491952766755005586894674745783234569592178857756893098578878474797368976607379786253347887657465468325996173788466457565694998965298978915343979389895759765304697433749727778337887927869197947689364576444871716668977305568485779358536675783489869030839698584573595887371355953472769889472361898387867924659776577479238764869184668864496467689896699756748497987761847937869586965988299762269964873794796663799861425361748878752989839549554648949866587688794798679838226847729979557958752678964115988296630554999090776978514886899964789928098364726951936974613467559899647585097653298828968295293978617372538895866646798376858853467665976636554422947743766295288466785597944469822239757564297397499486895392672589696149875867648939788848557895756969989557289349159753876188763750643272658686197249798847999999793769509847786876961326299870473578995663701699468678552693488075988496834956718885898996428466559153893883173379548289376986949676997816829881879987877957027577679678753210924744959985889246856692797859068647936933574585702478577569634638599585689885991859581913779967227788326265883798986378658467897690768748276699567846748355994668288687924959752039187465188925664894866849677675677924786240577088776786230821655861767849875866848752949725669852966199884685538734052570896718605584890252553577885658808888367496599956996496994658137852631085829129777977938728879663868868896685337699689735881951991977687966674752714645488344168498985766765647789568253254835695988380434618818488878685960689245999294329267688278858953838782787498668455387765958784068977972418261786798498937697937995578947588926335995692786969767691546329568818669896857697986329887197017536425759830477665872760954437815272878854498764855547947645888692877391443976787682859773629426678378648836765933494583587866559588288452969478672489846495776448509722991783956973230659396352889786495818574777899882638354299733989391739691858419997829550798948946281878689694746423566929388287767978846389272543879469509406398853793791713958694736273989978587198877278938974999497959367946549860368865364794568789267846895979731660889837967273848991905936564979864794699047775884937996859866748745788187995856858989587838558996759625837976627882487785956599686549925983498954388349989967397829968676249770435646575558399973587863653586457673768966958853981288839195169254434260348796391942752663387976991859495528280888987994599532397579668574953684663779439591272368614555864449089768764285917585357946815569079792884347206586645544644984888466969857497496956487365985586949718069899729719892463681761997279776868398650337896596895590884938899649676646840218786587389746199761494945995788996237861376821798670765387877892826794389847527686465647977695592574667794988789333826649837654487979843662933788388526527564566485768735883792433888335844928466844588879386562556971248247579952456916996991082837225856816498698687585573678422085766407715588876828939375728862161565758849784676459863959869733987363638786903558427596558762889499294569988937864284978794767855284959497974959589758737362343948739497975797958859689281775992878964888727995448618568860891560278582760619607867875857949738878576854532284849508824896164886933870348892985937647948823629446833373240953793638414496199994679965774079977521364699748889489776998756949893893896376439958877969376947456479566879976979347342188697787674978285779767883733852688533951871616331284148746776869883696688495485888594198867659615774329692596889657664479988918998565455167939444829366196584596957789986867483372878675634465848749778995243867617286594387567675857626921973787477839991984578981618498996226397997858659557364896455739883782637527897995397388956699960485469916679669489837956574288987959279487949786334696454558995511897986898973369299627984886527439597594894492815693314445634624790748941669764288945796175895583996694824199235257724738977759668748483763578866549756797735696486580515929759841395899867759799697184868685466363918867652488897097747759769588326972790982797848776482634597955788852892425397344843195476567553544885797785987833729860885656467374669975754484392097713953278777722888781287383567963987679634226947746896926398939984948997975958369899452029975898624991985769938686288597288591947573934598937699758754587149598388766889279818836398968388959865818946936567648893167238589787266371592945693464875938928298557266849593380647394797691259455978986963994959676335396553869992988448525987899790857962369855735508631945648657555515126148677874935857996856479766147387605415748359386396338142641652609575987811699899983439876597878629768782972951465985696468244566688392827687484738287575963794455457669945996659603493996429839854813881947090934472746973963099662662896776783787769969728896987644436846887527518799868076570857394799868953943779893796976776996992048967457881339698809688988668790997949865984988683349768458838575679331994955775577539848125635768379154396956787890737513340965978576748811696851428819632696796839466984168765987989466769797231687789445858746439867746257756579478999829911896360580877986785906549819984965715249849884971769983642972470648946797578899884751142948382595897985372485882950692786629598583514863869199484972758685446296587897794309785435776688358076478795688388986869463172699792804494888917729918988274857746295566996686947398746994069328874949181978797879382858777697664166888643465844881799826316178865695998888982229773359758426997899557955599776487564774953484981985947494279689973693237333678672479245878320926758299607078252286376761341840865229597989941976599441581682527969794836069343598687977585979317462869778565299894773299449796977532555988597796598217298699983849902257897837569259226697247866826105683395888277178668877699767068690753911197869036495694884596893703888228879089997831569396543437467598299297668393951798449184465167636857746878491559688877555897795996593353261659888476515837083186593840479849369989584738369589554684895793593999669757495866888598927897626999495796686275774695829563769126665119697940977796518592541693604244656264679192879567945999765483679085299759368988308574567885468498979995988331523917817955439678696279950799949719398682148695567789266479599703597856959881511429266539487112762656762256835738968835583997429864357359275668963547577498957947957495893773539068873736685576928516862776676556327998636485383483868687755849759499772494572287386655788467976847569957259932476277798298997244879579359884753864987828443762529499699779285849894727155986889427486698272851568849165518996313652862879374598485446882724963594986685289977089753854995367654353186767951799567988698386649723764038781710917589698726952633348996598774488558656895783628591074446169768864191973977876817859389706999998982644864954865330987197991960446583589279961389389867538356689956286230793891866193999949858669579826763548477699986985327099777486849883585693695987993656245993424066378659739947812539478472805474594599689879965758685877789354766748567941184988996683998749785036498775798899462796305943156495552937876859129945355997814889669851582729549473958124418236429269757989948577989996795722047567999651962518778883886788779986032585799379485527818709526793465995286368099834965539670986745895488595946721597666384552653898796431097758983645281383735775554788964675576323569138499748687688376666156527899759895698646995598764854986841767879336393858913474996575968699737708773784745771985391888856926918489957176834976847861967479683548375879944868394796875616787969815035182854780832883896548432946668656709591988389968194860588868568679971499257260326892562988768726757689393263243123673786955496561666676858955778943597644922998899783794971755562438759784719942697658772878627789289392793474850857774846833482061779635540545992994992599987754796589446688907428453266069915491578967685388244667987986398967241769194496924633500259736847847659478384383786834908847848359181003997849899376812931015916245446280988695906279463429425471696988953939979835777509999558851659279480984668397918438474840099510892794386685843467887767767775755825529969743346939396459599894443841773687883491518999488364575063748992544795897859568989338479635655352835989510129955449599847776484276999869939515675964537649848364517594759966729868851246968999689394599397374978414556387757890855928999835876586418777107657720773999929794889473887786492447879826538895577568504679964083879954965399982789627796867178888675897463479354898727795296714973569596659497982884724484504999555682638064418394537800897759879259935856563857233356778683719836739076981985577659957816497979766920666383569797776575585664117996386982471484846669758028854647767172989326808353839356386799648589799849897959955897530973987379261576861595967689849802673319962599393756899973995646769953896799967825043788944696978488884095959987699744044669598586926646778638620899739384863998656716671699366972559176838265484039577575349749099553849279898288644518985648445974977936567698039198839989783242773652999125354327884495559530564862839787958758987878755558967579639279814715278645962420395929265935537715868836789977919677346995577570175952895814861965469693975784480137482539898857679978682549648878786685766028368479485647371878859623965546139568418039869765669905885799799885987931777379656438785559493468795467391856967697512449587484887925684299967526054416535684277953378207731977887543545886996799854399857877888693185440694985079549727437978898279949353651876477933984056569459697926781487788367688289569304466249795578608647469644930949674159346999563629777963267637588997169594815499886895626551288874759588984757419145781458356489584859699159767567377992946396888522797149632594995610548696748893199835864479444866717866147886873657659685665668785676865251358576698375566565189568488842859878366336949298694597899978784838865657617734937957184692396781644689734778576854990437527457775231648778308352964657459942675553238942485876555978954698585438466957486568663466278790966725695378943943919149556289539979627373677954477784199684965738937429187770638687144393664798996735388676765586711838896165859930968773175856984939858619288487989145051913679583555508951355875847788587868583955374869916477579279698968987376747769099479772274777696425614883943999677867367263878100466333429399268986696586198878409697878377425538634393579448398983487898987924068349795789935108959689667475669478127187867207793496707258968292767276967527185859616725056962968167795229264867895776378978756654995774787869296743678498565979681940330738958966966068024778796988759998899171988663389488253896898966459450477797339527646775886889473989878641795778357904398959669942869431652125697588856344849955397582733414989647959771954949469559347389938796264909837855728679658813530666839868659972894828566599768934783807791482966466125609294969359719558922936785958495779784581709653959987858767391969588894975259767881792567372876695555881378695688597966698754659776780473947324799693954478918992294899609930699698733678863738509978814627750681399981969658779498448935798578868383968747097979857992840691456263968730364449735738337688976980982998835584777587339755778258792963941499995975593489779599787977334570476629775899339179898562004792647164124787138948979980978279978752558943057778699965631791866902349365366281344972154984864577677665753951667085137668952838556075631846866946887768475883825774965981967279788946939896425838478846458594924793553986819878495849987146994189994864565783155245289765982573739547949688954995862646845798594899487464303862354456593261931976919879465837885746545847449570868588792657988877976966266393837409188768569587832823497738489873755264438468488382138996662870265832648948759836588378948986879656789316982842687581628349599967697609977594893388166693898642369416685883262647434992986868948527596854895562954738823479977578876797563757838909651479147721397340915575345778738144599868896566715067758959938237891095569718456677649474878997525997563347495236974375578397765664892969739638948876895658891965264798576873766745449998968884754953822552328864884964377694918349387555873693857718268185599690996490239756297283967973687446893436898497334353747329360759559176668549728947967659929451664726263264858825670978196392896549389895989789764348709717935145799877816198232473789765295295924764795827374966380988694796865958969750704998899680496489566467218484840699070955786885861545959394727121568691993743797821945827979772987722592579842259298687984576639289864826785815629889645394568748886857456995492958753542778848298689958869458155167249668966871273988711458948884557016796558797545999896478890369699567823940659754999877117368539736586718699976013869457988849476449699284499939597686493878664457615853896055688933535847669875394954564895515474859868399587228891596819878594997879846494797488976679543997878546585289877654378879089874281956816987084484947554297653544394573897189578546183991586669598712162658274183156967658337698684779847859536286933819738533956138458985698866947554369696256276389927995584657843599967653896466275217777466482418996375511625633285967996843779377899256566725879863938994647805139489577868349876997723356626827545698933969496813495549466391678558929806948884465679589698768994538754664756947639839218039939487345156449225348451566198569814817558664278979485554469577578466647887857128375907767870159864758384487943659934437569497606969787976337568599367863887778878278886575686426951878857728398910457589776849477365857395291991639879589697146639487528848934769811743532077333837978895487521977374805878843477558549176868997899898963104883159783644999976498995499476651738852586058747767734896496858699339729739426919748766315943998576289588235189581678336184355253917767519337358257305776696936278969854832275179895799964556867252866979848279982898849893789743467468556911683875476855525299591183831949594277847887894287869968457283661765979490235497756437973990984176889858676624659678924882879788695992465519798656816586999467792999777338028498483899632949136687943374796539183359787795662776947774999823668019897478143935277816896549942984995697397598549637884991221178720606991845095168668728689960718555195798792899838466877878068976947986675975583945759739934975583894769715883657655936859648362899724495248798369836872497779766785811894056208986598946947287489787873558923488837999788547853944789813299493853987899955893742883554615689540757899243588970678858769763279756688667838578393918869558683525067796992686518956591896929686588259816891764995466752949822793152848654775841869866859381578589997025218964684429866769569759768778895788345037599978579896398964248968796857946581857549756795589039966877979938876841901846674995245735586869659692548928137564154679659988136688551385179996219877596838575588196990591096263596646558986989299748998597755659699795377897793437745888974657332254885999887367293754968388756583835866589494555884658398369592193498699294791188867849865689796659779975474537695886969484776995488614968724178698398995697599897779742283389708256057265894858669875296264528862718368885947399838484284387027829554825766798876571999175795477287756689894569422895955336738148758855322877689798237567979770877492309254749885665588789968094625864832646985937872187878748874638929777648876793786389749714627479329736932419568959786867032839843578385063467282796966346968621859377889657984459469968258947897449786461587999137958839696687943865686395885636723818488678778153971214761893478739582592528881836759686799705555772985471868988666254684989699383935464893189582427876776419367278813293792134489878897578597546994997789796799698630737826482768789868644657159827933756910848968799975367958599688499994466665849795778999869677856597969833785666527188884695959278764668892959687659734846724567623696658654238457165498667757993751399366556854775869282997999397387575868874876856897897069799147576666983958984379375449798983868783537648964832964388852769774659776168668375435373521979418544989537869815806965265999574799599754889592519319278132397598869459895879029245492591929387969858736573397548855826798597143868779774589961453588359377268955999398797882313935894869564639675953984889241190875549787594399504998869859512935658986684175930197322825663338577499194479646894635156408998155295648695913584267468884863594288639893357029642269899866343395576447453396688177803866679995746558687497346271797478495076992689468740792638888835558648582779486972876557489848549959289822885879487099971378935686398868379426994889493953885819694398960657156699776971962983962648278786859273368339687496389590193496828688588949229765169697478956888547163915579399898884997888519788647899268588847077779894749858684096411894067615816729399822897319427999549715434276684535479989121284949247614867389877482578264875759868369799998529756983683454878884979996876684699187898185567959572363888309676085978851884857806436830685595589638684245964587676788997159499658547264909836869999685724704593967239466490689296585752829768227838934557855517899956985959887779882494473398239778364877599595198339347794499862354597395713698657379554699752596945774735896734467498489548566354014969877644984677299277273685537769778577994878477145954497856973701597733477750703399486533156714117585774999628471465989426827485778774955659786361655531938333888899976630797811968589742689268887893767889589367977997894383551986588348898412627194677433532785583527693628268588346363559817876877924829193578988966962673441699491986312761979876756895632159986818544548794998997943576735995383372396490658797363575538788083984751799965832683717376866824256899882795894689816837829479677528547867967981769686769739569778687643757989857539454159809763884964499996687991599326987960069754898959718958472473332153982965697658655898497374788896173644846259157988653345870781578757126459617959378963765737299454707965675865927413393787268495899439798328675574683784422578777275778999123898949714468659459347997296733715899961785881849789685915693749866338829254559509567976993988995856429396999053381765785959080736998672893782459696658551775629777924989157468937266924307497764766003647889428277685078406653504868869537198437387837779444365651956234779766946688989937187639144681569394348987478291999689979979505979825898949598597785779369784985880334999784697757585876395914332627452262715625629687842645186388975148674477191481783438493835848896457957879368986595594579683906623563328956668658878939847505678665389269627728855889486897917918393196763559699396888848939196280676979217494635968963750599176954815438894457324639248359696379876731493687276656693576849868937647709035744591576578995656853969924989435988974791489468597974634759752859794195683939895655142785945975993674084555264868578857539339373858632578922955189367748747245878666591879489856948865525757787682942970869526485229951725927989574654696465812618477367345286137996925644289958760084919308685841854928969692379476975890774028658774457798548993597778870370129276468889635984999810957385948669215674588399939338862594699879942628771615589816729757295896955963592648637969837891899594869199355896899969921634993896385789697696928748447337958527698737735246767987656517971798957529131048965538506892923669887816397985767697982396681297294978688678623548579088675948784978464927662592896597986798898493557495477329762825469095530422607684736351678985661853883487618564883789457165659798726475168933796169384586881693884943771946947387026825669118888362127797522987979499877793648817972731897977775688535553459827666618362298636572699579069554137556935883892960669597687593476859367644559836743948796839957847448471836463583667942684935565984264753597517564974798858568489631993597232985388974069647895787683067773836450937324861643461598682995529939586665638652973794518960677646775599867966499765757573981657965979257967976923767228948835598348496626599958518649768985293899379769565909558077759759891305658552503557699615844671173684977189437497594762172945764913928628928289867797628756844578989587459858038290764855744828196788971286185284835869917964075868699495968894168991538397808585946587965508937948969878946286449996699508358614525799688004085986857682664795798667971049385393836854297589367696934399176416383493654357829893359877798877362586999555733565349753824996975748556636739676025249469856928478975650784525997376587788177748688939698883986686758185667856996498558899995355568754779756199657977884993799922952886979528465535776974786862678894199539267428948878584885898497428922674669475366038897738899453983917338696774655878849948738241788677636496175993969395282747792448892856796468599465838639499777255374684919734971383636458859883135257997316695359998473988551769747769676659289297227397848567246993867599644872909987926499527879763886668838785996973499984679889993606485746946576955637968453699555665787878269816438117759786792438898949996737499765999940849873279182888597947358664739226773569287678985994978157356566655499585899943982794448988672895570936884779365636168738986484929579796925487894892088385786167097575537873798996694868427374289545927941758968286974927925963129563516115176966267097761899775586749557637689596327919889507423758038779564699856179979892656698476028969884976246888963529695486147486894857840629499779793938879913942593809556884997806695764647379395698891494979936616273438398572499991953755797966469548973869932806876795483963594982244939986885387675872848925494669507899821385678686459536396289557726479584157987939473659988756649274196631988968739566567096695258383948886246759989695766745949229866328897799995998825519799589953764689715726297372739799295775845816848947989558789417643259584816892878685982847369707534886962730254588983564578998937995979466942757657498778760677236875645087192688438084699823749788499618676796693659949971814698669572675487989697489955679647657892662048658799928909689722638085747537978581754896506852726989853779979387824559379223563996459895947888424434269586966385572612898846628976689948085342699978491676088888602935954700960552777296779433195668558455284769567377260957998675178580145892664764988583512888399879487458467969657483859178097675949849572988861875989743892846850193526971137991957698456062894447976996824578189638439351446839835893867989757514473073439839945616486218437999777929289867359398773646548899369597976736895595593268782287831281969993567924767427187778587859736429167278995979966498187665962538485565377877259368588898188441085358381445323957045645999155854646629469807933759688978767952779776699158758947392838578864849294944879657006034479941386821470793623696936958827448647484939861592598959836945151893652986895751923996778977576899345165624787255083836495443952764879858976793478867969639469768878787738451685866427799349795297349519389804927586967175660773637973794888758887624368486488878879198180684684973587582896769837797988473967897989376567956662823846783736687516539698152888996977749918942778686987783857899737593878317796577748887382596041565893864689488439777892487618843868878797983676496987459838768069498277993897794796779887596945248965870599979996705293972556485986916995645938669673368724867709946625988997430764968389145894534999499760790743277597389987639863478528578905736533829288559775991703445876967884958554972155737789993323198488843815214075786914597994468397245925823756428470489958716749645967558987925652549884609760364994759710911789888783198884819728994047998757769917789485478398626286836761879726445394855899853991859578956532637927064747777867735876887882699799687479989334644895646777727972655477890928830796535587983596664857458586233288334909962748856958789656982885525976889531151848396574759076849927893649917947970949787525057794459868778596914687847784356571474981436399744674759479945719815888899995219174894666752577874785397249477396798831885924846277764567832534940388797557597644636595465618799758434887315999696519974778762614695499586698477688957345855817452413797721518588949627779378197669456969999344693889842497996630099999265664777972346579264786451866687508764949387597749333755156153549937599387634988932235574479808527599397375481497837488968529589741906556330628196569595426865588784841797859499563380915998365221656988569689398498887838336626788788768686856497999495884746849866270994419596676428495732822884987685778093287239493886974958875687824877789886841734676686327379963805495788989987360848324986487726545993673786495704639664782396269851874663697843753751795668528894299469929679482359493989673683939875973459757657419595498807164153532576736588975538557842836777598704696359297798378984777244465969424256996747284977850356669945687559789990699782350966376394755275966732842292637465684018388495773332986986756594679864176382579895683987698739199364857614969698970198638996177099779284668234577886478982747963408355664556344977545715286649476978976424839689777969287582487863578718874772749527556975049359659846758325263695178989681571696255377731899465447368567993698224866884386429543966984839998776898805709468699613123912216469796884238888794459895064637356867828739463416698772875539839531999965239529759568914978565487889661697884396589876368383637116899974297831897998832593597957292296337491459897079939457587937667165794893437319328979856958922786926946586697959529628859789193774642947879893667877439529454953677737562144669930684577587831828797579647438245663575997542594296858169948846674874757302636717877912778528484987177829952641994736721199737889871586878799336593394244777682925697798999868858719938698446598875972295584999849966895378349817785582688812941483972368051646058575772638456562695742347375865997238443479366967889237929849953108347592969798599978992384446557478468619936567839199544997968481621913849928545780895957286518748558247839417957406462927479529481751899685379675509598989898756193884447752845605749786974451799894825861966867859571956766708967778448865977942636959635483758779439152967658628028692056455542863636567319098965348914627961579467464299847979445123659525849329657776987566228668728931677347479443939696385589979979977998495579983679746667859776339414389507038744644779269979684768823997537966221952497976646292253750476755247649582292639962735796776938239930593769850881393397749449699257889936663993601876985457769987696449585598757768527769758561959739432847636439834939984789653637789776466475248896998254294748498340758389168725649749894360695807567065895573869157585877999155698894642298992566979838647659858578906139776167427668462359988852713394914589976574187658732595618866983474365696676987835956836635637374722546198741699785849137162196427185686875379817559592676384249753337839836871697328799731569348569470877768407777856656872869855797897715598399486868957112265691947485886587756099884729936558693888218876696519568048446957899894488689977859097948524346686977569838169581808889669411783555267781493309379798748999549376458785034379693722536890879756789484485679684744845699999569856693333609885859772982655439266908996569529566771569067715878455984777991287397955128798899499646736551514273478418438781127646338734859885982713566336985887696976758762619747678883346979938572788964591278768899497217763897994488565646187806051827332685677484569359338792785499565654589684879646888687647385746448885547916677883669864064344138989796979000578174154827463977888694764683695969629848999589588993779260679898954076444862874498879363173769239949899648665479798449546396654144326899977293557789279364668458269698387977083873777759699889694984828975779885897495937858613497897769523147292784687592018888697947925728896119759994545889886528901499566973674598748763699574339969768261953993881996367427876489497788236167856967875704745856282569933773879881846632973998557672186888682747588580659298889666338201741297885479474669458885983498884502775076897677146256769678097249849867967992938389448788793819358950453887579954471312536095494897473444489449579996866347218599683626674993629984303985879888993938652989529609868857527763378463834196416949635876299756991298451795798270074644072781789738987862460459168396514798968973544729858781357274065595579548687774999693829965662929769799383699772733989294852775978509868519935694998742847785784295827938889965878534653379869395148674159822499683484148585373982855838441683690696984549042679489358966816678294971987388796763559595369768947885648975999975867653544569567883654981948783668748679588855363889711371978655993975787863689381756386947987977461785669582588107842849489359618686788685366309678558349694651487283767339934478918729079858556868299815659797785786087486996564399972966571743976892968398887191575259455492989435949374536799866756989876956833561829829588988762986792878499779885867776937717798985464495470682438833788425697513935987984855788648465949543678969288478888596371305823366468895599296606389761975532785876364858578894497977664883396588883287919749887744979457753369848553579859929280685344899653828577626472168353988689489875987829979449570929503732758686288879773298189859772885069012889754839279774670577886616217964687948876794167728885865356469950565236972986368285797908599893674535814822998998955647666855367691778727756955897479046699878817909478193356866695079797515957993369677967599480349981627136848655644739599788854399997899889377835893796518728969678299942249745159960493638996966638763794889466945885393828747648749088744114587084939659659593692884462777256617377962375885685027589985677545507856537778954949987787447367874787493595434798899509845375356698835476176967575886619347823867494395994847578664489297976421128639714149174865554855764981437473647983796058746557186498697799663478977949290372869988695331167774931798408375558577887181987617939967814948688726888861839346939569245987895871569767679854879564758935584828615637977342757454682856947779785785291884882966696568828396673497955758498769871705839784434499608168921878886388644676966787659767538894999456976388367773812598479486426468956877777279962517732677733888389854666366392629564985668229768504416176155627863794568349681288394548966144216863798438793259859444898377798798886287497975950862789748917824566717987618495582124923567888950944979896892497379794285600978068745320898657458649181979948888786539544788888688994459897738514279754893258978461798332477368683773764487670858859648749692248788449197499223598989686866797485926876869662597595898486994275173599377976768986099466895475259393519889695689498813736935858678747271525978868786969994729926239968679836763189759937888464587964299686158933323956556836727949868665825371925666665796474889989979489995986448747893663648397868769788887997688467246768223987357969899287416530178364987776786868698064598298758568479675866288968993489854824980286687112870264588978869976943544419848469996889599934494835961260539889963494697790955188975287759579688488494546768768759050423894669753788959755899767976217974587364886959474444968568383795556186729895189956952945698734703936095494979286996245989948692978394425756987653967889338547252080339998467459885844430438889767958637975770585169948759649675299859858263848546899255915438969696636934959987947259715941687295973886116655170207679843996525977825198495682398984666934256762027575589336599609799353859598876384988092934877745548849689688866736962788922755679646999292686452622963878349274282855644196231773726696936678482994867934440516667878699945788199964867884394589727926390388976291587989792449974868305958791975736798865754658167899977644984438189639296966341148784945697859237127566748367689617865812235694934984845778961505898874479558531968478639789915348884097935854996579522634859754777929892709776125690627858878852896187617144787679772316842987878834865973487777382573794387096568596733779469562631578898435627208299359785301657665383274586378418647938567749551895968779967775369452966657974688997297933769879137772499843426355723730984557783799570828974738285692349962857248789278981793753780975896067975578527657346629844787889646444928947597839975599876982268281573845428673347477524774962646894904754987087835386160948999723761837549058856954998628789076251287833967449762475727773839826485998728290397658765968839455235499675684983267145227659279240763566498666840489338559469796668197956743369868837087454045389799988877579377525179466498676777559985439577618558557289955327949579935979440728343485235938485999754989778957469374334373645226351195683668699357498097573975229898064989080799997797234581745987875991796529565784669677467492766696249479617496268684478539989594172198983479976954884713810617899261979976866336706369235498947463699855774674714413526989438994876564814868194818689953788739788875632726808583466472688364899698266679867798658425868797692867878644673869960529887687217880386984373719924970189348981499468868868668747927971988965999688135579778688978178266767967852859357849839959628795632478625917863929662336661452898291782059749678853998985686539986640259588827805789468797770563563662476568859634544157792296961984999270785484916935367874398879695892537998945375078474977947577476887638896563797865979786890738765689977936529424797795765495619715680624780551513478699728864438975059537677885733695479897737555788965087081878474678606834897777698768914996787337979882999989992794991998959965357691772615969767697568994946593946719757529588661759877685076598582299934109655688228768657695828599850158730986334482947897865568958864948878887433987771874388632497979689356499669698959729339914663796775893699376465378867618859976997925686684993994671956973536998948886659755854992665878886736369849315385888525955168744867968585738988295496649729986498659493057895475593888888586871779779394749768547988567994764372468987292967997468959996348716833687595635896847399828996669896859653683423875939636647679293727656938507759989631674416285239374523674626676308827692907982386477555464498874583976468264988799854311485366489884338496897499999609610582353695395982703475569987657776875312028563875306445724588727628407375498348478659597294868005499862459786916678697468178691146989631223683837086781898689759877647669775587784368930566799665758376384990679789747587767799727599655684647647384760846687799387966343927798664499594737896186883993878665797778671539652534286169887394096866181570968286778656168985869684789070538758777539258675909358581765688876836862777698647528739693867262895763546888274876019915953766207556344906873784147972897559539249841996469089237338483684092403536063888761992169938148998991942884989886986657231659954817783899344171486779378289984126674583638386849299757883943288503762997462499964175944616468534686729118976829396905843758785084667945605579959906763468647944986238486976685894994268955889519899984989399251397274944998868588313719926698681428778459532188984365886393196293766329797966951885715899494789611867373979658837988778573305996645147598977374987668799926467435595357412646261871699193864374894984766196976387753914656064991175969215257974564865677576479107603958499659894677974858787305746289999367625971697999638352986437572683724593687549984874554365799999114290468176593635648998585294988497454557343498728581798897977388758459968706267356573999867977856949284993298969689585272234166253419794876888889926884576997784976698764376578679898866897557994296365677569917874694889338925794854689778672958938798088724844933492798064066877557907594908283524828305265299557578464950721069765623984676984794765282944862548791789163894760555666857988849595837862657695394614997884789457982852726793984734595478686277898768909999580741385968828683879576926858188999669962994065794397978839639675884823852346769887398224658556438778559597687693966461988596098797101856797269186473794488799657938969468961999593773476490654551753995708094942997632485927798947493783738145791082864861368664956862263166499458209158697609956312897378789681277159549567798585245358297745828349497867748765539426799874657447667728877785764468686871477966797386692398876789849648435733983279859952756859657978597295536895754998821898534640837876939984593899898714397350945968154549939826978268879438845267891744885296882797659216834852599989705233224979969098048676658636674279856669628477566899985576126871178842766675671274633169778276686479897557763798448147446498886958689483099497599665589847730466997968364878738298944486386549851589292884395977289597957782709282959295599629724687385687606501384519964317389585999581298999167498685497370257834629942638775394906676978263765725946889983656566599845373284397839334524916382699658053989182531594528637778558674512348858978758899657785865882889262796635846986786989624597572761885654908959560445866761653786097468552428248838777718855514598857976589356655355366765496674574898889499756518537958494977572756769956897378476679936470074425755168867824235283251644397926959797199799426246996956921387149679798496617348872859671395297528524814585689898649713797387451709159932888886906423249392978683902886878768362694787172988943776841386819868729958619478560996578958949697947655928895399279336688035657957128729946467833445876992399783196455590733834285789455872977864688229975637791969875754329923682498697853929055699759679844574525597763894699536689639672885189488855538838467967864754758946794779791447465736877968279812767753881887661977272893389165888762572690437950249887163731979591443768996738856353797776858487979464583249792999723199741729389987597979187277758249567827929819201879959848189998399376779967584768739829847951928235645223142254463495758569181979864169444859746558370678152709430419793669682715547551885174172226187776871991594898547414788485949472876764589495744796288548054367248479854767538387538919887787799318498587358958876886292640928925889291798485696859485175978898895969633988825298474598658731597994368595959798156867984506672874657589985805979975555358886955997899895659935164023567887442875968489653737294679697688864489951759779758848264738109538484819699547589096867636726898466891476129487743676588940742968870156600368566583463984659678477894984397371876572789445897982785284042694753389758637434989649864680796945953629868386289957885759969799489244928787357093977647563675766177799497287368897585179600988271798974167097948497497835768486577926565784095678584785788497538357985556758461979955699646495097632573497667897886699935344995587654865981989564657869677716748489676929959611896274694776797622763657774608984857465695263739992083398185967827931998734972635862735737362733634398564591889186469589943788299959828666973528596369958578987894539866455481188957889777974524488495277546244954615184826511586567715598316642309208877744997959988826868579867744378789769587559552478976578482969939417952782359877961575796797276696969967791456373915949557769558132239989656828737573298051653974656427993899355959817839993932171948547419896776742596234354474538917539878383469109555487657885979807551728577483346036884760582287892862698386279881985916518495556793789892762638846774956506758878844768330988466465797699989896999098748385559405675561934873238689766357058141969985856976415901746548538758723959979689288556988676997899589824423599962564916575768179766484569860628883674149571679798357569968652967389689272786978752163994484946781985598968987888970274792899938677735899499638939942888639775698193759972504645198879434464744152843456337894429378959878403986792189987646957466530508836226135774978339676375937339852981765271668547568562840678996265472989666895700988353994294381779839027915969661587677992834694496670891772899388336875547686169152876889644419586861595889616399179688975186755479374287994575989796688077559993398679899458995439138651698489889228798726397981559447247694137473796284499724727892833977864145934877222871868553746564691499784949050795989498767293245976285499993357877969845274577869949453867887224998788897184598923828831295449565887438393712851197538284768463887694493675296673566697665694499894485704677675575969858799912546447472848676996494348819749587729381322679156679567977498294497846388251255499989489356494576128739866978862386989357447999849327329798678812789892364570365918306354198585999969529797690777386581478859739737385984189676088837867958889238799689588684918161777695879788774789856967586355645748929781597376391456562632637487769266774644855297748377793643587899495579909526598818908358385386833268054868466690624886363854294666867643539379778787118649067972689765224587664913366794861796457559927386735325843747665437672899568581458561439886446986865645882446776482408877849549947985949789738758848925958538922987999927859964688987473699988186878789289244735364644578786752772150647787976397559428685609588899974546853684239654269775695588958663255897960877438327188408598899453926888872936745697698768461656666574529822857928585967699868597861868398972713697947589698768399115736736774873878196577595984778739845554759669095839256523988938118747979826787676391975395869558964672651288650896749374888957599546522926809689745878428887676976785688345358853475699825759448491318988926352434878695581676867877959879925382744815655782687799759478883352892994784798864385287977498292433775447582385999387849778755577466596279268783899701486687469889847935681931282468258335776293928995915967347912809537755855945878699455796847644631579947581345778158381895456986297645626796985599195689351987927368607629589594776421848529834489326848099329622488766776989198716847722466984774994215619662829564475959988364228723577597956493247888719796115486391484828058334255639797874899533421731196068698157097424421494826662758979269268769456575437668575858758967682393759689442853869684967664783849998578479389745996979569598065640934587629787633988495965673957948725769591981467256842595397386677463963694971659631189127379747489948896349286799289996776975690486983932459544876358496796977832278789446682247644769892026173949547735486989514592588645796492587129998278267075485099759787878672833554498661915573895397784788376559799942677276988626867658874759972885567932597458965828996517787375779433123956758356697817746822964766769498496988645997718766539999965667854399923834685875388530286556668679633984385845759793928598798694194749707666898277797849587885988964597239427682736308376470816734575378655978921937596489676272368495476798438965189747196648353977488268966274468528799797978357961769557984956925577457856299489897929485498168679669197328566999467835239568856424838997028686983459739349797786389858095644787806988793779391998479919680317657968298819581363988778774794242899573726670538643936871783725597082966542964737892534966994445684884737397992888477479606969451297677778764839613624191896798276967694973697395393586685699789639988752996973867657916299423277984764964653236592278486612518378686687255866379676455632296269845587688886748076663603478938299845889073668468836686376578617845995849432867856283559696729899798185697665660437526680728768797799643954868794964779785851428598179563805698436378676709179249789666229516608984834263487998785938787984695666657838576144606749744858937288963463821455994968937591169976868779879468439106746457399466881859556265966995772885475792578618872652786884316765856466696828998649282866416884785658999577323876211343726288188338463299586964599733426559397794415696866989951165553974772597687686069645695923997577849862971950775995618859478667750686817389258397483568896795247446973892705528698827894885534949982455337366438484727968748329953996606789528869327462998942864591739383877787078776688829897863329834489948995948959868831549977247969993476737799478994756547983529769418431774153868468525988675176992586973849684587657366697688393964268662728459872998445949955687086499738142994564477598976595587127499578897742859689755887791442948589667993808782072794579797975466858986859785995474699987997692906874615977995982619467769887679768839878849561845725756888438999389851859599372624979456483778286879358886929636687963591859296482928837291569268586355864779779882649425678998468786528609537832899753837986989959478897759377189788945773639886746383992793529269668835771955516597635633862986165385745976424464564694563887739359619495494679878978216799952477195975687346297447147895762362964351939535268959689358383887447804988502997538744386995678537571547148957669677410465326495848444992656814889732175393989977535593734487979672586753883998772657541072709674969376248369986476964951679639823433669378563604608689715996237326591458423495666853997593465419956967582369567616239745679096575583426249458492638563351284377477979962947235949260982249715640548779963889883867798498965943743388992587992465598876757416169569517817786666869588713884499738687777515899746578998122989440325449688402889925793975759697964769877391699572845574736267970895748464474838784883969348399288957487892955864836567897075762368653517664795389943977697357846910897526207069247885182467828889879995974276857884085887665973687475769387444898665374583789392946799831075278346453224272596464436932776390229598263618540739486398276658999972934739847982879876776785467569979974993598692969874166984835986684678776939069376736309725747629659968782583966889847614584999999743828996767467876579194577198464069447056080796777423998697868869845775886874492167577288818757898324992852161458571394649528889798967759431982970766963559466686598783948657567329944863628966427869685646952679797635997892524886085762588885818993858568583056742612848999685683755876826995849649273186566173765399999188987699896767796637947949199570151688489626463554638218844164987885649613975368189559186814792287775768296966799949928181822742774779646875383387555742247956523896969642745788872718729788648964799491463996750664967867569247384458376496479496856839385975315360577734365398690206848767785863765948899916692978164465493445667678834373397778829898795993997712531466848946285974790980879134433641187449556490757863434631889468703419388972489766857658697427048764889978365272991164497361979967453997856179267588686496966949612894794156663456364856678772994186487999199624998968593759639445451099985837386286999261797943547749055291378785997796799285938968957631881023725995792269866966998486633868644854867597964799787898298968932888328480595175799798869968219467769349479499626961973473357373779899779792694787665967488888495848477437864932849773991421777865816845840798919605369596663028463934340999594965485899765289672983669548716879271994496556585778884848493357998767798683484251449547359397349775866698786372531474858986386465428952277998181905889423983373388797929319747997689497927969276846597396874685938467964996280539999628797218644960912479194849299015154695892911979678828477397964529638626849593095846599366955452886927597536962776695446778978628739198663869399644596762287471263187266887778648425756794656388475964849647423289968835731248858516166699941940592654476783783331787374479563346556699563885947797593451492989761814955889997944294592884757749732263979145740977194727776791965192993867736788322538787566846874449354437227659298396759842915898828776978158586436989843268398307931564757379289585383987813679689890458887871599968676631861976943918976745545282584656983808789073663865979605645989999959985878456889086866794854943677628769899687948498649746477995538833999156967694454267429843469978219988688742449776329782068959869963446707947568389243764756083887955325389777998369762047399196161348346836436866445437778067876771772865389756992964398875292533386941677791456944414839676894634958593899257674853867449766668545326948697659774353179478198122185140728923788683324788786737847876646837942884585347965895478656227783892094286837899858998267758681741859677603954756895995597747258344877225635615991947583897457526177647120789797379968707597958589569967932693188528597358999725778399998596388826973698855683677809633169993876789695957682987879847977997433409998879384797876729397799445790986999621977278797868005897167594599798884996355693789491367678154424999725523479488786333927883775965755663946646968985473577299986528799958181789796379556789889665848789945394924935382899996864580483682924734765098676454456977760605718598915565176258947873687471679296497898988603589269575275595863885656789036585752489994367632897756972767778374965635965528999791176796236233696285594896622594566845936677530598599286759666995759884178765057880665989698648110995852253589499841339753554529363793987485989447071770476451495847956687989375359478998698044489508339785539357959985816866565717252488384149189804266898657544898668453889744786757996797970670824793879796679885967759593598697922684986549763254855889995253399885869975164949839576766526909297747651653739593637886558427224827716776417958698986425897997998469667954468459944663974483871445087548995878935637378218984849487394589339576778615876489782888896398687865186686868555566766223947628157793379459186504144736783895448899445787268821863487684498687638477887888799677698169094507399999536393589378637340986577978465884536959627271469638355463474382299999978942887353462171637779688559185679955864859748278876514787674599072633684848788996488935988757868795695537656749348456689486839729896859588834746871506846862887682808584947883357683374567864795291996795867952961359857946643658759249967092595592735917991746864567856483317688957867809868659885979475618577124706355456467768977468726564688986999252855985184179919985712879969449693640986895379787854209649383759629782962828932854644787539345994877387629887478998815782562334278742657937986668632859770433386939185977605985648577482286946792998221688963853469545297698588078592765889798388099754607996789864839497374458924266854868949496753169289478778586243765429976185468449286728995355866919848798746858896849588176707863879928825958481898724577268877971825959969285626897895228139493435899817849099345387998336788679885657369293326494534597869488404959494442783494779984356273694988795986779186971998790479678988971693812677545867261894378788995876694414984758689836911484867782967969826889586837277876258972196949999663789348795536688658448943449743978657988477495797939358968899893522587357922866838770679466805394368687899754698248787373176719859466388962829485775985967688524898979397891749688955440743978885129769638477298479348038079579986987489785527898074944468278495473682546979898513406689199699778891790971265681539716586729768998661389471989463796161897839659795907548673574646244741368375573777746164651838759663569439429779346242694498765623999152385669169984968682429482788579478305798708789946782475959977862775797869799259854968517896608479454356688896466876978885286444789659752828308857928879896577675529384861678543708229609536676788688986959956139048475859769881672898218698359658698735554777275371539854678614695993786726284738187819886864739043764249842960571038864057786463275429553870989299524979986998829966667956447768695499998565299393951987706582124729916915498449695893376558794547235625854397909669688628595878882466866488853885869284772958998973664895875675798710994531899947424989326928791847679988841895763992916643993926899869532699033952529855058976898987418348848748169869955486966818187527678677689555898992528964799969780788676526626879568675427593542258997486763432818494786173485728339937534863498754799968913547997398777987627835653194683789966586656678281986253795778842094865595793486929545244657839592751188808687798889647544244959822868354531777383339672970972755314697967567796877879737115748573158598533665879499834561874692647692992498188588994897976224777380938297534592987693575254387721365895473997774996122966858818467486765982737277437686419890287476354899484862394865884175839181762956499948297748286969595858776667324789987499605639597897787574167892687538587457464298553774465386723666790689496690781929917777847759029445689355386398800789383733659676996729836979385351856778774576285784686797073595719497188717318959866940774869463512779968396078576829789869399789343441767977586573899580817888326891544519689452559859996858883983254904776499955726777593689893745415197473867857273867973544698661349787764759289759896813696397398679776576789387643878679795937725973669799778495935792886868886699361896699899898875499513498453268476584686542740846667841963692457976998937923740398684435386984939783444665955894909676964784543797876648378449577839484981648867693467591859360667278955635588364968626758679883768775854722986996752723789428371758987276535379995444429938807889536450737460658739547435975767469357933206859358879976348975446996877802461627546978768988783652409976953987459968478781668389852997073259888847969972292959998517966828673489269722699884279589469998961876868396334564512949975466934687691689887875675858977765887958869396575861727893568284288868964586496887592896552694970082449778825459877965388254896765372797686984987629956951599965977736461699994729624223977973575998778721687686759347799137077598899840477947560357696497704389756387778767664965385983483267549471735794529687996315286859967556599614728458486599426899964950577977159934558967897755627809998685134534876336849986636859386964994397934606987688899899944855826989554388871499867949227475919864896832618669976774467397537495774699805762276758577969177906693536244549958432952999911943369629490979683492684985792192684975998588795689889739758339539679559139177358587984992467494460523289067619655355656847776586839876284389253908437793663822771738428169675788318943909675865568967589282649933669621687984722939799234798858494564996687789993397759578531538479669789958939108920618548396847239760615656919494440739669654928399749888493731291835656434766888694892909698454778998154288979153928496339869437797274948508776659843655229558475726168279434752184445579939435599297783865296895983447734196397969987837699795962836496963575947083679499979877430985683775758238788094577168685872896759886579578499595597485919659998996576892967777776478758995230188783397658557867894697893467960629554969893495692489678842768988777448136683883765999655292466496975798936049078779446565797876795579496919789857477746387558728395163847925538676969946536635849988854698993997859845581998563399081637536799433828239675765857294339888729898776885676889494562259879880646787956777683899697539815994156565873599977387100974597449777827846374778649369449953179858559786483391576138792665874096856893666735664767188519981698687889976733969989519354767278865564696687927709889459714533527297273989788778899375669838589944798689696184823264768479972846973395939184394272894986999435596159987277498567861864997966172776467659933785973748693855824033969225593154068678796966454974725785867674865346176997546629476635423785381814958898833871975575474619204546384579097662684647737917877897388857961839728019887678585856774969899747390138788966868291872398866819394949959218275874958369775265875573261998860149865486875361463490197428988485339799762986798886992964425919159674773495287274237961196697604547430998272686557652437858869774409548682478688838584416538147666829985399591874760896999447378866997943747456628029915466897298686724682330746375468599969898486758719988516679598475369573267878013698507585948964679493878845234640949877145299496989879857637932318361655456353869848685413557838689988468652887688898785687886907968987729598489556642789654657803964209864669946596965696960739889939899166789999366909744648454893655486746958448850974513186582736948396997696354685182846929539292763158748669475293478977859932585945885689987958164686897585879697657898636172404877749286689592747869159677235169937882804838618576863375387589697565712964967745719857861965983827364592957333866439949354587983779799626659366865437979779945487779249734417743584898698953699865694549637588698793468958474982318351559658816787857987573249145497383958285956873626877797494953329393961648469512786697245856574489368985448299955414776933895257619297784873756733277542773504977568888776257446157332977054999999798979093858184798177875838972463669874789198993698385727969865747823817646895676788294860952339765556266728276889746627088675894699993567670936889883777477854762982889975417979786587989645113994272845473587936585246486608484197573953813195684889189764952829361768355372879911572953784074167986958535182486298688832395931963005799926369924794651648658693539315514986428147979940895981849564589746739589685771982589779778496357357979975587876059426366608773520606587477579684015974359435996833947976978995984679765787553596496999656427639667469986116995607657029914786768692982611864449798568695558599495483399853435535862791786895469577756764475664888772617477733722594676674419517783299589397866667798599675954825189296952318806599489674389397535694954614446047064313979666318972367514997791749187727655785338685379404449583093977073276649339774283107999159886695944555567408673552767837234798893749878987548466818859774682456868267182885638713845795774659285158745792497619861949974567958976578753698840886738752858755417172246796435098687982246927945978567768448638997787489751982232771799272975983588958706247383185349767986499546898921936254388968196574944997967745875654700889959641579939948554968427334766019967495514477796681284985754068354534973181442808279336886365893865864799668429433219175073589696098859894518765230278826766749426318977693667878848925697544928859688274685957789869485957778766596927537829738374678928892964789748736645981563885861592732688499494992940659535875759658576724568755886168275987691867758958934379751305687310882968595795455577888447876971589677762637777979690697395941614432911482438266399858949998528487695948714453582944926556709926465578899866854953932687488877396860958755644058355697994828649939869769691989947785339678727947831497459835254498947372577996752538925952726388669125770794849475248316895796750928456461490999798773562595678774995974976099979435587396996807781867397466194679966188585966490238613874386379995978866488949187789796356186959999639274947448678624898888628794879969433058863548715177695589887464907758398209959966591639446875883873769277863498683975889858721389767999666769181761769353996755478349406485999799649642950243886986289762789162317361986758536596989963988958653666091819837764832518679877869178657398537689825772529288688616775656997939661787899958645768637996745579659938688499847669879795755346849632842497357348443989484546594385358753676583955827567899796425322834879343478688273178371367689469481764355796977394782669544995594893683697672689999740769286674726668739978897486665176955859474795236843868158349988934727684789785998786749506529586970336853599786794683983998598196943786541437315959437830888984878945088779699210206597655536679166395876979829966956344946639027639469299575779679278977687495567861479125793879747585698693999947757670877279598827598688308960902697888886400613894992747715079993261961365278593145597946536536965184988298587854128280657644240134589755854682745145779794635669446997897879868897861488965899849668827546869876868561845826689636356294587658584656589998938975957652825484534535976360999782969377875899678357309873744933712455477965445388885878798992475888443849874778824486435668336417557833188633317193719472688636722566258993497064474776779894528694833947667961915963269949486987677759325845493357731789584751885698494398798341699285688017436562992417927534974159896293156622855851577475495976985677728459866964596528432819953893886787952989847785797789348934667238739589763775897964395899979412965921858316689893053999996783895828799747792546665804511288774896973571465764658439548496446892834678288093297669895659493444299305576836785977561996597975277994478158672136298845947878784326963842474880978669865568397576890589698374997238896845945821444978369457453368768595952197896814673947368473629465224546894861985186754977828544655698194602555685754238798654567993819448803071575758865652498278636469679998795388616526248663079665997541770989493951667648889473648849697038833736646875648866478098897995379597282744965799419499458932244879666970767656413572756778725764278878415207965660447887076274576765996546685437474967378879533929798865789965884978476795829569677458586983796859833647697268659999361867369168972834999846349484296589686927699579807777151376627674942315847476036781575389745647774179357756468746374526956455326291676836768235717859783731893665559494745227594016779635676172706492725737679688195896899566649785175658739878669359867806884714688693843340183386327979596292082865269537507875054976398266397679299686945618892976848737788358677762436354747217757795965799267887978849556834975368796674171667889786697897584275977975464140469927949838685645989444992194565347138757446457627772468485494581881591526467633975774639343555987967508677945347885953274282871676188982676499692567886665942629700958648438806686571946782999954379765675319767395368897859897690987999518826696727646729998484689799985847034476268998237777265076366748163117894262539927598392596637568462588829837524548734483168766986985978967179898919968537299061555475748999878636659293290547984949728076965981969797955876698987496469798447431494967474818639997909585295694889721168667786386965459617792898257651713992367793335716925258597926884538887598760177666596958729358984473621508631438786734998588708666784893259766967999652299593695686656943138118675998979997539384835665768398679355650277187266764651659687789888166235075057288819869957895267399119987765498217294783456643887469505895957943675957977491686494374397789677689635734666442355396989594797840967773576798629137779194695987981866729979567537595798569425139933354196397886619571997547871287646418098853861369679664977886068488695902988947696986909698812889865857678764945885756346645828662897332888285918997817484855847419449686387020859977999980964368722694177888767345882768874954480971977295865267995496545997466669451975964420936871949995959578793467983970559939613279968147605998998377627118845878557868460449559191676858395979874564535552685855687546503982473939688098977410275723536455974975891469505998597836888839944468946869482167138349746477069155696850938819191089798254919679070679863528925898179782863250444349779137927937883949269378944524984973077577999463209170758847779682976779873179677883795847546878657751437946638644367696379736986799968959979728950943855889468333959778627584468759548985798746997179637387688488166055909529379828829884668394539658545548035047780998995559494497718995687447949688778757783908297869938885858996435766689768778163528868638948637458823996433498574749489533629904883796944989546983616578708578286340577384861895738767789178415855778936998449394731187998849219187857874458759334424691494588865758994377266976957526452375545689669797486837759871296796457738867349888708809779899871959967549736759563754753378754264580895557183145355087813589998785215438166828698810949778439984655117735958584786544977936349885868818397193778584879494638942881347899733848999978648598738671277287291944795988973882854768758868487883869874755768797279668775527174330737882741485976893697822276592673658305373797944486926474848885514879851253733792588478668498812488469323765887829917939820298151428669675757956859773949995185456748598592277709116638586992493278389884955676935919473362359864995438942588356351898632099337386724984665263964673912778689517518891089497142828206398977255627783598643284787757598165111438849688058892655292397893994325977848256657972546979927659934815496639627267576628279913283595489198232829497897546496622856947115594985727878668948646543367698667934262666828698059686791859988694829567568963681889578679599759874089467879972834953476576891463844966953781997476884989749355393747469888854845277837762658958287366984625453673127804957165989648777976399385347882557640713578548855673576594984857757857389868625353784995875287691835648992795747683287966997999577913869967399984658465436987985786754585747974097987875494776872775787860424998789471581990455538688624245855957156846236558896084997120496925642387707877064413969145976896928577652879869848575294334719786975952899585766549752725827233634937391566434852831719479799968498158797783988492073888860686728854429859782272641386595797357496086394699215568196635849867823765935998696429989646766778599989884298976987580887815459889997998527089278774862783878998736638393658592369589878884953246869876398193853863464573447658564967246295298766884737998568467158638740928726223524968944952187769478933893447438671869319899559748938678378379935985456317054595554626755847636435782786609293999949562688754396530437992824469749993989783449965870212356627788286897889930694866522039978838480894877514938937185286548993986487897395288861168989885579425181174696626898966766175843634468857654985274586964298467965361651776543188720839367957683679477703997497648858867789903647926258992889069579087788923325197437896479960647549622069877509714939472786999003714998406494787579927386572737677797865199882796665977665252967167559268798949998599892767746249379181873418895880588766886962869797328999976898845829918777395569419889065253696959666736965871623724848831518587875958589297269991999745474698665267245289547659167261408572537991349941964363719374969416827818496676984886396784875661647776796928973849714862388176590737769813032068447280966198684395733119351293594904547218698946966948999969653845980589975576869657642282689988774339139791125216666636637989684157779854987638386388079698199999873899869799798994315679767957553889807858828909576961866296379999978175757215655886677483388467823894965169933188549593895455839667273689872095185996277979953799578749639715553738890685956884589967627639278725898388689619117939429623991859869975614735964379286453876973987368859555488997582912461898934789609991968719859563867272869974786898618786443887919818037879381872777993688496392739576874489990907897687414883783904889828872567974816669138765568910587937899839619697697240855891389997924522293592959870434628924699544888184686096198499672937834964903499986807979748727985928725952628489895621974952997395935945590483726508584571666863599249736736258872393759996547898934573943668989473895798798289896339698841283664885387519478457179279348973852719898665385919617278858653887827655099663987792475975165027857505877128854594247187487372069796126674877385193278149882964658448795596982835526765099684178387742609803465645549749278565352116649727859345737372829866499475656401519578831874479738867658879829584895438168193778794439974883678784503749666838486759869563195222629552505989699425647945746696859974390545383619888971236169957674976033982553774994687296595886666399774369777936917437879855912838895858976882426799338196325722329403664783714782989515574983656828595168885989462748465698689583862968398836559869739687893566779617948966473889398836699874392490655958174865449384757679317991408855689938466999286671267496628994896869398196385834784555871996386726940858954464826895376975965976132934412735986796256398354657886684272787498331659096688517856958159899453997987698758250877485278377276899895198849952874598245928147291779869878305967478289554863596589565769537409739981787947163968917689997484715747394197929877062656499977595676597668967363767878957638735845276779657699514629489587668563419799341739265877595793631577669089671983049445454766829936389964511959845996914967790473999871787948928898927844696469457280576396407801557352705749296577677641598489864447405877964451757987988763582845744596857494467473995647774938092995599998369888886086918679628664026958446752686228747559074796676667847603985797845378728987297694377437672866999697968788775996771289349733345983887842985556658798598645376836998632274399149658962258795536759955896379843163157888583789999529787776949944987996894894862713841586434481999636898468999664788277838879986489437435788829857865456813483925983789863885684967749775996863729578943597609946888917223940542388938879879867848864346957999949792676488779868999884889266797948270128459348598603986969979556987425989026907753599582582842596784798987043785497797798544882589894594557709699779429072894496989920690446272555844797369347737839891991995918093688436794478795434982766885767788351744067418964879976837874686409987626477425583835997066986794576759573932285855669658384997452920404899548782578296798198449486942627987738965856841897753075964267751299988479799446427879434977982969638596893836834767997333398286387248961748795724051362714337689995836959384909496838869673052883205942608753861873947470218649645666789458859845873927537895884568713828846965257578986259732666973877992686131728571768883970387049657395849978393998589029781694876734841919197936944369927879785329895398677529946465529113594685293924480778765585957554535789766855575578885696783967399744148582952393418919796473948877959444687638485928669964834627372565789288529474745347669046605548889449459828082379667896784692859676737399839692965565711695927965814538738931406866095792451937884645395925226499648922497479994459268793740274742608779337538368239348789362962546659876925428799465974595992367361978866766399376598965677141995468659363495482381915962533549656928792549265326568868969973276715898874868995968835698819503263779246650995638626914995879949999847757669378149596996578674592625769377584875451097868668571876364586562561396244991989851591565979314927286339179150595998649578938978099655734788597569876785692572197268894848178849364964676452989439083553787779879458856687627888893288479946674326956733809482855748867924858893748167726942470987252699926144585149915718232878335473685585355757168433208676989999645043783559078978717773792463518095045586586798427232787852989689735138829165339757796534917928938962984787649875312449919415964967860473434738477378684853991685089665924999649491895897917685272398999729353171648518495848452967683788842486918798848290354418865397937874699827968562678979768816548837814430975860497498548664858467348982387850493897369948652883073558890949275393778847851725564848487978999964847171573748889994689568877745608779778579695587228479683727799258819448876488682499848547464515153308826949998623877749644995774663678983419537792777811668962574616899683779987025995864686717699452461282648563535699179779834888939340779949978878399269746881759398779871583983588764997968959787557062553466498876469678331779788945497756534490986959976926736610929987485485876688934736486186466587829284289893449219768983681658789419767751774556797739769869612899887998894677168936076727536724778249264998896645898654977489393617983572587994854378865913639674977257953739634152587465539754845965744948755917464449981586126866978599967889662393877477493589376985135569143783462956759817259115986904764986983823969595985694209226982881847777254187592559636037493898982623737193837378661553533659986944223983957393672852927499938568254978782625947789896861766768655663891668584798648999978837566115347518715585654868477197999661077978838839122768829140363639797254679885449588968881956073734558468537885847497966549338899789898884788679867981986287959678437649237424986797489993154831978899563874896923645791897957681824615879658816658947797226752798995298589767197767585948961558584656741937237555049893421485668746903821786996853829829466947576982598879296065629807969888202094679526808968892964113689478207855968888308880459242454880824657871589966949349284460986136368457367182077748963878576542645287529999683739284584597757322294887543769298578856993569592767576674778626987487139898926482958693677960297694549263191977866864785258937693985645048388767637398372769896298869852271836458947536285897846719376765398954649939693395789797569473786454697429777978796860899899243568558895979764883588597414695505688298153407982869997386267798597239206778789619667797703775673112246183418466234587894995568978950699394276276658845639859886373196765985504639596576089947564497657749199846888843889713746749533949848655668795857977573219497972974609989189997688996565359731679666967544784798696816935555682345704797988669968859579895586298609995488646286792985880699698758986113266299848869842559879457075388585422597535878576957799278699098497777445563698065794277928584789136987598769450642719533299977798879735973305495792599226459375586947278887898902265812636478428728808688796363644297235261659525130307848489684828139982471742323985635766995913864684634372479450695554718787599145440181858585595692743886898684378661289979467977496354746869952371639841788266277956697527668799999379887996902866726498978287458578848775268499396578017266775649891986944776299847793565583391673619629497684822479368564799993976655385277958987166595779317777799959799878873057679769552728597773964521049468699917376475975855977458787788382866878747143758980652977699957169169888987973837835487847564757798788376326784962857997587299861575991309777445799889795265261278636595657997875945947798708553728388886489316794268693691984191836389781921994942889876779415889875852654899897968464395953558964969897948279894294386313897168786211598829079661240472983979535570868387295371226091496666398788592686698585595611926454965554448473688799274858326984739886799840694956698157665844472567316995596669852849863585990729731869466918327076493393054695958489892753379954934758749409986937619902773975697189549266886819285956947367777571452968683762574888749540796689723399541461399659275219816987561895917175816778443178313791959579898939795456797478358487646593157277361987576552666837966623883987768177276504887502756763889851486923589764864477838189975700528639639336128885954598468339889995659318659978983594979687756698334947961277934918897362623096339835379987982763589883395735267643996756947473469473679866766979548989918699872360886118588589798289866869998637070398738489745235766268578932694597898496492936290689139585092636756842959979336539988683356588936359838886747579969754268756774938524995969649927585799927978998658477885959937557992218696849384686336490734576697999039289977527883489909949961387638752689965687689946877397813588465483555854886597953366589494789517549459473824959669399476568686995527669375948289753396997767477578299655788796547917494538720616473576673988829382464979663741664772998878885767479570990543786795929398995948532668998662496998392589957662979353222823487697284149059584555215629997263897755717448696566792776486748964318941664891343338966680868682268975997754969785975877986658197787757038856816716986995638717547381349358954717984599965297987548686799576754502899853924758868841782435969623578597305655530849478358846439772339656252516626870756723487946778483695797389576988565043376774797975973968839679844869649739735831597855181448949646928676519489859996769330566739417925544972297854860257959648794597692547437258652826729923458159394276989694327669398357759738758936689296933475517098502949874767616439539788757679981888954493989493695916379199896572578314235879295397815685802818239976986149884395779234892309618676467183827584777959638856847745028928739338588941785856670378053168217169359086681529398574368836559756823425399958749959948927319788863966784993696880483586598458719521877756958891391819268837378082462326664897136659666466034749690326366335766998597583847385617798670786286586838803598434789775666780636951697664695787297926863765113573778887877456795077094585343659865662464412396598388558695488796658829959693958582734695228963695995326049692946989879838643715748976757424859326159389758755388333888384993346173796767848675789879615689148353853278234586683373869476356597449942979921598328876758859308578892853467961897978895428095658938965655899877558893997999264894434558883327592688813968014789554496898886664669855595737461849767495098719609918463891544864938646754871827768896779342979583859957798768605794789925985998264754879264894696788583661996047193896493664716984921551878729736858789774955958212998697877859473886741766622964676883947398288484944199598981398156489671423820875878999687916854478679171549939772478680916664956956287694425784689546967902749823447827939596595301977898975116066805898862783909496928867755835976876612978821959263392747743993861577599962907936566924674524834146773887919656446883999666884978284294478974817265408883769948659282269865456815897008974888956879472324174561767928566786929747786628685678757999797864491888689606927985519884777915358549620986196661989929644347976294776755974663382929833817646939297393202391985268682549989952222539723866085969394976969287799788788779895898579314547682799457315280367859314855588856947899272728125565687800568604967968198668269693676879740566945355264367668751294586955718694896546675855573639706098097439192948072507227531653374845975367873678578599739088494782465065982867863672749598957887594567867318399776999187689959549653856698269969679344593276975534681975169860465954554079787699738867698729932798734658458898666498557872858649343667990845635722352500687985467809689391766117356266917737993676585989925285993296488769385897479568446836855699950987658298598914279992883987399989898504296076447686597863989438265999386949359876745896378889779483935787989446833258091395966688279197787972506979498677177877977612427575174894723786748085889756588215972877688977335157255378566631768295678942990648962597784669558168339191776313489568467838604872155777668791769139594972456565469587897487886896493785699687726479067495262858711788098209175499999452795359458745569786788998864835679657859699529696879493589393596249367875667898847559395675680391933946996756877059982476979659599477656911675254795086674758568497696786583829987389595739805486499838899046664652937746255434959768953828795878877707186269689692449756643283949282666796877176965649875930598874692985774358773697186569636439599868399606889666662876988420439674548237990779218696558866787599787798695885961470344439794788775277986339458942670671875798576968190182888956694798938574783966496947642698552479916865858498749856790487874588884757440985685765466197669953898271484758786750587898268785889998688958677676622552657224897599448967544498873890759552687376283878738725342824789450897814975623588534847189959249659399633879578378893988828613892796499666606139949518648458579270195575676286493855536502991392306558824799742668922995488167899677899232699647039144575585265256238195618628381756733137567877867989846869948776682579846798142677833794446975908824848616783056526973477944648953591986538786287984969459888684372718569935264777569775929456999862366952967988945499222868852485824573745930748668864757399698676486938359899977488548782623778615786887847523426744986488837755884579843856858186974419637479183664697965466179347761504638751996870894508686574656372768671847788884878236650798227177889969658734145765796852968949880836972625848697685669748596839697898838835583987626792586999858753076486897239834791274969128699444528786778836279674652977479558873893735230868788965979688933585768877885283442178463536692555592657459979177466897238055678734061498938040856487997083885377923999054483894684987487677939997792891792794676533619488907297796991970488428681826258578499569959278198995988289933569899978935196788986988955749478423299997596655378984484818579936973197716389468278834993097726857896984839727749497728639144925309765956985706538937578992586199098639197667809589686359847458887348782756746549945977475999598374977772956708799456471745276749492963977886721575779553745777268679949798439777663783778467288848236359998849978390989747327298944752975506795438555767185287883376154199368895899859858772868458670674572857616737577572279323555639296379463037448784727998895823665976484796599475587569614591178437185888991738947934916141991486573389388689462892421935161757488943842785881965438899797778736627575853946705426787755699759869476078598639769882885879969239779686388998466352979635456229575688976655751395911567866478659372717967478345479598744694368695569874306473093357777962579449896737872979866737468596759849777326965927347998888865456625789949989629961827711746522463743978277495886736772958549668786573998658759688798697757702226781875195497788285582989998839228873969258738538585784569696546843393997986519878797398326826238793918453354817697786879283678463494869738399784623623843888829292594899967862877225372784198488896987666878464367775122362934975947658479685767480385769377044666372599275786845099372847899899154613387979862834970387857829489721973369899886829879848897958777586518739488476886438659844498454183322478847424489885875588785265968627897625718948195272889556982332995988495851676552923159779617645796857569605719765417968980785922921689592669292898269747594367908671916787298493882989592777785839977593947539688068544986596929899986566357495868869247778454590590654377652866579971507776631827828897507776669486289528374676778671673742825959876249199749767595557362857449564264441719217993860982149405897913894797797584892487886663560323575879987634588848746634628768944469279745889692972499267485655585946827483294645597278988958248247299595549399645317699813898988677489799677835826946897822927689657863576999391570773968769979897182583855101484425632339838873782386698557889569722288729794696429237984874637964793895493478759629487187297527695097996769728894502188728876589825697857545991667694599944189587945748522674781776949975146266979763569498848262965782499774978879645279577374885436897949977984532458584878639766866989392991997823406435276775229067639667654896858696577845847945998992516696497696576725569726483799700667979987099872834889794935358629839786898332837979568777688781399895156243578893764965948887792494759898973988358344293686945698492639996885249739878576894838498765987116493979596584250357995747648426887989867708091387877429850523776978793876469175117629667949164335793698899093798634718544864876980669348209576797338488498977477761569928548852994646587370876947780565578898639850947867197767582255657467887259903298696597226994624822986794679728274646473899588425949572719659959429819266621692479794849989655753782621136747268579868155398938243783764879876927389698466657693564786285968885245577369576667544464811346997999998725714333689352732257685988745885944796881188816522668596609348770775369687286625951577661969969087939886989696875862998462837497869896664423545548835633698766867258596684926287774956598452945233405794679748657865576615889334575587955488975647172938966868872689985404962363698866936174889655886638689389818954698935626288470872278945943297877645958368826595682399961496587286896805569379517506687429856434467879248279627699357484766558737128947277837621973951995975139693995999941689488498587171599927789989438680949691985897412456373937973665597337365647973247616893698859563466979748875269407599849782618553999698485366463557762569457973177687376558836969778838988887849917592523474979598841787535909129697463367468768638809985589352793552921958529930646783497796447937984778194856763767767556846546479074988959778848673649288688875141566259789487278966650972787885797647999678436979689585899618683446618365986942456797679867748948449878677929782561767925056949776387172899235994815556676047788272877498929441899818267769696699979681926787874629649545574896368656775718282279888028785722193663695919899500969684966514798119693929391857689799927612965896578453594799479799016894529951764254798825784289117793505743357977475687654964666935928744626770450699632993296489369504695864866869757592988179497787098678862238569685698398833393618569665569775725847454567599797585569651185798940236658758886549845548077560475888959086277745225878698988504691875887693615295865496786875865877936878878372977393586359996660467940588790478873253827575965865948868383784989938087947899866477957634885946748777867599797716876977587988688999673496672419551766450990849685986685896884757178766949378999970389572929769865439514776435619894362029556985768799597864999695679934965819959593998564774666944716639756726573584853715946969767967549416825735788965354868725647862777887367517979784473965217842614895585473869975282287708519866531837778692695964977516664588578530642769372088847879198759558998268689854949967585596779974867347826299788999528841241653899129708378845867998689349943575177878797662159285885622438479722689822498195596785929871386619679122979842973897326695249947975939437557844465940495898498413995459919816199957329543804877749656378767253896469577784631902574876279898497498997978418736382395735897348947856920585298738789646867796265175877383573346955266876196976572957137473859957908748976998887762957879887838978653497185888307987432741717549096878279559377724186122517649767299625271746996089846389989636733827917955578998899465994457994477562488858699295797892858568939790057764348756856626963952688698939341898369651895998968297955129602769757581258899774999279978866566993257236673768574686990559708949467709866382379861746679979976997947746949588769479588755359598478543992999765378398698986999639129995288668764674688089175898930895696978959926592486893766472769738969925332796484358455540549973735974447889896426866075328466893287837552764188881972976919474697978798786864997451346159579489935999727122789739469867652775737798867792699866959126966489690872479876176968683869563928294551745365728854825888545794875649377783175566294972848889648497927873367488946949238967568998924616481748450665932937789387989741957397966357769414827906789868990488537924978573912799689529034436974998369928662898358492945399784678956553969459953048874839827438988763639795886855674679568687540699756393307646423479918491899465227759248169365938443531363527489358693545796636795649643985335178779867374977997969683694994873778476486858898688577895666967983386443339995588652857396899843297383247884688454288860592994889485488794773983287898755587369358957241760666786801275737593578337587745739388389875855565841581959398977901774950729729967687787375797490809937974903993974548475959965249773981858066943589726981253719259947876998136299897744994977749779688644298575159988486887795999749304549768652256955430858728346558579086643469364745968659790857749976127876899975668368478246606859256876779963666386962879957866844644799999945528774859776567829589574416637845899217797895549598960868289370458856948936319615696358468706891678839884484469372396432672874994189492566888978695168688759473892679794189989771758985658912398875249762784931827949889977820943471759538259869331709388465987906768636294889969257978559867193039747578769766579858279776697986498997942292796846598165135998169369569957582555494198989613495107689559788788968449985955589674199388525884789774859497402979550672384874977238658451776496696527998682380997738056565498649957753803998640712439799769683943240577279964788987764469829496931953785419792468852868969767464281370676281450835377943617453285949684565299822586895576888487770473535996648792979824623885663261596897658874737388858954899328956664359812852887777974564939747783767519534686572597645694879672912763856639367587991862473377147767588532444296674175691886895481777798415665879769983398628938554899167194977477789962633365732943817949271578557829676292565769958738892495934687694229985548772377899556955510254670545838377367178788674587859354748659643965993759685897657637468999689297969975797763481592939075296567164983946553924795754612659728399287984359497854792979475386968998852438997548553967475861198795254279659716578874679985885948869459437026976493354199795377589938222941864359499228285597828961498274938472438884435993615287879849987318949539986856875235676659126464992595654768371298737289083761077815778886576683617862586297456867788476994845688853488897955789484684757727487778576996994674392487966688463679742019462969970865263654394526759369777697229578753397287674697495538396948689614569226645865739870578772845506766991388747697975536968869679245869778675663897370488199795455465469468255547463296799366995895949741875580181425777443792277956998725885893896367738878598567980969684842886462479658933609497789283559589965715858946687298918545645996590986346787797219266957485958987746746735991557728096991439889298886695798797736797553653796485274987556388843874685838989292793195539654587878369686852789762993683692659455542746785552588744688913985558636487888835725987369467242676799933985999829749899567466919972189676971445539672969869415995799469894857298558932984748997365749131276392493096509597599729275875948498494987791404839876525787973887685978865086622977677795081598757435774502884964286874781491347954688978919997477479775334588934198999613362988536981696874449532683183327934244468768298664196385969948283367728642672496609679978284533879563587046575758288896734999426998738869579498272471427755923625758768796754767746778147465477535748446435605498799978378732784392954766738599848999016158756573595649766746748899166588824676128954868398498886782963679789756246578757573696477696838757635969399895363356167696679798484685805028888282336898441475939989956760857397917377857292578975994587973979447912748740146654638345997933669691534277974575798648173959669899529998568774995439766363364547947969726657594867895675724915865666259978634898988596879975994468978669591498576365564787543266887462631948949307214497535786897399878874677387198583137978768578696889997921658067869475688989867766437624952950487199938781688763496877789947851393955267899628465998979797051589586876875169687593879897866978362283590767993998579877599821288126897797909975636589978794537972883757056699783625285954643459563977644273319301099876928573687599992424985363861595363198597799867786729806584965995889193498532879589986371646569137864877654357764564939786797988087185466567884894999697667729393997596256878660085257699975687561714595766675167359989643869297892567513796774287948706936675435874269433247485128557853688564338566929767667172658612513688278775654068964385993244429759749879768566698708925730878337796886047336469708888598726984854806595183993838569722313887272787427968398739877593629744757899685612877877976946599987689526775967877942689099982267779569674585751898485749599702619498277999536385244899277979392978791494957378857793792827563372498690279732788567967784668995649484992774695726805282793168883459629851623411969788537678748449724259545653544887466806902857781862959666958368768937799318818980331945569758378895299574268768227250777556378839904899655762117561297865726998936569853625756957351977459471389373730336894799959757986879886799176875656797921596579799492717801999646945874563586699676702989779948823389947328994373639771527738899563676275469449864695148795959366465699497958579099835878694867888767979728659427296667347831916539939958697199725999794651476539946381560897188368899847784789678719868646489491692785699443925688697987984619686799967057938458934517894998398676342640276337905685625489786887749626981366736889724974235492812517999795646795886566378796795678364855299544889672675229786384628989888788925592785964987648729797927986472867879829415764958657908747165776990593652791774147476847839859965019375839471899919780976588455948816859786687596989889459961413539768287257948679697882686362895233942053695588797337977458935678536399937969848398652969782751646845453989689609727683594167725524377848915968148168088263561477768936878466689294816329859496277956878478562978275946199358676843274896768639696944578827963246495384786742495664798475354769548148438329569380943808989566929935993891045889556905374931814391754239998868597757069894137918986728856287537648969597358719659728348678868736996760497804346818575852929672691433448639318486799636985899663782889923799972789598627229212396513898963748984750315558646823526875559558293759188739256868566759808642446664587475964196959658189886632996646509892875793426890907598891631655342440579766788185878339479798433556684975987872636360458797016549873998817392919277758658989796293589743924669537378697995271974738485559565458876996287889744997688769744764423571826976717387585865789791499356962594764937997956685547669873376957813942869498548725880598858843748489949893799615474504497445269798249378997843785095896179998374736859789676564993778044565289596869648257698588443228778714833749884641599716163867328715489986991796859152137397479717947765858783969469349653597777860362883858692387574668284673992526169898393958759352716753668973713337987446761995787776935933668768970558273319547867858883414546929756973677428755795848494957979843576657595660227793924779654590519817997767247049742785968240875267855778082578347865839647989527797367559679197394876777654664587638061219749458888873538538766663289915983506885439668952388588326761878817149627933845998689599047745347644688892634665979595343598599705687439927447469486693775825693658678879685928583735189678296498827427287885878617743957544577994631274397878651186759704692683089387638698458676479579576829743757774648927698969887586978633359375569460227428939636352766385648957438436158881887979131986479885964567896899641933189838893888058568572699778684184569877496839793782915983957246457909976671308389998601887293458892731464436545755869888604159692927396459467987943489679789349599905053537397959398539675644767851773708879267782635387629893846630959993366754733398559838874398093959992868915585966355858588887479896146919199354296491999273377653765746685964746767237798686526429675940654978898849392545267757548945768089792368812755727769589857886297959608979965995756987930999828285299798874789910916897496796543737978569783787866862650655241966868849648757615627968631995739964569349956875989939134468894683324818576841849764589799288358847178869416784078662856979777438736345725456976615961465748396848393076239766485984782995869303147883366689957989957885534993276939414998949594604657659899793947948914777069049935417949884749794699374072724097776895965297389519675397189974845882930651698599897292659158889948668683788978112294850923685774678963479458985694399878966677677267818699999338498627895798837263089869893963933737899779594885698694978876285786546744299195686970578427832895939438895925547445458968602828796257839687066763165912428795942379698859439749507999982927594704759679869998838986977977637413257323893789283379556745872814659759695596251358979556895739997395433923350095994636486959699588253577535288756934366843866918498756838899824587627568889567679649397883566688384246888599578548758731687279365493787388275934999781835949355694773622355672407689847941861649782644649698689956598664849654556851225388656366495438376819789637808770988875874882792168575592187737061718576585186996879617782335863477787797069999399967698297498638783892369787635254986823779764605999220992744769986689426856679945369378909772581569676797626863568258379585517485979797988557477856985999376465647583520348876724647079486637633554783786995389177796275278577777965870953272648895754746486414977769857683867878554779468995228898372677128375897659597894757789986864476595469818369792897553956397977925769839889640189945987537866768985498868975779458778697534778949759647946734026478131596695154550253973153876581859686349954951696338947955652375955559252748335665887379549673775868285487359915578573759896706795595463765975744498268877897748599564745765496555837895573491728787987677549846592976991299693988748788467965104887795477839988883866767672455998886978688824793715694604697063815533892582079879857593455494774363736889871370755778889494635937594498624156893964288744928769546769944959349485977662798534973436713689946799582577859297475941142676385849985217886184999873783888568593868668945854896778180686853588796434685852844969558533683966647793877776799756624747249956073289548284478471425952698553991919960865499989935682997898877784929895786887065937856696716936999965279597755984766877847938939473324285655645289519057645398408986354477546448789168798229864898955594837134797588856968327796857332496676596376386549948695888274179855843654499586924867977661969992135364893289989789355339931771846678161286686697856549975398284597295937655568987546188348187736946869468609044174442582948964576879978985943994619669629959868885876854443399757739545357618707676085954239716249966169951186536797786706227477131665268558714578857391555988976733787898666695441693863309759566267986384483470429599828169375765897191623874557344817575797763878865853388829556695714875883389242977535855858965312454843625366885869688589829999939998758384276969988678856127465268961358489896384860645156834456668653664489256546462886466817635966207777087966677338843626877513059797664057856893387262287738609968827477779429986849467968857293332356374598762783917597398879693138924896143349497339229879494726687479945888848946610453346698331544287628439479569639589598566899277878871969431635571869627387855789944465627923831769678814958777725966968481787699598406463825999898393744179748682965227978763836496659929491979175794332458385597683831989475555282482810819587352998849978269999888597058587923689450632607687898458278793568194977469739926668986029586178457379395663829399556999626676758634771939377558478898974078669939987735365795998894959488492977567757439447917462484877396978259739878167443884229827297657397888865528785995193876297924382797225887418583945478627804373665952487467098727633456687459947984987844929447695365399787877798199766856786859991313485897967749657796864949092996674534993737582616797660768975880861045968954589696999766088289782842777935596564959997579469918382466844993769957936766688298228994769349798578675684959999975899726718768747625629945069875885638696792639896589696924265446807848957354969961468687747976664045977974696833476599878852344594837885164993728164898939397756916346779937915673469330464745656432923458144801669995547682786827615776799599469678482978297895371656153579692561645696989847959835842418117944862991393476996717634562983453665779484973755845977664455916649565946149347512489475694828993579372404579921297169797785373277851923789959922922937538599977529919896958547954657846897788949777489279867790453769899869235512868846469999653717898971870635938755559268297899538989392395279698719899845844770162988696966537986628858827293999837887664799986759489915949639899422560526208826548594868398288992277984920997969607799067696794897568788619251289846049598574991896789379153297728260686518799943789666391298998484896784351456697388637868687789661486932882988577953257788998890892995779966952966797744435765415848866916473891691788845684228778944869986656955473838418838277445565784468675735556844046328202484206466998388923547433296885393781148879359435596147358698485417966790342999779979789699785362879744399599567921946638638884989974962896948578869996995806987388688785518609609946776535385614695555496235053679399855939664847334459967827873965644486327946659653847555885391676854779579649896759954868078876486787358613976254655468995786096450746690744375687798957206647486655868988569359674529972775748451666368876285689778458796590966835258646496967782938682729697397677224299987787697597766974984917995737561538757725986594908895894929906674860525924898676770794798666999917590967378792747478696868494896579695869699785258551489985255789562854764611968969346588298871996867776496716598668693917889759966541185929283622768379890827879677792348887464585712963498617077687347436371788348066358675869899566975485698863799444939946479447666704041376964878989569690135266695981349847570666968996858749997752751725637949657939275939939654788576293488993519286759875897994249949848575785626997474508914328284995489954222575479679587549974898307850887178557885487577883676767707323765614481986496528296794361619918586543073534359369948955379646235433598779467524675153994575679259696497176599897954977569239952871993764834431797224998469154997779882675839382538729902378862115847482534749537892690975959157350569397797499765297848269256988749376558997573726878998488634588668892858976828977257545697439468379798389489572594146341702897689282494714767896699754385875579865698865957739768707739976684999669779845842938638586922996868598495849877126372960247585869717725645988982684577759537689508970536558489955898275692967779929356420858745598394169665989689669388940847246819819589915869895467678782744992489372486939896365698567634787387649896579988795619756725686877853989938639899683595798999985783728999525395797986999972483694637481816574757967812687361766863966848292869589970498383943988789599947977783495878897695672788792575999979929555827462767288720707822879464157434799894959547871977625152819698024148876537755796434891983724529836903547478569719959237207757846519937934279639996685760598959297356759053851585672885084595776871757776886649317665494867754989963257857985575498998593715897765898526847769998032575869975694478585561894489789277882739336794288783948914296565543669729794557211995665515828978893387985686978071935227578887325921353985687894279359858572848959783996907634866791283352995147874758768735759967722869213354449985679890882927847576996295797399637949756999349367763189246878553899665499989898905799335234193828947784427299988727586849979369758723938297669994873978588869559598579898779417766957697693286735177873479574688669549865592707436878823979589944135676534879661664878548038689768795606842656936334586791851559828898829569877777923893143574295674537679799658272348977835956951995782783666758449626987988777797377799695554539679838976969294728889968893076856481364953837987233399768873049489991764022889295579595471987564889774293939227797276579677946985297378683718888859868778994599837509780179899834976499888693233867623467448695984478908547469987488698707578848182943388076488597169887965389658599859885697757887388699996486646413294716926473993649877485654976996755816209589639865699695877787396383297064645197190644593964625647548484564887897643199598922745321414857510897973924712808978689867992595945874855987469228748578068554749970972669919294729518959689975792172677337879986739769859556867743985047844786542829636965298745878988887959953383958997537888973989689995758746719322877339194695746781807988728646366424956895683846799785977593659385710979390867792455599456435963999959983509569835835982993667768483278688888997593476557337734596871927748726624847988439989598438686993588970218966543968079996186979963134186366369038426456286095068877999594746665794988539672969387439368992757979994497677877797476639896467517559997785774484723496653885667978998419725654397737588894865668881984194684958985676671979673863779967424223097697899889966298629981479836288989389853382734323963990733795491566793876329938882661197816365866154358435394624176946845684526879034998195879888668639177199678785475807551560941899475706744189359878738865855705693688897580789851951849786991426985542765879963725348295755578796499638189397549953989275836599623676178182699691238757977677485343845748779898452683695068388636987613975818989929469633568191382558993747855793667544493841868876328469625908743367276859367784868478229879114852996993251669697957659998985299554166389988998869964396346965569865998849429688989963971597677668247880779758422979793229587998581648766999596699977162875289451969955249538787298770859561861768959315550382883873879586889957398659298074589595965978899992463974638587759193849237268889888877485345347736573938897897639758838675698853772594799894429949978847912995617536987492370657927568768669548817543987889898938157849394836385883903893733754174182593876327459797315976384062674885375747158419545662799934830335896597742377697985498896648948268535878967276744467707274038899999511957699774327435997679939937257798976073783990979992174278779999798575935793848989579500734859586864881877756767533836779497689964951431883763888488808566995198529748257177460925035496492987524789736629348567792378931969687066259348586644978388473793367308868958756649677987479146432776726737398754955686576781888877524989669349835831993678554878389792678168413456377398388498785968956514729263567837899193839749596784778467756772325989830935945185279798175985946688369796657708779744997966889439586739945796587837703997866487277397636657528496298832514793876085567782399958297688719976879391199638837594795388833776385457555596649757675602335581174828345932845846642429561479796995664771579681687177419998385816883992098127893358496359753381939595920932720903945159678676845874884868468468265877876917676871475994655785268875158489457818885845251676624767218843894888298879954825868897636657877573928967198523926858789869746339845952735289289569371687358442925377897478898644868864929489137694234586524929328680824987318858749649272943777543669868979749134889589123596577884262468837529298926377086859857177893479153379544398572279287688898745217523809682859818719874564977856257838659726989468633826849328767592828854747959231589993996938149787994795916991265738767726357799947694357668868588987938345355575381886581777662358827677878794658693885688699680684189980654648570986976371418749589295862217928377755097688797628939467826667117696597538187775676493787269839164917379698939497888288746955777269476993776687766684856259864878735887963393767889912626485595812826754762669825877969288727889654986694589779497616539276475887695488969329287782566999779667939686557144787199698928763818284906879826267573930738446998346179555457779763454967887658698777695777473645419573894295764528498364898667797387479682474518684867797177986268774537665992589443566559525497084975997336168442357659288794566759654988798059878977995779917906502755764188668859797943967838845963506789398564663275877284844997529227515768873987747799485524998389178867879946956727998578981884789763677897599699729947943679654659942664698985729445228737788685479
100101040233839005345333016201150410174144352151747650190116411413015262481730240081851105554021430200022025322021565532140423014751412172327367346053732037062507021200214267300300021126530023846063415023500058122242200440505312094331009352014030264016152031078818455351213323049542340850204264355751111026027444209315492157023105505020222403060364112611050142039005061025514340224710343380500164433011001246872242141341313003103533354301006013024281263307660441312444016565672143323165303843202056001110003307081420827553205220350409210426558430860428134024520046102420344511014150647320425229917321363114740333103691433021304251533590602530612875312412710750221012430640404010201616457344203061441358316090046401251111003432296195034067530014613708122315536027464430220461100377623606383043451030243033015431301140101128740103222003062344122231617233300243105412301306000010077104205262423050651336626721712497403883582003057130501120066751013774041761074745310203753510240103351486139757010011215400223412504000671311532644617238342643360530171251272161346534720533003007621162001956540302329950610620861102060830511370203131556436118401055016621041426331202195114141885753348414610728226012050601147707420381348021612232254450252136211000001667256042313052211045206034763153221421145160205205172531426620001542239710032611584210421610011239180073724220213932221141604510172732124223357302014820502240424003853059323215463240211212799717300611307120022423283378011773204031081203397300530484266003956781553300117000511041125573458346203621200722901524040731561707362131100183414245033226020332252630627531064285243223539220426806621240211177064502417071513507110231323160103652152011131332265227341014320524615613629647034014011730301425342610062301130056502010501400023554020108536295224223226600935252412001042030153228102322610103623144001221520143338500253723203102393263772534301157219744026341580103471131454063221142300163423171580003706641050253572123231351048613060620002110001228311132471876163515233025732352141651002133402333229101122007329183355136560450334111244641064301534102102216810120990320232355263303281571235087011710044180423864230132369123224313441030311055542310976186370410515265221721151041182375236054377477332125105116061750164012480304880943061003403385843452673530144075030702132101733201113247006030112432090081120204345831703703272115310202078403783083430064270130282430022212414361603356576245227031300800251000434043151470052005572000612611023626471173216660479450823315232700456022100403260150116626024064561007201344402520306009375112000311002131360341152160676917141534421378031292600345052332211664050460308814516018605047412071070126250619266452041013262378130193241114501204510301205024010023660562132941004502327706222746001012165685105006142053225612575033673067500040731721739276122470603530461020353413311653518404261183203305431002352316004210037324160100722307600510210007032031302714700192305523180355320672090731217144510596621000002000570530852702700236704034236050060414525120223036432255161550610303646596020014023523500020215000609152437486651437245500073064197322250412168301400509200210070291102270724810704052268022679226120061012003164931363326035000503886011540114220515010200333050562321131041454200056421351370850430232265504165008127203124160023436301174632117424305215822161620060850652505663658283462225652110011574247526066717040332484201132543451551350255817404301203692401862202126640400223112741100000055853301512140218101318005540014036654037025666115507065073403154400020422370822500450101002202250210167251538061324837226437521244710663000021232618621593371261013122366050408852265420195010003902045237613304905333210131837420392859041518401432300660420031540002106472402526622233523041000147032197622137010072003112003051793631023773411107203203510414410833044309652012063378000825250720710457473505620422325136420531541016024212010212193353722341501702304443119411094051301360742218211001154305726300032563236157233028203271472600150401110544700138121440008054321602010220024162504502836201222121101121129408601631402285633106540106209102401251061322044871434003488032565761022432140240407433469242313020926258141382120651242167161624001374308500018021181064353542102594224155208213343123230302612504014023016144602702205346161335621552311194030365264637026852345527033430000834345019103640500716504068452505010233686118285311552202095354100621464886420133513811300674002312406360471237020116600021703071110282245691202294205510510331122622210023754045412580672243006022236411100238360013210140753371402047155802561504384822953242082120207501251300060374413316646360312033252030955162014401101045478636211142542013436370141069135202036473725115008517333420051377403204312017123433408016275003317213029433403672152620308104607511353122034345168545318440102523436029242256405100603107411022313144182001294610354331153525305530522748004450517241102216624401210712226831341865744037003474322825828122210881472364050582055215012190310151621276251038360250070513313040348621260700410313302051000010233012227360082003332031103233104304022126156403144332733161233803614103550310114811140501525950431355181231310014052136221933134605136171320367771440841582026134024175102144052928403038867243236738340303337043413148220137106000112217224131161037604104180131151013412548012511371019221154700213017900350240232106013558511811241200351101426342333463116217004141044820534806632601107115013201204661481353655552675601153113344672543410440600400727021513026202425422054117012115456214405013162034656053222416132446230010255425706361110336222104642255101571435025223094540232411546805354108370041525224362900312335524321215832480821519005123321602030347005141137053303206626510012572422101546401057031022965063582607219905002023511003515190428007141271346930006616006110210620001101003525463040067231001751211119351632377171303804133441245606101005454052030010013163003422227635052367441757052235239213417066227111672306512421201231777376121300041105391660752009538701673662638920532476030152536570834430505056236075314510011042842338028173041415341454661114257611201532611081590111223490044500671301717881502103051410645603240039005546425400212038160373345121043881071460121512284751644812025443221052210314840431350111041102214258410714981175792662232480031471233244180508111100300104624956607432926221513301230524162117219321508502358715004318020212111605104027639021337514112178212262039514742201482887052060273860625224426234141249371553545075341214639041134110002350656401041166353038455020707145245303439140134312270740860000035078713101387358615153422610701560519756604722210532106470265022510122022243102230414600322301213106045640311312032185611882037825335172222884001417400903602637254130445115050286258021421413703492002626632774402214523435025531151163116214013412045427094224131320092245113355023931808244381253436323165000113732110003123047029524324470157046162012801721330405314253093064215073303114301805835337362664297112438021033202037709340804136277921411031444121413012173696200271140102622204034211523003050130841865031022408067440101100123232203422325312614714637000031007024233200162000250142025537443608447107610069505420205345603088020221242280039723273411015875285221222464230715201323021646440024433500234021322237802342672543274406703471244028613324543126541316104071015250153063258400802273101162113023180015530417400157302712731311193511621632632631152002303035075001234064245426116132153703122347232120525820516047012554630360116213412562052070102283482663802127654107301741166582045685821301094454302671221231008533135921505005132022711442080770198048510137330212233534610910216413143005300431314344070512507232300032743204823915251723213520122850551340436415103044060150386224217411454806541872713200000441941095042277671133312132005073546031304034000381114600432203028013261123126184515155123205100101840270925710144073440340536722345277459160136413542215520011102340027501634650346315212060302223416240448263042122205104405262470425322248764256411314312746404110355526420000030437158113383506140400814350008715110065201362241223333601355019511024117655331208220211050252713614216100321473034102203212924558925364641300005448540165719602085447152205178430127631352833830522124314230601118427640211842601404005323540510635837083503100252549007093411470210184070202132605710324202585204306026430254023136792651354265512511611613104357145141251513473512231016134302561103100081106250023088080154310303310400111100061085264164612703820124530402016238668442021643320320114322130204101950060106023302230523040043130346530320060501078070714657002235626640120234827502532042044514250221710160802122223062780736392506514025366332830056212176312060501642742356266485831113322532262570164596114856067206040428620377755277024738206524002712896103401406106166444610006557215216470220410772324212921204896640211013043110628600430434050530130014360731021152814529137460498465536235465243811613030441111250623771803001652373200131232132100010821111024084823410043112733011374558180505810213553412011720045640014404057426081251012005231010328250882713250004450027415327153034110812012611130054263002301020135240015707101504603020220101053032213663817203134820414897622357312178333322584502281610090030401012011532734660506160818307015800173735308550243056405814707635222571471418540122410514666805400254824152350594340603022974930668107514505556226000347423073443721201404040640912043054063610114201140052320612124609351047837222103050615464503121531203021037351675070185320661153254903123440218425012330215010160573337330553430402732033279205341233063914131456094331515160603065469829117451022233876230102324736093415318086855473338058100073254882220083712161803309405881551011117705404031742340334228164320005160851370573434822051521656143089504253073202184157704215670274201354722266022124620164146014528435400712579011261596514381600240366704418221707772140400070542772438051003130035555801354004215842780720303024123133351553411512680385105223223636252032182162841714240510027405000530130555601110235050030840035327636100463804121054382300230016852310725320842617003300146040020006480552307015272450100246004001241400333630074713327705400421130210135304814111040408006322566130057432333165516521416430711625311378501111011020510318027500330233550402300706561580004372434047410270004120163014140134073416290621052333015035542079032363033902313501430264613039033242821138114410115204046467621172118035414160138443217340137314632257092232550311003331280022557060059220484601334518351243020671046126402403423650427505180006332531001225022026520180647407314200120130124022011100075123057027730439856053186700712118140113001833112025200710510511354873091551030737100082194347696433506001752440222136730721463100001441160424141814080450421271140520051117255071100215030943380060140043074200061027282249324261102148550438000000232261325422287352256240046530021410824201350377586551632123216504018516431166104450093625044100305182036645021141210044130200213336655432331011403981570006050688315116146037407315404101625472034341642600000206202436434234233450710004032332406762684402433356130703046002223513516305112219015037491315693536400510512020376081601104103105493136301156261042120417427240442309145254002540174222120401000026127703554115581220604000115321130506140183422141111761401021502110615352044280818863002447210121310413535215393413070194484820121632427042111113721230340525482108150001022672434850510101246337717026242370253030316304251000326542431350110032651800102013555104230310003023425330426535567240104622635359121140730314000523101410020270818235866092401433006006583140713402256855805051032845051002604211116211033410704070332331046555814912762145168151590065461154594263121005473121384210104361258156500070545056311054122014002350720781356008024227120400111632000762607450107092550225460631063344524521673242302241368231509060484112751003511053441715360244100151913016131134552947006274060670733626903301413045002218671110053143044422800162213865338559465371103000449350013003124014804011401031706266140051037904535006400034301023114401010415586032325112020210110555401206653335277834120306064521604470213051634978300163160130045003033801153551537634103156111704282425539011366450456434016000710247515201205214062652347284446020402270250040705120053035251102213807622551015147000227007645642104010154740004057231714012587221133457516052647300366213129016511236122237009015043812775694120550393357364210112177605304301682253320201270042001147271803010711510061314428386231711410052303255775503042112452050240232104216056044460113324200303320444421150340234102120282234200889171104215421188013076120020201232130336523070203575337193502027713191027100423032602301000009001423312822102030163901350130021903534134004452221165431582203473508516205161870320575100303819004160216026807354826610094206519118310377613391037159204735233021560640620074118204616280021077303311315124023305803705015142741411353530728213021514142057820154035300341000353101811171254035010102600703250530730425341600180040510222016381622421164251000003431270023243109374222322945123880258592524152163104327500554039103851040333003650512163553110160221815028734234005226014016415301272116113902043123403141406368603204042354502632809600143044131221500666274587175020837500300441151327653626044323242503010060352221103804171238404553005110285065158604604121823176424120550286414555017624012372507520200316710231021011030200194028513005514321434165413336372020402435305011000124430450282406731451123662131021651324041381858655426160381284215070071020103000206003114030211408223150213020513033373121021022221052160323558760232321395031261504230521630180278103300254147040249023645612132040115120520624531216206200036416126323301124604410391400145508042147271460403446410040241011307881616010430550742522058561170570358422813128721012510462080761820520363607555716226347172103152840774101313145277103154363783253800104624392224861109131527953240513652860002333502308400382621022161263583078656001050200022513075331271104610954220038150849957253711231144050204604120765504577326230439132436406202411403111638525053600222325015421801537732015572006601010316121357060678267541730132307810133803068036300121129102020200541770213340923433007246401001100520242231020020255713513967046920064320212042325002021164390345021051162200500156910602185642000456000242471654127604280107942216441229772104214460201100585145407120930181963408611262012501027212160052433136441840024109082001516111006443066111678110400160331228261020432090785571503201072216420012021753107937860161049230155500441012160404226504817556055021368122211220572130074588125024472260444641020415051361393550626054250201091209100540731807240611280320852141400231554772400063207286215545210083125302221019400500442012333601226462120533205652264125112186301700110321401842803656711443041200122270031106000132414584234070652642150016462715711302222622693120654120012207070100220522921211522156233014010300080520467702354660202002333742054064511505113611667311440721604261593332102345411204424869263202262811177451210421350372183511013203270024526615671070035432140322169144111261152345004132306215266422446431820816730403453370107010671604121301720103443430542432283206131507231105433370001801610652071024421425505511622303251746317641066826057818630314535035102060255371883210001236432550425665160348650044001040160101000063123044394641052846600074020460230730011824124941110341119346003376102035712125443747170710545202494422621179334586675042212055590412411033204204245501932088701906410970031102079203330176415002124008263027154810201562075621903247037700433212510104402906003108036403275289011206563023411223031310445786798500220044032123612881012012232730246202504229080120643322336311250016845024051420170174844536500507425313223102526313320132606511340654456103120711200111280701609311168641303727002110432010111203224055200172400060132112062021321203135050103021385234631344211631340287183241305811041126010820120330844689002354433185542046003030651143250300271162674530046321040356115240051214110954305523830234721012171025331701443601236303030183025265532043457071114733810154200409423001021333253124401127007252040116115110035725316071512524290411100103210312907341031915262305130026039014920196140615046612346041015405113432233431232513041170018343435172152243041042544122602231480413803339200051457701313717064112042855057018381043380100222848131022060232212181012123604071229332013004110028421331315116653315504103262001401014100664316220301260104610524453008607007106500711702231221350740304035220500422214737330012317217965150021358131009525140363116434194801245541100023381240024006401064145522480235242028320604343400635431824471001166641633050030260231314215306201071038636322119017315233020011852661210621202367124552117240266314621182552021061183181006123652300463271074664010441239151011951610121023456721446200516311150110574774025631110505105220252141163665510761200620617018030363060310510331235400707650300305245122505414030203205651528101414005384009241202604090210640860635974007252220038203732300581062662845512002344304160025215313005280100065454600441400415837115756329410126342613011104502584901023203221305521007043641110432665521043217306307250040350130500223432166233860812441040238287705052100610320230802186502366214420330059040291030713541835711011340141002210244710414141462701682461500235762300014300112085801152400402437871016006655011122000712732616431251380224026671100741200854020504362441104702740322066115627053327303382118530213032633700323214466391147510123671618105262323050301430741064731600001681502600483510720800470865144320000406083226830605000301041192626130500100506102516256060351903675065607712312144072161511313833014544936200100346501250481350112141703012412115005462040350855148054122430222271322546410635234562203200560220438120602422271062319307271021240535611257845418211115310364341221262092014224711011034158082611351664803452213710075206727025971335031003006410470100211317040306438262512150000042003073735581102561235015500554361733060704000407058267431043105052616346402942255430068239014063710065508213331114115521841115433011234372802100120241154605300474731759621301310112076644907425310038310455331140232127200010605281624286671603512362471500602112302111374063501757144300760009201481031512132006486110741300414827211612305031010750800131601151531422501054692430001816206132015326066506792230262321102310105430312360342010721217415010564153203720303535740147504115610500007151406263123172002302014314537016411311702371415444220340016020752209312341796206024123776540261521305148864126307350803113833211108100001049301219444400339424241356132050470034314627002110047751130120002410100067445255162030140341130430002610103311030553121028001607206204943122447462331623008111010510610535520218732410110132500173320015957620037043002622211431293310248741037410220144014224262754360015208500714311120484532031022030430810234456763305142503145203711120762340252122583003015358583804193062310040323652343064564209001141076030202103450201136385763031234436311771121003023312803600220520514200016035060092485517265359563041032504505231868547883264336307383920621506101968026103024203716520126368002707332875246343553270011425434312250353242044148190735107297470450816623422110265100038312021000201451366013234286641515100311020670730807528400633470177536200270331204008036013420512143980390080055380501005206806251176742475000341728125052902725053052252250133670409002263626103912743144742003511831026023151354120566044305308049611102810311012060046420165400210530020666557037401103015047806066232015206022206210041674340256501135633153452705663114565644030481007701331278308241114183409328241284313014243713278920664214127210543027534001135107033461320097022441658513201327353017753212770396101331210101001131164116010058201665642412600322205438541700244050844504044024632342102214317012410150641452561560245576912020364361724312727531301036404400030120401240112932484600002332311342220742411681303743123711231150244520464524742066004710020334800416757101290440110012122671129467242180132132043122532074307773094450850442001021272521510211624187660069000314632141010238015342100804614222010125622325514372353151204436871127608511082052206172085034023202452245041465011035527826126319036430714631663020030102070606025043430720340820255307303320400183041050203174030258548937156361241432810524730314240958393207122555214633641302530306175162474385137506313000205906325726003101521274103614605376682800136322206421578254213050530212313266840736302437032320044365223740023002742101102012400076124113220110242213124400425232201262260638326134433115123124462233311510440434147467050434104402334824166023532231756118125341050313302150202080450202373010254232232031442521331568495034003170431121680171102035040363230504982320140260408202206240104172320711005141303105462511417901013760082465195100252079454107001316555644030119553502342716317225137420310417586535343420080256274332571425080481402414719115300900675004062501153230215303374382241533340084839092225705642944135100841222305636140385736250444401040231331549432607124117311241730310304347114445404120113503331186212511112371310224102506110362516674031342510524510316014194581854025207004682600453165422625832287505020986640755921116620404241951840063830540380530503424111260868604143610101107621320072904834123152007505163410208348210082181158010050862710430844243070018513621104315080036516240005088625440033204150594821073543151050287148180171167782657747138048030512810754004310321140214600420472896905874265133552100130131206387133187020101837001030102223404017117420452336346115025100082221012146656254134521406005505007622542426848435251645010002532427302434075973800646333540001706006800024372373002200002356320874102003237265320326206562113414814113545236113167132684104000143134025222652042005476051351120159472311053606107123350521150205080205190142131204022012511507648512934321300084695155596025620214001411405004053349064948236300500346221561121803245064614515804048321420653062620168061054023601202642080046151456840171317032603562131030113203622154807811422040012500130031110022242306064860013430640013451428966027011023615011507572645050401130406575743027240003157880200331204202037015053505522014517232401540145421182010608493250120181012313360524304043220031000213017624112665222130503341464372303003010750342350706032987150400111324320316320002443200226113410405504716260261003706352814132811445047616233200325732000154519253224015030058433253891035172371113331713400024399050061201403211608544343114213134006444573630421302201004404603043544150113242610552131120104360001633410014210572231707530132461614405005022600724340204151012396114311455436434334641151341325140342454755464285911009000202280566710362014312100151827032520505300086030408792262110011001203131134503140807373029104505395681223061653032011205047000201571050391413601502042362016481200034370280500107034011182221316827220501604500515045155055327412204352344226327116083315741491016240164323610100756071207854030113045374015056141132160612103624070394513425604443018273014125101809222240593340351721143089228603301248400092446090203120500450041524143104137510047935680604021441310607293310005111542603051543576040044437621122502470137144011272520135021800420483362127117324294306035803043251004220260734431464702823334203534066051139402354138304844185215071623081648003869176603230470103344936361041341722411343480153283532531141422743341900580111004201529093312087518735664224120540193003200320207021648358219101372227211450602320210210010075413350004110285402306200002204550530613820314640305075450150734712912704220054422422104813475532954502455262003508322950521133611014234000800500310142301060340242312116022603141404012433027046208004006265938132802714617621000331172104461362021310362428047405602443353803731204120502392302021965515610020143351527472160031438026304465112203258337391562406612503320700305372254440021136320103390518328600210100501280613740371667023743321023231130705530254041343905122059424524141570491357932130520003334314052051109228712000047313323442222297100711417020447844266512403312551113451813255373671513720041926601140225271017801113333134032015312012123206883050270331442141306224043232041175676415023603021212206037513305660517040035126100463319513003336125123028160482060036490226434165341082034650815630744926512573411241145084190252428231220119245413333157321051203037306370311253150456046447153004281041390012235135353646214031845242628700301312073181560241033101010123410716010253804111410223000449126193820754543830401248465631046030346042068010810674180226541845141213555443340415901702213453210253008072425224110561210023303810201311210530523211228563134201307017410300853820640761412450147400125823484059662675092020031332662245334130005028271304600012033090007401171208026323000241333004002239731124234380642603010912455453138422400276383275804210060149105383154003770125064822828003553251013054000185320106213583020005570912773503040353330309227231120101687024410387466703001114561417922432012049010431035554407124336815662741953084201668881330516053913010716506026053177225268770210420303266600627820176838102180221423657116113662333637241003008078065014627101051132110034625355355303000210605120111243426055458442653514110534038533143833733115008472516863110065330205143635530215703530175102218001360831137010074720335402337124088183337030130011253302345101361113116617446414273410141013005652001324099017310947200438011402764522530352353061244028400613216773241033093120237036082010221044271001030213046100262553076020285520239021036044282101606601665114079623542203015127386234212508810283014480222712212012343286576214135540327810796010105211316494110552776060114015058420108774342344617206277540171112003410500167321302307315022060860205124710802340422563652635223333582240423623014504131549090353303108551132421145232831636004104330057350205068700351343425441023030360332610412152022210080107183079728521464161142684155143351320072404125402251007168289000900004732653221212427172047331128108412025002114570411700325103091115616520506421400342154102274314144131728641466026377700605118501214672432036045022430837121313353206654011650050504060404713313176105210757250227427227661580141434107212350202697320464880444503143013706535820210002118300342046060018051214214233251630205641901011002623190226073455202363306324021403010136613161206733162900420231354873564353311001430127423106792451961015844333324321400611508361402075001603425520511309621063100235052340620105106106077250742700126510208121034021700230031010835546343017045402077603006065000445200201245922372122654046014330903417274520741023011194063201461163230131042030381316241113503672057304140735300775034553872346072251118070253000000259138744345912751262756011301118003633522129102781710661180049370026063214548226207111446178626560916010337250510664101116511416202631343014227090340251143137611155444215501160143007224002134063311683144563007334459312205532243146560510203453165324037210162780534505315333208001937037005106202073013044031035250295544515556060362544410402225271010051150018000502945673156200453022305230001349411107132374026571051097073300048441806414632245422311133560010441910223635948048136433304014323071621152418013316406201536756943004301800740033225155221800073162530512300407005233032036253610123503212337416122013412504004301250000171140524213117725060253400206001570050300084351080311014002010552636410681176103221500471412410442923545522005100431600524134210307046103120684426535234535400225324314231106006450215356062332841878617427666380555037280068220364513643524004650302911500212253443400286010108141220525016900321611625533514526933201796000017720114121856727140207306501212120023021617240714552306522130724024123810000228206603033121251302025015673202545027144563302326082581410432033240722605847146544082714311230040106015407337225305228424331728140201703222053311640311662414440575221395370030500260085400481252221322140520506431001521431205201070247314332341123185980470711889082052036024041701447500872441300568331315326102195323010750452502023007685436526533251834330701042221134101148530201835032001228322036049254496331004101301564922310324413582005340014500222513138420724533408680352360024060510023640111814492159228243332430063014351016400520220242460430115374252321752153424312557237362341000152792010005115201151811047067101164646620211360846110382536643542113200470215036237754107000743804352131414013330241581024120082451850315341114074349211772107341401170464112743117206094720532013131504310740100516320451444076133724272060060062413641221232104110536273216334038022152603360713123505527340723264527235581458157440000859312357402742391044112325511042116202922300218443843113010182461201425962428004513179068206031120022310080660032156030451010001482380010255040103481650005305215204314020508610240723414011020711118270533345600422132046403002516064332130344431302115153562915701414144430632000750984032003532020252311112011014007842308344686521137103560729572125413140233121434740142444885763023704931311325504012210350633128332311540043052403535540544720011071532521043302006350503060300630000020318812514025672003680416288214144241195449421567224570752121615438012012720621078411041510171313353156087532746330512104168348841153264321232116010602553050512370102407636343337235031675511075023704090160336535449207624432391167613633404480331433326760400104135370101079440345512760323457022513043545143302245347503042330001465032312221066534488803133366014405028138040451712124360205421449943548060481072840012034132240310405210301322104106236356589040080106313966451633443235043495015165202693514313022603618107026003215114623358342030001424617502632610741505255460330900430570800534053512883522355503123140812793465592153210302120911032617027004400532533338112031220235131135201004017254236151112011083031235702267056432037043014312503703012628812014120504133264217343175295523064912410626277330577524031420011483009460120406544065040105109233314015240705302301081025105636314260443201258115028016879316285506405210412315068345180267501624145305275571245002203001403031013371214379483405013015420325000165840230301101022525370212492361010715316501181221925625050245110720342003301332024507236006042441147840493331709073710574017361114011231095403569330102004008025125206230308323550825321160021783073533543119304209203020120004218025221032340007605136659022234890025660200471232350042492041401382209060702625111036140174513286825549420200152234462144175233720402333200035440047722301125105841922326634340304091822627539034288810842855050935320097306182672943188907300320556232270005150681106117318025580452376421132526338002104307001123433110490902248903154010360160100140204305104060160551602740130310133122412210251531630704077220740203612577813121134134832101526303704819326553423401120326349125420408842112872401066722010262232245750150631032261311321510151710168102571226366542774435160402431644212022761335435102114512134427700400520365807828661173360503855115122030011429003022180205431008068627356104511114421008007735740223804941622005053506065361446114131078009450703553545340102102003000055626219152541404367025522600035446515106031047612421422501711343432602188600037802221061015145524346806446230185414200252007061641005110611230545222251520311014310324121153005015325102310202364063161702322731738011822201125538322069330101500171212404292622407300294556023063311520570010240140263043863413164206376045561650465034203444008024526101101210200512040222470140066603262375116333202415314231221557042414100100043121431314130332611534162309680056810020161245634150063234157432012010301031420673112401005202443020167328678211562101251240512112034200223105211232468601477036100016061534120305621765724236502010010231103115584071870715540041205600734011000210020103026701225457405001575454004276100857057353124680502556051040060095301164252507615153933144051045151254246000285955424353813614375085032500010222403413001047636231042543720471062443637065712315303362540440240302415203134401173703400250216008050552674410120231044216460024117514630003242110727111491002503163081045360165413621020200321148042957132701380433744701552406102811467440545204124050424900405332625211112352174423173441449096400071575023430042000344312534040633481002004022060720174500535251011105105002704432105205520125001202408279200523342106744215222323180000374141223116206502068530523012766411511502825206642741513322372008036342721314106310700044334533245445510801064356370460111197044065430462406200325533033865263432018445743022122562916403798205371423804131060101080806541531752472822551010100517201034122090190358470503011600970305272033012313101222015615036528235023304135530042773190812842018192866255830372212086020216112149016644113621201023612040583397014020102232214625815358540004120276353720370211213640042114250332633631442736020357100330300540052020440144875060022120308045054024151800429681343161400333231673341438705521654035558071282083473447603414701380912000762353160308105346433293454597259420075229311205531200130311129410103662308850062721371410013243046052720104110453345044500360411636004031043202232214415454331020902342312040550315000522121696013036420490162413450170627720250229052220005173173070214068250241834400600347628833425194665634352560253376140682655862221402230722221703554350130105435424372230060085862197003216700436313412281024249302689403760460310090000410162343465567601031022275202070752253022120406325036313102780054360335362802242290302341432232715763460101000056264531534240370250041928574040215123777020505524164014570556515066004003155421051071531027201155630361230042640404032225364620073102336112011262707011418174143673306242048203743260451304007622174132215273239270821307207101877234250304126111012602050127111211321190160002145012252540014045047202503303340100221201411144306530317563013523422257890031632130235010302542612824431500230133160034474013641531643022122331301213105170752621401353240241026129309043447411002401025440353061339110712914432004604321131030263130044159024160120308024545903004276396465327675420270700030016031150007604067026801046364061136315003116221030000911003312530003326353025203436020340270226800616104196522080821617065810140089225503134020100220427220883477021320203165384204200523033740402002333181126237620572124232251370058123607833524203121161326600803840201071053452540432207476390040747815000060824002531430463250400634382432160338594246067410340880750414233114228600401428222623127764390214813147310012072305262252116732801026423042412632411205080101175120204186883537144580834310400106703425121151106005654131431821601110110542217334664062651310107402131702952720042623321187955023021266511260643651541012425510440004017004502022836463310233263273556372116238423412232116026314110403037355502451655872003041265291162415651135004170707010353034046013549153141605010145694655660217192422396528406297671150722111604102721287385241101214204660434318006020623230621012331101510440620674115501631870050450508202050027131524140915002141525334512255000976230015479191160735030060131003371309066122044400200018111123443332172061332102260631050538350230615143276386845350561706405172311055129338265064013042015214045931501756402006135325266433311233713011401472711456522234391265351041435220472640655116355258558368037734303263232515432486044354294144009393584102644220520415514495080534264404133522152703120564180004522301120654364253200016852610565604074336009614205363340076200692111231548255224843202550008840100131751722591243027214351531315301303062040350472232072614003221453201822318311006306103151775233120213540232432064112363017210209531520501222202508638722027314507000113111144533530410005347035470831460213303003302320419414101221163339417313600197617622471210254124223441300831026134310300558131614511800028480005625024602722402007101016608251031150601123313112022502050260482371229501200015101850023401011725364200613253810052130550424548645854021810020251112206311240517304293302162060033120530567640325123020204201357001001341322051951385360217434223072547111817051010374101271000677003410062310336302602443032310743167545443444010210151311251262731208612042302206013714130243433440482130704007558152517414105740112300262432020435003042123320114237463110011332401244000085125943024756934103260113343140408450043621283024060240005037303282626642512301530164717421820230508213700164791024153144745944015572411740394010500411605070032029037340551070203191200701801740520031031300052260002102171230250001058443245600422020022001545443041681120710132013064736702606010562621500555110122823001282436323152131336134426842154327334011827202413059348123472600090881232287260202023260217043384121019413314172510130128857463400211222850112604126240353250000161234801434367321907632101474122261244100021144142644103124009214060344210505205470103374010127086547061106112000204540260145101526970441732334428061237001035652211020180053525003083030117320734060424106050610120651334610651323320200502536026223052203042671285217916063801431401414538301570200458211170156201615240104040242170420111208071013112126334544443811805211016431040501865111316752505127207172592307641113017176401054527210050281857015651131551113531144346745031547204210230825730924502203420420001154014141340350271115030004432053103342043643510006032146080504516033042650261124316412163031102948628258050124413090023210051059040500242482320001101013220870302135203123130033020070200470013620731233228040245855380142501360122243233350304528403735192803074402689136440930690435200201001600110310601650672070212060907651181126577110214015760241524026120224250144300002044510308124530720650777431033641122010412430701083101101800620042250435710010021381527151141626506300641006400432702151150774542300120122305696101364544462211103625310337213630292453900785005030514223116145433253422394020130334000030542325083310554125211720440103711851017241120641405200010621050302171248442629401022282041171325127040044161303710812665764256134201402052924404820269301250522242005064202600035339657201640132104562814112111062709258005821150237265151810015280105031051082528133722460416234143410004140820112300451013070261205104302086834060310115600349201340051126546471068452512536040503760113210044273111551111065020235328458349323300538263016144271032026363007533026016513230133002250003861000521843147603003450254361303413691260425121142014933621116831222141158130092602328450041025010087242540027152526466211272632085110016513040635141301335105215005108804082323223142345330015331013141111090019303010041215681101044174142222609442422640072253551152346231223291105450050371153050111114021307424245103104342062532933123351308312757113238869155714881133531368742302111122254019012012170342053461340038060453104000250420210016012046046073003482300224435908702740202021050030048722765478387120363500012015518211002550654020621241404153007076450412013158111130396596120512150310268400033041017301082251226376522346972263551025255518865261407812302813533412121311137044010023824102412084544261102566511231000313000371495491062605751083247061776204600418007222046149301231131580320115231659630100212353304043011204814730001275814701104323030025722412860522850472340800521081228203344735230021352001302810512273001671602011132000150521296720252300353015230202456011378751331317530402300753136168105407205100364107110266002032220546150125247438055215413211545410614136666144821212227467922640593020730571946322215390004060240085096880804253110012535622311231022266070671321335712631434214065112115123041133210203203143669647733020103445160332074050132260557075070324361312005622307042201200310061004041221060422203735313042001206001510715240101460061221645747341011103161962233150280736172101500882016415514080430212121111661072031043075316043470316500511441220159011331500658023607223443376116062604511417343513204085102327840582601934444065012838012915262790220963050407203626222062763487010261113601421880454802324306022108270515043126147354421163430030503300214010000624045402563090305037307038977722046241620029854616114232240481173939970310304140607365024470447612131131138363304322036000940153459020050431000150300730051153112035006118200011300110449302582201914355474431470455870007851003174140008641531121068952607708639112557043400143230376093683133423240114431307226106601203003243165052523140240784331253141464610512302220462733042121602417130127501044502711002100341030521507701620046505700180949823237138414003204512036195504620315364334104212313883308246103312124613002785701751452107110512243638820303274063416020417556000609528438012603377564023962360331215839142206670444000353651203838702123411442840203521532285102812432679355633511310112405200157020422256887062037773623346605040733032414274908526232028531011001727172107044450547716909723023324042502026020233140205444202331860402246053512200350873040815185633200030023453130330230004001342610401567536313615554034456610244817146120360130430044023312323003160116060885271707512163240323978523680111455322441462431126020491100241618060142003155700325112702643300700400571050181014839600415126630200142434111483109170055150343346037011141264503620370463055022921542147137260351607715213684511445112741020403630010112112550041063245201117747132251832830006828313132002103202431242121010323123064704011303324065200381430093427502037511133311640713204200006314274017182313166403165325060732271240412060402211014257641216852200831033120440411801608400502115401533218001464862151024291500011406083034611450210315120505433531332140031662521303014511284178717041014002255174420611351404427412050302413911310710010080168300316175005253416561084605270000201101171751404800817025313403104081232152720345402101102777028161101274275124144801056050121333525101722252980300105502085964140606003450055400010155241220252130403403010166603122741025735745126101055646623317061101380383336445050200111514286552875789410065106124542400222112811343342062627362674471741910612234203063405095340201043023404112502420221320302111410150360054150002003011424723703903661002042901005540002000004332302443273431262471003450461437504064031644126273035231452022311043066074313020214401101532130782000108450002220163103121527893208124380132342528640660640063164034203309001933721014404408001702222234662302343300632040410225301695320613332040154000610035078404061647354025415023102102115022411233022258627134134800276264170104647316312934112544522530613200232206210535741557004053151094522427061017135033117186136551835315012337523214201024662511027331240253000454032221101756340312422243504331853414024420710314714400151404853511022373032818141152112251245220347556594034502310341504215022699460100620709015721062513282224036343893110809304014049406330055255011124301900874815421444859006274647535252440504043762153490404644973000412752434023223330132462134270085140172560121388020057317003294714046035114040302131739410013026103502344438405104072054050152261310770700161467305432007274604306622271015131250288225369211925801913022115443730140043042715010613214311050116713101010045133581043421351013463063572343129106310619122311320123156020300144475180155013530225392156531690511150912731010032936689630213891773200933731021613144003123077610410601503110300515180465127416023740314621277765862006302802011100605820755101016504501261041392672004134055130313120347922620180002212180125214151531105080523228452350430625501516003773501621544287203200413421202093160155430012100445732190100403436231410012244002004029728017412224057330264220633263257102308624003400453587225051206285120202421413264101421112190163440190650107186148663717621031239003290321890458556040632036742313500265682328214042411221321038743810418403350246181124155051751172242131618402126006006384273150270602210163303500165131430254270884620257121305522517113200561475114606823110190426005014027371533522235361421464253063076520102050127387013249463108157091165402036423481807324559033430016310036042411035010204932422564221785074610069254724564421202003312371311852230282360343012312338661359211103780354234154032422410543111086661409003183116010037002609262512231004736369061444501113022546343220312158456140122471164035256905110047113500561331451204620030241052604124474232882930224160055161466406058382112359384679311830035450515826294020704050020181192192410421485530148252233670173323805123031553322411148334710640131240073251023170584340842151305059713052002714012250111616455261145001131132423500071079253364210150137553004745342112063135611110230182153240000106464441601031133623297112320350242614517165542022626600640905451200103044333290240022001103833643243193421910300345205007552085362141657223260426953448015111320719145820591122466652230620215343132752601022131664316870103202021503318504208403442166008004146394002203602209120012121124420870161005090302006001021060125100045602032606574113050120123170131101824132714436243652676440331240120013240110133001371881203153624741420200010213116001406100423553211311453308362410051236404044074231128252600650307641223441205012207020417763053210103400244033141500560352123102707605140124010254031578330325613635511177105107540152250184012440317721400041741347032380830334101033002116223004386000627121244604104908524142953091830386310240075420700137378820331004352251005051340483161174910353023072172704401026890721665531041144402344029478207055161440066020782013710406598411621153202130232124451143421070030304166121000098010211250721032340218120005502405160730654685212330360040204441220340203100103410092343007102150497424223005402457042416803213432051740564862055034035313908202340431630803104203321003400362200050323403411200261335124170172374402044936002217562407246031036200625421260500037233012062051510438272056241005174444430352251823135751450011410423057503253146141011303536223406101263032146121681341178321323008074557305120674834209409642538011300522110256922654054009302741242764000000330324020614013314404113091601243024101710414954052581619212054280411160673701049307924142142412014361301116604001014183226011410104101011654142506141300114003131610470212020216541422010425100323027206696810105636002564410351163498418201014040031360374207349655121858251386507011106526206042881231854715387302143403607105503012371104460724811103816430823244212704501654100320173470070515102212063210592504082042612412136012173457331309249302330134430511388146244900164408104251601008714173431110150640197680081164730119524321161865016915104302509514418114732225105034315341502143080704711864302202423002654565109336030347134730742142012043042245008221987205020051066561060843275030035913413521202061455120620830214176576130326108502581691633172912231613129552243204512827001020202121164426220011331100954103325224002244138411664331223530500613217360351140112411520303134675521570256380500129307129054201135421103006216341402650163764225400261701508145220117285675080443238066444032686562100053217943035213971002115212334120161810150848560281510203490012112161062460042390423020241112031006441277000162103454301025720529306693545038014034165071000035476161501451315310076435715610478270045406915603437184140494864592057211363428324125317005208208402923015031630020016624143201465030113114737311414152605093012344704550002102742251723056577975424014004474340301030645627024509021364107722110394510330217014701501601410606361443300850543623832243301343114000803412305121161481207394008200015232203363230504831260241452014331114073308242215570011030202506213350458471225262126013402172030209738130222370030383722056062118530005233020225318046233411117032104170323942683512772410307052457535012403202025330601116001114258014145710459401936527033644164256020806514113142515740012142305386430083544438001023468002365500106675343072042308292641745574430441203503725623684312203708200052912198832200091101214064832102213486289220025132140435035424540210400711364432507120202141057146365043471222474323225850222303246278762404111036304105510241316240311050024319535210312352041231221163063450457315231514040311469107202831001520742131865041632027324124143506415413155505000080275023575710040543811665325222002407062630230566078202293255173542315271200054417042321041414645303132627313312523083650000020603003734654070513120706492005305216840232803162304210430512370516081105301311815133403272503342621421451437306731302623204002445300224260012224415407007544194301005545441602701051203003311302113016372462232172115210122607249014130007481315152562820990450607844217623201063302002362303450618440814003000465040402481234366703591124631071502014021100760412206752747334616201000566310929701551064001330452330070423504334212100762536112554230160004803427402622088111001733191113840130802627582757524263122512502125774300065200400011003430020905162015276353813206331073557232502653775144313011923476320112103402372212571437652353060373655344182222497817052127307602415006927263836075101375251053306443050042011142303004266034070520330004704440940044820623830109218181355221345341232541100135003216143091432630150660124106350021147064260160452030600564364707086323815202410057078114702410282289004828479139507334263500390110037321140213024452022136880114261004669433136325011255311910340162110423552104014105016750525810026333473208621169413221428308830033655046002238121968456459140148310021005253078381273917332040323032244201629404131301002620450221136111713982535592163633243126100691021877481782512052004201710632371402127321094451200056102070613252221606724445520001201321101203041200061145050327866000472228143200016361050024007307144001621430104230010513303671546675031625532321500332531500262105418201585072783322063289512790212470324714555776378211146767020227412277253012120323134600543221122030396062402101110052423271380504865826233120563354600204671315303352526063002306400050532050150580400443013043514131168703529411034431237654723023014359241435712344264442413000211521041210152520434052105828000730516051103635132300304600282155143161213735479000102807220423103315111034124065113310307134224270145796101203920205271211011500536640456703735540012204501200032211405783310002306011120151930210313334242513011372272610791272023613744425627443586617115225160511858350311231032113054006842131604124150486162081024011945127050410128136063111643430100210402629145454053853950516521118504700305354253000710574236818611561211801004972993322402275352470243241260231151200202137224323231611341633122140001224710526004732102143841024611760207875012085702421394101419544102730181270414300546051022015301658592123008503601002403223070000473801835376900311069538116553034211214004104710441113304104049367867120201812032101703205752421401012152345950310408652673235666207804200233320614703342113735038522550621124310804150571122561222314211354241567384521664213200310405510920122531762160116204220055083355213230610530723152021037946702648629313632108155192032340513102060164621741460326171127350581262416430016162245755203210129102100630337125160441091265650000145310526204077731343011310380252083351500245640208040533256403360040574204410207786815643236106034102414501200213201332820032024111046023134121500461510024111041313000722050100124261142201093035123204554220005033474102981533205834738008163355461222503940203252770013201671644343530427105760612530751201621440301098163410212864033582420290401130554424610020010724010121213030261010080004332101832313132115235251121040412313014522530001536655520200009201013652940204336717756280239119270412426332637171264101794213254444081140611122403529202334902620156010065032822261412023121258250028000315046721262206800641802140243611051745653130411605245320330205242068224251204262034802659832416108260605636417125011441802000160030404642053221324737021232561358861431267023022155701004701303500151433040033130561116415039423024522130040136401014105234271404416020424032889110328501101040566036053081968310135141043054014619241833606125431420051057701512204002271034427066335442015437348104026063646231641403643624013202011311825100695043231873578370310210502100240021046900140113384120164152673250413401412514683350425125026620921120302154430354046000302502431200071152026633892000041051361272035403601056426410350052270713803406205730603065818120003323191002055314470650043012065053567235132167654412604051400002463281003501581222310533630306234192044413314300182454008036201020207370892412022174131431221815681701103640226194331644150002461175155038308271205325532000116003723031123912103405322000843161246262016100610260230111524844051650804101116240332522221043310480602681110062346660206211282076600078005045823377035418030025026432733025701071250961330042704522774025361252461312057211260402330080502252322046016806064706011201012433251910258874534533153121024827744355650455834014010772342174304217406080221075135231336364244701410514405113421056163123347127411442512450526412031606313013126631054000434005133040004523022327134205230121322062184672015456223001576053602301300337100141257104421050344447441758523326002010631160044040204290045606733754230124392225902540100060027053443231428051817064356515941220623123124010528032031321280613131654008672515135040520161055711315603504044004380020636603330116268336252027533022114122154311104661562057590020012113253049028036364420120340252061101801663008337357323121237862100367880113544605045511121703934444601346156335243620322280145162002732200052285006002234229240521300060316125065467523525626114532234044264143665856202166210184607401236930522029532046265068123310733131304119560542011407561733334313037240006018044190320320100103131431720450116906571743121154063276204561410435023106425005083428541320015006320911711220026652034633520451154006691410205792234502480001324024742802245400112540100531415101506253222666006531083332661440766022370022332407113228318670258051600500410002336038391024074474158943714775625103082533457820012101347210430840467240143016402825392701500256443111561172158052731016004330373212310701207751000030728005220310611656117210310544100270550250342104322252617380236026840241745235846822522688194140055026802900821170519003422202227506312000217111610447521360643052321604971328425544471142000113038517642401327244506185311301013031251404032131452676145042311091756512263540902243865025030527016012206015550327604713802581302762654233053300362300100205146240021031304401144414550300820206523670111433386260085533830401486017338200840501615510304401231402195200824113040197344120103200257240040528301023147167507284340452012218182552103309312108301361821721023201063400060100015243116870440716300710261305122242230604004212842560030333544710038605130550200200082763337020262614931120334802727223456140684130112335362138071301661701261613593022206104465042812276100020653441319051088021112010021117863243917001022245062425593414727202517040637025445627546550003000070751081002205223235450502003106651000004625071274321501652032614318350100051835440152223300622604341027833403352160821151010560203215300440090091452116084165132212321415800253604131772575452334401122195164340735546930100013638320675192822036077301830063635502030004061200554304034563001371338703531216237181015534642251321100022464431060215060036044044280012340157463327302462112310052753509650100756000433732210210433119410127108239103551561502200097787213512085157206361708502811632116030211457072324125564426463104335824042377520044322005042078602002223021956013123723732031922025317852320231018426439068017813073041604100631522503047060105102811015200405483025300369900320500511272242648003410032311172450820231464642264015082512200430152430101193673329031770493622083524330523411104698710043174345537140046542445047043521235023047834604550393801341053214213020986417002318312106330205021016005012343056410120614474401804272116632645065102219100034298201020650802422036510012931250472200364303512632341630554009020543527248102010544116124123894650466021326122217120133640106016110048262075601001223215088203213330112008002000737006134531001055724132123032437020011516157330551230620162014530300063400220011452543580239307101404151220001221286126010034702210631005301212410256177345322321488200716030233124433504146007375108807601039243115722861650273048270313120865045904400381039106110010128512502750000174562033230362431024130680333202506000762061438110525001703341111249020314400753137104141115577768060634433459232470010240274456324006000501002361574216660132242601730005671410250247111030322618010230542120316531152505552211254000013138413320042871851354441506152044006107320221211250420203271135635037061931760657237464433700547698700174054533472441132320417373714125027173333123116537082050635214123643842288156510165161752313643257550651401213118120232001540236355433713231142158083025141600013581423511761320167004042450053040138603595353764531166352394621175243546420164042627701143711816262628002132030306541740051387000131323635204501114347921110323402235261050447180151002467485100416381123221013650112002006612006302123251312503302481560403103331524003126001015900014632345547010815113602326724037234481106111101064131104140050131234633110391365342481312015740766142120351742601710214171124033624052002432137303187106515330330546054000001194052736546612330096200011156272103125251732001674512200204045260450040675140118552511014933026610447203116012635103426101224210506021312246001330034250178152136010605506460070054010504004635417387596252422373301032113102311468100491504410034625660117515610210730310316037227302035400411304005702464007490900831031110141401605041041124930123003002327115176432441015411013133574265410160210531020102041442131031134423152103390105603002142713231410140223530583354710130044115265211612025502457302160610210263384021131314722001287303243624031030500330011200150505328530044113431015612407594213070213343635142031724024070062008137080311220140312193364812212402272141065450050522873771644203051341032025045312353660155214131124010062030050711403000015638200730306224901540146507200130221315015216115443680724243012974500106630883564407207020327011200174062350331171573002018334045311156401510601740122073113310212810111360933010764221224535726107592753316813720514544001138322810121213423602285720735030303218204337300075221403515820114060416310434333341330550013005256210301180668182281233566403601002131403010440711437252356503550132137221451507428020364142937676261137267437200006413310011140041797014002224300074244314104227511251256633181601441607121530534313113615673067150611005121006132046222702456002123737122332100142906212500941621250442202181364650081202525454234242435873704067366821445179302900948166462001661207426103202143370710611000074430575131175023332001023010600174339202251450022421541840551245514021334122383131632703000386551978134221041251411215063161362606414211077062210431040413325101141700140018160034135118307048214320031040113725301160504180000121421021306115337074451120151036507001520653257205641719201140083407630250722001100830040522214131116191381593217210222001008007043061031410405506273441542533166853624441303353931510021740023412121302565608067233027052553210343257183505635002011040507752300244122158311018136641303000045208231046531160261513220303144277141642513616442223127124024143100360110741005302121420307045517462045616074551981436724416814925422361612602462300420226431000227623513501155511460030251700211331024713558311774230320000312334113052602774208220363274221202272937037039453200834316351520544513703391640103233744126600087574431496015003360019451700633751042442154221831520137465142307407622708525612300526321213860002207030202110020424290740133641215334361551027661347577201240823095063201070326266735085504037106301602650100420341025021740732153580465403301732132502124600431130200615324123013651803434285774127320760403033693059211710101640003430341027000021251470309267304045331041117303551101013057805063465459261001011406220617825415200123254012052061114257075056006400742348133570663013295620620121331020922501326005346010536256700316300002909020612020412281704010134604103061103786156754662312202116912231533230213054402450100203440441411023520511464803036046002307120330005754204652007452503121002205080616200223060412241300230741435052115049239045338234218292058703404361777404033137773421459674002400715265313054038611127813260021107200742777812416051030051244314454124564219008003010955145122305060113113260897702448500315803320836069302312613613053251500711515410113660060470286233470428050501433413003668116029646901018201237767271343003100126765698151557010916036356430023431520443562260241404310750023122010025081177113034223130081513107310441334050007201651511040048520642271127313041013454424617054100005721514480654111111013250162070253103081101400633208450112321215180303033001011026280220364462571310206300730102154402411034112300833261286112676103307336372015011450606411121326180314421601181402703021080302553470042630100551043323131210960110110077402016132561322435723214016524710536101110138001113574059240091226401460100755026122526411715552812032020520232220031176610521612105121479424761034207620021306606171263286413575825401148619201863527050031302305853060422001470534183618342052201011245042703322211012739252105565130243131442005020116231322101422122720040025282600066021676426001740515363711230800246320440132506852403333023353543531726314253151237260217130628304352500535222152439629133153303161611023219706456125610681042008561587153702624213123222344003313855006003400012506252010655041202244302820042010813022701451015024230614503361329318106136008332480112844504335005110013098560552234924343455451325053018502176530133092387122224422355441041416001052910102542320206222560596972315655208515100376183443104382021233295313307611040040658362644055384124412413206435101385140360340501251301424310703050740303230206156623300241240702071552102736038004000811251547130206222050200811362137541538750234046002173446260031314370130377103362301181555171106803662258012065315412481586003081447448032200233127402660813002137060302360251702554943132440009106357221553013404330912723360621103250147215462901406501162235558411102600145322031132234740545070623050460075313030401331233335620301130334132320052639421604006042343310305044300513666383405045453247360010622061841100514211295700470262211350220001924200212838731493340360720345457252370212251211430142375532250303674781383700186023013221400526131510105051115504439235750021014500803513247530722713136112514117992514061132821276104845233350316575700153006536079631217007021300042512143456011568274083527400500125090031111111012432130521034120225730100220503342223064524610470144100810724005121004341213212302013811050135617460042327241878166034412263101001031531251001122901648322221413252404522074432026319508170815705155300043351343391110855520833012042235043071202231022050396802253030112168350730411804437662177052150005313340103918137004723221148626902156732523223212430105243165068201032322400120022231441061030125308706966313514343010412161743432307072812503521016202470633302221323226478140150061431798727110767452416331539317017135013100654154624011222409012805030242528180354921212115031504352021349413414062103145250058036112360181362022263351470001216103104283442153107004110121800312105650131934333380085244020710010482020284331145318015535940154039016320355020117113002624410051280310501034334211236630105204221321132308101235826003440106438672472301722711304353016840027587232214641814224258581221161424574925018127001202562123424011307233006504123200812520622061263103380532114281250340512706704066650906515521294320433122109108253035471120274622020026101083725101350552225610171402138053055332040507410570820206013200404345032042212054700016070630334116531763286232000513058003130343027040743311321326513181403020067305424226917700433300466052030211516002020001245632422041104056321140050237074020512550112856421209613805007802421555710623050325100121920702362000408500731105430001343013168566023008032000315240242687111050704614510056004102010943451911700619303056136040005531182110011056563006132142553151011581343732451171264161372543103133410003625541208401025736611648243530882103622131626228003404600218320133050710470122024020743120050710670720321937072504002002050040515340014138053428085506011842250134736204413444110040454366413107020001033638364400210415013342442825257322270624333000356666266057557406226235350009543075136525056760231460605431091500323613343800761270413720462012034112813448626155542143751064213061734253252313024333603321521015211300422523133314291531328004417208345166306016023233454140914112220032041212020120004316538717285008004022600251393240672640205470510234072842205011122082128130800457900322221910366330612212424237023318337125525046806232404041010111203643134140740932041852203201202050400101741277070222803768221356003435541101003315230126003303022301603610043921220763460745030052066168022441525340407325562045305207233483334233326060021317092749400222265310111002114430743331406261834014022319304433117320010313030102114031274874243240704278565072402018423288623461217330816245300026125230115428642116333380133312202411270340133171412415121002445227071547406710204379405108101153501171021702938121503310622030332883322543004008310124795144133975312217026034033234253602225230600053373201002504124065301414562584250034202865661710301606486023210072517160140608040342220465443113764421147570344214316346315275040261707106240465002005035050114221517505816246141331010517204213013562580008222744747689108861403203047203526202200245704425480036724273016452444001671034307022540292020430310130925323208834151230481714433802460306420216724315536226000010281249106123108300332005042520236012549042201240003905910240705317114510001118606230614260210628131521504208666022050541541115067033116384344250415001701525442601001602460204008271321064753037012850804340900078274624040160150495372006314600324154271134621103103503001216339044635633012251103304603102215003121340300232080502333000541565042732034551320405606332464431470110075252433300007576605201415352112421904217662725220025181145787014102604158817130121112241067404622401570342702271040021321003116111294142406681812524032204758011131311521118181277260201501145475857154525351415244013715016121230141243010747030408110805501032871043212131166341572054801030066238104232310850810115300644520290260131055215515339201820034000137202328434023225026313641243744269176920313134050220242612717302011031383414116664265140450301862626746220859124302532640116450561732021267014047606860414600653168126843201202623057177107321111111453551430033601204640001274200618350227515322557929512210021580291722033408809077312305318641030002000201350744141124640225150240074002433253274975116123323200015022224182303032009016741365318004654136054136547000300200530021225621161677178045015004616263428103011102733520008610181240223000196161600530340215803243132755370043034300240122517582141000584003060022111014614005017240033045508521541030065146307742406902000042005041300163210313310300547055328664040401031623054467121054417350111021441216150566014030864051322235484161602405111663313307940203361702230232070844024550013322221011061604405812129949120201002203064223265131261142508616002308274033223106329024022020032101354353043463400033001603242500565227002551620001243213170910635206425043217348252106148130621243900533204707582400101471170210200160133371100410010031014010327254334177054726405636258202620202273018035453324800281121206133081772323430000157556080521421120162040007747020041332311312132301611331038422005430800436392011364022018311001451514421021400006013000173104122862225524107533120453514010750310858434010040112303112500621420202950412244070940323609254233221406262456425967503062215308223130125242690413835050134157211313270424112766443004201766260224082123204182460571242700642222101277252200505336131557430001284615114004705971141040550135563022471500003736237105312606232025817285170405060048574420133608275101802151301505710222466544045417728241102245111624650369564505751775002928026124126522071031211174240518913301320070011440060420233405241341630131310333812500123240522635240802480116046024020500578671002701243562616142124120120808504054156326250322233202820302005808640117603146220281515273135017631510539114411458309414274245243228703672042021006030495312490090304921501054310427327135063313103410210275016784503600401032471138550400661412131602117021351023861532018406311423224342400351177122020020047322110000120600273260145064060016843408204350120783540781540357746053100183263521420311040501402715031943211113100063420223120481020034114311503540167183010116971261229112362607184412273433972382946001624201122605553108132100522160238512506717446351234504870315213420106700012276506055151005302011803206040531602293453644400004721042632862263152015153560311247711670717046321114140181455307515645311043800255604130205103401111230222605014420750005078530320821600446170014024257524002593060441370328310365135100214552121161730031401504432180413480101187270403031435101300027103313900251346562201050845222270921554025310102150542702001223917161130534081000115128036111460137430030050216177430211938368438600102177644383632413300502600971831283416210000620221447411002072332234250102522680356407155260502400665341141404162601102645041031002210273852412405583127450170302512412673123902091096450040222013201552608311114355424224334588906200075140042242121100062050122661070803020303381005204720525110004346647053252412525111367163621728861623557317014835724291126023312526400130330213420210165241140254000870111015223603030091173771850100409036102533134237113083306706049255131362020033023824100301035101123336131408263551842214770113446145017214754272601344700372565027012332041340415922123313751405410132407105304111425304155910123262575034622212238060161751642183462143520301851605121647311111503533113236133504211200043095071510052035403510013510120479870710363210870021442010458514143844320041411132141452522022222238075500103046212702637240237130100257002090069221000605310943574854042518221411037580650600903144209221011321555723023203885400413710370016028016112270063222140305003000333015313195650203184160603411335244303113731356013803251325161210322200553240303121334110130000233621520323610103043048005442665280100013003822635736213604750001010800265475702519522307512211120040225161014154315340340314462223170104073155220438343001200463205141030712093240203215506467503302052021503132014175036923030262619051713255138683231164016612812562810311332515023035208323025206000373830642222585235622056524065511812151506062111701801730001706073460390677204087701050405507650200234007208870923042803870240325401402530203641400528301972631104754021205031549513174012202162687046832070004351062372929309063223004430202645740311520537053735670020296041140426374820411582611030050323436540624004354050282682512521700301040744030046085530646002866203520118074111130522330602424942261403300711040610113625102571316752202054403311700554469610102136200624400558059211623475801046413121338803102060340270212403001623734052104403309396571112611335216061804242006730201135152401964011005238136375342837330201401603332356020633532503205634552061734232252050535246026144135242743041435501054158015361100812045700711502003835882211106175125420602306025501132202803354693257331910423336173505177704242103352935153360333312213451080118015904145409000104664442211243481203122221044052441232021617164036501400351635498606052112366600033317304515565226251011074172037250350361085000042749203343413459073436513030282502227020927421521142276334310125031122580770220251024027600343620622012151343535107551610102122520190543478565505420110357507234712021014200641407203040522141852464852020313288423510062542152200721212831603120630189401405206216243714035002550616056804021480240042010043610607003414118333000000213526103410412633610112670123040222531004122703236040115445053435730332263223510953003501416930321321335042024041028066220002131210202122251022555821313880371536071121211710513433268053330400262401037102441405633405500212864203706300904500100587654013132202021345100642061503154733253002082140612121483285881021645081046151510256525524671546004204512143470013403341194202004531250500333902260360203450251791103647704537481533430902321012510634173111567490604328210770172116046101122121001072380701293210437450066110050121505481290271085503354084204721130243041057478041143421774820731244329327615017081102240751111344274000258054552401308124721160160620373410120572385506055303123983113200510617670025571552806073803112381520075520001145540132632217112416405521001412230754381420313303520602231531200512063212054105051327450370437316715501546055020930131358141013346340220106612490824937121140035112003112710402008240564250751031422311263530101610327012122015003404672414335104702103455432041015442344181004430520834502404114335320107202027082986273007204140110013443381830607920030434240812730742067166141183221030431309420036043032820153072264437060212201250180353018202314070011542011002723164211347021105020007001223374019646133140111118183912303723192007502457122241500462202141230153242025516036616036110435653105466044922101279460170360207202014384401321112201311702124121141138221210444015302124100105480576552043763543861714420361612305463553840022502011623040604227154002000721317605012500264863233261110111612213741020601163247202423192520092024220141224272260132000085210627323960070032292963552453110023258632352630213550424270130710024125010764000625200640252615210132221611090001283501441230002448513161213252157542010000203327502474138353267655105702545535211131400416109420531416470801513066122023180523412076335306233010408016701303220040182321160033165112170915841110963445342530180188065124082530472400904640030041280057342300160860091052513943104149628530301128434031572001055708318704451045030312010017033007806673826054802065416332017400225203287013420263122051100313621201057010465224148330324156501141108030210653500263094015750934081710123576630753491161371352103851253715027011022002431724331718325342340200035678165003633732105302063302059140002006152318217110210216032752274701150511900750806016626014017431343003530312932202333140014211411300160327674251506042243273350565601304337413230022043251036636413069053363310101602262612540411424861507642210070622150542735264030442370214072125311218203604521513443204147114846121222907410112104188031517170351174183223147424101261831133803157143000931040371807808016301740013200052362257560042372120000260212937459103822020441143283004107013027153506833009450621631046910325792211110321011540701680170120409010263413134502504342432131320542413466280371400133262730552134700540304502724514054411364231231072111407020434011105121370030320124621640411005312031140316060305224220000412238154337062004528200804020105070285040521143114088125501312690702183051017402614466778410025541632320882328814145710360112970602630020270133088552253105662113232314147728003114102765788313332001313310450643270050253042471023320031063402100431353604216320336030315113754111110014420110021610226115278272038632542226468011409302260115217452202021412143286508342711372624815742618727370128611127684512531073704350510622175015225805325430135248024007407053242124609415402001184194251202452002200504614604613308268532012001254587446017502125400542010302124307062065121545035269332323330433131072532531105255557731322058752221100200312950276347021252021302126213344043440580629312063256030257636350643032001750669362854053566291217447104186317408193505250410403331303105101190276413301084171541004000126730011034656102565201332330033923424015012703013100035116512501602031613302302184232913341036036250141406863010247521101608044440301028003133022000145235047050210391450343400275207125112255850432100101033222510014544125596144142245130141400490323026005200311372624452590776219212364751313036502640504500920100120031421041220341020206827141004311033302060586060532629144310051671261222054244003173133100411230510693040319872444024008631022113019102050430221520556141202366531123315732153503742324005240601050022411602316070231462883232187002033031205062213346411343010440255002350633399008412142110262205446124655010442813037020222160020232501100074122410641158071509594211102404358120030003441177072257505143104032312286012242925020094631800189004312413000534012106235240500002701525075932356410411011363529283363204313132655000200067165170003430142125874230216256853153323073233034254068034341117415602362000023330100176217134602401210453332000530204304207013021410142350381440271475405672695183200125202010282410812326718513100702013222723551030132242035960012405202070011054740163412641051072014302003441640424035470026374541507024863201003581776040323033011158340114471635102012383131224406054644042354256012527016041243007035676103625343220632184524019551121450064006484672820054133346785540520013253216324143333572138634050002612123007581610733705637250011020564124000107500850542514602330023110086290251532153705220044300211071150142203242802358211466540423060423280711314201493621120088005036120019251057105043069296402458223112111227045028300030317140032281393080012225135042167022123800207625305454032502000321514102272912847018731625583364546091457370621135111109023805021140110514543621413035051546778803532342205240351177157202211204360374080414623704504625810200110272536223003116177605151100501073535102004260163621001340612541701406530937780027351658022455124568163108356512240246520006700066004061620030500100101814304321103027084860435030102204100590841893266405403050110043213733950022171202562313500750217233642204974322322828657317424208235701313210441552715713636082172030349804453342341075006044623402020048731511831765015225723300521754310335032327711883337015360344164215353424683093302201221307762520063247415260220610157836128445232910540560552530212402052015411473271521642371081117524060770016113181252100760467062131401611016402132022630524763316327742245040105015870440686184283451416625364186531170114543107118471681027013314502042321213509003480026263542330140282621116116137032421505233563001938060190212145302303753281355431002232450331415200661161500711316585615181100162534102744054000060210920617436239156634302462610762254070042160160600111303052684510016262157404000314612430958202165501033950284052740622270100105031552508510661250642631472745702241151195800105404610122361042127800433131162353435022488214701065600304454017521552126535005004143660022165021118271124205000332712215670521559410060206317614042171071210703084407145830102000035511026821103501183132000217175121544223146235271002425635723053420527183116174704143000780306212201016640500632600350550006822055033300521200284021608456211242104434440006553301685617710420160200352210000140574655111500200305277104730311672343632172405266030350420718420414452712460741172021152262146240003108625542385082204060503271525450436300710305331161017300220452266473681164122203321311861007104245053714264360007430053117400282001518323112054341215525511122361801137477141670443403002420294611444711669620940222744232292424410113300054545430052410400547330482052411338234160324452084015205610012536541311237702334412832661630171163300433367053007731603310073010611721300243361112530095440364788102811042020047415443460440453012520950216231025443123511236925010154291031301025050106377325100310482892066900302326390031237261207123001702322225426748061365513102325575004917338616301943030700603616045372705400210218815311251401043401639631143410303251160330005822366835602215722116411040321201631052430012301034334016921042046001430430013354000311422019080144330106601430822651143023002202054103556210030445444038839101018548256337100006113083462331355520206004440000091400312331213134627407025035062554426000521501604065630320262061911445702341455640403610500410742120307024807060702027220306124573402000126350132335434264115813810403134612909640103672206001503513041031820023570042206021200324811230524344307884738714402009615500420051056956407450920802147136030443511626421117010627252671067001027605313578732708565063161517650522141531220066715537823732726111115014643211247464855167132476619305830011203000372431091546515131405532134303717108310572201043433022121076740260270335741016626060823026334400473741747855061250200232633121851223451350020015241090570014412152478022006001014034680127165121152250013020164650071223014442625134500064740424121025028601330221200100508321256045727118135602401000452401280504221020307644324122202550840046801512840364011705160060575611030304010311163433458312620200272070392204312604100271463044201444203226630003514685008042608601134811042427544142012113186773038910200142344510023526170830201064105538603031504155142510743417601465123401203431219670012835306503006255023239357073101007735601070724590211440254932244061530476314006811530100170150607021057106453806320341005704036492912041511254606307950142071480134430211512013131500661104023005601077306100723160504418441812510205084220575143061321000148960022424014468350279466160941524533338325001151046784045242744553301061127226620382225421434012015722070310101161221600013271482701421200110313106500222746300753761327200208026130536032473001133461111543143062005560201210051321071214570010010237326200841580123430113433827163341021511022835205554449017406308011175202040216401710425031354600730027436246044460040316082841000625630601162170405013110110016004775360003012142110010854214181451504179213000432750542202304211161810030406728322113027801440542034672310302018210801003006441055201033118014811114221892224324390711612712004331441276715707529232182603280424134451614430100011117268166114153225415259784053002404325614141172013754403131350047408526036143774603565287654414434322451465879246306083203353011033241647134342661285034552512314834533472663010122104220002114440040640012453081233032572341100365023764241038226920316200205453033275324116313233864226276873584441904927503071484753312201211165162343135890682083120150404121601637558510226601017256073440875021045023825152441111321235104410360312410825009100105061013349464111336002020717011321605235614523420510221483970062812304027200070141102250651451771700302015241551305413548373163073223173977218365363880066862341346581119032605851690346101024744114511702511286230256101300462306418251200356511484207965455222233422227121861107591519365341714203353216310052222160534221605230551800132511300004611505754808014020632635910146107050302312171556316411124003531003633404703603181314244417656016331856000203141482310121103273520133003462154042200262001403001303001175137011101145402258130633377522974136036300020601044742220673001008861814212455271320242133531420016346115006383632256653213600401406300334614190021082105662011620202348910623416003021222064363101260154226451715306363412208261001250001217827104652074421037300141067120351392214221025647230538300483003419242242552121097113277253301268713015330093720774535208513200211562163076224620101047303410480410042250761467344107136576421542260422033427170526204151344343096402071201328805142031733416380125503024215253191481302574047412406045148126240521262219710217211391403128635421100128400131079361650144321611651536922332335526114444006426405112702148387702620212504222432152102310310600015046695474404030355231805313070055030131427696440112710142804063326027133875600305394536115061373130129298072265120421427500002013236410121212210305010148247350605043250041044640528162573232243523920330054345245420522070545134050511174241074212156101270492002647602648834533620002144304003135504602156430121435330455106413531123218311527420465333001035140510402085454175200338212334223032403310043013165230423201055321620256328420045511254034502009527712348233232434407234020905455042320471302050700812668043412113460160326001232807704007042206241650361730260123465505752413740007121250920740084260117500162140566000248572152307046011331300019002450626022510382116010066004373625145340412709614001103382606012116054330217121186610303724572242221281266683155542568503005026382076023413004513110423457542105200133200560704042223216290301503812132602363743230633300544226361220301412322168250232563150736605174035500133613018026084030814158230701449010215420435900332500201019040664120246423216201240230003500025292303372054444443207113365603520011200232414400244828843824204041613340615002260708402444102006035130724041013020523072541088564320336616132700135502053153407332643658126412213103234273422403407808022219540005050610321019010203760032011601043233442273832912307270101028429305005035005410600084752130032023820420181184862116031541143627001716124123414451061351959258024043131210174023544616626135123253764175903473200113080233061137304052162440041730021453050485741001054003755235633633152336345511415329424522154373330670538100183303237011051330122421420200623410421518122020223313504164354400523304535320121103505600502513051312206201141300054111223310509022155011534310702002657041187552822531441920335222152131404558283221631700310118900113317000334651954302607421203347216271301613206257940136553408180693722114143054426410320000441331914140401150168023066304350253441228741151632842022554220127810252120021247112751081110200163300510864033030110241536750461634013104015060003201303123402016024227363101206820003210510513024239322136280150912956314530524265714414413002146350168805054130278480474302131603122074531564263311022413215650962113609103106414035125231262102641564222126726115230800365330121105461356740726301000123448151143727000645211574078030113306661744152296130355502425505221240203236466500305130201017150335176302412114473043002130320310510403114838576204320225440130636630114642360222874050503403715762021055523748152006142353152301328130021728200334013943908021213140403241001833024427383210513250130238411144841003353513140071214343224342440121070480432110002200457235135123122198544441455073156027839342302154651404623135065284200220000862310144506402521513370182060402326405073011618220542643349018200470814103453508620160012051000411083074012350013455454575203894002074340714051036505322140019097073674540124044317314732133601183756233263446652804403340200454022553064512546143121122384071200105525419300077247186263560365308210608212400004834212776223511356006105102307481100031464032812031317525841639307250354666700115012342409480363501612533341304000104034174373414743481114123217710033301170618684510695550141107067301050337500105022611933504560312243207934330211004833345022031059023832054655827021055365272242434242564403032452633804140618041301312733443457706265313041201407843221210300271530765762668545460327527034041476507202522000148822325353130374800166325453533200533111510313173080334323364438247817110103070325300211562223147163162302025600217640065508346911502294487107200311132607141212811040201254416113308052028086307002101114032164614001151430311064051106170431012511732640404019020454650062309214053233273213230735073215302446634474333020154316055710042432360580152146074310102225554034150621055025439400222600140011477732662346181408267340213400920385370770490125812453475285025201443100352032877010344210304201150001058043142003280072650343350114376078681563002340670543104110153860607511274203291010301751486040630672615274362408713434054500220441300213363722572614640232360631119003012547043125908106490149970022111151101211603770416203320013150551613693120773083634023403024564072211130621540222123183550204584357037632070036000602296280624603005015183000204641331021257041204780133058014621714570111378963006142136110266409100110100750741004716062403172010023330301363545032625261162236620447001052362111013507512200251511253142474045000851621340134154260300055169016145651563203640346135142607143154814221741210016703126426141032505807256272002235272308311066063080401020211002518421200062009018733164330420032053239111057173356300610504600353050309122302154254212032221420351023333055743026303123083378333064868171555414333255370032434312101483471138365514212221124733620527373453730312411681156721249423120763212615320025325155615312320005331735457095111305770721122062603013225226358532105117140230942641331316005215082872382030690320210585056607212130330583050305124428424533223212874024650540016202844700725622001711220633326000761487400444008401860867202300337661454345053368763053460020254107070814102120323023010153740636981945240225354260250441306825066001161513252505026077913361522332323120133535404205011044110376041144019322315272100253202721420020572528110020824285822122159214404115900015016065250844545547221186053000004007176072022041404105121157432030410876220234545075573212225544017141104201873034191222301272013201025330202509502101507817567427133531152144005420202100424352045402205405626711575323552223188086062911165164214487491126312200534025047101568411032400264050243782033526513031312087520400370439232312340915755012723121213038607303053141731673066111132165571853664658441027041552715503881025321963548411471656532010241004505414013221141554814136313041013309323311152380742928407041240163599733250562204809050517555437352612664048006820045417822451313623138104223131024581853252002413021131717437252151080700952230572420055382003446704320120103200316133631120453252785191113016336002131026275195001190703024431576061303262751612370071470190061689991001100211021102003037662015371054436150411321512022600200353372431166376016140063004213103324164307005767570015247215210648279703033262710549346430204213216245402382050622040103281502736004251421131627050148320043448589105520016501202206005416620240003732128062721410106223054156112451110307318073013300223024100582235701312012010201263955324124217744215403496611250248052440019040436301307000520606715514198044347384135370113700444021135260012127405801530282594216363102530520715263502222774014232194212330025124463640061552041203310012307106202133267568000005012012715321543110740606800031304102620533532203100280147132020420115011513271341684111462250502003244612431245248466022110233010557629637123206114270247157350726473074474476648742064020244520105142313400495021143001847023800123038716052357220061701114528033322041113543975059272715512403371057150018070220726268024300733311113408431013141307160113225832136410227723705002102448514854292281508300005723680320112730235554531040402008616603464019632603300112064186542220408153190164125070500118016356115561360058120671030008073177103756323061100340202342140413266016331306533101084014270104203036124278677101451042560083203014036224210210263010185125711133623336181320834502407881217125033280001032464615800107344103003306153175311502000550212541082021203404164221470043630504118343526113123144250634347902000101900066244713051633783232222891135360123136138702080001124212200517136831026036420001820531334026426115323032003102200039621202452053111860563004507084440475144357530147142141301457462018235207507359834320014205230571025004632020022077006121185280600401030223200712048140824527080200384116511743034533570503607764075340407357622363222081000850338512223033088216620133400843101501360010208300061502203010113137191101233930204131104360310206026204688177438131030051203207051216405609761200458211500271109403064854000100844360233303063310633441004025120171116745404252544050013800012401305052360101263244102205115660408322802253110268534005604133172523330582301014163400200487042057350177368000154823523211684232753141115011238453513003265547755562340570230820722011352394231011242167200821724161635205607765700050123548551544618430171154526437206140013328176873062110575250258570344322141555171130330336640770734360213002468737106411334341660027052141625421206204103216710003001662002507368162802022025531561463045443675234529003963254350342020076550002122226000144404095443215724666033300320405353445186403924610867150900116010013061091423735620125840400432021452040252534072204644173833812202423082232030504101101184274701103205023634336324205263016334482084620500121232545899948000659438500361031063113095371517253100632414162051247211621003425013318370264667274264432314031321132421311202206021010430210820011403038312054450225134031045452057310213733810151221017208006112002708111831015342116342060700172275308114049186243351015245271105291443108141128530140702034011310512228003154214390710300026155262232747424788118532254407309600437315014733214224333251300251041341221570411300147701001122473530144123563317423303438230036244683671544060437101140447055255025302539216000452002012150132433513241731960736124407570717534312562883000116372010561610103801418350202334013061032074273801202047434004355452421482016473501253072254653616004181590580185104749015551600111620439471001461213528600472051171107631755724030114004322227330311058762996242516611202841171012051808016132737742260771103189219022142805431111223841125612364042116502181705456021802723121530103685140414813124037048142304042002332203176700102155574043802104680067326002018002018021125026162540477100185246671123390403130338223159312121408810520504804023030505720562847004602310045236305304210234111320604220747211264276103200410033053471026022472512340150313223101035422340075213600041878552520154458250442078033313320605031522301341163425801028820100102562633100610344712148653514410100810411195050061030021144028200121341050055063013260094203005025014160015810051653423576012170513230270271312400019220055504730011010650153661255321276321510217072702053200331382122742506283223559565130701550145422106773052754080416672210322800016324003420521739722444953232331169310232300015432602142601710101002836220243622631221103815120525500161333457110363171126540214161123073343101166377319098610622262400314021272260044315111633113010637116515900165644415756814522841331051811620500355203409503511021506325203651241802261105247665822257325840503994212260305006745354145441125401050010301100005701404530131037542573101141231264233514023234423256221354751709400046700624201041214870023285433040570103670405160306624550257104591021703837764161226201701012513120213213610201032836132006145646100450305130443514485072701193016121233415340002402340687346478043424624113266014135020261071375404233250028825330671400860332112190263113154300962104022322511335132059522946065088324126006081047473050220466401005032773512643353224143452013857300080072402701272770335626502234332013303722004121343305354060158321112055102927022207070901201257347210201053300101212346017356235847000841125647554300563101321002430054004505111058031022655360141430000014686171350305023041045443130757322400000758057136911308276517304038354303103341551136217650840364315313362277601221834423384040317016640147622660292521643150660220121438076210276417521400028042402021481581564454417201532529300152410250411303004281140210400570070622444511636622504411902021121501421600032011335105229105384024201180516358102071441504141414000606133050321047221102200632411354020313440021230044034210152842403722220232323161284298412715290331522531103214214130435050228321520102915984331272142012133026108403220602130328564123208163123420544710010300037741054731224298400410532953322201100013451001363222025364114804013713010240374326250500020530703130052103173372030934520540100302300226304326911010444377544313010512102509370083224854090546528013000003210142264201224500520430114256164325032311333481200578201104056321235353694162104353465384610458520204120522346101110812456208402420400052015050445070825100060512522644073432003171120114021064054120201652720765835223601117142736413058721252100630041512401010240383605104083280241420022640101708318253005216220440155862506023331000063106004361513504404851503006230456144312141568120750231900801474725622632100622240213047288930042352102505318241204715533087080434000706130735404950267034002092208047046012820941428052674120642210355410527310016342940204160434741096304194113135414905421524002934512704413533111511207134008352194010047246301416107010204100159310315514561100220310414170341450058742512026714341708251724361430225370602204703211012107000002010453401083343072431116186227422504107250404010064314134302101121330225460210203305011147553335117150675479480324002297131814161702490443103900107050146605232110871449534300103100609010223150420330040070400426232204402291540230581000606613226130781815564104603013518774064263930342441331130110525021691412134156826894506710220483030927122838860601715421346143713370045511063324514239153628504271053854642824954427138506511401403800133516752082710055234072235323300038611064334578804262111763631005060304122250152229303233800540283420433335530213502661237212153136202000000015115341012621562267952721139470222280336617781460411106168340024340074243224423171202256603545720137088507231082200042230002212019048190302037106186644423124300784011837526225432606335342120483314215000283207317202410230220860209021416372620204356335355160562327126341655646400201140270032404035040260632904606672136640270011778100601173427362524033232643302046432622075155481151612541222782020822108817140266434000431101178342115302454224361113303470290030841110623905405030118030060520333101118202207122203111520170002130222624406461045203313332557220040320405610045046600000324420631111044130217462475226623133606120923140113583503432212022221010274468141014036437424280171750157640243333434470020456312232261100516725214922510555139677020223091156053863102200131110343850020340205252260515001862462830817215606246151312121727100211563023710610330210412431232620925000117240033233120313330121114101077343643604722007432300040359323343143123344731045010091551304019115620548341312354308056667714246244300100285474511866215516512750103150364503930031013310120033615476601250320084111013776504130643510414652221380193819245400326534118834122033141939032400242141412101510572620841450060056645630421410623457071012100111114574276405214337401320772213011534671032115620015255820212323906103304057334404004730051382124410252293073356601265020183008405209419107307500053045826744156250032461013245240052302010352912285610131178405544415101228363411803061313593010134214604250112121262000080814660142345222004560801116230155010425077451037505402033576051507226617221063356020103816200421101356244453303457063361103465250603421022104613053042207564532213360340231311840371012404091102341850030220193110340140330153110333321036710306810625110422542142142104600330451091041113951151235322273270240273317530015510630125530141731225218505381134593025852221085240018455115013940984062211031087552118431611350033592422220442524450138370060410884150104202372705255426630617741613560506601124005454653210100100301101213131036916277443264012202050623252026100230214528324211504216572321332543165220543011023613764140111721150840433204410540623515230204012040641260301147580141019061021100302405108048176375131000320012000014957000042207500415160510502415108500571330435981575261133554025370120660042626183220253594213221649540572537000481453126006722313480620020413321714820450049230201876675500666123832026051181524021143451300212566620013250630022674354352231527062415523530721910025356401030031655201374020432570644122762281750542126367024616020537100692212734047009728124404120225044181611541050023302020402657525410611116000410219221612376539251444022352004709402650027211600614310754730220743745204033411318041106601876260150874260514600208211324502310145310500530034670231000450534534162064095061010030103180065084801230085861330320004221202403502231605023212122027570040041252083701306510405735074238054353701274135730249311171188771402071678014408903232014431701035045391400925304404840010300160644150546360263050535112282421060765110254532031165220110042611375525603070008550308026315316672352203543002342110603341474771100024164058368751163011233136612002221377320316202219102002011064334131340500251206476819730853471320001310213959002830024040531367935133948016112630528452285160671135037602621121550903355535572212037286453128602034842622509153001652206056305103150393416203054326840530205008220520900056705020295524313451663700644011721018916201446242432407223051005196262321941776401071463064403435642377300515334560533590775984473000241624851036314400072111082310251117234256512713052078454450811332332056505340235162551266503765326252443195261013733594700030762111032101647410271696512181430381402232601213415152758244835764344141331062103347214277306313526155142127723000133111222902815544110503360019320119312210042312102184103252162117402300124120805841100103200128167102050402440245734007441124453631204642344223014201441324216424137617801303702433229027412412333032003502452364523353025828132272123051305655514142224310421421450216361003782223961240306804228422044102115235384022278022214330232112227001211152428440002355034532442106004676726221382657120841151049104203305300630020575014018025441000001140382720560007540061412803862060544100023516950287434832440065546511553014060710107426267104041401211146358420433154340700510127251063330102542164080351727874200452353700390220740600414753354100620053141200103511383141340001328754028130660825211220721721655001042235232117226822031533253044234304326041506060223172273182612552342255022332123041323153220234200111206261801204564118346139254746055253437053440240463610083730541202816043382015057002395662451792100622040424111430273056010640212450813734630121051106424371056003103213214266123077317145005163311420000060628620520507505802401437533536032112052008063110815107312790442933160334022114301028470105700471032593533201030411301250250084706220010510773044140263621624000066411240033323268022201116070384354334134226801357704374336663531740430806441360157203153410900073430051118180405008520773133450113180148331403210080306146603374837621526231003015201561524857100703440111430845314025141033460631031234146331011061255508030110324726004810254858243630041076023030214720150861701226755209272102043011612474000225110150142517401227040222424100997708243541441722442402724164306100556052611441021323147102300461220305101443313160031752333020044772731732087176730505380022141303321141141011415200162764424014022246811972291135030543082440011031400155501532103338478183070122604006040013243050003534832098271202600011204231323220242263506118310421015140606324011927512103513309222232121154265080630300292313301324200063210670553321353102045050137060130535305316357212035300160258411741430621573317823271104137443224374021207962412520254511516303017468005022241825445300004720034090510034310116802208025514672020517232014213301570137145117840300001943000656053572396231778013430363413890302914904025072156307703000301710223134716461400401456013481311651405116205030166204465161001533411200399361178205575250073007203036031114142673100394265010012154470432322120883221220403551140200427050401013334600145152600203110255032054020216117283304815127042940645440252505113080650523200151113062004732403063421110262114011331252516165206016530115234132668325406021130104035426427058191526343323141087020931481028251051520140914474430400111201910250313045824062634444362222884521837221001217444161373201864680323972556002020338447366221636550424020438102044111820443416610314344241127041010052034031101255334630082501134108280284330406323631220124762205031296023005531358363120420221114024010015464065348330312831210775320240651368433545257109207238011611047122550010010424064021131513716503646217610354240530320450114442082413410930402352310023000013451533665113301207061327336725625141151015265326271300070762514403925023007041206005742301231204084002340002246930006134535111472530370424665103391215501683101441284030704512552256221105013015130352242340252201000900553112410801794516400383530400130031070340631884006532204103333048041130332131273220112134022203439603821471172072017055120111102060122475367307333325502220040264005323133202526445361104301587296118473314154352741610120256433208244412507314112551212301122274810107049520241027092331040184410226137501290775100506136138211029721241167414520614363047301141351002671025256454426134021013221620030034042179510447701342443346004530084583086177865283511314411110024220313032210245171120305631741162612180206511054130031205556102310443617004511365443122222245834344865731373110205462554163137250024142680934620553226730142800046203245034761100103505932002423069013430526714024166510135527143150263426876413103105355114400816340124600230047360044852072402527301067287412042051003438401141203211315571412001085227121341140200205302056025454843721274412122092240570004646606024003233221584535365135223535000112312113159212004303005194045402517573017205231611223121121145930383851814623050015475063403003802400651133017232010146114100283071005115004082017236414425071612004405004262830167360109240767170703202353501643860441071827164643300031124900341300110221046655342040011636462324228161251171008233110253013400485840307140057673127001111523541457053639034341070768241004021343160502459121120002560216254204508501130422402200716430202030251912403353010106811656043906635123102678101210520630305003517201051210560035504310780703641241815011010208200040033613055002705654255372501212230508020401683446702030966325010842047630510320430171851143011171317401640150902597253351233660211403102643062803204310861220193305330453490601075310611105473803001730271023971851501013031444812315037541131864210011362516300140161222123326600003202103028336068543440171988334104741350221354756032582652930354073442413482336011513730032120332419470354321044358130003390531040002245108737009810648106447702010031005742652312100300003102028110256261030301054783051440133234442330230084010150041405541013100531035346605605350813304333235230512214575343418494320018074821105343923673331470606440140727727116180145790500430660132244129144722220026102609315054800542612234540171433152342000460012355203120101746213023313537040435111613043240337384112422736556020022003013627208068343027424211002041633150153630014326006347260118283230600020511131245013110408268311163601424708314140820465100401038034252606204526413081016066341471202113410080870030043034372865438838006293644610251113401103067902163022565400441235702550332101220070130505155333328316044474866065364413055224702400132571072120013055517602173061785305350020014155223914041154202441440001456513216048352613552131250203186314263465434306606905544103713500521024560243210012291908015016531771130531312141072116610296170003334176120220802185331011103760407202143533025130022148061236130205233366217604400610011211123425504050414076072003520105713986057502130500414320111391507204148021311542525252213422212611111024435300480372236113404326340103162001620182070125026014181510070040953170251530422618334520021103370152522247000325306344272041322210267622009138370133226432056232124510405617502315250346234573206044441192237431500306244002174112069300122064109616235130162316701412308732325006535425571430548620018800048024333222240655742982234006168423306316416687752003724114848329251335500033017129390001093648450226603603156002117703200536250354232232323200412420613616256210202471015309476221930508744002247308230360542902530112185130441522156806077620211104700161001112213402235322334244423403119323105041940002653155010050453032041005413240307250060353521348220280200214034101620130038654248501005253139036110270104803845054557210056011302430230044114741263160417765243401002011223055004421462021010010232523701130401820315001032132530111120253817401341024426432127013824422802382410336240633028725301845300134150320171054752507054332240525000735110030236063131131211122315411555104152600413310100266819131354203001014441130523333016024201340860040110210132322011235014114512173302742746206112112075001100821438226251200055172306651204114300085310024186304307435242334202260110313348187244136004300318711633407710620100061213334576191147320771151000122120043147307036723743002666013002781043573503044856348252412474011204212572035231732624713122517002031220603326908700330305540453506085345233081071478002021143110007412105004118011002555546700221168622501260039362106421014204041035404724260880248509052759012456335154601331554034805011160391160420741012260032405841223423865157122231555445340105082553332560120623011745800663214113602102201026653434191422002492301511540709000020360055017002332180314520721036056301144145120153241740624052352231262077723031000491220043814235314663000910683820340360056232603871220120041610204550015032047027106355210403112172791050528112456821868013806743223261325310110642709023160032011000605253134523002703216100821001213118370003214751190478523252401110034200555005846044011228575452301310244415244632411823903436203095260103042830342782640501451413435420236048013247760175342219551104711052662116121230111307215413514011031851311400443570751712504568034103120422883235722546810450102347050414520304860713131355581736004010842681027661031322628127608610135225011206144528350396043111506052741700131807421504160127037065217406626220720900041251420010400313702043641021211115101141573553528015107230315108514003842325225253203026000460095031253635500416022050330732105310613102693143531761120322541804401030031705822553154290523962112541442234464133322441381030192122240010278329022731086134108265106690304043273062024034641441300243490160212765202177356048640495371817634122230108301050007252232728141711185132525221006123443643068730083264177024511412215405470730560440015512434222010137194003400272404036414043515431020056471035216550769140541141200213515454634140754358080615564631505315620151087068632203113701011106016062230306728712020437003506211407241540510315030429001316151063140260522862322511620225140682447830354045838031207606415400421304244006915134686145101832170131510405412411310400752010411012710681134206151332122100105425603625201044420600231721711605020632583274013603340503012411302305530014133244710122300110367204131275327223210136719222262690410313802122104164326134311031820912255210314048012760101744237071386760402264242364443360145503846396305023641510101162841374527172431052681050603121100330324004403680435050230433051193466227222101097266431243350042140246659031246002064344403143611090010054031054561820821764361104238133461660473117036443622033070221540034530541043222050313000021810308041766325025514703925162500262587158612872460505200041111027572419252052102027023430471527252402513405200066542014301560050033015626244187061411340355007158044186395340581301620891545211336115842011758110060065434445260056303775133749001920358425404152210165302520311031305136010140120132102103103914000081133555102042120033261450134040436683335005511142582266230004006242330072183070803751303980240247542023345030506025440072651464103430492112276524223435572554114762315040051841320029144521330037403087750358004381308763373205412161230632610205420082030223015050333770911021451524251176255063134222600005153400081345210203314017008622053302344356224524041402017303633403946032103505002535237016444073524884717730182094211460005403812319096811094101126795244702011161323022472840111283821103401256375667301022250224302102355592098505740282323120106213074365072250565000362025052844122052850003202022022000320723003203300221203123634073230811456043016641129122107503040204420009997205702301500323135400040469071303022613655017726921016433111115331873925680074862423101171126632221651456223012236020252107710022471120002215126015104280020271302323303150032437412218445112321002035125031770214046202141601133010114114162722201002411442436621700002710404320402318154032053202014201542434413270354879201320085361340152319461110523210524010184614103020430400245551600384200280521152376545350072905193330030501133047067200420133236402221773221500321426110563303000333105415267523125012154611926852522320456001072202631614201115425522116941702100200033485366313022010861133250004280038411032214004245051054630635165811201004176013020216230681295132137803333023470614023300414300080006236131435364704465441244955842136034115300531860011209104532491134326553260040540062108501732060360000152922512585652445604424110418075103440121211045364311330210560577144011124403545247723045033296201005151273532804113162534225323100437618326341020301700321550120174207442111641024514124327143036162075632311204800432860048701273905693004266337626233531000413341200066280153021061269032041441212118020736128442740631137695011010273609734602677135253926245710201307021755000136816107213523043306532404762362513053124023814006100234611503134078330121372087112186611133160045153348774426240955668275474302755514403430067491125557234744442300132284554403502503436180414322425001030113215228533520031130271235125113324101050573221280605237044242902502203080200113335052606003560107833330050348510005200104650287012603620852808072000904800293194401140130211828815715190220242609101363603008033440216146803000311652422012512017354546160832310010473006614431204707504021037508000304501002143430202752047324447010843100330151327143422223331441101751140201526060121012145023514101620083111034004565655306135351133612256821320021016031141125830031331320072503520640103634503340201060069411461211231111125332234323051230502414310112020256107743421241154005520020706304540230311704022371007364761200200012537202402066402792294004040220014065438702332762893100656265530208205010300339934205160292010669021308740605470103729624252305010910490647315903413711474163518137055364377021920324442195005781481656701313215007107306502335205043515020634016400203311211100036705016005831713243140314377640151072852213380146150068070635613036541016125620412878461724010550765286342584268133022472021225021215056040520302503633603320073230451002021432000110423147242164447145525133141320535120334321050083080102431746326270005521156002275142100790501155464230722641608703920411740842765036431002317327210313021192003152368104035532123414633340092200143151056370310645233040054201703401352717924407024050632063501241930133512102650120631453005434620390325542407611962503101133335472013102675482022027212226020005203261303020018351491028402524630327251222593315620205021235437033114000732212302780101441809236130814812062027407713195008440415496958117002243521012846001262321801037034510542890104436332100233338510224530161670464024313262263340032702742601025625602240220395101551344261652084415427003230754121610711134746670285130082235012707603065247483440242010143380201167102512925320702007003534114166623111303601156206257010402404662003060802256132124663212026331021034103331120167313333163332199113113302361303235728543246713431000310301206431630160136723613111505115335534315025000116036050415320251120624522937020385720164033126718281012502211731113347421602092432244312315020454378634114351741233643688500012850522311343121055824664222372841043126165311747114074544196091403610450214060042012513227329143352111128220772644208604115511240762250614481033472969030170715712022020322223214426205430414230456223212474504723410020405446530343121106194216534119108120670301622420400503532008062113174247460246961115109124812505136803246012865412142028812622655971313761210562012005350004830422012104608110342020321784358066614204004433766290232794905332221275021959340424052041062161493026003203623126332233264558410493960003226222031184502193701080533434147122000450334630706204400142421054182414434595912336664440051000485145093044312253208530050400015304202001012240626015002951301703463113222101102135000135042031429041382113546022539533324915676002410126034418000552140079934132603268273027828541010210382721005454426041284770527510523240702431236574710642330705235620340603125013016206141108461450433434612132422152302031300642510682234157321103445632101100381170032403471042834280004247274441400200211549404832800270006280258232183101240015069243156487033461246670416210173031500706207324540123053125052083041761142200371025226312705025526017140116080356003119011575453153069511715223171413736102211712216742543609305534013341021530614570518205921616013405522432202320250201383243560401120955400250730103025003100360014235300435052150367100031189111422187179107603506090106922150802621201222272422330212029850110600201172541023220480116607051101621044600236371360410261301430113111510264916110110301345222520023142652312120220033207310966040432600474805202422280021003141494653350513063286002802902100520310703115039001184418301120273603430253030940144400078130012681351364128272212226342271357327217022416150733074053611519739222861320710849301080416420071211921010970125633035062664243906652222243108506411130204821705710166321211504351002420032005312053202423000660901035264312020030116243428319137832235220344372227732012420240437281255102027420057160500816502013142056152674261375132055660502181052006355039262025271112140055132101201321643044540943100834300418408603823601546016517500755431538040054315051532053112813154032530445001031335630063410400320602023033052607007537111736150372262558213123120090530716505201612595303924153068343025522604111042734472200201122018557415753060550763613125108337022022410605734206572335434136147014200702213331745060350311031012321180216052604152183378774879065140424551071376032080718730003702130962437359006040651522820705282510534213120617051576973421507205220426510535171532544717320433104266103508614030554030260643164652378012274760247100110132244015650503361655052021047056007174001051434571577223194744237953610385271165600020022134343915712292102227516352247022863158844615352004020011458165113614223603022030710512132061046952505711277325500703213402501171157022701501303773353324052001661123717437002222027468140210203065664411425483346160010301603455206410207443614634304243101354022231308810609600034121709110600751172640018674802220212012606701703414589111364373003176836330774306115242503117443020821207056322113323002634556657600774232660693101581344106013234120235202024971141342570421220485225120281380561405340534202136103108002206630044056150301553311123575011051546290152633043143115882530202215010634234503004124447031121264511525843073002251204070024172403044334341542508011586722630108173550162342346641641292136417235330000031502343030344250130121720155470410527644115440300317256221212045103804025211723005622004383414335123437661454203731401210101227210107067520307259261111413023019454233313630602272172600013283213260033930306502100021311212014102521730001336112003200056132147502438040632354411205041311502425501236031210081005100107010444301000513330328096208340100053301113240502254390223300704523043200440640462520177206471612123413554047510564332306463032650325613764250344414382635013200432702432957172214031165212231016953934670542722767325811730012542365326109550702472560827170310844010600077716210462160424081600431521352375205130472260000221213551350133026572013447806423010012243117363511924262100054636234010020197206050143000013622560360216021032511717418602650258157748031541074243054031010202216440004617340200460022436310684180693371110566315353633075030712340050232100282003018015562302004363124032171030002122202275283631005427135163325102156083500000616333170057458070213222347532107522531533202234310304003844345010065220100924433024816651226538124061115241503508814730625225410065045301548114400114210352051409410271666202343100726451233060413513356123126480121224311745730431202161404102102063116413012400210240743150023603083401624041016054137108611363410035601840111113410799225210016133058201678322287105121115871035116822040001414006341921273420637156102581417123111144124140350323053637136466913463032184280232111205269841248911352913616354017320301002357315092523130615109853313353406205042520604313162122358700251270224231023002333046337143202120701300404000702119203121414274334202605710870302248004351421133502701411330025321123427231761440725037233143220211410040201062761767163831602614053440247040301244182327617144075376216303140500565302130201500248041611038021632202320421084101030035662801008200461330326339020318734120004031112023140402726910262016557276263419716304215180301502468470421613324801400270260956081317234003017200001931001242307015302010000028284011464200594037525730050130235120222102711641820031767620400531520407119361106636004426242230051621920321421600082326412204100016628207020351234222022630225064006067144203802322560502437451139417534103101603000842306246500326450213014501231163205217201225275103178935443222368311566000376013623242526020300202203016131611225133101531108102704125502201911215725403132101050035743137440530080414461112732434224130330330617310711193045510319671050677304561101000412044032557242345015253402257568006719408461409317011734624100824421741704151012771703163010017600951050173217450130605074134515417306064060031806306063405463707051505207762150650833621247010063523237105051641171901113111005423211461027660840011203114340535062063458101590106402913140142142245987725704434015202352002435090231315685116135002156124080646552264002536210654384026141326309612141463110033611526142165030851046307656452144451746445405272512278130322714505001000040923310063101514046682111120036541145013574450408568030032105427814030268725420086842311042126114550024047270605081359200343124225550363100103553435082320164248073034019001122405380075052068183464119044414631129844537403332000504003603361910135421052602071010216546371321010104403305221453551220302215026145528150545506021512222270011426401010640127502210272281200324106223330265335551232162230431623213465731202350140581047464364124100232556522220102043140806031526301312322271417147001180634155533322347110076102842556506124435034031130011307783536601001120007669285657000451102001516161670284560162020671344203403135531031463740210142613843022011800114204303062112054236535329317520035156106120133140002013068313281517387100351458448047117300474020001046315039801001220410450654022233001221538400380860129110113110641187490004073181730321314572114341004010006434317400267352830133462618503273450014404600000451971540080140410565343190145101045155333021001045504112548213203569181106201972751011151084778052741483080323100387256100000540196713376364242101771503211822200441050565675005020062243030002825607230792738141211466293503222220132662410340210010513000313276072030073036547104734011208041120200564740116231201234343571623118121974023502347801217052211152033013310413603434242053830071131281070130002411022660036207113161400344125035100375028413210217741770255034012253479132100163390470107831342403229560002297701033748273811573166204643104722360288420121650510292015737305603314213043372844295030011024112001560360107313262661414607420811380510162009031174004033954006613174550880053121713511151111152310552141820238045837012020147222333253310643422060504132012602250610110301011540500345453820207271654104034587603341073065550061104810649129354508103026042306109178341341301600181082164337521347418729030857134606126513012473230233001372400140347862066360420924110460053246001353027012421280431328304514043460101915715316511050420501050535021113232262019126474855175931101383161303024310081311832488112326202602100271650137108110620343302645221266750311050004320206362790432291405310741503132664662132833122581447110320621362377733203406604810331121000301262317540537808903260261234137400804472401301004143713682485725242405852412560021503030338284043108311045037311351165031001850034031031064210567362410000921633435000524142701570242035331440253126622103230255212007219542651013501320127508030201013731335231503111201114594435030124825001105276012236464384030727115127201163301644485310023071114034644245321037200055550332901137657146703300410206401944335109510137711009720250014521902123150551554112805662020310700328617088013111275002638034616441371883111352046005155702020342022027144173344433205314503456103541932280302201740714212461121420818004441102210247705065043202061071002030713232214392284707100512028184975000012401210119020030450033763631300273313111330055024423103338475228602158213602030072110237673230037063800071200350517233222150965300709212300733188305267331612110233559122126115361017466366152346234711300342623501000411331027232052223620743242040200583200924061208505090213124724316222604301303229564003380608164000276056065223420702647116623231612071016500045367130701587062261206154214046477108251000221373300436226233262250242526302810207025542004416172045505662444132200100102051301821132200743486406742204448021390127495245602014114702930842210748401303250207161110401462103300157863300603432684820495074350110600833067540100651551204340160818728167420211421014742454180414395730502000053481202860031507012150354541211010377030453625523231562228108012045487103531628536732271411912232316160342343880101282012150383020470558254030451174325202140407102195015038703701011830020024041524722546474249561328810026655332301612060243516580404330612239566112701122152035203025725053611503351722463050226341067018716068075516430511572263447317448111063041114016243206715100302253553040210112320002103230441431732197034528207148022002042563086112700303023413520246282101020020256524311925722241012003110535885459234491014100250027319313280007230920144873240431061214307020532228054503050113240305613442314304250332462000000042223086808061143617227152464216113101062177012121004341500202206002063312246560233306124490150042104521060043024467305447120060126936330010464331410306443742441407261520402060013712002215068418415153143106382141703407213300322930334035130147404800160221160465110253140102026132136514430713020354651116324343800014300004243125201279605591153535095150350862090921432210033420485611036600401547500252459213254221271251600102046044134162514621060100272222220811136422842225223320511251721456324584171542824270064152200605120211736130103310351121571847103200071374510661655052525046882802514742104089131091602240103270624622443015111026423253324616113011030162401600622238511300651050406008331534201007635905041164075214531062335302614056720353117770200565111640002534166540436020405101761040102006030206864112713721071215260040582204013504125300369248060110402088410012101017101664001035664023022253115405036020316024220872661573212112208012423302303648284287812137114001420491820416153721700724157360278230500932505133542239801000018330168920462342250634850052433265325353146600713025111041334527211077001450483333952214180151604128510127367220331240034471603720312022025031140923737511431400117000622801360002404002210105732220235760154303260024701435602111110224544152016432315121127524350620237024206610105010650225013343140345036308131182050000130701057226502055022012049418637870056153320122200224451310352162403166414325442159525021203262102359320707140081020328320188731077402117066171300070422022110053631265336332153077100141104305031757080217796273012581631361561640306023014404265502357240063652016425404061102304051003581382070038051234501720154700710004343201944110554014505102030495523313149125132621001100511227322050201221101040123012683330108722357052500502207243046222137050283278230374840097345402024301522455513243202215060509732166000720230832043718903520151010150004137110102506305910120421834914021013278122538604042201036067502453004045706627621385130468015602602823210034650202137220441023227501013705730476124683300005251425500605355213530263250520040020508312344153470241141373013030280013904233052074016424662081212478902342027022613435002476856633366312106111544485040601561355912522417020374492750054512511400322580141512313286713541028752056206071770430601240534536240187244070001450412026200500226606101526502871570303955321446836491323090858816241014620562511750240011231081410431140517701400474001337352261053098521220121005452312006056046504101151040020310176111472405776440064206231140536724133255240861222211414518454332107321683240611326303230180352242201202312255466500124650524121364062170563451102770500921747114221621052361432513072301329501315160541014005127402313721513221281281214223413203002213041021401050412087020062241745043052046517107301141011623200147961052952500428929505027015120172142302006802230416486027843851511240403514538321217235020703636116404337241431031106033036044220064623372105102512600732101051423102006444450540302102910302352001013010052741203114296110842107110031032472124812501304330127010100414210024312371005242320051210208203070455210431243414141604001301002328444210472555137031231043024611020411004040580113507452401310225073341363147130563305034713043063080648408113083231155110405450472646434043650626663476324146222803426610258212014452040662090816645346670330305041432251147081234000766021400051033761551022001806052646020535611025404031653808252550724206423824842300262433515003661545141131611503755042464000303621662005012233005833330144122331309533028111254335025126000032411001100430001820010221123426144310660541423365010150236211450700101073044010171002424170116214102222181515145627282416710410124003011930050325800000300605416530550014002543120320901503000725003021443201016137703053101626740066230161745640300533140111151503572870810166141211050830771853323311607225281520104234041001036142250202333021183036008365616220025711462291378101832301224208206367745420202591200043302716270742242242121126204232203101541100431561053402003202301256102241017351901606062410071652015023670113462666006027106303414433222291617473147115100640204169316420871555900310351462225171030621220202204961411224150665079014240002055511234107282252081541191032000323135307581064354664362732435865504012150562742623333055637224460086519406325170021051113017034533801427824813116887612453252241143357039480060767522780051302567458815721043852037225413043140126220514527447004000501711430407004005167100807090902261310614001124193142154433450700035152602811046543051514200524821048240060102294000351265651947202345731721350565284014773280110327952612226642823210541315486200254667306527500241240964816180419001321507113758469512523022421125050803218024420812740035757381216011247330320771435415157682543251207214094444001320054055146101492375616232521015214911745190660305220234010231792508030230372112303026486020273223406044210000062050304110022140052066392401201147542608025211390118226630103140038261677350214122004000427139485656507220122312480760456212465105473463440226075020111056635133571353135684233506222610701237318012744847057417512005526435742048001410412340412050629510453797026603110120002750040048835506728260478408325057091120531143830077111004824410075003403001213447124077001635231102552271515254405053162319183435101840032812315303260050330066006205255053763141031777122031213454040625049070087453315100086441120230115113340167012131921475170202841408121311361116200253245610200062045240346429720163275377300200222117653012254202582451273030015336045140320010720411602637405372505372017003360525502871441431116574810322251233107312500904382216416052771150020371504036432350562101136131112132224557430230752038052055223334425320950502317060220620240205311540212743430532723016106151104214731233200122003062622001182205303223320404015243332072202001054312226458053362370146467752113216366535933150041213631036231703210140121202375000557597087153216035180703400013038503344090601320711644371100026005522704061564267648501787021400002000412852053501320244150665331402114867626342041180061500023066210152000863113445107100300595403537218326520321700425381029231171033417023128226212143821411053921106542121410070713601013602301011622462668016812421621538371014024912460145060252323004548026101420253120086003340616423450425520534061401401226832143302064024302740080777350115435731803224016812006602051044420253251273354100172312341520301430100622021320707400001302195233813322574436026123410163433034211919410079011020386565010007135114403214133723217502001835311203128274052074031206304327000700702241607032525112100100402320632168100635250002444129614114170267131100200405282621610015207120885004060015032751521541462154324310235345240100846664530035104096038310021036144129740140408007006204131444558015001333344611012581002040815520842031522164411752224033274568213744110145401220230052637631257374256160946455120746734105151204420402524600249450412230000204990867302115425100001554275130741256166032735023465687604253012101347638401005200231106003323010435310271065727425303777000821360012467700362220440222455100102600245420302230282148338371263320151000361512406031442811525053031101501007544030331281408614500185214150503644066047424475040459380345031914370142081216630400220710114454324086237644284105300162150796723102022337217250800106322140422004050001258282463786344227226324531732140577402104405350070332221490552333382412313032624371531551510712251451629065304016042270028053510720073610534211121102007050002310137260605263217970020241083910620930193514710010722001333032121511384542160843050335256422176011815510401833200564138830127935010226764050251107757610173540000306274141403000120112061701501210004712085012020309001646244071055232822442360422123043336624576524042028765141152455110115820780253424810154621101230604825906210435203200222515002527122117174104624133041108020133552243205461250044818710635642722020912512102014773611161002050310400615110517361002003045074507712675004140101153332205010783160502212380200191240018370360406001133341302088581450318822521220300505122134245100024113020622168085830502083042181022405573520900012117140350331057100631361223200315001203120231252523013061517140043072445021776056424021400932322311314620050605331258150615640241026120520418157024317300735100362261024338302003384384042431945503327962728850253252161028420705653448108534820600014204452141025022102213036129210063603100313053235681401167058248202984510064540502200412020400624024015014653114654331905121851631523140032340064460030352680140271263303441400732051033064150071230010510828461304441152133600275030100640493002116033211542029122264724411306131020263271412314132581535154320178223261143414402261028052129702293326038445972015014611533057159121710113253580542310140010021440451022024600006771322937444045301102122240161002531364280092113412050713244175414250111551002207721200613027734044403368024250116063021173544791050144821606720292130225625315242402550077306010231313755581291244083073544104300274120551280001140120260252613755902403117331241034036100327506102446113081011615132576516602011114146542037221210440203232045472050102203654670142126745001406736218311104271632412303022012160061608104154175553128940006334460313225021424112120527321273156476018823621817203100637230043034401041662300512681152177615843023000435021920471081233370401431001213025336013613011754043713107640213271717050313701500217511608040074226420265051605432230512733232703272651342021400026623455103000026930465631110180252411265252221431213102321050110100133743541036352274344011120210029262306880003615862111271411006366644208416464532554736645323801125537812854232215708263512665011528887183476755022024115024603078005442031140310314023201028401001007005349254002051404004151003012431347247453135187500377406110188300531276013401075422100505620103551310531446113007722115124324055013835114800804345711611246527176105414356010721121243321104122556093943603321813310630165040137132321131632017303919801650623190450373735345503040131027650622044213313440527306302800209027211721406480213234410451322350012212172104550335261305045626011334040583031120413810320519014062710403353472373690644375103110801562644153024233256060004282402122236251345600073514032120522043005013054553881500022447340369505603281410071324032310200191915475905655030602600534420823233336657423430610044101372931561133731108101672245952134640500661514527050155101683921326200509479513632211144301010135111542052110201157222104144154500116401413220221470014315060702343001415678150123723265295950351000225609593002024310171116008124145402760524299131000531092066100045085211010081112120213371040224513104220330146235153205031600190744434442641760561624234082205754225163340020216160110556052300810377510112613521203464152807732200033000040265004300270263385131333363282221335011134103023431303347360004212450084201751623660225762810423402420242240055626621010605304252230120701002003070805215100402969511292575235073161411008776232143013103062302007236642303301327141900521351137704042334323158442602200815200236304033746630315447021227321664702056203736215613230003231701321342614230002053455750117211918330973515662020743511066050392403212352830172210243253406317410900362303014502400096261032112240507464873121033107206023545262453221223481420202366300801500301006152222701520275463052110101353404610313125071333045302343971301124013021265108035641651245310413324124935315305117735050332617005233186050315255050117326272050312018427130402432560008645702446226223076065231036084102182106853130318281537410204250214024455251108020153317052651250232800502526450415130606550113101394000752200451514652134112593145274043604016321407156320002340100126315577411305013313030173086241233154913404271322132035035176319104420111013554615104125220077220024963332001270053140202114105680222124826257550242612193228730335581640114070311503238638186501376033438253313654134433513601950143420516033040135094724810028164346003000026425010328500781287611413838680043108324010323130031232705114226177416006154047381424009201505920214023253427361804640703013550103213556022504635633818937205653262620343490818104160002223561203514164409005102312252255331655046002622065712821365650203216830641102320211202131401403708716131131015213622243528819374111120011240414247035124262155160534370720300517333593402691750575431111220871311096674116031431434113984446212332331000222815215249412250000034404146236245230257731130143406813240103201610824220400003309940102025005316022304561744220233044001037018455205000396600101251133080437076074335155810026062105412022740393635320435700214324005265221341501096465583305115281010324211221654021112035303666165052032065023539601000342011240164082261223461703112172396212237743030005079522140234123123453601143106024039138813311416449211380621410324449241292506742052174155256461425243763446353971423100180030262700631512167195421409043156702270317401060215221233320344204025617277011602297062401928425360450143309354500909616141200160743170112426013011320038376215853707060630635401351090437133011200437702475653734861108319323121759276173703544433518510412021490620500222114532450030100207330631600426005114402604211221153373331652715044115403373505247645211797000254050223463233017000012390201121801130234104166428504313252376202401442202815131620002793303432471131030850139326200102221380037214300342311533730104363946762132002602401978331341220773571411253501042506100463216035339384243723830163319603103030370512404604422415135210014521432110254043320465192025017120823162341410413207541068012335041426040316140436053031221146367504910121224335020622203513600540130560541750245327328414410031184400161040062076121711100111269310216333630633030111040302421006033314387616177878012734210003132166100601422502715433237623236333360268451714254020043210671134264410621244512020038120003653361380833753225540810031151201520412362470325413044234305304210604013003061237133181202520083513150862211644162065653205541466265433231214085033020261725200306682411000057303411121101101124116531411070010477051300330701416392272113635242433036144922774100700540202513112311132420692669072060842335041024453315008058364003202010523320035426712313865016521302160388122300121521462157805513091027017232000013014060015564011867530350830143711375633310126533058110002418101500352160031231090404415683730616501010630900630211057051223278170808445030215631633221126011507652230532033376305632390223054050030513612505380030064283014522011803808615450405114115563639146070082540140615151816106142269280100052600615440050440020075215115421223033008744101607820122012122067003551073411481084202703056755005402614020601422732637340221110114305132015731403570162001304775350603023105444310160020210236120624765417564207121423046383215214756734103314114220250501000370200100834600740600523912015600032401114060291105210105630011315060306615193330584601221066030522255043100130231103032630180009243410325522201600732422102413133942027052824422213111045431809452302012010141395231845646051284810004225530370254235942402611711055063111111323162142271180102587102524636327161057138241051016222827000104909131683000345728022170201744632622495065102011114020510020121254040063132200668105002054241811333087664322416306107754010224210380054061368572402228118144359302245495406231860471351143529067476330402611344425360860494710033137861132319712261110342005613704730452114200208121550012151514010338254540261027733080112123225133315762171372240425554020083334113304191726534621222151221042117114336232511196406061000040536245052451111151027623021605825402012323276237116007034793432053705524004122126330834155530450901064260110545315186217604220902366151503225001012371600610024506107337094351302636126645121003725364052644322210216452535642611583205422573020232030141830302032595430263430142005121260736208325031382552174073614514606122273002602720213532500041094431140091300244782731011034234073350111530611323042401164143441331653040304532489207824081441301501627520240151015740877052603553720813071240746100433012003077533700804007330410207129092034720212503553225752345122153102571030261220206820153512105022332022762713523152250011355401343432332120460220142003300500043080534353962605125013452820517002610227040348014872236022045542493210813017105442822650828358244632426465235420437015336150331034108023347411007203445422235132201242038053727003011005925336327142740625053524601101337203654205662021308013000348105224203413343001366051702440541643064406912143051035281420222741673241135611414618674804203406041497044432123422000056416002214510060213574110170246195011065110305400674641313123526712721341204027040443511233700054346432111072301092011215377334814253600361620652011601031246664745490316233342507204201112900344042281256310074012010473501112951307363016009045022330433051120195326059601314282420225110703101201105603641302101163571555075545035512007412700023174412005687869061166640219074236300540153224010004027354427000551023201184003340232114471368400366540013121835421412410064671003623562775901753023841443746604363002258223302691113141768031306323578067605336026043323511325112814610724200153362820500543037634340044527340504515124211550036113311110517151531042137084531403552105234070164610370526302021012030361542226022780400421022318361050612533113397590033494015103660165441052602253266430802431530311131166426201973244710122045032580403474397448010034640223421482640139342002218260323055032901116040360331021103220305517615053037432985463040082100008065324120203200600623325705031017084102164502021436202030042166123045621470630344051010370024763340260670601144707351373083902054771504213151843689324131078265418824130737612106751313405025216040330417461434071235404012804012022416242233232402252474296130112630361041723122420210351331012002010247314535010204651544101203264331001208410004256142443173278564050086360667305263062120812215024150023340102302032134211705126580113211146310141185353245123227320471760774265371122010406007626033000462354521300986502430215364300525211150031016302062314112020115350342554323030121022563633131012619925812023015002550001765044598002111254620157406222514275740118544654321510708103441464214607522055702020201225730305312122744040500362804042306232224024124605180005503461020241242840322140414104046721042502110100000240221334344435412317273744005106223331142177201312532103001325455065738157035213253177431999100501880053016218832212570742035100500731335156575543106630143721329350660002121550302557024343560806101011025108611213451540130023212102533480268412811630420220830152556105881644451371113920100721120321061052145231004166288054462424746497257032624502506419600532104100444610204102113422376641107061238148521033020027671143056344075506151105863313047553336316734339325164406842328621510132471127113410130166700315627253111014857655010129013412183607138056142060632311680268355337340003223074111204215164302117330142401293761464120270502665301846232044020374510227547283141121201335342432010724264487631044570300573111184313610161265780515454725737145732100465205232093940044023762234343423371416020802315732007503784304444021610324625473780520365216800702707260005060402140227567072704493004084362141510239016108902303045465410106377412656232130821124552105120431965242009404021002120029318012074045073022088570115168064331021151360420202440505397502104226042411244310330700020411209611250126127713030278440150240566050095322324434103137613114342032440121361070242205150321408328021350310313635125142600040514101511032075652025550838302319241388467202203353703055636100333353625640273507323215204620043117712501228221030401435264652266481234434371403240017200444308622150344014519120600131400606210104030276680555424049644008002162253756540370533205153317057436605303047102200207242053000475180582426012318170114380252419001722220701800560032630015756300201025542650305212510903506652004913104730123061292473236313020150651900701120114619200900313204674000163048024403105104450340701148151324340136010063744175441110429280512833605651543205710333574000231101051823000200313827061744344982601880062931106630762001212600022636002120114401006475730425417003444740003150230283153301002405455202289323020640024124510606260011325306515669354334411520542234194155261320312254581153084004026426302820255302342027013123361304522720226014640053452016222431432610020162030773461230082033325560221221334010033231511130061707283496626330513032326811418240500756180034251730610520003472604037784154653031015346461120043512354074371323511402242410602071356086201003653414202605070415054433582614563502223016010265065100766500451111720116002433406732660711123311454108130247463232819340362223021144165725060751102349843150311050545200757432557024254427369504124002152012211160692373307475021114203350552232005513124190227096360420224004727617703019444142115104132700604043602217154374510422424352140853438260563255422662435032134708083021302105024325930750168063000148513381020351011328529072776342331652812434572045360000715222021442300089430047656506841113560150502466074321614767532213892103013096362852831222804440501181401309362211442155724040112373140014329113211746363330205651733002702070027457267020603361603823045505131712082488090510047513010000127106203410032730704263600662602441336151734012640148151000011451713330404322803763604611703770200687031603226402531724463381034814103101270746110234238423411220161463524542212210015020014610280010301220571124060741435065505055010014402207106351510020512400453513323023705207143241502100712333004644236005411975806202221024326847703033783340001142751214435360150510013329442350041110337141940641220108605201166725462007042611539183264353017306240331056090132132112943775014710352561644560722634820847352710120233143170731406452254201165566632380160075401104510610400030323700614157702044381011756421161093382824811119145611032114010521230521241612111013111620200895721720581602102210097017030384340200371202040047514165602176431012473423061525020283440117106021312142126112816003166659944406412602123034252309323213543750062360135520426705414153024806352600030201064316713383434056215543270064923003526350288561600503313715224285551138751226210144018504865720508224830503255156437012303606203500026523040941054501170022140015023401901064801413219207130573360171474522200041053753370036062061443109432320124127255012015128574031580006333130200107006007055044350410405375533736170282151403124750500622521305418068475122001041001412005545835515081009000035000010412002932604120080623494011501020255870045531422231212260019069926720002320215342113533230500503434119462420117359111303315200253162011130600443111033425233411308267142174901112110271103711313322201221765060810305535048010631219423444606003240312340001045440730211313282403051256145251303502065033604372212443382441102380943054143063022271960007000182580513703020126012533124161411183519643265471449321275104300423564504266571354563100265714211010017652041327300005423041530032530002233749231350561405175520040717025422103073320634705043041001250671660631032061768435034297020474340493200588107442725200451314005162125711225115140541305034610870010665131872041443011695053178070117114351421813205543434054232306876711316736511366703054331015835080540576425331042637511439103274101260873496303276000024047015220102221354654132125330941153208505683282371544105081305304003024741664624564224043019360657420366112311917772419321052222615043115074426002185303214503327140013270540328880044221013307112492651226130200040153104212613802165134054282031654913157431311130275161448205251440863604130526261331030581453013100703824003632012132033051001462105441031421640231361703131003752014502323214210303121604128525023350731320011510004543170148081561343417600901757794260430250103024003870320304056751104753736170125050166228270722037664715080402947116265562056106544262310023121084640023020126062061150460193121071464332429152881013625822564302715049314310401125161033931064213503504100544131204042210203708259760102201080467372123322304534002364715105031090374400516695127154132321411733112526015400204625023054510211030006260018555166063200008017828405227278430361162142126002306204162422652241331534825021340017312022008136028275501215400115051604033300338648512300043610264818361311352168891600115101905528653507065427041240150450226102600202634033320190822051600619870136485021310199303203204120252793003202325537100610201402122041421715283776446053523180611000114171540041600115231183134075629602271921250136032042060126380333578464357416405110303343723250617070224603037671230019704350302005516140041313180547221510710961201010205012740810751504334070656013755431131122317252501747103115342731430143075534461352145631412331180296541850188013241511501177071200146412214731217320012504401757414266460008134401012722232113711514307076333920206373501612107300663037013501462124001283313020312400063933544005413135432211656401105531763201841056544602107344157031432023778623271301073116080047113760126251210049854730018622513234324228755127420517515281100081160160820316022323124511011115736023061172094130560331670034070463551443804301672007615014046533455915103013350200541040432331242100041002254114070652500085223267100701921700101720352172431510501912384002006442700314132025275181432324720013002387420041922373051445607342425113300360328020760210392600740164363303508173472151651304515014224115137536852136623056401300505452000202164343569203015161123005742602237126502055451575211086151043240953052015103151140843000551007617001913372262320132401233135564556580238064370201070221325220412100220135258312741553131434171341017140430011504523324103415382089548241445466758070512750102150211231010603279119331184091335221741314111023043302627461002431212514226170512184000152743324030013100005261070015053001108014262213002072103732252313505267103613300727114201634153546376180126025100724140452021654160151253015200540120321112023024140012262219251126374207033156503540112310012034230251142000160011116003050211041215301315022507527040401565312166251361232330016021330571268008006206040015229322014011330045100211240044904061060042395545334355650100359447010253602342340155227230326009726305014033285631021440623003324013030140012703170332306012803640803082157028022113074002480482097407572111734230201111214747413012306090622720610721367020212159673234201453557716255413160603053722007807617361568020610933402232306323861413722410190512370405232581840205005554435521352500362252870007124766411230230842734202031200252210110835115290331166552231034111441663701113110138590014254120112401310440122061004050117443020002012817210113552932712226309420424200402134221423122411463413273610500023002031105276403717026416207203631689221113139212311941420144059200002087110272375032612007300540515288500101670350704241000203181314700514122001490728390432062311127573791933712075866010180200066601250013054014002438515074135702240001610802340002320251050251115082300605346002320444207011110304372010774278422101806056003001560210100151334266261301705142346207838104590026305345373500164162502414681040631810000014224837531728101420450333036222371131105470911716643021900002661660234700034062103011020437415323163101508532320500020807616332611517564765719136531124317265212361309156013604320600223915151560241732523041420292311013320812458003220415306611502234836002441415352303340633454136131372327503355062205224311773443001021823015141216402240108130303145112030750012265013061440329223832401452173224220674129040424244321015607027028325265424004632240130141031240832132020065233221323002222448341433506509174400102022073704512500540836296094503441401313313626026800628700218241082448541100000080235234532046111850420603726320123316402004436151047120326612264137163291207251011014292301327221666380790301447220204170026726478000200550200274737852300211870771625611007180220901030214461013080800306526860103788273114352112220645124120020448012231321633022467471514439343162764109803097050171153812035646427316840342530550104720468433115134124436250522154084217071341051112283304422453000141012608032025043504046301121522121110123300424401113700220400072323344221408052238010161203245306315520832027333010011219111001514121042050233072001172324730061317513810410335040105600134320436946677255022333090010230327170210411124310324276111240252310017420121862303017522114011635191134400010530562060015023072410622041041312292518102700611692323332540517233644207074103602227234316366063765232662073141342202660910357112579262050086934123860010521727162003450203310064733256861450424603457215418013124641330052110090251656341008452110123100405132403965361495003124145803000053210006168503032351720210252702403210031504452041361336030486510321412031890644415601410167116232110132646382011005256302210821162042604441104116724441415161332152705233613230132201125315132100140223343383306212702040301521253531001138005009167511064032513516041041046462087420350603273801465044226452137445357003123632423174444221404020173841367006180042812561415289106302113135230940221603000311601324212631015108415005710430304631004030215704275343041107243625247765012505425143461545242840273025115416250444014711164410023410087241149439240851116040532301011001201061084381123206677218105754040212321130711103344060021241350031024527574060251304008115201526810023124080565135624220002628213510803421426124715013243015127101504110202450723532259011073290237360145435121337005160208153537801621201040493030230121285010806515011020720251403402170012810344262336032113222415608781923020207675030276302236211617101456451841723116011072633206433554208181171121004116575691575484271341822403010208206440612630144638322442153444131120112124107004010345201001581841321105047303672400428012333603340208170003212044230073110451035160531526037680240561314320423300706627208801670401334661551014059225070207346172230012340731180027363202104010110115405142233287765353011004135053381015066150074260032041101301222037201294192473432163012244723735223125102420025720574673621056061715002757036153010403335225641148314040280140542640627320024843201640405001522582074213143057443201250906440806306520509560024601201310143251255263842328402721657110140012972054320225306822233307822861411444402020100153210830228103203142220106210214204232306155302002620590102121014169540127430062205301211130004350242746204039102431665417088164020620156183261360441309567264002042232013044175316064150470124212005501010316004163573224042377249305204515242613342407001123180010280433475311330324526321114353581564713610416321111143319107159044575012600512421573346334162708022305103402204175015780005211876017530265012114050422461158643044403151050360625202565045503220400092400427521425137120715104703334514212332277030546050911046217022245523015031516133010449065038140222226610580176845646015620735003103470540655041031225882351015564434102251800052200210310222843737468431456200830313404101231738144100975801115415101413277502821310239125130102444091751653003222540163534164424501502070126660074031110171320515204721570761434003160127616442713102060240254440006116320333060003120346150001714161000710152504113030023013116300026130702741140334141507030801030381614234172522221413533022337200323200020221017543520156723071023360331233236430068223040037514633211110535113326815347503637024517740903110369016302455147120334150128340880684015105046137155113482160031708110061410610211621013016051213124002032730500302143414125015123571210442160607021352005265109703074526001305044381538448040224717331631505116322676432081414046152223328003873052822471232103200203508503002120040271241383601666043168112113006535368332090621047478622010002150543242711204012680124108261135962127230873246013031121235459132403453315550600122172220321315125370504705231760460118210317032438240354410328610101580540501053000153017600308456383204034101613085200638150336020640111612113161050441845110107230723800305112042102158104237200861031707610525813347045285532110057081011623502467712470144331053430447283402864432700704256435254320120230112170001364266291333602076522520213005162243823030820032417731304022031043532252005032403097501118351022454245513704730300247011211065504652421518223524014033235016362331076701015118480031452236006503233576920318072051134622761035332378132320038001067132115113713024053750143701475580207207010076265002812205291612125311170094102250376650167133000008807611000752654020064642324125732610031031360540829314639712204345316204001011420120312012461046007031225065673430462422706112012001744214323601427424442224148554304052631806258048432230133186081404267144661660869162565175250572076407355430221501221525511062640714733371404263423324431255140405253381810120201001422024632145125604024302033112302655065002344713450054300115880432420212557136533270402250131637446726071218623252521864642065390511125681392100570253404552414276100354144260261252333200250002050151581004063082015152463346570605461460014353177221331910425121158011104600205021242206536876064936010346111310133202325062412844044674514404432220276157810321102223508414561731668222311231022005707000411424290231324711630514053090420100116231180147491032176430384505614008201222231201255000283223330080244634003041133223734661200102835444554013089321025763565801401191013131520242512312882506615405057023021432333170023333037160621361225024452022052126715801046021120260452352433537522836205070267426323110236015047151100030416402210222255042012037440038212361247026540463018310128004933546344048800502143115001483501221524624422203150461108260619746321136304116010330512520231603120823503224160050100326513270206517511820071751022030927330260703023200032101175134527260520361295124284150000823631516322031013464521223046324154521620065855012675200506931294427015301420670401037010221310700600320212602434312245800801505600136926045490161061368050143921202024025772235510401539302032355105702722070162791002313477301044555357021025510426534312802028630682425723422232905117255026754024650080891331015124279051010400355400182744505420200633202740713771103610210142114342405686055211156940435323533720003314437001115235354533354085251961162144172000663024111286524252030241405432327240325930724051302111323400010112231606722125022334835031504373561615463044704200207073080334053510010034123020564017454320720117121161490700123204656505733145269323423343480582542424623604501241303842033105108741115006524332337110301010070744817425031083075678032976822193369062697482004556620052121567303532708403413820740256131828745072556014005755251103380306712503820048232152444331442141701162210054040025171071233978612429222728511110502701110470306334043200214434023515081265265103017622125400270339666952614235000000270020235853365030844032458613130700360788304030601751264616607111061162546503362374401172140874203700036503261801046942253161201205331134235100904684447403142731704405613210153344804332010265128600442131760206602225441040815841053250813302153500856650413126410560442818044180074181400121407131342803491503700759001406473908721601214443091510064631605055630641300352102508072211630551516048330626142210333537094507547700323023648039003010388153129761116128411153100452271513461004173079312460640214774220204914303010654031574004234080353165720074142111022851004104023752584020057014011010395112320550170092050123302203516014734241750530303642013032175142401208601120015244109005315340016628607439313003011123661449264334300100114830320263426353605109620534751237021150001160410503271126401002548145032003237562522172220502340401559095315042404502512536833110010351106536060000145245521534013640053362203051061243483604116534200244933002110345030811632295515876360426224223140120320100300160633411631089015214162252412583015310571301332341247631253450865336620234705222332003551718104512311163622058124550270141000013501072450039201037075103450405640287032011797285560230224314932816117340072132231521552711182144115030716513212502255250523665360110610110502120234125385351402615401050067104201451043253117253030043229240314922007626200861053154304276260595044016640511246244105020130058437524005950440151430452066049225453231103511341105246103624816020502073611137271061704202031653411564435301084610541021625125917137302515111323357494511404083055136313005445220502011603111583421241311075011372023335413146613400143741101539020413914212140443552340232025211001501510471302247050355315404001553221705109142446106200231041640245204625322351731016657242250045320205415333045363570400444620030933344608032383383073908276217550001743024140541108431539070092261542032002031347221364013163182362322317520041105593320651244253030281025213331850317541474334216490216033342432741301143213015006462100010001008032484241033113010651143706586010060276243702246480823582360413631141400130725505540204932213310045403472061341307100665006602415352503233720082401501634622806701540755533022466800496209342054106220700502380606709714454328713003116184847711214126341613692142020204143411210007108247452501776448015231027125666025304303130580041022281204782836010200437173042203480177473280350003081309014031091024522920670124070220611490242147035038231941954407091288013191312085424322123103123253311231011205963120076210850135200912405234022580835806064856773550108122221121231241316183865302320104614321040214173450037214251311425066308231053021693410014700164000255940132362001024547012725221066500336100110003014296320027164254118261443512212040031112003622795610505202807016214820042032253205340003322751620300450115533634360463238250514600104134125132138303701644443054164822048412366470071280602031600030402581650023005617114634426391158427029270160411112400909023611934118011006251116294351346304901204324102450650142512050607532320905344212318340005221160463290320747223623034262101001006019593011145765906303152100241800049413433505232100002122328423020111626024304012337018118614031079522274580271746010316245331451731340600130620805010512207001406615064501450824882202163605203105210321066136073004154783430002242406708236404022010025089102612234412132505404147221673201491302361934102445144245528122076140095330637340292260380212041212049400515172506054321338010659453152401444170316600432604556019000241635035610990437206210210878103757034216053257007485862010632502600433322013014350013726210520762030522430221372121470080740320140170114512185311052140002617430368104435059411732337044130844263591111043165714030104410144542372322240433063041060350439352051454421535462280339031171103023320306232732243307620607681733065014620060406032422103040004031204710000830131230634100301656150003001563557209435043651216007661011011101351315070003313401303000110286831449350015011104010009143374101314012306931050526043075210013814113660511310160020130257214500223780673075053502069637440702676001604070175119312211170243406034148452623612648711063402111320100102010405073020470661703502011666915313305114333101120621320231127235620144367228331054120061052221110041813030001310346071240570332840000221815072702218162402100212206263444624442034611307358370478682183202302271121000031507347805018482282333224160405033007315409125422167517611804110250536743213026222373410338101553111799531706004013075353213604566451120280240442011113041172001428509030509706701166394269045250316177377731051940381352747004316302040062343461196001109230000629745112054523130470444040220610012500900045220270164361013205270011441141620214002083134003262611360210479113715020754345250322640727410448552538601541004530052216015024772026130574030501282340040200353506133131073094113000861811011332601007821524502121012124133300535601744717634905263112031385004415703026034321551261067477260319123362125558130572432601420007008010870400422815623401138514024380205115330441403450041141251307421010443737322202433133527061210501521419924843221010855212030351403220506568143120752401416088722360706621134441870538320075332285561033016111105415010361030660320136324120002736022613002162016110202137076054104523113308724071533003124500308135770116422226401026495451821441150429740640745006141114435229217103185442275173013230741008012254840423030581562801001310112824003013100022444225721451532220415701131300275020101325401114640817221502035172210124061013302321756963532107301420535301370082018210053322707700340201032367423708034331201010281072004622154050206040339021121240104446061072654831231210320445016140434106052061005122345403312341083217970252439244400404345310001104231050207175616183223442226365212274110165015011218525231602022612200116622307122090142403750172038734063550430042153603000213370163183134262202130830321406110162571016116115614298021035920380374505695250200011010347022444141070410835542112538335094613662611443140004252000455168041302581345853380016115501021205053257407337232100511071002034120011325030584660151461864300406333235170358343218426670261134715660003500321410075433041255212122149810136800364713611545220241625012226364855305073009267630862108016158014657165431033431060606826302042727141506911035482013001542628153508001134335240185608124136604025052274530253664743313103105176522817012338001222042138153110096432777011424007000190006351006344421510005232124818000322036921584135100100701500063011511756235752004471161196111414012540810121762243201114301532176008702205683503012332185015100204221010105834461053604000270310301202652201041994903450424013131068450541410116004557030230140803153090162031042895062104461246023114863184030442655220250114530360025122310036521357555907049335262200644420478226061347421222110213102076578001232543541750572210044163146041060412231131610604033472421248165430575270314523173222734527126430178207512551536035503560036038141451721596732063220032306009503030100925500532336065778150642133302002645230501604174056169023166326673036522230324333652114607120100422011653297554066521205581100032142502038370013060055430490306052442114547004100213702335512382200702203200320664040124037141510760812812425638002203004521000242121368310334520526044704584904001761002384002006038526000125820053540220052073263402540455183093320116080460104182201561465572001201201200103411510411052161370133354113484330874544800341456370136212804250007200962560435432031352442990415201802262907110034220141013562204210220310364520433615235406773635612000172421030001143220573209223530306025747431051750243101300051533130675288113244421421256108165207212573330795315121514303431010002101117558756527452333054173253065612191103252241281050020465536851202831611505165006504815001641250650421443403514660151356608051413200216313104312113300022123466136573720520202229916181594216002644118230536801162420218013261502042119725216445602160025363344225052613003513311301233330136332001476514671114011311340072112456012050227153202425611020134538103501221444245127000662350030410030030170501004242061023300330531323011022821073051110704028833786623212645333123314502028420805616049403221275521458235454075711830814435862216241238052553236400010110005635000013602321880140501432961272015250632333571630824656003402553254472341154064257152123405121375515037133103111821043387325107105030324362352520020040250936612171346040150040551025611251201020300153210101873809141051065243321011102882405415201103120830041451342804135183013100420695410100042032366745122752001000523074391130049005541341201409274203611732203341692205480041330036504302330334350341000834460052230025421431612503634444622205501066761351017605200602803090331711202240333336942505824049861120514023221513032554201300220711610850031010212463421555033000043320613425235712425501326146051416524450151603340525550341663630220070766553001316173760951000522134336703508101506233521105645121011610026512476519338617395669330216202202505142940094744230232939211441295452342134253112612115110315041272105529460303453048146409724151111378123633330500023000132343122612416315001201212781155610351422051153413321084153570578213024118134390603611001504235111530021441023656213012101307314430000827352161758507653227734017608504324358631314304430055002023215104140024180028174524236822547222320001004503711430836610006233103636500401173240151505517158316410300655357281361611023811007052350202652353132520252323030605310115355135231234224532806204016213620456081300804202206202676071165050114600022414402311166215650554000572610874444220072050092000013433724460150011154060351501212312101012201053312848512730121222442671492200018111412559711524643103200723532414237202122337320222143211860113793001173122421011004660712415154103252353121122355282232653142046320233421641201010022103615022305214111830231720687851020113083533022410203563205437602501472013530211043850107072086500250002057412310283574261564233083532251214204022038111209303220310221811521432053240313468535760111249242305712006057603354402610132927224410177210343201347073610725042162001271554512244621050222402514755504413451437110130567865027102560201004222634232770020022255153232060592781201056014270220110542862233433904744252018001533107641446200004650041623084552313584653302945302100603132021007066350000633406204012020104132641403901134512734404831773220400014010136120392200500083051425397020700631446310630323313025001030003512342062874311261560013030335652006013304113522201550112266140331513704005841232241258302323051430110502354254717422282327324437724901132161050878639302606550402680637605218401300480106310643505132340763040115142933213081210803202044410284393100310681040400445854742122026101501033607071865730182189283404001841770103302013361755312314260001701313041101733641287110426100561641700000201322727061540060660125404230114931145061303234301131173503114073155430675443043204306007076412190133041500015301412031722302255063332258496624008131532160001060002222022424595123434041141567008017035549101643023040223853642065831048224012214843033010800008660323711324034755169224122497513422562721504111402416135236502156446340442370542233102201500116570100000577301724101033203617222553255562389125121243163357467143604430501041401251669450077321004365414040131200547188972361100195041037153092140946336240797004428110801634400005747069232602712033044211202010032043086141191207470203070060107045674100500205461133460722311624075179000218204061733313467235120254261055300427114122301550541840397504149356058112171005113006330010801603171132000526100443019580572230002231040807286686211031371618612112049030145142423611042054001151122176140472140402224541774113176754005211056046513229095475332136200044007164701002585031010324414340310000725613135804005122035607226302071123611020201331036163738017110603110083818756351274617604250420733256015013652721644241121154404722803670004141701163055583212031122432163006120244641533110123628354830418703230752053253170186005446525110408258040103080461452722238410327440511216610232015656207145503102662634230780810020204039153671302202562230342311060241002740010908180130655633301103634310612021294813142296221154804405554044537022200331124373513425310381075202052124362340470071004440514600550881218174555577252651224245221410445020870300310766120361841280356442350055170335032020200101276340762101962303063013434150450002657253032522400331683306316603741126041660004026121215502014442110125061223051440554012201370261203213403026140306810901171040632464643220545400017112340373220142112125118521231701120032211166527015141140605464261504806057121076833621244843601321516216483026224160376220018310370435308776260612568336200230202714260725231000547000326433610302213200133073233244102057522055000501211700623563553255226640322173904200732813070014600510700212485014006021014124170317501432820261710811033084372116110167130450572844036121045530303437420840800570306312250146170431101827717002223123420192204046401732221504141233792620968642020601732214315065241019230526103173448803410221181301012355450234433055173352010824511100240000412400221774374636249303251611211322730473011010708011125457164902550521665370152012158203520391331532624450837146215716233013127703020126323020411174100010723244922374040073711303904247507603537502611071073340422105027905147114931870360121560422054342079503849227142862130082520209891307900090418120016650337127002039757106212338053172305067600601017013103114040133950035200722030052610217603210100102040601205701816761701420316154482102141025019183310608185083323527238352310240614432420343544342856064012873260812100138131310622173611111033564510000540322022600747212254510076028533663542061442068712234021832217603080265226114005512622133101713204124767062112461101004055168401796232103732337452120313301817406015145031011210250530036360460030432004117764273811411761371251465233121250504290072316050714661610412532810001910400170025273288401250421111161214155942541110810862320142717378022601300350001700006507510109111315033022332435303251755654017211774656226470361032334505440110063622473021700250610352145300535271002542344231144330630362141510241851000013063232353200450004315021311364633417314534648749421225813803332868505114001121572601030629161425101003510103433562272081064426500228015548656172497020209462370127030301216080140144295182145310611620524226813722220610433172072163666504432290327942208370135235124526112200708402101417372770451002664432324610518076154121120232304016262212112560030053211202370097176474422201674002342201020110221164627000177575756430055502075040610361283001612303082210500259619103611216161321002470361027609070311272163420803024354804411242543200303526235430014327655814403120103210421504404166552151365020242461522342421308845155031058004800200280702042621371241520057152507135336834211301009164203462930561210420247491111162658156317530152903310914074165003780287370424205510570131804020663066341260366304025360523211405734418123517220380200351010032200175000503731601727701355000315432424054014241220577301401642721608643223051234623150426050501238012223230004101593650640018000640202301220255383030434581002000022121810027300502044400003201764204042071031540481011089154441040521724505483194022297273970213142137057440336022135016128413152851650181249645811005215265401420610611153152127050120313723548167510162560240100423204002128707533600334433022279433502250420634390308237060243401024141821361347421610317144015405473043254650518243301064421646360101656535300600101171187821029040723401210231020211824851043216433550145003041120253250391620076259643135315304314114045338622913402314032545530646254880320651997103006032231274007061032545012173647493556405502500490051505230450666323125142505473299400646716184036471220435550013105207005422108110801478361701688451080521056142208061261452403052500250526654441063314021282322605001472109881351210038228046083611116015231003260505362310200333130337233300784958226706040126350103340023414952312502449113003508230229164022180654269000482103515321712143750563115209266621200135241070463100225600206430193335117240313224470535521581621800820524113535211013221256577203600241264106224211024102863410309207210005013062242401500462506214137415519116620681133572420167500553331200021403033067244100323315222411214078530801209290301455623330533222046575102573169334620012420211233234833024601112100546121212237030244630460600306320063204422241210601348300352151631043512130060401346707040805381717411831540636461801137015200654210110040402012531156860028586250004232340236594140035232004091065610045242415105266332502431925160144536132018200331261165325204301221606336606043074424440002282351007111030603621106020222143433211084854132241015721420612015901024057276483704001003011105350012723404424836201116421423311103214451222023815030703420260110675943126200191227621575425493224001270715502877337660922460072511201454263525203004231027320442211216414661671436412464349134440246003385410680018412227537012266361552452338150411037011324156013154431612172575141310161312264514326310053110208017301431322037560414606223528022361220810754315120113483060645307614411355050042203044265513245112126043308549712306430036125203802011532109431445164335310120710145117221704231200470402013186607171106308103076132236646674233036832332273236705752130231802035546156026071801101520701514441032633010106200523021211103033231460190211620415760804614003411403494033030073717121169174028685212080400590309258400928623762311177102092007251134538712004000123774378423000138106376005460004901554222063024700006117530302102355530010460513944555604506112203540320039602481265400102003602542502035156130040036326557035655802237348104041066233042405410240118643712825154033033615071060520035663340003437723216205505325003160374336534083032633123852496334200251663131680302074823132622641853135321465868342570250180151231300105310266180368862030110372054551820068000771111035085316335132416053212620526615263467131501505855765074851511583632325170413521631120830045264536615265023006154524023151532720063361619311752305202110405102392342017134084523670126763836572448930053117009422844324104164140510112130522201203813210812862607605041401822625226865041532222602651352564344513932484340252210012304672373170243242162102705006313420401365131252451134102403404161430620406010033625400007546542661108276233920444410193166633322146124125026900524330111653560028003017823136057607000402215032056656012040114042622427271302448601203120152013124660132418028122668200313633320221230041312032232040002432200013047484112962042516216083314204003702875115554221202242423102513610300002360042006385311212804044104606242081701132202926615320451111717571142867022035001205333370203552203843035560321824034402126915202314223300717010805643334034955553060063052200044230340611129056143044205106204020000212213054281513120400292029610356369225221425811704046478476234823151800242242438848572095703011025435739200031022235252642005922102001430230201302361200633614162130341003001537432480013222340382164352316526310200016611764130321390501505503032501720230143711700634979052600720616511314204323503025109284054041732618025077340684712005102123840288202530154075023124326700472445871824712012036092501221047535824311220785080240415520502800100500007246155423636062207215053245112012440008141520625200450003156255434050611440020054568102210125105111263425037203340153624324516451308746801106140228040840431272174548523745020905110310611304704441022430302592630304315771130251163262130687023187012353001033105738021905520513324601401516000630922733208000400030852271265152648413724001557342440303227622651143310671530207024433844526028708421646143471320101480315230020927241643032802320324300413000119120586535504549030263340313250003205525413475507211122022104204115169164423100020131306487058470002100136272604242784204163121037172226394428631680480473621100405725023331323114641634803285222200782083222746371037120074232201084487431206650150640124232010794051681043172453550004105316231550565740101252332540226132255712417387247532745030230301247120861200454940321100931563772321515410509727134201260540041121308103131550371643046441021404250120301217321400692130248565711493661441330503221038200017402220685543475132301531425521205314020000600210043158036532140053120724010100300517810021545577912522332077034502401235043440322366124901537243414144623101160803423462823061153224071364416027130111117784042027577900501039200044156622820215012475012264206431541424281433443021183412111570703081172034130576481030668746071212032422004345061417331406110274831006700174021004013345126010033110717108139416030407324061521602767112020532269117910525541193006211026064444034753255734351503220944412130105435581054022844028158165722080021454074088603391102176343351176968309832052526544090355222143317130503485201363110040301153831228644210026182561126702142250621120026540478028046740101272410501000533542570232010235062124337967214352810163901000055108680141721143062561064221110133130240421034442204052070745133100126702344472233031306300073014033235182949202210545012011025035401320223142710744013215146101234400332461552603502233543782027115024103060260122064226461501223532218037206781402003072115405002220221093614070570102761081666182305641347234153301028725552421013042641221302352223143731810112042231410240006364001245140043118320062400664121128701537172017438235520210103410124724206014065285520050129013707616220565630654454645125107428288510181423275104333260421807005183305153401542151514545650110151420012084421040312021611035474072657077342133677210412460023041167011034011441302231323069843402711566324400005031033351176275033521132021621333055298028071482428151483274116140211073105572303100059812113206939207832225064120655245112311902331622608210157007020052730067602754031431120612852534201130701646150200602068051270374355117404074400002185441462001063451382207643112450504632010110906950501232314160216139060510363000371541202171373060032437160606610600103216000252135640362440103504013101388711147904024820746067223626307224652067010337082424434444104112000102420272547250424863111430041220110105224131771213112718013615862066112701563374333310454381642885351043043133002216443020451154044600503700206245003142605770430750201317547008200442455003162704126410661143328083650006317078350475234394124034132221723272164961420256800011654528009162011053204611567060152434222648502751510182615413222102085342170302377712830405016313153814121387111401231234706900422097409321680240361902360107335110030023150963730212602595327310627186312830441203676254437020250032240050304564181115032630340370421332251201006632325612750425682458631055610246572264081008211114042202664204236032000301210650517611810723472276014022561934140403602112018204861651373138230162031226530201004300211644190061902825220200522601221030509426935240530068433416011250307217736612375223090130169447174061210400410023112338211140054725224563001452060400126126424502034708033275722002171054031615502838935004120036073252135330042716471035481300664124111265034264270121861166519716121550136502570217303201055105515299865003136025176543311220445501020573100336696330312309907646260657097213242737162243212473140510856106102330120123211435101646233066160014072953524511521102133528296127825037422944223010330303207805005611043171815391275422214003256247000534778450300636861000336727656190454563340443776303034113302101812708106102225405332582196426574556240022422102338632136543410554411350031208225186432565646206502312040343151308601654361062035366434530131213041000607154083966554031071012675462116146231511230061220341182200446322716533465246721243102001152104724025422001000410242072514020066623120162640531404101134234171017000091740113373016279690313362363641454062023355189330726100605181864193748042103202117209223330322309017742331001033330352931143333815047080433036211632465223142114391080485240353650034244135854530261004241605062106056651641047106800261511172544115322605933654025741212021215174122245313372450335310927503122011230102513251262544410054032023880001019225105762456464004708125320614313390861005030019303843497621981601400484143523532042721311571002727112138282410215492627141502803611400402015801300042901654100541045503430000045650023630069033174431476301204377100417294057582424363100477041301112221000174307370633080791600122060342600232001042400742161064234041451920723141416304212451024573430207550221401430010431046434021600050540213400701262705800716510330808333454114328225558306812840320810046745347411055502126705217150247524360024402091405021117240206810216542326222432612216051030431149321277200230101753300501333703064552034042644434750101571545732271512800787622803542042010125320302642603208403347630103063321123001312615725031155005400449420401007655011232440246163926547038721558214763464103379205542127265441334330505132915627300137515894634230145502810231540863127206108337541169014600425325273211402622382303821045645436232208011206240052408111531105773830307636002520150110703244001375133612102120821314103316410434103400810503437134432631210352376300312424244203294311416100215008472101614883440308214382234742745640622474607360030445772107204250510433005522102501910032240471152133072731133633954015060024270850015110122184421136812706574346512779863006221401109108216145146512543871371042494222141050270147353012110223503221210031912808243048622044640550015442233726055402316221520165422101035145502468123038054161410460524132620065045140700007037094117551671476530418262100108220501421072356004012144300070224803041153250130321411454315034114418431101425302434280303801671522705932680850004082302403114630211240611000501708162254026264104506541101310265414105604207012400632617213007605221670160075300002100534050522650370022341316017340389513105050243011800300408500623042405109102270202306603206224140315236116822425325029034232703177625206305103650406342014401365220232060400422164085110320545405391365311125780404465100511243130220530700148083737313233275403524222352821151024140036180000503061196310032007226040453831631253507440621042426026452775230043130011230211321754034056081344902285057300302302040225722304267060532243030434340840354034112613300670503309801072424000521436051342300380015232422344411545320634202454403391444135132030003931533633030503165240352300415219012531523111011355288482637433123040575140128426013431127030400557006133321114703203132311781644142130113268716236542645371030146047213327430660012552731100323464331264540051506125445043724055221716141352170710105731246310135754014123032224128570332073006005411617611201320612635340054122605361802022151976443473011143110206113803208620580405000633225036041610135448220562024000338002133317502012610429214265323305231046064445247332351470428000119108103825123118030156153072711863401722319455242315366124060606112019623002740787033025005723124222552542104550816230340433035402325009106401063425253273204273045377871562410210504125637116383415327257652103316440450410500094500000064211510184628302022530018353408585308551431060525316731313413143010461363276226472311204341015110203115322121000564333445144332222026600713352000581434334941261615495310310072035013478042030010545421622112364616025000302300310583851104051609414201105318468501875192334282730250130302404300603204009211403131330113320701059621004224179204013417121205273539050313611041242405860232660201336020301424600229112161200611137140201143048011351511354412120766144428154671378034134115116250042040443251354623445741513352030003006760513320227530600603973151700182013105720216503406013572134702523400320574836256040418504018063522723527710084307160181066612280600211592006501211534712540031380753620120120001864237129302100313115600201910211560201129325802069632020447044063013004431120138663058209250158314145200012684027132843559343101222215202241500000251231245294108260051119131141004412343442101100000324226544923716514024342052812303330519031100154125192610602916512475027043724110713884327250110060071314072551502900001311417215282033334101400730100618125655022016025130205256121108528002162530502140233241460103117465594322621031540047253507002395211138201564634007123058718232541813627704502510320354243206472033632021210186072244660437212610710038137060803011243124030000220053252017066041123021000316045031258205331117345301818840516472204510415500562524640414462321100055020030058221350211621100011339442033093220335207245083001620305303811100020403004256052233144050113303070541220053712321613002431010453804524027330502321216149335731562070132001127206531420506130382009314141085363225022143081233432241310000001053152105002630500201423542311438666153301180300837142400011002345441223244433014208533311208360706455231442411137573590160006001017501010002824019204150220253350533506068575267153051201393403573230268070421113031610247400104854110191502415306120302816376535145070907471480407603650624552322225153543301385520221530455464206661270004125403002100302241610601054125035502201152724590259065560164165541054012030430031600345620241206413544452733660742016541301143022228755342331105052806651406731652144275332304182239614357741264450313302412722307812344100062603825116551034760096616533241208537666410333445529142243220015151130203345002000151530050373071059440021132730066232037901652261632540151448302110366226033450475826020305316015376550243704406231351450065641131488053063185013573202533151320123336085100131722026563275020620511026611118562370027763004133000732412201225002741550537222350098503331256500292404183603390021105520161120034445310153000442400252611133831350252521283430415003040351321014140141154110614453321131711609341140176562700314812130400517713663222334146271222421142060172111383004503131672063512788100092432154300352730734060356520221566023204622012938340002000215611352153210033456304634141550010082302003078250124052641113680704060210044161713310550814801660026413604580024017314305211516046405044344740824514556436117339310323253500545002102050644334301344103143423141122026788219034351351113006031465035712934314345233101252440084015064324106321413024074715403404195023821665102350419432013364130254418747324230200070626333161183213644201439334115283015274537414348903114030232117102004312413305043173230182335410514772674412641361004256610321802603654343302019541538301354516007413064811105414044812157230005304487125700221330121534044307001173007190403766340731042244611520441281662102651240051804123071350315336002035305605817181013303212110310120671062256140252322418034684113032670083032803032124544350300010000321314154013342360200050036000215340031823032144550001245035350221008372234630605014212221232650641008003220050701110614220924104220053926477128023512710111023172662001033591176230186603303138222175112027236410421528421231011311260426030302115391123312362014614393012025452027117014254725672106204506522336310050140241211023074422009338101222319314220387214613021714220602061210106032625132443023106202401710138812114621400765608300036356342104212311869170162501124405582834207352532801212648726110500170723232438054593653821426134255000111500702134351244618807119960156445052321703523020310205251717046054463050142764427020415531525018315141000379375502810298304826612353707003231738010041267183470018257508983405111500481333342457392734042452000212001411381474243176139200670123440470112310144512023031255514152602013875126414262505123160304302730321606203331464400254441087220220316256311847944723030325322694362377154266320037522411484533450103324451044243635304144712010672152423723214340116173350732510740161032135020274224378241050238322621701401491520714565201465212152053442041261453433402321143000500025318727356214451656330922890026016060513400229305048612863601212691411140026640001055420705227237044636150435377042733454045323344074012406104265310100441521510133640723054266716171541403035119111502062249230312012632322623312110701267603534021174215512253570509049051300222292612330403030512511051340473244422256712832006010202432070280453552410630340242030335477254943544501250021144610306262000029341100275050453113112560350100468721180132751782032157700622777020920002834113140840118301673624202610037245437567123722208049256500021446557360104010428110064648302302363900100034903421010111106332517680042114027607002859414843110061045130903400901407822613163076732220613337034554019111705016128100240211200326141341853272135882276752300977360105434050204752244144441213231120736004587204840742457043113121118230184110415403730206230030790022065534200224653042531201006149660424822352808363442143061892530111004372603921765396143210414101404820215212241231635730672023645844746371435312232705010315252200355033103030334302711042323201062004253483130821432213174570383610022352313402052125058336015104844030130038345414518051530020779422368543120000840524036030967121212762624426540235041805621033564704404505305504306525365311201252415012001242243850037423844010106252124361612224026010701214222435144720221653401461000043706459352517008456320457107211260200635265645651082040536310014373112606932102337242313704844331019502520131462218130416355050280160253358766500200623052302425156271736620715383286336100131245302021076523831522411183113410311133611610053906044234925406161300223021675555770480764234247206040825322631515253523441433166346190064431752125521486231033053512234504111540212213446145440716650544396711293365351204474427945011030617200522525102780804513451640137657220244500350048406017614011124210231110043030275403666464865113433201187100815934454201231103020003040210217132310115113615030115540020512555455045343957720251110224238200305133728316544365415040064972403032140521560652035447142322485500416222106001108161710444502002272410418312306831491300100503012347014436161363243467703201214500150084003404153220060011607474111041531019010301725066234202003456341402500122020722572530041500107010148841852347015019800731800152823101520203457164100226179220523203280420327801077751110417262520109236212360871659023110258223625376633005532115050387501116228064131515574012027210075130371612215118661025105100100221277102343443540213025241202187032062450301256285425004131171275152625010302423200007301503570653316729034711407110270010445123195030739371022312430027181832513125625367250031415629227079100960024457472040831112681215032506335400330731042384112654786604406115230700104004113485805363201427150472344072161212256203004163343012611703113238783217501602508353721231844850472601020381531091146804405551222845013305696141289070211510021340702233415902312672200666061812634251560187040063323100040214510712574183204344861391351065772422261129827020326011050006210002310447414142324433343357405540565601022802690020015030234315521221681201500524715301003445319313152035103026530316831121244612866232000254204084053606002640063151335062151221700022174780628200663334641713540721155047212374181378561015176435135316330235201032202100753174468573321692453682054600219314642111033621710091504321536003304013210902442412613473583143910023636071225126003485210011333473071891246104255410715511613373700311100081201051863040432648460613516066102834201004446175639740572213032115274240797094521132111820121366603157244163233572020083568518303674125124130700535361323138816425420106252303436021225045343244212968243336537206434677170106235613125310004120072610460341605148035500200205021011010450042703120121220741340163447337015552460010601730035304104340461001006420866124242110311111361001442204563127127481644271311043322706840493070570136207243124752984253725355535564240302655615524111072127180956342072212100004613030835213354335103041429230330022848012469312201030014552331011614204772135070142715755090225452411555446017504590247225009050043533331863283585680002062100233244504850134703002013766018390705505605120733237072472286025654621159151088233300134002350272375322304342002092503813311970315857025023743250001105008388033640655390121375033313051003431067100540202633621545223063212727023022077201510541300110840200080041412711100314632822381002740533844376469010531175033423021800721244717234304011839557122262010560114134440416110836510025142115044341326341629536605284334306476220337433023512336423650451833380654028001208320673337022005710701104501322634115314006711550413449072534573152000000342140821542223142045335031242549442506521431412972173043012420054445555273400164412227200226000724030011521742030211340335201241782527960018520133658052875032126101132181361048012120001280063014537975320044441663376330652756122405065320126605852267022677193336301583363400249071580500232610002351614021270476401200302293622546091640646230530140200815882451040046212341400743124200052504624714101060206871464136038381067622251134223242600320361150421580131121424052121076202361604001351414360103004836125512400134010538145114330234212127183466744200605140130310028303700213035041127218165151201181255692070349030240531002851022874020054263631415003244134466405046402028122408031753231432528612304026142416540037117017125363330011043405151322602050005087001123512562504269124304330463020180220192213040691365012263610514705217027624001211106272802333582440425024723004000421043030045517811133450770059100165267074720467633195130432369713931740427167822420520327605634035680110138211156350006154047340222750270513166241110542188401039355236510301285530854401860450634000030242550760160010858230136413246050109342051245608371151202226000728170137034043215511335055303112222363816085433330044110265603153052573536122221043976742612353205214403232230046920512233040405200100264259154213134701010200075650001132510532164140460602303309406202635183041033052033604115018303320284223420334083586612155290583448416048645000300155365260700064300033003342366511520090602204323860402029107003468575061772320375690174165535686743542934770132002152100134400576552730065053152511100245265347564920130123750217324005300062003224548036072340613033112382062214579030202222147192360111936687012235204136012228022332191007004638550322642414806148134320411103015021132014451020461565013402574505125510731061528250350077460524017410440334017042330553351020104603123300620875000832003446602604263203620020578510324442070044398141854541086063635621004768402877022617107575623504061137114002465866451121341000006122410053601012042041035326171272058002317402001272150170505100563191251623246142244523082427427452602100030153008113420435111501011510329150012451351566060580044006683041214502872010103840303195010230010015012810000600502643108473024814040000340221407230631330902331310304182553203213640051227315806530511240656113614015740011733237520940515127440521201100261501756137101514008668247734128612622700086006440161505324142512044192063004522407841709042015532210313003022315280124554316457714401020843167202631118705137012077112020004023723101026507309266125224083800403124532001020029534263120244255275075432002321209230549506407030062850326200730348714176351332314505317127480115213017838201373462300421028116960224714690134428733323136625915101353124655168030101331033044130415441104550326214355448092048021253635239540064138440030015550076030201017039277275431117200046420044071604214832151226336000313476412056370600023627023412100616021294310314300171702212376044403761645440510230642239824042425232352101102345310214101353012124254650417412545725002620540313663380417750167113333020165720262417238226210740210634500227514371352033322178251302012617063601562426153450410521140222000012302140019642431366607200075064664053252441002350452043303527351142455011406165209080011510321205202065900100252426121662572302134209304076012651634102140120141122030081210403510268542032246464671011403804501735513070651701451903322124402903302056096150662255440283702300315002005647761285006404340324702084020311538900026614225105461843355531260694597260005904921469504605830322622851309103117713204255172
