1个2 53 494 809个5 203176 7228137 346073058 21459984179 16731726661310 1602040332202111 184802095035984112 25277897721670002513 4045394194259330458914 748858306154205145082915 158768877062972471537445716 38221881719163232737500483317 10369117560649061728877809904518 3148681959989553634168930970443719 1063799476550813090524118597126395320 397728207631562910082669721993360404121 163752112651346220232926099677784651078122 73915390345461997022579761251231324527004523 36431188295229028639194736442230393211253712924 19534100924761827917546559096714362916824858084925 11355764577904524418117403692163447728016997589659726 7134743530329714635007271730313105894704742045352685327 4830783656958516615517859721678542668838344562573139878528 3515306876985529147509215909858764282159823559990732901045729 2742369825518301179999051638909420088739337835131020682610929330 2288178390478402902914294560993660436804055721706854259388364606131 2037534126747758862215498543868637009293636785916141673417334094972132 1932328657899806407031249910414438004189734284172833210718481159056006533 1947971083790560517074083005075902413090800093853309574534707490975389766934 2083642859009335072418996752806410716741392427681273198531418094637731219086935 2360817650229234354376070860151870823805085460833148773869745668063237896878673736 2828789118288202075048500294593175403799163197192673712423762610567552041872108887337 3579120568472326770570238900391293181361774799489628046757543372694306468538891370652538 4774890523461462998696826398878291577957745750201050240730301269779104501119987895271647739 6707611265070002157537048568605349482930479858706276519163540476365675170776595324553300263340 9908904984471949089351922101963130688273978592920053532927204010795744189488013388082586624808141 15374478075632177534696210741701739178971420751063232029230268525305102614533447223370741271687666142 25025419484672483497851045436553620716493808145678696462846125802885798095898715667673376765032937008543 42685644448750037920853538295408749580988245280484294981441583743800953839585542105586308288696963258620944 76214445473908590012441366951308397741044074425653493902616005969523386692381344222448490867825208338308088945 142299694789735963832303846592328416633851572741778706452853139254614587979325809193827076783947956698904124487746 277560408003267508577152702954350892307164346892808432997557474325184458215901127389896669988083324254865398249089347 565056335711905882129545174075603428371514358793286437514651653187525322439572826646023555810188342945304581650422226548 11995476074515329153280534530439948198496999406913455991583490938559479559374349268085171653642401937704707122518724962249749 2653148336321198422582220236369192103263632603194155855478840144858524544607680294852566151506558508355162228863608990314397350 6108937450040491034276768802765280902495075250306675538748486138580482197901271706117918483541031694728528292588325172781421010151 146313987921118081950068130966895848316889707289614571154863637333453546904297998296733905982932598597056840208481521160141749160152 36424303722108876452884924397329934179432712723283961379166148596993104687879406141279613544580815986949358658569525265708806385850010553 94181081739584263328246977568177711562390983211199010656154633879291145850342069499388850457205073888809369292550366056417091489002380274954 252753221979295287861177603685771748052599023520764897343886279869330164911263377653592521116482775176516872942058794822308881326730492205090955 703550275030250578217564795880111481517437562458113683736009938732872122646535312537611585447659468226343365997918205147732612976854540170047101756 2029898749492951081930079537840177518326761444214342063239138720591218251443787348506749643969445225063899504335368563047999591822316387809036253291357 6066802267835517419523042298377950275311355849773626549538503356080247514896513543379825194234614919088419194353435129865339659287771597815412684214600558 18770959131091909755443711864424609975502769270723827218088947358789535777924081386372103694790513710450891985689720896487252787084056403084504881560852851759 60089446766663148730875729508798814270072018433558777151874217344592426296510654833505211186190691701953323000998489076584617805671752890526046426589990773331360 198905867559413551355220595017645674018883050092307286615858241512148139727241888551194790906870619313491548819092508464489812080103343736433894510441167998033212161 680448575892363722335212228577382035612074500445768221688050730839912149220502254947730416190175740872785845451721875535525719052148423574640972891857346302504599454162 2404416947210864144840968119231742734445216866238924602477397443248962238993150388551204677551827407512085969283158235534681580655429291603615378380624673819798289475012563 8771357640869415602713090581567755143992328122621606630058488076720060242635177710151160870391331246419173457926620338286345742728722577418685931550322507831109629336274728964 33017886617381767511335298812455281174358736924419246413985623102460638725572407179050378071790800585084242604624831504159935765221613758126958362785011276206916630780470990092965 128187799535499456529601735337549562813524036040745182862437848584812396449023511055098957077614281769774583367541977026005669748980875160479016052168155902013132417758802261366515766 513044501448596519519781869476963524553314629946545031252924789599119860995756150852104888348417878728629064888669456924461162218132686846759618444474464236245038103763065276430601493367 2115808594912540314896699564185757457571967246762083495567051680761067503251722626398326582224260941633679815860399732408520696742618759758199021393179834309449051685380260427903842667774568 8987080364247766772510954707544106497770051230883852767698341015942331651090828128772907148473769155006036802885572011716275746399541906306059618637854738691110704538198219848524418773823453769 39300247428148125851934384548503391275503429617030407927131771383084306403686509935917215039346937253323952367407210869731784111590380684298529806000393959460560424177081458382479058320767797065370 176858202070240728491293626006255702186050605631408721074994511290424980399626775586171948396565972295319192756359568975731860140015146156950457188125858393852871454167147084873499622068307093741414171 818714270289731174733969998803614494307404967323126933649224723108345532321019524529142896113972411039701754640765746247572989830120230166464510916497659690221586151403187818237963344245827882936558548172 3897136587760922946247907403552077106517126482578199305290188590926281350994554288426032526515051565188058289461694663870919154313063819779386950359992972771927183984850903021625825611049995631067447492014573 19067712302015824654043978996798329358913046294105548300432458083953262084791667733922132516859934020855801044848113145994623201134787405026852476985368811383645107174425972253555468073389943985717420624461982974 95858217091730160621708012881766343540484298902031553585078460529723563801265403323640335601142067530100986667033611745409608093910858099053013912915527865955444070241005138454833759810694982663971194872984743094975 494971651345832734310148340974823598336573578758517472025852928312600900874176493925266036977666525293789990978394637902136432064798853988525312872256558679102356361871036863142864832773542808857350930797090160802729776 2624207169383946225639718371431183831886676432540189044201090988628671475122669423112238668993902066739327155679372084511390466394715678660548541392487835186789474218105873876186108445843396740833965232789546022457773695377 14280167757699798797233705870367575560304144280690097251340277424340723787529529111676480037137951189464887843220201586248987146440784094706522455436580629985688849828743066691415183689393546666473106438510035994868991701748578 79733409024651944103159539750002434489145647116368743567388151994945600348393011166501725407414005111363737494767679763997025863523314028556233417668723266085947871915732276760178833251874095763256217697832665917269620766754055779 456643538611992415819319646201046502081668280505064760621331165513781784437076591793300386606567864103572659308335806351573951175243643029496640490453029177653470270735285669560239572565670513801570153585316496569730770431750505599380 268167379586458155895894665893033598539218508636697735883266309611639527307470145204099497009180357921217661477026658948235569420024166286397115209495555305685757903271664775519091551770734966125567569287692975001927367735757825616181 16143263660397017842846492651572121543900158566156315458988991722827640956221652915266336023508328800928965800220639071964026213326098546766972549757682771605581523366071006475182414866167012963494741522401864589633780723131904310029946442182 99586829220306607286931294748760066837842672453956715274921494634050924034886393382647624056077658273347917446301628611303188968871660343978370095810507829407282234676591497213375564932995909632732319188420545159391594568723534382538195581016583 629374636182621442437686285046108402319949008282769341325470365486423829587299766786709886431575669186138269769379077026777245508025261859445742124854823417534359428934227670052739119400922336815048910813047906369159852475028157023984201942462036984 4073690177914376535703076217147765527938005136389121911072269490475931107827889382796077113850126530822979429741790991501430127664850639508144142021545070700037558930649363021351153340756709272175183177176791454120456019991737781230482656125175544096985 26997018267776279738847958979556294563269767247674788309205542309620660933831414554113603566343214738528841662509665142063798859282675191873095902646166274255326101363554480605733860263227920414366729245100595630694018536979391252081878074332077267075743786 1831357465397892949879329936464292642163907843850177621232712062295445376244235948418600178771817939980669832578871647710646300887892904821880893556745744128723468405010007221353381699886406187635934362290670277501730444683545776441530031428335239297226249897387 1271285790687054076835541268196055636602547214966124720175623853533069677617673000335634917305591705144619681601019104520317770030282141341187183805523868711916174624344327210862813011172589049175241980978144166906789110534264441241651717031874157154296013236522588 9028423026864359823252721752544784459260984412198865649397805170512628260840331225313733543945961174116407929092892433077757092536105404553222098277417232735869087505994249843471213916073571476439464183670986607971289044730060059351934502244568371754683229974524657789 65579440297825209188961835702954866344524282841506565363367980508019834851058441434717029720673375411146362456497964046929136923072655609606370474999110884633339799170084219725923788037702665469206985024049579385257463828809722036250014984166339466923329410584018933390 487081414377811396652360692063606042555337452481113714766846546756463312017345025225252227125830436327278707261860944840383078210417465258647090265531623720300381397338240931974072339091640209023030641681242905559863099109559994944967870755316778754956454095494440511565818191 3698339780196539694447872116457343493428214163247638273734096372827536251281031325223700079260606084676900394811505404980490087219892163947593532908690742998448783501398389206736064584192240255443235818889767578502928443237930745952605966323601743184962785913886683934393083136192 28699817363904533173935253247729671826219647173898093550418669390843628557844378396845669646601894113698221215762880224727140412827043105436191453922197215683811127257770255967726857808344545361288442310272030573949075291331994625956807823047982593557213323321842099795996501422018593 227570758230449504850725891692216918127300020483852268415349767967387856978105083053270079185317042119935301699450002432649891208461958438779587878143659917452194287262673977149145739573061766462748902206454541460149755816134110027186254937244002496536356922065088323453527084781794890994 1843397026758400379782987510368526409925972419739770160039273900185043343117611464536887007693774437227341521126911981807900117060737341786125652915167121024683700490192998101384305955040542712967054745057596026226511995463264690499686254264428957542433408791827346104682492804120617473098995 15250659460147850473561894857826987304275368079471406025413626902886386499197058578259845881843533705491282269794536263880545934940448104859385206246701801626758297901184714044793512958198928878730184060483506240711098260803393835888594684498434828618855981401760136374810451834778849394905557796 128833834820060359534265085446634688928464413754698032183399450762101828225163179416420882862051423371753094558827063740717318743219943401754205805865416925672940330345986288868735927463257123581575167841692840746760058232064628425930988154074367672989515663892725604789357921623846824590076510099397 1111089511762610537533054724426644400809919850907031370972525805263032325363435336959102018027755079667743974385873238020467340979717643164666710529517955960642252972341149572769536895356771377530111688961511271708585793889536270992086960283927531787557911687447546575998883801467598475094018805192096598 9780343729151496075439877448276234894037610520711211912278523457051770693947388030773094605334330244271371274794818161498301352624487477037702055712261558024858264108599976438776980277238875504918245874685435568890820440768811085172913154834236010497655272690400858235020383445863517579684689344864015259799 878527089738630459303362427017679010511427959289263877041243110942794432434508387340237619341476205419859219817283685345945783339057240599907259284728483801261799107511818345220218475696693322258889209687800990699659108453424016171714488660866482118760427925836621090279913796217525314137369574849221294570673100 8051262445543249221462020427503754062875135783677772200482005822404580949606265856466050565271125433000622255576751477254811645358257062220966970159052125870437216131865888964132123063251871337225943084886958848094296795843762282336094087420167748127342587931541617515566740501754636144272922202861770127082420201101 75265190220024299138064764929681984052867662807424353881879619912103961245814374595090082437318952369008902431075715131492024511417309458981541898694837909162834572118518302665309225938269130647313973148060430261334495116825760171528018243713897866487329244850291344318885433803006873495752981152168895629366502886301102 717564533080120345929511392377315414871667913645666320872112833091382625109011793247721367482562993634746287147640761727952166335924473182483968669862145013606571718467673536707178156263174174069355470934874426458738205752227987336893550992176224318592138686960870691989551418618296083178624016645690737876511539646950205103 6975595732743521229388358695845622874786900214758840758795333660261488734940379091258973049222921199439465130840101830961777627433465941460612309874869807992845044599929757051116004918705925966150243148339285322883650859596915706565522546318736127576453357730355045015772624243832703488144032629680767674276308299290499805449104 69131136576841995716578770088828915461752632626059134726809900222615612698775820472266705893457014136044815838205218517140122875490124139382098453374027945377401897922423834518033496999482254836273039928100657938539056560014766569292156409702420604925109887924203304778133018332625735816593109781025606782000894948049733166101009105 698326012753761174784672981486787956760143702023541511697839342587130378161599280655524671168185970659044826925751513514497819436293244484517708046893870296379854555265453168817125337183298417491062564377418854916046149029040428901600203314129291981249578053409929497062299337564492031437574879317612519282575043420994980887750121717106 7188800922351427467087606225287176430955224135185711979141510450501351651037952370421872034429959090336112194139621126624778333580996572001391921468080869510559536066340828636842946810621638174363461995106133111257136276010294279208078692249515091267985227310528633730200158847406967241890429878180557917634739985692991745969735810343013107 75403492707568320092988071144626612122717141543830356246955162535019964452101209079376846517107734385472460304663965177921254976985884890756228564304869329480213328555323580427210801496277065081940566478776520868198886151587125470792718243860248746030103344850234964521831977609796703815871126219898902936213919966801934042439298292814884705108 8057266355121432140509135583471466007641214021551207350769681008607412938372868326725235567380465193176210506437452835337439039516393386146651600428308800776968720324209685981988013444357362601267790439752914041347600773681058054263883824724539483340347291059977518074790281966702375351553716406056887236528892442084285392039928141652393410586171098769424670541366342370121224783501163212450114769830562643087812251616831286682183855196827150829830821926311663248708051290995356034539297558788442493658057637555840222602502017977889779001272853534841573603685219815036074834122453658722136067864466120939277379878092302719035798217441831944776601314580063730653928049798402307363126571684639400013110972005738880462613175232682420275802690143913393807424629140547505675115005791209921307427246620744109724329089895161286883096975205184452375059860694440564978586346089369687764195756720224861685964262363727279328509309981333094672350700239809675835311550112599964410480530862590779971007240840220022343865290344874742585901354682249976630057253313422211111097007102263755053545334515567524406788669911360996810567237680319729847475889950334321080834539640237623992207890326097996497875113448985756500852274974773421129550306061046718323550129811848527265104307195336890338775166476284129474915074589426825845054766675324741891264294660085699704855222030814588347426829042120872452985605321186648213358554418829241112126044165846180312181719140962828471725015026400621403058125091351622431533096258563530094063663975559781207301375226807845825574555864111573901440658840096064847221875419216540159480021689306143427474600721114586030512578565330797966391114515578640691384047434802882835285202829531586920996003614532994619007403821529283552941411149381461570434292651181708002251131474143689075906549191013034442076198099529067962038864645372011017601576900379239312356831093757733649890165243776644741441510962657720260447718499807031337843433699299535312499331633481664119059656853220907523416153370189050374414078502024530232430813274181346219951390555403597973137115759970525839919270637920329047145526508749647163765649299593715655907053899891141754659772811722182228159457518586294126586843082991688844783858665612362740246247686514645314451496235071345755390973547385497404037959841952277310797812995021341856970034955349681577119752853348007472669094493904152357740835262940235196132568485136484871847262037797705754627720916518984033277952687148431024432271693016336713626455269328196865756132621085917110351029115212527683346855738827310312278817237919105548587013586231507046373567342240713312232780909013677092917406060578270874230046843168249691735297302126683666850580634544363565277121811735960269695436452596340395845044546184354227142312082422936771989919985842427018611860771601980091436177914093851226539456506965947251616968395749685819307906175073950310333098054115585711626190403347769037154970520686428468772425383450699706997325983976225674511217692708031861678670867986215085163945687422065299100731053069443775824535554256510622398311758537494412569005430873655316951670653461704078238122251121854666004250924162630146007520979454045022676853120341535680208269587637096185512790582548774647764892735071872093601215329435512550047544302503311732832857311417932654525175412244595187052771544426264194855243425862090569679734625208569262167088248052493615252932504720312338459390352330508344660304167621243361565856480894665819861321152103849242344823776598485091603876763244631451049064688974593656915829345706824862047603856442035748777910866833126071542800276621466474072984069438595556063043390354870456982610502937204564451184186506800225905553226125324139404852300182385539924060055149633435819306216302515549990343297431876373556831376042107525277181401984820666306820174588678150545557111036847430487084117523660747242413371704617694105764918180441043541636890725211933407615863908723081823733897373131188515969225235843547103575811953230701763719484856092041251661871166188664936979738260006908889715676463711954288698695397816294210195291367841973144133360870588005225087919973918808460444867763686397435857767896618636710458306656895823584103888954111746606741558503921997425252835804746913006679926921899693335152183772482035153970840554778322564382577631522224619503345879595970354471585637003001673880320465539562270507870235484970014144010549947295796697366452952018040428338812231288880587735312071584746065802366014689631602522674360502930216193542728153944966634973936443420745680409850708664970856433398600055444209985838541247993454077573744547255608685796262964154031977161479056988340773402962220617788595485705194251722391794681911226598965532121313684766855201531130658265277002088757905546175799394570584470816276901647980429783090651631054311909760127111457033032064852300352242411219596765902321383206424728222683278293367697574516211831708643929010281541403841418945211771575275714037470811100989916530912634542906946949952695539037068979010606422384583899459993790253780261402587913012291870307532061964382665241187535693836471936350411390208566389169456436833942619416689375951088447657669205105189024430954035262181854533437524518437744914540696003721414778012586755424186018112213078670078704107212735569930643207090919029247953934569198169022945739383655139867224430192926534847594287689784675305016649730542954516064764702338947731660165243965588516826851864896399913071337720193713147355138604813921216844880189931728448002093251221451880342230872670738724332639897557108979009583221057911439755772431959223366145412416680856941893532134270497545746470718858906605702492225702451231811667183213176345230462551349706171019184151798238116370911778442339026032737069506026542108055706088065159308917450333495379150072090285370144430726164011301643142040827154482283710753093281981347965842542577849143579374803856243775773674517081896846470568812754738791401070781291247775213538145781536989628819219433159875318885751762187062533526905396288608919945373570460445566967270321386219582990252912425504230113034915043670664093062579203749682982784282856113893103125880371711152150345777382298103696798697377170081878413689777366028510463124283329245276369803935111167175942756445924706404262022369734342725843763826587356495301880360648850376758995223583123241414261513974200171954698248026824874445851048185165098357091574028913996165886682813972920344926233439076269219520246458106476985555871142670828104912536484527066623559173121320328200736456241095627928413959423888766634136656202566813573083055954361545667740549055736597792359666549598076337008422651407782306565231577714537555171734616586237072699445206606808827411228497696534725045876454517167840487414252885706286736157416938939982900527288527494908254867173513339862630369251672210284970858818856621961421386392398047830865116284942524003269281855866429493579971265302889233996594005090563064797653165512718371641647484102942686185918489809791224632014939109832692914334149814927437791890045335046770120182879819923881297028067496565663202227212427669345261390868766147967765109059640862706187191306648085125497729517256301262904197962965937979159451447599751093878711848365408107435420897849085805039337169992892940746887563801282438830078806325840375792525213044365108483002794705312778301345615039077973052231318406594648643506486807156012638569827666732556403476593385584787353111513111522664614931596076278425559827982544631994468268497226660172255795813798297134151114748364516860992750591873524872152195059776421895637204933028370247097755448837480433676244696104323058796086298544781846804280291484347261192838012407274687266466564628404846597318018006861904513584511709133016755099099419423022783618512811744244574591151176843278369535049437594499320107948210578958668369100571160913652282129698881089821202219441833132248479137029338079223495388141015647806930696146409204594980994505485632218680924894236791432611273534427465612096385863528255392524356106090334751340862084903400172013691028519556415082610627743454694077314208768540282003910845572550592329674217144346160474383094164504104547084426099040327255411723277160706571291789069984884701562191868868476377698371856078323479860164950392415490312736021110528841213213877523098380259183776220092923228043710976122477406303704098877846085983454596574727425733818853727583742751068425251470073269364603993855843849414010291333330987442225981416631773244505845372433496723525936151577657528644388408172580691807608269815491260277052503650091769024971280911216749601876342724103973180085235660980679988852026931302767731507171352646147566054190122196854999275824733798624515921069614292394228875785572526921988324196608118930921590691054862173860540138948815454628110759406245936013513607415274465941506756986872131616006776933020738825779384383446306834262895768597749362027383743938803930075263621803365101026950928587567641888470981263313980079882704919861041612876377100235009789125214603375908705181284673550446773423964852291510249319686866261131434774205567168684513431992377224000342311847481937642527572113795635119855133589205857744873539453599881164033486455364833519668123581484375142830729403153568592935369405608317219954852183868505458990961490641837633689337049442706707985332747884071108245021535004250397933572238745818893185195294759485274200688069058134194462325680191827391453065012273517312876906240452832249291098326782160915138442364442595655017730863084903526951791211326934199681881291254296125548192114786482275814588807907457985745095514537586861232333685869140236026471582251533721960025702687202646783987127044750711145724023764238372403691845206493583603818411327694864462871496310711192074390284586265984753011206938587993021379498670354385078002667809219679348253176604391190834866567606687146554522091605746330961287088900561500876096779468341994325481918370904498361664173540833304040779626056577590602651331122721435463497173770870161873458277125346927220619203867333282506804441088629763993085227095459024323884253467668102963235512674122997681396155433069192525568886493025625337085628854329323331445567168164911920138724663199082274491084243474779013382920442368282333450883283040309583349620028171347785690906030308648729696624873186436396710457258081004121110751873936299799776289544831058528242099778895063622337675968576181777905629927174285430691341845193266937089334384249862148716400473701615798543985318618157015631479536977364759022097685400686621134641436128955560844802560178683962670478148230500779237614655450510462151642351954565441634405667371543853654695415922436676411515303164425656682261244313537848485338530754087260052197277400940502126687733678919443924774651804771903606109042036517551661690624798096277087676680841567211545805736879349189198765531814601344083454992612471549806910691353077922560761308175090689872661957122633210782190741450057704956001561357736455156352969232876518947371152672286438739688732220114316589181372493707094754504784331781256953574855965063065759864354641677481440709694101396086312616802720321973274327877784521590362190961745167323429125962993351176614218286759155613922281971371990241355289832972846656211499911718042696451911774050658620260742536299400183614630412307470670616677392380222701052097629761928137136521041136871703043477204577887163947274554674174367986617585695649529025770567230134537772473924706720285194343284017383579625718512859635399489581298216782224095015820973884192018269861907632743898541597283186875261961870449315479699355634241975208532090044283883895517543290177321234693305321386831418240124212162446367188339249807774040111126288181317768264549518402549434353283856491990015332343740414830836175762541268720722913349763950338582216622499090731378950309267982033625502367530982210338747996124875966923035211828854276374645270834645093923345083016594142336797588886872327692176386466963741211378004342776620776120321903282970169615730041624617745431573735564216249316956435663994508814717569461964230539516521213623530647834531470641149982121802654872339497081256527194903263288672038130547189260052750455796152964425024386360874253615084980635233679361681951874167382229329487759056870039464286149574819562239251381559946363382641128524868393942670260850525185341573987465409648850794771854273732224446227342041572936972643123656655499765220771473855741358212744776725062769851744523018903820907802900139557349629174277745208877723285700529266489166816176150317720174061450475431639664275384910745567487114186901755794718523170393377137034279524733848077177983790971490111345270862020969927707576982830387521614194066358968668625573388524933447558538905264273297790359362115696777667713927582996092780795823691200412270535905203717124728370805331915947847974367844046455483535064347351751408190059996010931819768953821652924824959823652954606123854619867544209951128415117968994497055871139070684359791227547624545683434248021412877703419512096192677850354218169414564955375086724140135759548686119519147143869251831529910577702832320090720868667479048167296975101022541050147367892987849467191764747631256681164337257366220389737318008497148358150075212857603314049475314307086317300299841620010004065990166235409431988719047835932740802339384828986938119420393565674100390098284046324639571049372673734470288919363067896482005054325987052906792372193532617073626659050796347957648161654302317825892301874726458919688424560040568842684797719437111401960919250995786848010318289627248868691350589367704862565598258590110335370500376372648558066013360973947147516527162352900226792444836754830077394942858721842209549852115007804627610990682811419001334034827095861479186020038461225539505863290729026635575386177862135295572405976164045011857125145971561399795545783960976922151049718204865959951210172727763658965221080601280664038352592830708125671942697337691884711160354289775205196388609877801240954966277572415247259068834015194182845809309741877120035305230465266295036738309240134750653596338181344814845616564020753271519271825987703714439969070363332578160185365629957135502684453341970651981998162749221875666198606114216609358198506933953145614735980831543959648773831552830014461947757233575303881721853750038777349418706666615148528259633872146364067992838981350482865457435400461922180019718542415516428331239357425400685166909447435624358592298353095043717980924553255747878214486982963038742040579621993466728319240843661631910268070361545802886820951937997888786506557057970509406737486448001178948969170513316698615357096806088176812081034104863437109702809667087831147058521513680028518850570702851433108018203722105824117737076878636636756159118380692770610137404936810686555890048052065199234034178452216935006893713837779786420210999467545940447487655993193608539618204108044974399737892504380641704967830405836507109345985572925285049298522643824237636702845810794626165033838770602544852042569618601118470492494770328933670224876776194806054475276047441468345406233127069142274930717084676369532306528746451316853291999759687742162305506019658553188606925092601049155086041129121651160914458973466553857310412683289367724527896680560149004633147971239930653720854837857588770543183542117571165095277053685949894899455651850227822440042459898940538672140563981666574170960330258225828411206542817412867239665358353775395579262651663411440670100372760359488745724630356470225963928158585307885021644940994113511764700625004733440223388672491225808350390942567162663378398513339271603976173543950253776338232026831540297845118301848222344235177786096632475520381014016860326185926838108914511345677030726875285792394576906125112881653063541525122695290664716567987319331000097818390427342342139989348677534172227136878556015930207111193350184273778007761343595285616173853119470660082009564730656803373020377988380289600291810784361691364205209713799707800287044782917676720628872253877085756059220630695539813350952614614944129267858392621705677085548133696438956363995411574440164809523063137250032954855925271910482360987576186405300504100440978144272049969725950050460339581019926066277146221290954057985243189397555037607629683470406496302391314869216122581743552646534053618571054451635956062432843762450436890890006458008702387999838731457048053197626550904460633566172344711766579724620597642303393867185165782137130440833334932547828655397327019234471037733086104119855483857769972371896102252138911283366521245538621748606278630017142594296719188184544369609330894217192173083720899050260309049785171501955095461188873779370861227815038492460450568193675093833745607765157339427113711093147437538003017568033147699615038261681938825185468632903683987636067465309853491625423640748214741819512351085681481917688520482714947539012115711635561259815724432899940969377946907378381416436627146895347122192131500724941989647147031965160906989011801874972672385624037964247104031740311769387076659812836057677192918559820099546522541849803710663282769320506794207444172753992768019278398666628902263601712177159079775160997889686185184552893979046050901673862070410160923595954609812054026915488868481966514887689322242063197787610029813471502011560168779761660385718564334684658287569452802406869417408055917725996444948322313991066846383757214655117764917227707740583854268248888206214848608276088826912614616023634068842356350828692774270813632071616046433003337389715343460687760153071818214339080525919615270962184901852338018417085091090772196223390918518211284253301785220707071980513511064532333594130760589634296620425051626263257673281346965206049856226771128136457526799734705260287202245054748609771180682697149178121743932181560299596639836170514650947627200843511483634495432603056692407285610103116190608255364539333514256298250277319424314543399869814914671479388452344180580346293326854974815457900717912192090219426577203655479891425522398267227056637366959362071889770434276661540970348196872222368483824238460197494330326483063521649052529862467518739700992707188355294915035809066657084657937061008003758894376408399205491002285846448572874860565286132936854751885610556682563917723852556440281674456510197865794719737315036668020168494824507105744887610700564841075079058753282676123181710261130919203106742717084265284621533441571137348496426137770717209997122961255173114720916621180670997328190660498449233572732221900879482762437087384743280974753654797609175267139463032520891113104694849874470326743163492177403402366094843575340192092719929334829104419836746345187906963028062870173744050288243645111375302914529082394259861470177491614457719308384888315809709151174607526918591142580293213591737495774359038844301253243584940463030115176492667422696974664817251941210221805780114337753259800341511008498427531077766810190032295747894226955906074660048541574628456353397970565959269985369745522045846789920799158897913726823520620405144894779947848088273178435081335256525990362380593172947951408983839898442399501336385495655283677313670095848058917420618233748083959199341977133676094753483714437931353518930928398003151209905591452855391095227965205848247632744415911178461063993463369158750880896471270986552547590954830783440353107410222958331327318548100115216168733445855289347014368941533589430230314065628522239489217198849530883705478828379684793768292514330882527383257054813755681387434246682303403095370853392035609683964229293164269938719704665322609281933997852278442921250943211271167726640779216619291201205180221556837715500435880976483246518526956576944886257231064430036341996343401539656051956152798531941848248073004717218337813770174915326777639141423308372194215489327878213812055055580330547105878884224911835724296261534687972795133644654772838242409329192871340030515334627295737466313659256505223895373494555622788417776395757788824647381810504339837285801681787746191968991663025703975584960939823366438297249684515347436576098492282498969949210538228099720600373907040202048655646398101976655715223148340108750699668797642760999435568143697486345803248544145001163345167819823347896955413658453496681020594723589340097723396766107905980063073455116402047905429348783280574501169168796644803784172526148050709994234845190095364262123220909462677580044517303462211282492097493882288233692433706900814915475129507992391207062454791787525641982952436530062489505789764617148026606459218638399721284109729841203546228773801604090936003410998300367157135029264162588041096974760164247595657118255761973716688495069905375578996928845678265984697751829393549652233648173098416166386029486878900159046174719944950947833446303410114891423160376668687133580029121722995202865915729638694146108677502352733685400722105955056316923775223415324221409442751661681304973672147140257872141408857882037980837037129168456907951769586999279229131728012321511091551651259770420045159172095132867041787195486377311585134658148098540979361054531686762715136626446168904452218062727058625259262258717546003226673514102013876751603497598189770167842162448185787446546582014245183368444326036423916564081256020976616478920404471734271523085723276104132343499706676317919197527950096258694082213195613203300672721309903008853465670057129444405052204389570873315588578762611654206300378745764882414577043614802794811164187891811705532861068608173870124502582348563060932638871035985271874248625066690450565489724171563676182849590891686885788490280128084702133548209226605246788882639147991083873447984433583237824398745398879520896500202377420026515661213764682069703292664932548534975001911821918444112931088374552767232839940610255162987285587397763405240965659335186445435582461657306078155981625313678173635224818670350956180983206704764332528702747070639915406035213011811736195872949709831595105108767369858384617288961104912547169931927039257250910902618644262285565769679265669498874500947349311497203433265391680144937878919560331037431515329611944153113157828934240392683116828204271272452920063804584879085244620988763439684423060277401920463997802081356680354483227533814978710780928578643508452526449069604832832601294347716373346669398696527321739572494541549918865195492358452825748357442248463986492859526619049526264952742782087547381778642630655129889310772424415901191743888902247872513044931882825785775096876775302701235156397450757794405990446890275303520137485739649427314006570850206438920609404054862903022681236199447641857465331618285353882472295273282635932310244114296165366448703528234051581892993822718610467211520534663651511151787095979679909357347739687233424905112551343650296710919974448952257612179737977435141454771762266790565051761819902658412457179044210788199483608079645654603112143577129036065952931938613570940641802682594086472110816732237775422054536077073385316184606782972279278044825487229465507958932766274177319432102358422417012896780276956569083301156556395657461764006423382271068309530646896271863549231658145703755467487954668937721461361496653631101923659258757708396022361193163715067025342801336784383112356943588717159437773806335954681101761834573212753594443877659943919244004902061093034189264214806679149290139607793308834779205041571887658099814992867345549135542642543753154571992980011432311487395292227703438791845008891460465071794582280901592541592465945989159363597039200546560151928927817183976424649706105260432255066259072493369840543593679230743232062915483769678039180312118124074459712542052199520072976323366254854651987166364215141601518276937674718075934758136809931381471112496526194718294195208570133575461378354028502675659264969636010165425985979122667131601025150330333384815471856322288684014166613847417078144811252274597454515007397258199850675808654761343460755073482640584279626289616355525821080326010656869105314739730446704708678983050034048275253585124468768885904656755077773070872354129245252815047262805117968744630606120208644287966558941980758551606826186460051225328553466466541084320481382234884873534163128690345363895491380980375836284124189293791946591865134688126066836683297873009564136655842058108444896872033461735221569751374390697601791422196978690289905568084043060964830728353141469848056352321161243068523395925239336392065934996642743165243641005325097439246078687442630826063120412901124434604824585459072340584654660158284339522137756078075126133033821729688648091796478936839389563036191356079504058275688101490655702808681541379958831208891817831995520348045631523826329907226203914978649215113145237537701891443707634648970100229908667354786241699033868362103248004052703523347672094363541592977950955665839269369487810241243462477613028602090578381140144229779481009616276035048532112524667073929827293175675440936678238938358109209439862316272403894688639411625834986648423638371314074128891688405330223626939328000129647179819767242091141222791974634287999559111280358574127987305912056476349517346567279951968074916598542429975335206441451865080779252174914893946122210407105632618962758439766987143871869035311586710069453697296753555859270324153766734951967649480677514098116937673526743322720483188295213723777478597251566854340989790606242074822214817416931066051405753411530016244546831919678524429544621771034134182986665512642088134648266254782101610655384383919132008563097553473117027934157383023838086698128598826448503251631418038401731534785989900679937475817222153387445088198553043587784132067567795881126442123031553586917941677724963561909420244798114301782008984461347932539265185904734168132615853361411578208267315522939606008968740234056088332189252664534576555185533666329604150606090149834059388154589992905192896781769297992033636385491375266490169355054646514494983354273645074586325364640392494971559419688293407489959340422166618025444963342034472784713040396027803203189284063082773530823013116820943365205696183547783325417000702442693648792352685521806737588889156789073471902123268916434885142912031780930087237402809841928472381475597978283203625987590739958423317580876475981846194653674045924520635737422329830767820290656635560957014474043203211607918126868670252562307916776309067355604902846328498011267076909409606910600659816825734110561771185246781842860049338594545629350258858240151933582488747964716981702139600450313267505446911775002249840215788987187019777262696328349446117067305268589840907217539885986020872612901409668592094745402072809780950205657035327762033350051219360691173833914206469498225101810035727010675241714970219616955127838685280112916586869078153593014627485775397820782142972005442807733604065721293501873932928083945949759205754815999163676996650627314558233880824281935175159490677422142183920276592522785361843823967252456233767068566378042056134631128508961944617494836637980319023763201993110029329746854006531983162711431697623445464627243738245214443358263274507568533453885465257414692206757448363174800576502516811206675872449429430535198332420440137928420339872410806194010277757001644160822563716775987283624626162563765475652589872540153867136111176375332852022088727654429854211913526823689685513868978465571662189426159512466956065139665977591766076910861094186099086930582340406945009309148790186133892372263134227838498087863838581833447328087516781474008273569990293456390637323356870159631132220310268072225389483572477266186814077515598901477076990911942555879153864248050725011623331688013236484013102862705872579598267413687111116863603143737204061165090995690113986398515960037892403983946245228481939526344060361859116322206133604108162834378729853975263910988171665557536411304394364893723210230950416074760507443301082237925436478325098781350477189175571868326962715109600561763860351331675584757877041396877895130949658987964022759925454934717295068090828381215690989010706401893779604973915288125239363241718065816251461330358357952401291196406492930165274522953996943580491143012878720488854155044933406595237081030576824023793936417689870415548767631587313430655052863922836866612117268687550853987470471248434905079274488627705752331716545701568461235863364998142805866115730411808061405939891028108757158288150704889665294121976733353776379327931053982057594995181757379508522097309827151043442250318658933513900990341582776609213101284842611332531038094594509089990947059435145168144163826231226112643983406294733556728476701838704666384736564284976974724884714108977692497772709053640120506600571524874435579816024315806944764488216587575263263592696871171274283684488017057704735337510815886195197864845184408767577722999777628326307651658558041671313831975651665118541210205626333329936844687030879408972071793626706156312497614632394178434113674590767185552501707254827652434526522970715049836603723120526798127327086723814762508572131035228185764958026984513906890936666159306636232521561400266031154861403445699884374431575334758809672774206984720921159499429213941165294737169376578456930421634837193275059229314409079347051503457638072146481871722170191050857803503713334848632215661474752873559320772101815033108271922994580641851358072731603229832168999687866911029033339767742754544930155623099724607458239920558490169928622891951506850547011267972503137671220475889220859412811739968380147427234182607414038142948501685808133418837752341339206972823913044192480125506589706870232784705994209536285455668019798494112091571183267127495788265801031992895351730865250325583332990960982026393573931065678759406744149361737807940437201535698502561409939993182663063447068275498405317099534018968695052892622582308348264114593225496996556315654733921332535862691069538312989798477351351048506652257736887300942711810553443407333687505200369489892615759028261453254608523676003731274767360327684567528933349319069339393982466778521157698936412107441365684336866689015604545022589883461609287541738295064684455365986934294103973197274356754708511866547526332882864625361100028497276208765125810258300031183462982524335239171610525659114019327616716013788361718385064733833543022886675136261420895024728197628031837079079378600971055451314231400632423542646460904676416623577566254246428827034341171266179459661719271468544871722381821725836818976887396598983336229998692358273836697696126370583323573452530851711227308636319717450864770383252027000862197543287444437538135231832037098476007957430675987969255451945417784766146892164196481186468203157857389705311024711263418976262384241299060504406551256872963060194616051355015174681906330426129070463360149201540852447475948383823302582031575446201721622800281720710327660955344761243573692358835097756414894855732456008210339010563135239918155340475767311357255605064726422445658599287071924770950955764085387047503671356798085119515419816252875334881172720169707162970648398335009686715032585572383255478176828439190571576693499518294905561371579264965277474843850460015234294407480081507781368926330716639960287000772151160027011894505802391169217993268615946957163117604924239864338194044727943033645004793065524160950313974310060980098348895081209384178170230951734935503901054453442881398153469347064872414510529095250254956832789007887029500479410807518470564476862536720702351655850770658882415479021087901668351174183133895522763142223196150611066411270887481165611307116990182367572142544895852462574491041960678219544330709084118368900856881821986575770882203451731971165982971700901669029220210994171331625796887371673402748007163320717504737150754541616184823235876660542708408273899580032154233171195659255732658780883750325894592208438195433917470197983055468658190391732588377863603683148984125987417818431873820307692858232660087462683748610167165739150603094367799611322306258622899537418814378113475563926936075209265425769279147176408639575675861976923030466502123711284306198399868562734282599426185438448582683282040619077824217128947956034201691022248081469103535634760755016525896496500104759441584917501445204472476007594414748758656019349901192423270466081108305268385229174545771231326428575820784504638190954972549842773230278395823310336867557538992295402601475734897737354365810996248622820609026410447758268041109333569799896902225791640530548302104213477187675564768089695623053766324516203412543803225980412882009112594003461241594055337244583257901604386551475889413945635395225495742060132791595299681772234435983165314198276513518651130571001471681142167155775418962875315289300046462741427558622167066671136985459396247449867404061422435394451914210039309961170505015060273491625773848490074544678374790842094687457521559382348731698055509086042634049154970300041531861828745428064311311491751528511015723846765574922640344817039870267972871579777652188695608427459449431398521416710537431578375059294308889907359684218022203416529824449228350887935883325038139301279742714116687356508427275893790979932059016608604457487383853935511195803171041132292252345168995182339265046253826541998725946753427386945653164557309241940993051670382677504801895198210162980794930575809629491608699831989364405595084584091066764591842268378240600886922673844093532452989191814301891654462983212738969592240223513519425107927596736094010288187572112582552790657197988521918455747866597880248853955497098420698079425736252328495702399888697176432980875793606315617622368712659104080488230245868321118866297040401733766592980057016143805186177813738042326876409950812188612439649238058017452054526838562002276535179104800819082766975744972166106977168946878197683552963970915702856037396518879966082479769151183897413369565005766291097378168829131487189417104645036151572627936311135307914265886301984104813828956328531729021554720155316495713542046058256988012976794819695649595560487462386757004364350711958253295110633671212035616623874765993859020234659126586146255366163958931360466077904456954397838024336679269304309706004876418522001379846071356954358078569609924041571531771240460964916664434429131539228346150462855690605875843591680895020007440331308627872229477326254532143287599740990790509744134781599156509471538604153499204055396818821567915569960101521019886695483391014801472968268092656582392563429880484965773029027221332181438363093133394631496769164915219571544336415264970894962634326802979694621089281041304725046419040062204772565779753661444135242425558807161872391281216249059095968330382243763924292320440977049052799575910802424933360663569149056840217070748881769167567033613465913465111795645909631097259081448596212129522790418241684697399031574638770317574708564614132410835029659063854885178359404978892084591085777563095718544908277721063917175082818325649477921746034434912467837559903770993309703150744912931240790936602614865812382778217127944376615772026512786987065770824412004685849061386543368700843925293875057284247371279522402493495219837047950221645678292977476568235681893161219516620619527950592573427896092123064862612624437524889691018155982422907484991608683036363180539140891784847531438240145269539975161421459123329722838552737804282210031636321670096944959506087619801866421049753924309241720813545864387023266310012520386157979941025732500753487797929602963070916022257879482376280267124071557299768214310746007571791053038712039539777457217439322825781462774091985367683853285731338087273381536311125728242518984827466053257420722962317996841286923606822195145329791821409350932251537568227021025203319473919580122963385479645567982841488877662110432789480566773385276531883093470158857285564501257937096631378601117406140882425393975482131804970796775678710294755347084002596072381317834868008145516084013970077523915244998439712473407485095349925273058792552183978823418044881489969023603429831796464983449178680595827800398959753608621902055338614396165808609873032131216249321493891930383201450545490934589855842178309648590735571742377463791355225367366549393180311987225904915934599857514077060248087367955378543549059858231736514127935332007244022497256862078681215401267585759088959637317121095279979807391167757781524157862161934953683775493313501467082827221920171186963677685361743843972509258716828312773901116714573542249819296267194205384694683548565980498279276307105371508418594357305850851311038604495271435529777658948845458332184620437191971702115049444303636966806242102451623041209567702497555856147542480474352102712745332670826798422314718144691213398385708526483458047016517953717104665630019330125716155782126051904267613679195520042880465878034687556229113864920591351574296967954811118094763611819346193770051893436869842230600878183497026136354706609352034561870725724779132038967260249408052140956199288224134490465444580903236548487983599313574236218098868449989495461696914324372328563785499075127075698353761945687362074185887827198593352092886056308281315866901523709306866439583777396419425020760667499597321128109801156031245378225301477991032092287192361479115365502064185179489391257223436567464296619666642588125963032312505956814052222972706044891841195699294805435845276208529321497726497928809686650303267564037241433770278019883872468075591271574787456808717147751276943231748334276093690064418350797867475825803795707735604367509280938211822830817043023614269822762150933659154304854943498271709903434313796009877909946417084417352924778885900248820590991142438826723472559951453999749120848643551052268124139439526443522456862278683814357519894249055923914450338445071060450391457916552481762935104982907255496863708408500203140954728046817410494112814809206914934049783004754252934322985620849912529389695070251833255201148705131767083606937486316565351197771363094261831702240529082590871487554149953663545702838965520671821659212582608960024586312937073094392483026034291937927361441761963236581713492865510871794479822865637079005007225426469571803890371940032235437417597883688056545921860031036518386684554988329597465292546304645392825958707512050101172846122129306921726795748304718394417396036866607969968239019732728804670644551448008477835052112049082102794639078972765190942988836002148311916768130469604050230900912459967677366933810360264166890142711449377738585682445558229577905061772944440197500416640702312239937956328847635805775832559165516489624257670703547151789486160581920544088272087093383409680096098549506977292944842762210934615432402420283540093110073748014445344517244945044895712586953669125752902196331703536657741498046590538203002691224402926583926401538949055317582296629958557142414134342346477639584603373235720811826294292816566576918426834819693250364078416943086161721866358774769810260413118182420177444024614336256123257848191603001977968994752703978005738838653999318537305585486718925045828824787417616090462161982985205948232589532638048879779298676069875591740167091079545104148941585580167088840610935936650800003297483732669842319054316832909110064753622716409892310067921549445139523258689039359659223501877618953846449997155387387795802401391872275889221152406199650869383795320041687957913601991107360206868455958943093895696026574605837731452214506101830527101427258574604635992173631605394535021227848510389127474459665041191437032773994479738082939886075486862825350196474660452674587941169185839763681155576055525695181771808354394482351389594488892386537593805610714465492877364124540327601370816367097713780492887926135759503463583484165308939844011302767357231636241488620438670663064763456753263373242288303040018031765226164133679914802427946083450867181282291765021890729548642499200458945492805923524187276704875794116688568901353898659246299659714943533222657693389180464296698246901289916162735041119692847594970818368206190399145355342188123531623755219107018624984301373013494887641852024660944744943007154437732724397091827996884410196098610374572131471959032580214293208790913950051565310733533427336668791649117267570408568225189086778642298837186265638875040943282615198459852054987862385109484320137205158889019068355581550650378358578100491626501474429539072354683797831287781196922329680014800102156162502569362259943358969789172716461694777434969976654027492223730330276742788823823846844348763501235360343386781766443255999326628276472219661502413122184006671050828057132680899598466166119610198665256473895749251653860844075029801419660942984202367625481242968028020953933100302433557675208392921160340266919231419789992699405446539550233064785623757833561384542762632171953495256909643945413847281056182985895636638595743014035998108383741999430288387926181621422681503510676556690825858306450530130375308852842833191731878493315851226559576718324171607278211711010497776272405684123595660672845895138105146564687824079324141343934342517832824199280820379469870395079559089830206586029050130022220850227701495090068531376750054490542714838360691314618129023504658110897145462022369442578791514540544886821877677764402820460617799367664593796032428256016196290937926120041680954354130977551522043229214466034333948640174633746789924866283059455809196610708043812064893118779008588495104447950460797324810458265384288114870139642866604880789921307752413522583158093431734036481362330757870164311318796942768848706614481855278371276876815709762141877144450494783977866364553043798718994451277298038867852826251882744664359518714840214608544009747765191854740992282676939961553844839758454293328812374235424171347652074055035012618527895014771945256602578703979969466450980544734890874273332515477299446549404360926860178429257896857212840634497898975627261582911458180755597881778210871000919479812343910781755124287020056444918773868901388224630313049358887653897108844999264811353413450314918180762180463603611236753134929062948874974581767700387851137223524718913806807970651723472837165739407616099022628664450833037979982447942940599174151651924867331694470032678221618446394558067391030827716194066304705248059450812017440906071465274456219901455941284345089752685687045239787406946542203067771898964024304940048163197643669702206494553622318793277625169768234440914333278286651323583661768805449117613031501943580860638895605529994807004551572322737893567982344965322966128715931639044811618732039493144410218302902876413803335174020126650759780180178665805735864902213058804892608825380740339528469169061840239988736355805477048207221849954751105096401594291975584372192854450212304219635795395590110679356426278390819144424657743259684912013964530550494901190767743046806112723223758708871351810235190571520557298259240110425587438488691855221536924802071633566960684462393951246798706443030294021920550459378598605140951717711276505626351834776382582220141132194025544688207981627331902958655300442884746457180918107425919747080562497051792260199158745415362280154868696202633481238599399532181245168814368962042381038822139775378907791555750356796245651714571618889309983150882963709716670143213918527813084075085903387401098618844853688151221628105681875649025441337446832855927339469409327204556294206825029330953644922883397206388770528494292242822238100632629457356944813059614431422547016114969050246387279341128165783984575858843921710037064214562311265865712046387062448740550684228073938040089469566556777991649532044776207605324524521165334382491679135456087706962206438765526212550952119541806170873429136928286024774820767309664472286113586580130780698880856070541647838119198682303848201063371459732881651783312649485255632641809461141093701600996447955600827697157537880052420239548497190787185052100552311916043717310975731338016633189976676385980211101476913785273949327154853145544278365430920024133451993568733742575875351921208855191499160969896624027677339639271612625508453010523767322133953652670333636675020685142672189887940334733824554125571564355149544345348989826828127312352341626211363489938331880065857757184669553493282077200665078394294536167397515386390124841560148213626415281532058640227117776711418153691516859086122288870763349410856067236613422585701395403034774217267679605748681464644909042210727336002875817010037136853157572412333427399131034076119233259369087217379941456008592814426288417573016589905567661375411095614443664619159568728544012261779237464808392029648859621773990798216083361358521852441931601134721198894822094275540985771691539593061827835203024278162080901390130732604304506621364086019487542641599552845587604863203263082267464046652393605546271488516716595036492691899300511459075896306871378978205777235056177074177509525557805715301192848242308695512244817686026795282444030467283184546613550522004761065423314219807469748435418659097338114996200417970385000455454475574800156545039112805042574951120821791138287961148504903936449399024833349532773316850767122491581687833477506431139496999892015911172937640917171957024030057920385193113264822579780703840088793699669822664210408228714577680532227255353582593331188007904298166396606135683597792785674087704329340845778632409982419723109089044821529173198241632514359821216205747683368864637765541591091855519393248643368650535293505977387949570569111344178802673248108146802569742520603929029607390585485128233594642960095222076331997101995651941402383598726155277029343592842197018300183938527914630524780992956298008559132079759477604998948406321557349618500403831468054752964058073516845526586899138324170567325940344467430462317326102931267924015838240340775139487870256938366714146043400646221760438564833098462189798702280656343147819102058094085088027115267276693527240619951974422827430919438972579234665450393567286384233922872853058641571298488510877278463432549036356956074620124622163137862003471025958095759177361873401763193404734579868678288744635420027664108563049628826345172495434944195457416834926878001995031675091329458816374458680826282093150451106121279906297963954798677619978636032393440617583409856573250801684535224280421493901368691185900818791740080945395976022820818752392885649784684029836177748802873829491030189961667034460929437332884742907480860261726051682767784503259189885573539340785774030267782542537495228926296832198857843875137638552435475925083938663853749104801264375639139943892628756279228163589954959993112364757741128916958340077103867265775744718446265670264031189195135482526182973576100679387811423483198549432593558418794882252661113931532683515447964646044137921114427905315035149739422855559248818358655041592016159317368996027809488423083865239359368668224648721913065919488732493549820853560411693565518526876737194992339060660650568858209312415919603777147290114904069949312331135133467172124707183479012888259980557034817669003550566428460623916148021596142480472292228322503381878532663926988020356986589390748795964444751151139327532766529828722995869677931246646269222235585010336123994565183030844538019305738919483302320845132059707757900874699410783183138300325584056384200826130348070036991901870259390350383289760891829722109341254701161223406841717459169170391537227697719647582217292839000657770154157055136867562707291536096617113183953968674942529337603707064998017621142433855864852098183651045736398645531407308246630741400365728973473200412512103717008947563423623242419756718068906042704045873964232048423438920237081186345192899198491911901750943615762481375070805545451062807526968545708791330218315542131000790565010153199954726147256642127765352476226658316241973105701645459826289133510548501780302501421780841082989984990907112432204227131930554669025899530942300593949299772917493918369359098309504011998132257377987972664193377803915577731347647258240854458426151527250085277297727767853113155914117667729648355312123725533915961056931326413663274836872549370446764630227068628321193197168818783375462939486385047750555127548745352429539268622322503104109745483626831141133384700192099722772348109124109373693703631242469062669423651891886285697333723794939690964019372408439462225460249836881463259333682784891229110809905349578564258897336388170544927155361083373633551328247755220353504915221993195083882929941866802020383848532481193522076596787707561429448091910326407313746834737722046840071088274068900676839131520553074514136900150652619645701466583595667698338960625466373242786758981791162316608579458587439742648043428343875987008780391373872348804892901945210855274144840539753382720415499862344442458426830445107025162391107537108717752062413271158135365536291819890264677601528825935066491417080291836519860504716663680304894417677836925951939518790109846009725303573530124494889753818794366945810842930177038405270915901106538795797803820253793860651926988971661417530101081564044478202894133120464996891815852106624465869862695649428334585232614648489073483500437578618741784944025688853691225968068465106339597707713372829482728166322749715490142443950550039224853338864059488585138678551980880436457757766136141635808168184553445812765410641022182021420245876306845795824770833532414509460669971617545298632474645455391934084319601506084753004990311887892470808897777345846422046906242320206346828768339871356322548268957691613529160258718824923897910317200866184228806307663211081900771451934846747487385296222176984617717398471212797199219042290416136673427425318654094113568659900584965533920722659714253054498609844946749846113488261498664289259187464815083652874874181959528809133816115401024439063456032454464663263637345682493512120866334791324649557700550946383175933715454486586864722699713097636282284540602931435937353045495634013527383881256197440104815213268268455804888414380712733049393073760091975622129041876887927865084139612210568925158247980052159174910918363680565722447994963236976194619101532547286660209807946308557229374031854183583964454661810628762627812432350878152518166530271834779664038202715963171334382995041816410878106624159238272477893338740438953469938570394436046819195795211769129874336418368654963495287378977768530737760719155626102407320080096789494884225189649336648951495064381545426375837465369228774523958422573638739843708917044029366176163445780221566093014365624840510634709201602144030247437022620939329221958198718061332927987378355537578035117290185339326696528936110067238091884795861620691781142477094097700455716768759615703203802168185965705331488558313925123108232089648038767148928300623424628684522831277372869179120182095347401078495019890289600319129907336644388810384152867113871048542764507916269494104160232519531579843797879600051052147231351102363824428517108716844733835678847212213552636367353496084430413953525846270385721919049365801537537792208190771371430131497399635083151822206117080215517564257822812379057305656544851045675206228072884746380840401201295820986242578573956951302808315627466394992328721896569248992369442921810662293794927724333342982529775232942999027734118151976205324065182858456985389061436942218859309281834758933249886503898621298964501261110402833131983437189296862271465460223839669295480474996248484218206167315360803986297723898768945131790147879817140396427863828312192853910644839769482055225365912678136510565262523834612959419513211412377804374731192712518791920789042315645689226900175619691023536278039784570505787534285409193561862321082683363374946584633784687703124264877281818500328260850735672346091914637522535888420914751105915517128533931684494480637123997012871360927086343921757297346947235492716158544583803417079004813898786098410752427800231918186527570120211034385225030264278977094006907913037203204559415744192553979439846931798189654621985157900075993747976923537418296814178314943155697005063880408552387571755515900544186882463820032700524826542018221364492023763359600684772015715787581064915707753123882330307835050780194037745802937707806487071651259613591516049924824392726069885681995275676890375654177093399886535423576623157483455148643440595793492031672381325916574503167477955616891601773121825141254056292543128260465978833268861958412060301831812851765855423303278248359666858963191219395886553050077168787368018986614995710405806395772686191601646433341765534287135259052493305960472706939835078293951844520261059340958117122900170390203339197401990158456123086904860376736890657850405203415672561009101652090723971221246773154229119998295109260692014985838701525495738216290113474452089969926961882411660410641456325846542566412586122987362799051244070785585520268746082190424499214914648361183746726998629523818949055233110621749998130270261886281851475196735287512093743822311596566196668203524737791715752545153874015666157989866102219998544552396634221554482017526390882169598308226129770510917230251463661590388358486478010248729883764465102649573775199948851773882726082164937700938240333811660956246393769609309521895894878204674207256827336341258812211678925691524854918322598423324485644496381497152508595812773729159346139100742721812404176145607977136727103441266732391232066362718565899403270274141360912741926742140271699413141084920415813121251787271693582580067342247478767246379269661623516176592194490809596411439368491093106865411647488240901725936003812026309813685809073951339024109446229258534682787901061132281020814166369139755891150954432870621070770422686268143121975460222529054212545271445201244675005135870800123825364081672666018057800484156979924888023959131749917411882207710079525675979072023492851115542501145918308035926739787126983805509317320658322410058790315482499472421094414182772373696123014106182763632137842957699608986996121401612850069620048604255116168092826958827097466369679423817520868336462048867005183480307512828047641355525873665184554498461527987777297215991897350603578347769683695588433774299096385041567838528378175172246562328242137382397117672020120920560747170262976903709380686460451856416227949320319141791060742930438622209012985338680434232518186378887392375657035333724254196781468716763683628717683852756349075151305509848769283592882678529029767469323707291090422579001061656400180343263198225848295675833913689385394957434443791105813998567309209270262207703236478561018218587905847762349195616577718109889289659559897943095961279635652661841462922652848870666987509096629445217466659252139360009993847234035719472474289223997533389645378556025332213594570720705282867562379341839597610690063543707287306581657542584537410552200167889389896301800768147386726485646441806008910054448540744006128435091628469532778326168392906967072866099184016259656456991618082079215156356773105237274068851566578127764970231172062356438407985629502287683691797395750576426348063060650699007900254520625218665825739457665332962453980214412328965840517222005282707432704771531492604584633738276889363903813216306536019480633571959787935236572246778526652934054007283062710100599149496168268134676494128049127182880855611121748894649733680435486496393194243353978022840453253751013506380556747760378228660507929183505931875101578524146192958804725411774924726694780935504887222448743180103550175686790680421052184223955994942550451636262152927816189292567002761887308143177042167552129236739139268605513274007139983216801226743224854490735730412130937266371493256723388374034944362931651848392256623336069123026308771860461300278881524374009614041756639275249799507484521153170772497156545545943639632132079229694012563262348744157739477447032477963048635699167970494665494511757747033699439967324719378555697581418105253684618509456549850501034857149434139667866281410383002793274241617084263389748934700531325327865833405326770970252377983535625963858821299893792017275913730522377728913908663379553135474033087162434268799274822235872334968486466095379276530028997335227533309083004794936185152785672706931248974292787728562271503218916621454036589428950814145619654946850031128555503769807876871129677983516744138865444522036509785117330628152363993788661411754949956554473284210530338136245076228206048233200132126466799910826425245451840641971339083756273578244137503239560267936550298144191247067318479399265134162818278658335536027186600305112992403331350923043831855962105208365005544602574964192874582845552563685687211952892988206924456261058966838180664309366999496512201194208133074927074695239882276999157046284597124201626496206635242867018296785742958104824994432117623978211646780311619270880412982029760141654349312700921721783284163464290737378857999691659277967627866181483040335130718007665543663810860406075934862616580808857581929743963523094455453578467014618050037621250227486083534823436308634421257640719069198768139812667013277791224535285994409729639070994800292552942474744026711600011863655651302778362362920867323729119682345085239978130039377602282251627376510288559740031478329256494633964062466629075919293562966271422832385824187604737106384123424962598663424610272622414599297559144035074140511096586405187077024328452016118817209145737910673388621274126534554996916587294423469449038294383213332346765051338734796901723963628906760190809554840403336497820608141568541757193922903972491092086319036112397493775169771916567658392330878542946233605830945059891589703641090399064126154567604615770104756309043784617783897659057407661304910718903551666399192137827702203022557293693025772334437791975925514276227368441098717460780095992572715942083556722446417970588752287907018497841105258069035364987745258684355458027174497718422594520805179729442733879570655594809810837175464312143963513782470645754925808561575748285190892698638637597957160633770139199232095556321897621134781517432128743172632629636495292192969312071103420369018533093352527477127791646359426364578733155353680400896296311053203088853161263334132105874713586843929241155030467596747324284868634404892183756528650029778529685237100298318180443433721246645763637620943405894952204668983022780217856066886977766887141706569953116596505504347247953808304028356742027402641094232249847377261468858800676642370669377068891411725733442915499845329825003768093719792007821377245381405684643823872322493104371018527648082250517358853884344374669720261084292531755564289496403970428141307526670157209366428030516653075560754330556193426589086347980616720298902904814406929510786693824507002896026757917531948625698210789838683766163227849546186065818773747320423752827245744722283893143952518859218294361473118242325112279341874596681153481968897661964412108989030799589959576910449647031487128530438707461675907466909094349666563446309397553624212112390684628341521149564766661488241184380015682305574326410832252391143288116617638981624374602194804188100216690408725918862116301895317976234219535316358528666022344455687523069284979215707319370375936557195391042290869225251201445894347050218090893519252675956989141344448950351431851905626334941755564792269701159044789443487397037657018745562880863398169734272752311205460148592359473764661397020350140036014244527094029733088733914806904308531198901199552703580479730716672331981481305317163633237357760399463663572511795830526034239842504291398566449520283604452558183214428637152754851068878216462343118014733826407680532652267261730815917432678227276784474453164165050156619626152415509219850794664616571596502967970026491581346887553344433547375529786175608132727554487015191059609864121298210935633254238730698234336396019623692275296640672128184905411790984001655417464850070353368888046655600676147580224130355743723286971029595638658501835075456312543050650909952636711983727908313730763901973935463765179703983485533324178683214387799024329874765912179174944068171823581246723655493489018540562480676957567607466280128871922997328540446315827452027976322362745315450302551858827865225062276698300716444307647881426219546371974264979014808752279823428277359831723237131418587240736676344467347428583574016563874185744681747097132722367741332715828440088550721796393587301202617016921090540982590298588640231621987970316224778975363466645457877842241808516241735014681289876220307825879293203903535567472472378560860302903509783474292859551361830563684399925296152028909697591690042521340726781942824244412369716977275327196129191434808021725732025456505300501675637959206804423776484288629476162129946089789227374430614288432050020685558264092834614661219298397097903572893730297527763256265956248385821934827736676146959854026665669242148992543174952935547979731712705057474308791563461868477502957940034220342786048129708521768673479454327698621759924832577894935017183890886581585867213954010200242057026004014502315483758310178717167442716406133236317048348210764728740672142010950245009504698550282066185515252191915210619283972599459717638339641654774480645073011071151557484524064061546413266235994499267619918610138459435713967502568834106094288428226176392438934545773831343676796886817295258351538837267870127549111219942274898115468923203812519902135147841467961966162710275389214170476267942776447082793393603425310457050549322851196318552043335257007272963511414488221498955867200954402601295784566513396185715749307323307644875174744322353956613292818140722485153461740721382710157487898771784448400784943527258056805783988185486251700929557744782207222524904423691313764863851830024029096418518104030123348222818166921671719633366059777302432852900494294880969574293440105747945208867732163464068060079484879267230457424447531633690107476521281024402484250234931306892766864552386634638605119519151169428094148379246917229273892773764488972732310968364991660814768671047244985507958721160538511359525638054682765044774153138057864077355558342531651087876271261549948789061857406989934454933269345272772139474464365218527038141119172747188020276257409786461562595326751528292153725122921572026519271919284479953766109238300510720925645918916631536652994211500488874814648017502938293788666157895563413211726081385607346385937110829497652081358861445285858904744428870139406867095598127890016247929839740876459303281594054839615641356500864030019965321258973373954292579005152031687682518647016667927039176974006640929179395180945127086508364757680480903819105117907645120975013688337593031888722095095012846362444770108162888011715220314621653044605411555041322516763021644135087296382666651031602998042104589091296681860115133424660196865047594653399282497197223572967968241593993484685290268616489807248471251953095602461570383267124677145868854894346172395090291414674988703685035659052666978931985707574714622592758801154012583408402433752846101795641068446005306465927668204625891119630083737257216307147400170794729102803803905673904958740193234477281417717470174333897681048043303921948430150182466789889696555917283632554927895684810572048623267262458114447722637335924778859576262292759632442105287719376321113687615581787883176406432259780889908744685453189886069554872188587834965910804251149179478732229016712604600146398610253583284217792099388000181752699048944050712392291677339779932687831203227563496691608949443678977633593872186757406248544679123511009341097912929430237106673288160603149794227173297277986711463889487553784570278253696721104887963612636710467504554195732685888425800077597947371607734854239048939361809626164388014272565615919865864042203467353046780897723209989550106428854828150210802598613102001474862392204060432912119451407373498001721014340023910479344388152229079578273504523321713219304388902274023305223511217437182768592586589116556203376912960017878413044615162281893329141247278945003532561681031608389119353524515793970333896529759284442193445693866416719294836847910411569309226556269655114472594051879885616149531110211320357226819068928111092727619931667288889615200870584373538197221178901699560873593599932053868665891213222071333305968851952511006516333497912256502352776479366635145349052388689136677973353174374861431347552611162565496594664911136587444337553156869749995828575289496672787389551678154832722487857742257396311231493607610178841305437385106197370315190010564626203904072563759329165487748919718357725597838585967767981016859464122173260596496712419188986422441390075919152938465465626283552558553833420542700414300323552028273596298378625761769573832840674949849084361384521857419486164853112507139332668995248450645946006913502862951727885927081315789344917214473648830138350012540935926605277064623636266518839440469356367593319152106832464745375304708244778191088662212632633648377937549508538830868090933228240584937665988990476897017607819495220724113251215573515540466702306917065617905249993218993031961811758636094912202551428163170912977177202273813824349390959348775750161637505599781391903167313145572260418666242499266337709722011985061084111397436650799398504900117468582429232860453802780939382600485592710767116298676759375767369291832126242961691399480698015912165672127798997640711828550699278721202509089393999137469062022816863735757268938765282076826718320957293624064551766584030962734658570199014820663420983471309876926082740656094629486791616592024754817289153680326433638248372192516985451255396225218903922506326781498504716066261740748795315956992997847428746129159349693312368096989208623296595763668491059169098896546567806351010954434445504365558828229839111744363618637172403450862928214846305293709536210898396416590541360229411724013360776983751402094814036883619341280576936303975136537730029435477835390570893733961502111710005553460431792773646304196640620498243897541183850736788345628427735889880494302334195101423295159795654578454682106598167478816498982416697827973281229056223447789677508872947440057019007594637463461550248408625466721200104869274879576850067952444868749953138101775220510084586959962731984997405634259024042735241102043878345014523586766028375142666901589205851552099026119561713014529643406013083978925382891063387008525977292137800163720037855182027284969748032149252907532201113409042050665439380434135888418403218705365141088850719673794404374093824324580554218150039174590455638890528766320143012341967141379058561144516094152660945823636229524782654370949158645301719927418437082942689807051811679584436176176784924664336720787952057875271510467249430703174557980002792146217900921621616974376122171405976300304158290939556078900442268468940453939594406204424799892485873138639326862287849763445914720386128208924922558359674289530372677378363018925483759784576285066410898613240712805671584328629979254786852875790464753409943501926324259886306427967641993576675676148685613743476233368713522663455933803868218584581554826906279114816689177510834294330137356616099390638667243554595526906227365057649352614044406204166953741641968520371688113163727795879575738555539223541672307723589754717166459891284444122149700815206265646462429242035187578249377982955518930628409524816374720590217367622307434542362863569814937926801818126089872986636327990879307043595229678645738309284923854273800338642796308051348504787721521297016448619915554118025499136983728652933085717968682514069001206363149402275094090965942522887355352253734611355409323682623319810454112523401151313584001166214346547772470218963793625251958887570363629760106341013640871740740772663735380873453243854921256941208421793389772006839459594034077248417978355161208473659368792082750193719945244914031311107303664196545164052071123054240103944777852893963823496841481992105335756188781518723070609099838093943675633496316011080123140687308611566364133756924859779370643807666766839387842558487435056666994651764796425157235178046739978698027455057795447347021012993089831582566600958122222386658072721450285548676061273164482344726180047266293982118453113957262698320474364206707509935720199905893677247108356807428207668583437816521685505579708978805536908117405734757763971910017066377092935117857724592924122207262329832896994705969713380307060145337770221131710927647852203677271774907382639573824896003235955076790160982611595912119680509805695283627852201558993361372050373359134097867420875501598966013504405290950479517792980680706620923290997497314448739621165608498936265101690314092795383644695488648457055924853056373760880884631027862786998389597298069573276120807658770887729417400750277695629876720779904462994542964973939991659401973291309761932226695422355192830944552396076023241469311623498449054569504796861931790098534172003966694408708482568416714135985721512431178780233926089973866153343675427574397671870445223101745314978915361882477115589350518687825974761475848684654698553537387760090171739071833330046406817952341102805754609458638531129575359670384229137827003664081178418148540634934112383426087390615159326522787329139839953075333516784999433757338243422582176301432326462254241749822076863713088562888894550244425015751657958830211875126999557430371476566399386903803524275649501687315727845956186718377646851684800176487706212923012930571899563793079884210988019031211119919553776011844631529945034934784316081389266126153707848850669624222777410866335339949869364619469931214509821616937977563819588412334458508729991658558883613159906334527113840125141829791616476059229859197408880969496227410910643361690571398572930810534101205514146301586484777823143240815648637695895286696737381896724461423109632586185536696237355575816491473523053896006792922446657508979645207979239437578005844225422860791451007935804766227972076377655451598066260870804369869514444033207774646095989919382003355151939831950042695662638149365173927520512864185733403950122657916498102190371286687556488435667504262155959707245825780551034017396109556008959041855073066800562655638197870855639541005175631932835641989673744529300586226890634980163851450185943950584862372375942292260504617515364186164464765990030904426856864624571397719324306356266817378482742936812962026426366735443466102025864318281976235347328848122196896994734993485393036811398417669584591596697998649790868741597250016610765724346391557419672194478463965087288994365867963896942655930123368562811663949488093044589611470248010872436723169889429672970047638337358940091003961883032790298226575423688305855534937310162868474051489581136603498361661598124922521587053939407271817506801303780777485573033225688061650725227624985287264772509613890220765369255356721917664691449567696521138372924874003308656099334190618784723827983297530488567169446489687195145155285465693940725104249018994784276520652946552636680975548890508790341991719077188518784204552350740043411600205170291521560426418733675600506229615602393930120995411944589990053586984687932903504866314324090972776164652254366130969365350053154130688269440868060176441334361466058368007962023839055747745892638306331406238731715395542610308847756670505822176559315131540512400204757377311504844519337666989011966801770563388942637938283052185566677629084044738716885572721476110187935693844098380998130925997600999336598182427298391570007091327804610212182342875225871990770464335000995262656700094720488490577357173994692511320019199517933306439883596193972261007657139311598907050216034695584747183697135710329095880920442530069851059689126000865240782590433602492655238605796556667786412494088755924853361107695207454788614526111125233761686576446148244769426614933862145497687731780247462982681912549165177231247704677231456776596014439829557168498490691750549526007366450856009660183091349456196829572760448581749689786139341875183205660075920998716803422948191655067039805404106063473880350610868418663246748949915515798925118869259519086989485594425656059292668116253398999490010959435071396264702721351153714638859085500493330224014623738102064503052046833569331854132136673680354780800738758252016111776295064583049872066136726629231177699968003228994565691613984742667873745125700230042731477429847667350177464827449488168172239260648008114110344471937084562172643597080058237623784149722425650754815627123667306367253227474529054376688074234063965564950102299206989390270824369254168775304270837231652420056898078703175554813407367373803798211197616153339441519736922241462214625703691546680313202881935764900948781960843430965089820093645917987661489790401421279873975662518182670809285181999735524434426262099968456813327209541424085140695183902287703660329075377194524663144890793603496129855223198886097556750546526726130394736730822409188234120063336921717826595477896520401966686513345816897121826639380559279603587095791153508380061778184456408361770242834066348570687387928167750199749889462414888830489371639306463993906378193414049167013765130627863939036339013052817709429376947471126572546377444937645592198915079951546351954616212992470063812844925662712112197539303953190078968583043060185414191736039832509093262566618962885002755042013738528369564927886402359839988825073585228225437740999722342474186560886851696678280481371655568193119859578422261741664610230191981113945235851735906342421542354048380605381505792101710039308931134113498243497625103430615200616228545428255511060881436134527562077384042271140346048975032630604594375157471900203994979753363792337216905280853417546907870169270433070010728917553174691336111025177019679222266941465473050212017647022688893987154015669196985107934395802772456008124575960657603841369379077271719817691985665075228575486459097836401373265377668507219675640794173004562631374360279354294227882342085781497517728757496893828112803064237464723537377608786871841718701033493912011345877475551600706158466743530412811984681972186361358352205520556034480105902644692473589951931043534580237280688126329594034414911664273172936081804158011027079929970971875525956482909630726062109357324952870911881343130857229108040742506587859515054182747529600086255104809251232172666761611092288460855123590863893197357668474873321220326928340173767482908492352873037518397724269966181624175113531555400869426276606997671859777063252159488674210408244436890355518029096045482657480312132543101721633954193651426547905101914225216830918670850380938347577804089747429633950521796444108835308774085821489302351738947631560236125991550395342516802042361432389598559917823313047477339436459866412436805564764169885274839255424282767329277810910528313220866224373068186766747379363401655620621777598558073772496196482775981023719220434650182596496880685654397270919915454148214555877790176308833252749387274596683036188424281858481383744786037239597350614605409799707973441087586592921048124465395570926369524794263270824685241073647839393938971448197456553087351673253028576187510762756417528581393490960932305223109010346043812271019295933859556681296829556508506030900275687684805675368516732029733539094175981307725355045680894819815217831490340417990153016248008541460561213070600610892710847716315130061064709936406219017936417669630641856234802865699605739222175049499860008844168088702345563461240555832911876425763973907906998844930836081709047828881691216079706567821723651471307050468518810901287358144113183835023766907939232807703242850742960856212427172052995469679364287032692188984817270256172441619049748563895602730656398072969265919733935509422096440334944433448884605053147639927772665077984744967815834828741659991924477031978856926295276465660437069088895402194749432057486951834261055189495164426143247403437610414853602750285578613328727968034842631851521927196789308558800734052809377119505879826993754360527261537948581560411895969722715997921886635373120855460864612312547034509963204308120465684848180944575999485595868748370819585186343977756700721433094061173370802789366448341167931822018454734988319758669133540759189519528176036495081130833834842418067432184194994842230745557699995732583102504801047272598119251948374211920873321402194419152469324531147507074730643866317510452271600963233492575892555818773680240821319159889383743644537132056499367336259077873997209900243769424748658415182198280867281678150990428937535419068737841492929908143926661605826234616878354458959948096800150773994685211590737722574068578525363642520469439262350013928726579732331287966211692833612045886958733842727796711016670587374359116787851830373286823539272386289444490230947686620779804480444913481674340842722651332251579422655421243201504053204261622878944465342774598659258151219785295100936366313526033294276587058071956306615504667570660160918071539820852123212528195892737708734082131376655640983856318694302555219870363592584978629983473078426055230419152550800616200700677615683504141609554548733320816108051538097465763890285512473201418841596305484763012490138779140382434289894530029558381532951782991735207557453189190531872794647422699495509039818025103694549814082467499652651464577898147705969296578619497818671826782339225544841917753609547899151917372466485536287158345974860816364052913080545698584731987967122182972134381503182574893780822837854696493875611098980302713522206609741564113543234997725842886739479776650964174232431715395811993428833724052489355837009443214695628383749361253477613427809691003508253639243454371168162891249979753654959692445924980081079314156106024537804821972129251418858877341120078299083360661884922739091475918636815849515204345946155666422492688953597338779328036069384455993565340116883548440795604652336215471872513942835788136511754822101271635598171379911475819733299021458250852512984300888106890228252662537258394971873614210015530007408618061535264488769885836454566473598837164802813552779804581429083876797975867863333058430301494171778129511221371260368636074076618701038667177535114988662385882880493095999318356133912525716198442816423295878783613289893994831033707709937972060719120669430064808892266830607525174222576442954879646792494219984632402142856444550983533324231160564169972963143489325573660192431946380573883652782244922659257465431290036808910662136368069101374961953944932857444218913384167977879600498299832501812948611460332540483677484153845543372219623190530354472574637806928033609579859392786552670979978800439609595295450496211313177065952483364182997624849339106297329437059177153791470718161013623480851732351103509075497680704897721416166349724048728617603598846923431101087417498880610858610117495080402929419151848841023576677073186721496679025254837744447091312777901425485209742984954246993157060771785564858730627186020420296141075709561611501397635319979158981931368561082343666815025749937996695237187970768102852472021261096787429346904570503189471290412823882617326266406400132468096216224180447188616053547853147826699744940202587162584267213426184146278952138105896058485051656735671890637003248256467719065811530093856009187302814499032514189544671236328695469096742504396811673857775673808321772943613456605857618759358237804872064564211099222773671928655253352806507717196950550455818856436076806057327624788913648690713531010197843745026265145451431518840278325516594877491772548513230112628249478880578442079462529416339531505142011838378390882255923667318318339264202256321580966178175850414716267944233077637177679294762804156230199349415981771912692351569557070789643370005860453152394250517603201760229802459670587368517263840752021747305066503913077914682461491243832435513002018588911411551775347593356091113858502627306110811163504556380058270055190008353431329747886889067939520894329827610001133428880031161000425097545893163065795744473156882007200627437439620895852737774646025669800605681175364938906453496531287788076957389204979957731203339432794193453863995246726522178025617047787385732099754209107492840816105838913856353385808745090476062771848002924461350044749044502587258636204919771634614721173749273273273274274590099444089780897396255374284964956731435557825886966274326462919749626448514006979798402609718295939897560901215946460827497227137669132693935200586281688532159786914907378713674752735730082531145496052455515526455041035389193073421124826805793656446367190583352069107594316342415006397333447488509700847049014389647711869537236798845924416641690515129826025055150875595288359152049784968444260737890468267951207499740026282314983894175098464597443410871279647036699923822956829064366686269333040037588610706405499995741696421112573579218683887398738506083598599749235281599930138880913264749947925177429156556515731569858645291341742468771052614545171985098272941213156915975573018779878525523212898513837006986365199487106897627975222084216974397906203212714947937970849653782857639102246172382821621953533712451991459494469086737454857176683941319458361304928566761369080807954712871658619557808562982156414135123227332510660524778409962198927476286546265828616934835387026068171794195663098326492132986291190903063960806305999466932272678060575128788219856268259023188736107103000472988839472276717467935390482763615467115549587215488048249469094172119422662228705726752377791309778603462762222611443643417363732068193765783396272927323741003199651117554767858479520114449825779145024133312039988903990887493915943430968662857494146343975007144695782621344946992087796785660683904173326421346864165630407185557562848619446382600813216106496012704578635597298437208750453527108419589461470514897601424173612333361210818797009818460706728630299810425465722208388544909613359622939777538079168633609520557278800049624615991725031626162727081657336779925042925323089677542824342417438254843019682210056198333902705771187404701239637444526439023904384412855199791090596925099979698414368954073782192066780231122795972774183426196809826271505863022063729761504930990836313691437701917142147476653610144637442149620048482132125159257375237462912231282191699493127514657772495418601130047475535453789724328642327065367763817943835978540159623205006360774336901278546213584008552213978694425320269548658025588094298180062829310415418961862694707019541325238212239323329468245863491680940448602275094196834513529559842436084164906135076082681181990775457551854014017591032042786589416373797775199981573821673433550620748752591836133994564160170379008845122899920430128286656909357143006435466541721638819266940958307696617403981512664181900090010578541797419506317637974882886381300658708460352690434296649922021740650087489939214245277928235217560118023576191034505564144831550189352724838868292084146263166434184701159028799278671769459675008558801216608665412592588033431803400188247385037398130515726154538347017087682243567983037147804601304788100296111181271894554262317598021731391793612476928040383474290861634656353792611789837147421796193325412202747137651711309748621513565539242767545166594696219112584247416968861097660744115331303679576875616516439100234387494024554147830707797503838754950199746161646984039871292054419505993296310330360270561951028368772391107827228326351487325818190434562234582624333970944852328004917149503283073601751024301668688862254606356876123936860105949282443843234817048386116276421426400282795777615026009270901383144467716998382643877773742815010211418216795021445319972299586479833926745585815360915218524340351900695457970091315330602280593978149100367705057546705182327529923789797508866591026264650450183433615932407806801230288037523423801656295076679366943461447227972932537342275504255831636245096697120778266021794155320077137478214311116595136622558576600058979944260876982209006854387575546064011394639283152969963387958757946907905945853550886411998882204252788359236369503772962252192488746996760352166970562984886195199505612920063895083408105369664031801741039957091957941693449551840025024288042420220082433059781217784799070841319035855715086131028352607812647917130558110892977821018064630436012472050626455068970489970151548248949433240583097422331793613097891315365897895964122812139459468061450730541138957634114230788784641301745302626814427120727234845152310236488639028185666024931509043232734865451942819577671421790511310624850576993855013607774896887728388595185577890074772684916397332512303650623958411094462280395115905464626394251769967403849090944423793281432071396687899801794453000994057960840165710816169000260096202216529939322969426087404682068925310559690178754531585318339957866965343138740573415953278631796989514855483345674240572492001679278098757774139357133474394149617922073845941542171322462646572411834668311113636476312583493049399118037157526299817867789330524593985150654052541646940893816643147011724447347411406613920380394531838050646440264548137680757049040271906606764401940831483568507505362672876798396421635432353471734784299861307123644497120567589027575081499885187995394048934212861781671786595466752282150917182496678884812413094696496638534273385378803708447813883167664284055743105378797424891731024665101241803581458963686166582797591466187487042517396994969934190509796334617659958863770534968514000899850120079982486368895431081491647154326268056443513857083829684381997268743606076816781865374387688253384354083489559906151398703370230052692691133250788475035060134286404151912483055299971365656936303113456138220399679611697343401078296874605693531044232979366864523812070039275066284372915686456239331113423035353088795736529302815950966999735981833291713427400438500379332354137887619841338512714910126959081776006171478226215933399945395148393873895195495130648168802909029923404690278155005087530131885209149853990902195947696388299318276497315331645572191020604161083781602079494525035972733838235521730417528437038717440282297686628662109432373287283750127186949365166587239613870193835746356792334230799338980538590048147220857637170988275895461242165610525885584856953275063044274399601575219833599802065636819336610608751482705876013505556738450915244601744420171621638695977337382697297902404285966942204784441864352517658853082455025885387006612880223614770659391929794809421578003976079573614971519402470704462879104233843283956321798110046468584563540087942584852914800115042718609490434164609223790022107119024885386548911495139196152646419539820675789076620953489740429597529347531569115323194239482449337837299357018633704106277456671940096023557521451936949331898159649312506290274480072882954691604935838263375908651171651423689074550245502004785841895905329306426313887637188576338132214553671663265961676356327902645091907578893335073295060609375705221913846222030258619642121149558042132393844884484787344263672778925740082272032396143348924118297806724457789448659767937316315028474593933656074614761441871297060067259398991625062331954557665937640931487833492219616770485243893585142961582555767963217107904923069660101294323133805288668538049717790658448039573055190761222044079087786803999312240303054101807238506697472338424478194862775105550356919936999514339401973087575214819257404671299079542057628424553760525168824726346100344234747567258554236689389600167351612404816372106118236291226846421931160948584850211277525399760296538723278802104020223673578297948869869505484493193269140810370347423657336389697224540511929458610991088283633597074230932071707305798187387025763476653237190642199998933031724942141125087315283840636884987309469013924586019254409512092346407882590843714015194279559088698299050476265310213769859726625772440187864826217497418293270253992476272843184140028439147284300992492296116098381938648129390424983288744907846883788840111436935265522203257234762977582348706273797734889546343547858086097914028395897137426144309679304239585488347008690920179147531970501187687258525125323700924448612436996589493676490508956526030480156216387459154088540793068740259334749799382074282884988652754124607874916881698362513141159228829895017614102755307820356598262347866904599218503673226693657891221568620063740318120628385966806701132693524703187797075460869256781250286587730197282262734512395855111407268894943398161940602246328289414474349472761828170495433320668306452112795429708598715301731614182164762465560488411689768589470537826167323664908693244078904158387931526089223779960332669219200161231719704229294441271755469788566770070136055805097752679742137151722557260923944256959448304564605349099533776445958825796192617093044335660062908669506496655363529933688289505625691450857128265407155659871872485004205043891303078620460152107077368267945163281128906478176430302569007400082996196729873029610578139959541484217382679343215183596609303784393919707746596499852374525931456791199819156748928739430628727156027200511946676168128924526662921753344795437422838184159288092695513627315517940816798691905329510159999148866480518526320571622941766083351364309513894311333951569462069290710638546470441206199900266103290915433314604175006183399935991104789446067033269237281477994516615030441200732234765624390267047954417265462697181940807795312906219591691895385701866980409168311519372745900517972452413085346900422319229450468302533471902363108985256747455074465845637845642866397443335950373302927460235701945673963926686443712137982115533918320736059175027218951602025223841944670410566264352118174518542823256212888052684546296082286351153071997937125361988579166694194242333131585335269345325575240087031622037904648487003967471077040298697188136279026254736043034460886148528370811863751840071866427166307179304886987361960821496398633551984250636363519558657197889232091729121873610971698962772149056878137789829053252559041934605743732645939300351512333786353697845294128687687677246147435658193185254770759883770643233910777180014135189914409358109396185831615881725675017434744845456840660773128502180114013245345412547053948995983713566679864421016013203904628243684002319710916939829581217508236760497332147053150616586709127673492074381417324392832048717812205829212692678604972828311951314177616789418369641788972972261974349236977652557213220096516869367699254057915834030096511548539401621439132843422456093044614827442779612109817683750776859514106741624176785196423464643009211237649899045969245872638018286225025306474937783372231794394129457172326316241299296261039823892318526972615919485405742422857292438545962456277644447054064157113985699103181860703668667173317971293831299636666647471731610988534897964325818880871590040164883442137021172399890773137807256727839132260268597797328189758951077573217777688692791164278534995056532628303002814544957848237349425516139801763689276010822783637260522822624120855510186090893129324782189711029857155446344126192486320846604146125676080517494335684543103741693103756067803228360171071546334815221575477039251770123497962793451114231200458466522493194213694957376779191246409103167030487280102651155631750146534434134406102619152327889059799055726533307734832163700669615222583138386781483361858122413071892444768869004744775670049429048974532673239340159183493552063932887444709828613445975852038980583590705184946301090548868646374830543048256595999626331988069219245051736864085715837169297935503719542783153282768055170708667918735391356563762035142062605676538743801042252607476685033088916983123194439501235328981196405852086913222285983282909528163361957607617685256234590153502630319044253061741064906742706895674515661800224037132244073781239889716825961083966001513551990717381119293657273384765848379262010703985854329593173681072347608499994244329649363117216445849604548811713710773010006495305877136755855797707532781627886806217065248461889714618153241956919530121883102820428168261637447471102604187637025782096690288073728976904291834792267886198794402606282773477457810230256045203609311410622723149286860323809211709051825091665489498769046048600561770580687110948051663533482508433846468007752389046805328013269492114992150070372779073162442302984282358926942041048231630587404358435529931382403104991313188842884118832536657762773369956029156382250551369947136572229580090330726093719783029917388153322413666168904671733657807034798900845751406629340131756257853032348807044107805135351914395620046530780664856780285323044358006023844366174765953202297357740399863240529793038338552704859008841738394080311213642314006908364610800591652087534873017453190292805186820410250718902878958394634930711144076622157573680792642783362793460392459099258554138342468703747617293043625820444430450952269734444500120726144929105948895150521376795039845297682526917882246564649970029433025023983477411174289724926166820339940439946503190592501582132527124839529965074796548249991694609641626261211891936880395851572344879225640350315874150012722647881099895901152803466800537885565032246387221090766174716962348055654823847230155271107720333639860750771381069664905629725319454928578158918597533256467695073650220872297720903172289727469345332717091725439546299351292391164205832748735210627231405102168745325567064110829944600214804176530153185727954692938208783124953148853581112123192151342149228644713067142803341350948484821005384753008109133634409018650985205337905953782702981046376676366227367671207341355016596179927186057836868566226947423523963497678709559599533685359737587669433149255144484806417940967711094381248384676405382941735554856325695254256704044487335792702062851574585453030384971001160902863270441715197596451574795644371378889979994328755193595116844418842778905720873911045865056548501920790375644145145345021835126043631498011772642473268445126672636050773250149431258992215414082688783635267984048185042387473536487173231719520085415187121113374263987146571510509750386899636354096538663242667056142968281962701561820014186519543844970363430772663119269693423015239302290154979705135167806887549436803329877433251109333096763641029609152779815301882498067037856238830504519623461934694316894376616431042815299604955886496379981558753228191251974477043181022519726689635412330756583469526569904568650643340780154987513592167024764814495958336106697653291296206700090196656057820341126552550883996621155961162826869268431557340032405813826078730738607364899678913088397880743698939595517521197021725576697855521980152984362885580544449098256172990710246301044924950509877500263822189147536877535247677309014151564174882119155683461086591560836111691572223865472823987728284188887987760489553119295035802990624910037190473186670490607535767664745034292411954759463505651172127728501554284579783562008941842616397433507869611050501251860193052191414986006480978032546912222800971380657131267639464899334651569045018813634743806873875928512151274500834296761205261985326524397744282951154535388208157142293969674493806592311323297203027100021769542192426739458610664000497712841343580168218379127720206375191507315547084608181358503791818086677304558926978920639646087167814354237293136946698698590384478435977046370580527423974841183878830482775308235854870514875511010368939552817547557862944584526709871906474535141998028591577140576271428621294912004399722627414628151896387075023345001568356976945528816363206974793165385757250309819242287617960413462926369877254845182316379713917481428899433352437915057730910800567713836796566594173753944338013622115640611415637690400848751299320189361984369212560370542716915669897075526729520895743095049844763525305747324859815956660467746156167099589304748617633822628303968794885480320259961599575271578946861247099253386408325839769304232899066265665461240552942270401252499114995069190511698235590416188779826046149929738418780369132809644582688382048933662285118161593951748371661563771402956249240123727633819299919003424272177438925518565978364227797422553579823395418489616263746673685119613194444004710438684929914834737887982121672935993803981140137556829445663284204887816815642721553095988822562551243665456903564200958097422711782467024140178945235825674901235529136906901068662483520428842509973073495324252460097013346815439843703732452643822717552661619005408206411883745629166383989948179219156095466118047853680145174559302156411301355137611739825235958441739289172233213304438780306405573886783419340093211557836342216072691041491798620656760111646998921987619997942696369466793483317069130532547267119323782109551919399597704069866335593957935277660825572689208222983758370151538647529070473410137394092514876771805139739361456893611268070765630168542474229355469428127006700364278949225359418644424704913610587737376105898709892850803005052532919052235412208268980425715885754380134744198636141865095234612208116712244390887743482756225764511839575839740743210827914048745454009090248251513772596566080742182301264676487054264820837601764068150905592551428597880107648604250414005199918552326284891642167616582483093872836153265551434861535507718079401748333110483594090323414507149996268207549858418565872657860914027295100710510350013655733349477256628036754423707347258112407170990615039656124123867235011563483282436024131553296130871829749740969065966387715171734571510694848416890348691788017252652949208426081771724965198354062038476709178711636063093524517812959679172353171106587566804191283158577041333075821279618403382247468968444313552622759523065882692136720805281601113163114282126951138067709241114053037038496889512728994084119051232661599064598530005801263624750497010303025835182431226758339577876695794933698834327933113948376087381139461699533314510248131639574311426373242723764966066256478149071981826087013549254172070386397282149800984370306778701121021927501603831427460947266407489693713179056817236414403277132630946170548113537540185688959235160957553171795128484211279042428593428206536736143264694548814553853865594397865251765241359388605672449361081255838601797288373285954689690490062335104962554756968550179266450463028828673476619456950251669525187599298009783075235924074989905150813989369680353563128927782154445111725675227970617820367718140424143746854278716787771790386638825880100801409093985056646282675248307056288339955094021150944007749828952452081191333461586628178883898792846298822413370825894504347837763975680951610680764745398895988821978144986862231432823433931451826875933661147700439333417124639359580658858756040727795693819551686280678596359964537277828419067025959140202688430357169539289206863973910109309940638990749783872956841616013690515107648438288714381893607185838830715161462240374649006065748956493238454965017926474572872363479683127720120143601391894727230251309