1248161723243133363842454649525561647276788287919710111011511712212713313414014415115316016617318118919119920621521622523223323323423523623623723824324424525225325525725826026726827127427527828228328728728829229629730230330430931231331931932032633233334034334435235335436237137238138238339240140340340941141241741942042642843043543744044244444745045245545846046346746947247747948248849049349950150451151351652452653053353553954354554955455656156356557057357558058558759259960160661461662262262463063763964565365566266366567267667868569069269970770971771972172973273474274975175976676877678478679579779980881481682583283583583784084084384684685085385386286586686887187287587887988889189290190490690690991191792092392592893193493794194194494895195495896296597097297598098398699199599810041006100910161017102010271029103210401041104410521054105710651068107110801082108610861087109110911094109810981101110511051114111811191120112411251127113111321139114311441153115711591159116311651171117511771185118911921192119611991204120812111218122212261226123012341236124012441248125212561263126712721272127612811283128712921297130113061314131813241324132813341337134113471354135813641373137713841386139013971404140814151424142814361438144214501458146214711471147514841487149115001509151415141515152015201524152915301531153615371540154515461552155715591563156815701576158115841584158915921595160016031608161316161625163016341637164216461651165616601669167416791683168816931699170417101711171617221725173017361741174617531753175817651768177317801785179017981798180318111816182118291836184118501852185718661875188118811882188818881894190019011905191119121918192419261928193419361938194419461950195619591959196519681975198119841993199920032008201420192022202820332038204420502052205820642067207320792084209020972099210521122118212421312139214521532158216421732173217921882190219622052214222122212228223522352244225122522259226622672276228322852286229322952304231123142316232323262330233723412343235023542363237023752376238323882397240424102416242324292437244424512457246424722476248324912497250425132518252525342541254825572566257425742582259025912595260326042610261826202625263326362638264626492654266226652670267826812688269627002700270827122712272027242727273527392745275327572763277127762776278427892792280028052808281628222824283228382843285128572863287128772885289329002901290929162918292629332938294629532961296929762985299330013009301730263027303530443046305530553056306530653069307830783084309330933099310831083117312631273128313731383145315431563156316531673170317931813186319531973205321432173218322732303234324332463253326232663267327632803281329032943298330733113319332833333334334333483352336133663374338333893391340034063411342034273427343634433445345434613466347534833483349235003503351235203526353535443545355435633568357735863594359535953595359936003600360036063607360736073616361736173618362436253625362636333634363436363636363736373639364636473647364936583659365936623664366536653669366936703670367436753676367636803684368536853690369236933693369837023703370337083715371637163722372737283728373437423743374337503751375237523760376037613761376937713772377237803786378737873795380138023802381038173818381838273828382938293838383938403840384938533854385438633871387238723881388938903891389138923893389438943899390039013901390639073908390939133914391539163924392539263927393639373938394039403941394239443948394939503952395739583959396139683969397039733974397539763979398139823983398639953996399740014004400540064010401440154016402140244025402640314038403940404045405440554056406140704071407240784081408240834089409440954096410341044105410641134118411941204127413441354136414441494150415141594168416941704179418141824183419241944195419642054211421242134222423142324234423442384239424142414249425042524253425442554257425842664267426942714273427442764278428442854287428942954296429843014301430243044307431143124314431743234324432643304330433143334337434143424344434843564357435943644366436743694374438043814383438943924393439544014408440944114418442044214423443044324433443544424448444944514459446044614463447144744475447744854492449344954504450645074509451845254526452945294530453145344534454045414544454545494550455345544562456345664568457245734576457845824583458645884596459746004603460746084611461446214622462546294630463146344638464546464649465446584659466246674675467646794685468946904693470047034704470747144721472247254733473747384741474947554756475947684768476947724781478847894793479347974798480248024810481148154816482148224826482848324833483748394847484848524855486148624866486948774878488248864888488948934898489848994903490849164917492149274929493049344941494249434947495449554956496049674972497349774985498949904994500250095010501450235024502550305030503050315036503650455046505150525056505750625063506750685073507450795080508550875087508850935095509550965101510351075108511351155124512551305133513351345139514251435144514951525158515951645167517451755180518451845185519051945199520052055209521552165221522652285229523452395246524752525257526652675272527852815282528752935301530253075314531453155320532753335334533953475348534953545362536653675372538053845385539053985407540854135422542454255430543954445445545154515451545254585458546154625468546854765477548354845487548854945495550155025508551055155516552255255525552655325535553955405546554955565557556355675569557055765580558655875593559855995600560656115617561856245630563056315637564356525653565956665670567156775684569356945700570857115712571857265734573557415750575357545760576957785779578657865790579157985799579958005807580858095810581758185824582558325834583658375844584658515852585958625862586358705873587958805887589158925893590059045910591159185923592659275934593959425943595059555963596459715977598259835990599660046005601260196022602360306038603860396046605460596060606760766076607760846093610161026109611861266127613561356138613961476148614961506158615961656166617461766177617861866188619761986206620962156216622462286229623062386243624362446252625762596260626862736280628162896295630163026310631763226323633163396340634163496357635863596367637563776378638663946402640364116419642764286436644564496450645964596459646064696469647064716480648064856486649564966497649865076508651065116520652165296530653965416545654665556557656365646573657565836584659365966600660166106613661966206629663266406641665066546658665966686672667866796688669366936694670367086714671567246729673867396748675367626763677267786783678467936799680768086817682468296830683968476848684968586866687068716880688968926893690269116920692269226922692569276927692769356937693769386942694469446945695469566956695869606962696269646972697469746977698069826982698569936995699569997003700570057010701070127012701770197021702170267034703670367042704670487048705470617063706370707073707570757082709170937093710171057107710771167116711871187127713471367136714571547156715771577162716471657166716871707171717271807182718371857189719171927195719671987199720272117213721472187223722572267231723472367237724272507252725372597263726572667273727672787279728672897291729272997308731073117319732773297330733973397341734273517357735973617361736673687370737173757377737973817382738473867388738973917393739574037405740774107415741774197422742774297431743574397441744374487449745174537458746074627464746974787480748274887494749674987504751175137515752275287530753275407543754575477555756075627564757275787580758275917594759675987607761276147617761776217623762676277628763076337634763876407643764476507652765576577660766276657667767376757678768176817683768676897696769877017705770677087711771577187720772377287728773077337738774277447747775377567758776177687768777077737780778577877790779778037805780878167819782178247832784078427845785478617863786778677871787378777878787878807884788578917893789778997902790479087910791979217925792879357937794179457949795179557960796179637967797279797981798579917995799780018008801080128016802380298031803580438046804880528061806280648068807780848086809180918095809781028103810681088113811481228124812981318136813881438146815081528157816181628164816981738181818381888193820082028207821382198221822682338237823982448251825582578262827082728274827982888288829082958304830583078312832183268328833483348337833983458345834983518357835883588360836683678375837783838385838583878393839584008402840884118414841684228425843184338439844284508452845884628468847084768480848984918497850285068508851485208522852485308536854185438549855685568558856485718579858185878595859685988604861286208622862886378643864586528652865286548661866186618663867086708678868086878688869086928699870087028704871187138713871587228724872887308737873987468748875587588763876587728775878487868793879788028804881188168819882188288833884088428849885588588860886788748875887788848891889788998906891389198921892889368940894289498957896689688975898489868988899689968996899890069006901190139021902190299031903990409046904890569058906090629070907290769078908690899091909391019104911291149122912691299131913991449145914791559160916791699177918391869188919692039204920692149221922892309238924692519253926192709273927592849284928492869295929592969298930793079316931893279328933493369345934693549356936593679373937593849387939093929401940494129414942394279433943594449449945294549463946994709472948194879496949895079514952095229531953995449546955595649567957095709570957195749574957495839586958695879594959795979599960596089608961096179620962096239628963196319635963996429642964696529655965596609665966896689673967896819681968696929695969597019706970997099715972097239723972997389741974197489756975997599766977497779777978597899792979298019804980798079816981998229822983198409843984498449852985598569856986498679868986998769879988098829888989198929894990199049905990799159918991999229929993299339936994499479948995299579960996199669970997399749979998599889989999410000100031000410010100151001810019100251003210035100361004310043100461004710054100631006610067100751007610079100801008810094100971009810107101121011510116101251013210135101371013710142101451014710148101521015510157101581016510168101701017110179101821018410186101931019610198102011020110204102061020910213102161021810222102251022810230102341024010243102451025010253102561025810264102661026910271102771028310286102881029410301103041030610313103191032210324103321033210335103371034510346103491035110360103601036310365103741037810381103831039210400104031040610406104131041610419104201042110424104271042810437104401044310445104531045610459104621046510468104711047410478104811048410488104911049410497105011050910512105151052010522105251052810534105351053810541105471055310556105591056610570105731057610584105871059010593106011061010613106161062510626106291063310633106331063610640106401064610649106531065410655106581066210664106641066710671106731068010683106871068910696106991070310706107121071510719107231072610729107331073710742107451074910754107581076110765107711077210775107791078510791107941079810805108101081310817108251082810831108351084310846108491085310862108641086710872108721087210875108801088010883108861089110892108941089710902109041090410907109121091410920109231092810931109361093910944109481095210955109601096410969109721097710982109861098910994110001100311006110111101711025110281103311040110471105011055110631106911072110771108611090110931109811107111121111511120111291113411137111421115111156111591116411173111821118511191111911119111194112001120011200112031120911209112091121211218112181122411227112331123311240112431124911249112561125911265112651127211275112811128211288112911129711298113051130811314113151132211325113311133211340113431134911351113551135811364113661137111374113801138211387113901139611398114041140711413114161141911422114281143111435114381144411447114511145411460114631146911472114781148111487114901149611499115061150911515115181152511528115341153711546115491155511559115651156811574115781158511588115941159811605116081161411618116271163011636116411164911652116581166311672116751168111686116951169811704117101171211715117211172711731117341174011746117511175411760117661177111774117801178611795117981180411810118191182211828118351183511838118441185111851118541186011867118711187411880118871189211895119011190811914119171192311930119361193911945119531195311956119621197011974119771198311991119961199912005120131201812021120271203612036120391204512054120561205912065120741207712080120861209512098121011210712116121241212712134121341213612139121461214612149121521215912159121621216512172121721218012183121901219112196121991220612207122131221612223122241223012233122401224212244122471225412256122631226612273122751228312286122931229512303123061231312316123201232312330123341233612339123461235012353123561236312367123701237312380123851238512388123951240012401124041241112416124181242112428124331243512438124451245112451124541246112467124671247012477124831248412487124941250012501125041251112517125261252912536125431254412547125541256112563125661257312580125821258512592126001260012603126101261812624126271263412642126491265212659126671267412677126841269312698127011270912709127101271312721127211272312726127341273412736127391274712748127481275112759127601276712770127781277912787127901279812799128071281012818128201282712830128381284012848128511285912861128701287312881128831289212895129031290612914129171292512928129371294012948129521295212955129631296712967129701297812982129911299413002130071301013013130211302613030130331304113046130501305313061130671307013073130811308813089130921310013107131091311213120131271312913132131401314813149131521316013168131771318013188131971319713200132081321713218132211322913238132391324213250132591326113264132721328113284132871329513304133081331113319133281333213335133431335213361133641337313373133731337613385133851338613389133981339813399134021341113411134171342013429134291343613439134481344813456134591346813468134771348013489134901349313496135051350613510135131352213523135281353113540135411354713550135591356113565135681357713579135841358713596135981360413607136161361813625136281363713640136461364913658136611366813671136801368313691136941370313707137071371013719137231372313726137351373913740137431375213756137581376113770137741377813781137901379413802138051381413818138271383013839138441384413847138561386113863138661387513880138871389013899139041391213915139241392913938139411395013956139571396013969139751398313986139951400114010140131402214029140291403214041140481405114054140631407014074140771408614093140981410114110141171412314126141351414214151141541416314171141721417514184141921419414197142061421414217142201422914237142431424614255142641426914272142811429014296142991430814317143241432814328143281432914333143331433314337143411434114341143461435014350143501435614360143601436114361143651436514366143701437414374143751438014384143841438514391143951439514397143981440214402144041440814412144121441414419144231442314425144311443514435144381443914443144431444614454144581445814461144701447414474144781447814482144821448614491144951449514500145041450814508145131451814522145221452714533145371453714543145441454814548145551455514559145591456614567145711457114578145801458414584145911459914603146031461114612146161461614624146261463014630146381464114645146451465314662146661466614675146791468314683146921469714701147011471014716147201472114721147241472814729147291473314737147381473814743147471474814748147541475814759147601476314767147681476914777147811478214783147921479614797147991479914803148041480614813148171481814821148251482914830148331483814842148431484614852148561485714861148651486914870148741488314887148881489314893148971489814903149041490814909149141492314927149281493414942149461494714953149621496614967149741497414978149791498614995149991500015008150091501315014150221502415028150291503715040150441504515054150561506015061150701507415078150791508815093150971509815107151131511715119151191512415128151301513115132151361513815139151411514515147151481515115155151571515915161151651516715170151711517515177151801518215186151881519115195151991520115204152081521215214152171522515229152311523415243152471524915253152541525815260152641526515269152711527515284152881529015295152951529915301153061530815312153141531915322153261532815333153371534115343153481535315357153591536415371153751537715382153901539415396154021540815412154141542015427154311543315439154481545215454154611546215466154681547515478154821548415491154951549915501155081551415518155201552715535155391554115549155531555715559155671557215576155781558615593155971559915607156161562015622156311563615640156421565115657156611566315672156801568415687156871568815692156951569515696157001570315703157051570915712157121571615720157231572315730157341573715738157391574315746157471574915753157561575715761157651576815769157761578015783157851578815792157951579715801158051580815810158161582015823158261582615830158331583615836158401584315846158471585115854158571586015864158671587015877158811588415888158891589315896159001590215906159091591315917159211592415928159361594015943159481595415958159611596615973159771598015985159941599816001160071601116015160181602416030160341603716043160501605416057160631607216076160791608616090160941609716105161051610916112161201612116125161281613616139161431614616154161631616716170161791618116185161881619716200162041620716216162211622516229162291623016234162381623816246162501625416254162631626716271162721627316277162811628216290162941629816300163001630416308163101631116315163191632116324163281633216335163351633916343163461634816352163561635916362163661637016373163781638216386163901639216396164001640416412164161642016424164331643716441164461644716451164551646016469164731647716483164831648716491164971649816502165061651216515165191652316530165311653516539165461655016554165581656516570165741657816585165921659616600166081661316617166211663016632166361664016649166521665616660166691667416678166831668316687166911669616696167021670616711167111671816722167271672716736167401674516746167541675816763167651677016774167791678116787167911679616798168071681116816168181682716831168361683916839168431684816851168521685616861168641686816872168771688016884168881689316897168971690116906169101691116915169201692416928169321693716941169461695016955169591696816972169771698216982169861699116996169991700317008170131701717021170261703217034170381704317049170521705617061170671707317077170821708817096171001710517112171141711817123171301713317137171421714917155171591716417171171791718317188171961719817202172071721517218172221722717235172411724517250172581726617270172751728417290172941729917308173151731917325173251732517329173351733517338173421734817348173551735917365173651737317377173831738417385173891739517396174001740417410174121741317417174231742517427174311743717439174441744817454174561746517469174751747817478174821748817491174921749617502175051750917513175191752217530175341754017544175491755317559175631756917573175791758317592175961760217607176111761517621176261763417638176441764917658176621766817674176761768017686176921769917703177091771617721177251773117738177441774817754177611777017774177801778817793177971780317811178201782417830178391783917843178491785817861178651787217872178721787617883178831788617890178971789717901179051791217912179191792317930179311793517939179461794817949179531796017962179641796817975179771798217986179931799617999180031801018013180201802418031180341804218046180531805718058180621806918073180821808618093180981810318107181141811918125181291813618141181501815418161181671817518179181861819218200182041821118217182261823018237182441824618250182571826518266182701827718285182931829718304183121832118325183321834118344183481835518364183671837118378183871839418398184051841418422184261843418434184361844018448184481845018454184621846318463184671847518476184771848118489184901849518499185071850818514185181852618528185291853318541185431854518549185571855918565185691857718579185871859118599186021860418608186161861918622186261863418637186441864818656186591866818672186801868418691186951870318707187151871918727187321873418738187461875118756187601876818774187751877918787187931879518799188071881318819188231883118837188461885018858188651887218876188841889118899189031891118919189211892518933189411894718951189591896718975189791898718995190041900819016190251902819032190401904919057190611906919078190861909019098191071911619120191291912919132191361914519145191531915719166191671917319177191861918719194191981920719209192101921419223192251923219236192451924719256192601926919272192721927619285192881929219296193051930919310193141932319327193291933319342193461934919353193621936619373193771938619391193951939919408194131941819422194311943619442194461945519461194611946519474194801948719491195001950719509195131952219529195321953619545195521955919563195721958019585195891959819606196151961919628196371963719641196501965919663196681966819668196701967519675196751968419689196891969019690196951969519696197001970519705197071971019715197151971719721197261972619728197331973819738197411974119746197461974919749197541975419757197571976219762197651976619771197711977419780197851978519788197941979919799198031980819813198131981719823198281982819833198341983919839198441984619851198511985619862198671986719872198791988419884198901989219897198971990319906199111991119917199241992919929199351994319948199481995519958199631996319970199741997919979199861999520000200002000820008200132001320021200262003120031200392004620051200512005920066200712007120079200872009220092201012010420109201092011820123201282012820137201422014720147201562016220167201682016820169201742017520175201782018320184201842019120196201972019720205202102021120212202152022020221202222022720232202332023520239202442024520247202522025720258202612026120266202672027020273202782027920282202852029020291202942029820303203042030720316203212032220326203282033320334203382034120346203472035120355203602036120365203742037920380203852038720392203932039820406204112041220417204262043120432204382044220447204482045420461204662046720474204782048320484204912049620501205022051020510205152051620524205282053320534205422054620551205522056020565205702057120580205802058520586205952059920604206052061420623206282063020630206302063520637206372064220647206492064920658206632066520666206712067620678206792068520690206922069420695207002070220704207102071520717207192072720732207342073620745207502075220755207592076420766207692077820783207852078920795208002080220806208132081820820208252082720832208342083920846208512085320859208652087020872208782088520890208922089920901209062090820915209232092820930209382093920944209462095420956209612096320971209782098320985209942099721002210052100521006210112101421014210162102121024210242103121036210392104021044210492105221053210572106221065210662107121076210792108121081210862108921091210982110321106211092111221117211202112321127211322113521138211472115221155211592116621171211742117821186211912119421198212072121221215212202122421229212322123821240212452124821254212602126521268212742128121286212892129621298213032130621314213142131921322213302133421339213422135021355213602136321372213722137721380213892139721402214062140621413214182142221422214302143521439214402144321448214522145421456214612146521467214712147621480214822148721492214962149921499215042150821511215202152521529215332153721542215462155021555215602156421569215702157521579215842158521590215942159921600216052160921614216162162121625216302163821643216472165221660216652166921675216762168121685216912169321698217022170821716217212172521731217392174421748217552176121766217702177721784217892179321801218042180921813218212182521830218342184221849218542185821866218742187921883218922189621901219052191421919219242192921929219302193521940219402194221947219522195221960219652197021971219712197621981219822198721992219972199822004220092201422016220182202322028220302203522040220452204722052220572206222064220702207522080220832208522090220952209822103221082211322116221252213022135221392213922144221492215322159221642216922173221822218722192221972220322208222132221822225222302223522241222442224922254222602226722272222772228322292222972230222309223092231422319223262233222337223422235022350223552236022368223742237922384223922239922404224092241822421224262243122440224482245322458224672247622481224872248722487224922249822498225042250922515225162251722522225282252922536225412254722548225562256122567225692257322578225842258722587225922259822601226012260622612226152261622621226272263022637226422264822652226552266022666226712267322678226842268922692226972270322708227172272222728227342274022745227512275822758227632276922776227772278222788227952280222807228132282122825228302283622845228482285322859228682287222877228842288422884228892289622896229042290922916229172291822923229302293122933229382294522946229542295922966229682297422979229862298922993229982300523008230132301823025230292303023035230422304723047230522305923064230672307223079230842308823093231002310623106231112311823124231332313823145231522316023165231722317923188231932320023208232142321923226232342324023245232522326123261232662327323282232832328823295233042331223317233242333323342233472335423363233722337723385233852338523390233982339823405234102341823418234262343123439234392344823453234612346223462234672347523476234832348823496234972350523510235182352023524235292353723539235442354923557235602356223567235752357823582235872359523598236042360923617236202362723632236402364423648236532366123665236712367623684236892369023695237032370823710237152372323728237372374223750237562375823763237712377723779237842379223798238012380623814238212382123826238342384123844238492385723864238732387823886238942389423899239072391523922239272393523944239452395023958239672396923974239822399123994239992400824008240082401324022240222402624031240402404124041240462405524056240572406224071240722408024085240942409624099241042411324115241212412624135241372414424149241582416124165241702417924182241912419624205242092421124216242252422924232242372424624251242512425624265242702427524280242892429524298243032431224318243222432724336243432434424349243582436524372243772438624394243962440124410244182442124426244352444424444244492445824467244732447924479244792448324489244892448924494245002450024501245032450924509245102451924525245252452724529245352453524537245402454624546245492454924555245552455824566245722457224575245832458924589245922460124607246072461124617246232462324628246322463824638246432465224658246582466424664246702467024676246832468924689246962470224708247082471524721247272472724734247412474724747247552475924765247652477424777247832478424784247852479124792247922479424800248012480124810248162481724818248262483224833248352484124847248482485024857248632486424867248722487824879248822488724893248942489724905249112491224915249242493024931249352494224948249492495324961249672496824972249812498724988249932499324999250002500525013250192502025025250342504025041250472505225058250592506525071250772507825085250892509525096251032510925115251162512325130251362513725144251522515825159251672517325179251802518825196252022520325212252192522525226252352524325249252512525125257252632526525265252742528025282252832528825294252962529725303253092531125313253172532325325253272533525341253432534525354253602536225365253652537125373253762538425390253922539625399254052540725411254142542025422254262543025436254382544325445254512545325458254652547125473254782548725493254952550125501255072550925515255232552925531255382554125547255492555725557255632556525573255742558025582255902559925605256072561625621256272563025630256312563725640256402564225648256512565225652256582566125662256692567525678256802568225688256912569325696257022570525708257092571525718257212573025736257392574325743257492575225756257572576325766257702577925785257882579325800258062580925814258222582825831258362584525851258542586025867258732587625883258882589425897259042591125917259202592725935259412594425952259582596425967259762598025986259902599025992259982600226002260052601126015260162601726023260272602826037260432604726049260562606226066260682607626082260862608926095261012610526109261142612026124261282613726143261472615226152261582616226167261762618226186261912620026206262102621526224262302623426240262402624626250262562626526271262752628126290262962630026307263072631326317263242632526331263352634326343263492635326361263612636726371263792638426390263942640226408264142641826427264322643826442264512645726463264672647626483264892649326502265102651626521265212652826534265392653926547265532655826559265592656526570265712657226578265832658526585265912659626598265992660526610266122662126627266322663526635266412664626649266582666426669266732667426680266852668926694267002670526709267152672126726267312673626742267472675226759267652677026776267792678526790267962680026806268112681826821268272683226839268442685026855268632686626872268772688526889268952690026909269122691826923269322693826944269502695026950269562696226962269632696926975269762697626982269882698926992269982700427005270142702027026270282702827034270402704227051270572706327066270682707427080270842708427090270962710027101271072711327118271182712427130271352713927145271512715627164271702717627181271902719627202272082721627222272282723527237272432724927256272642727027276272832729227298273042731227320273262733227341273442735027356273652736827374273802738927393273992740627406274092741527422274222743027436274432744427448274542746127462274672747327480274822748627492274992750127510275162752327526275342754027547275502755927565275722757627584275902759727602276052761127618276242762627632276392764527648276542766127668276702767627683276902769827704277112771927722277282773527743277472775327760277692777227778277852779427803278092781727817278242783027838278382784627852278602786127868278742788227884278882789427902279042791327919279272793027930279362794427947279562796227970279742798127987279952799928007280132802128025280342804028048280532806128067280752808128087280932810128108281082811428122281292813028136281442815228152281582816628174281832818928197282062820828214282222823128234282402824928249282512825728266282672826828274282832828528285282912830028302283042831028319283212832328329283382834028342283482835728359283642837028379283812838828394284032840528412284182842728429284362844228451284542845928465284742847728484284902849928502285092851528524285272853528541285502855428556285622857128575285792858528594285982860228608286172862128626286322864128646286502865628665286702867628682286912869628702287082871728722287302873628745287512875128757287662877228774287802878928795287972880328812288182882228828288372884428846288522886128868288722887828887288942889828904289132892028927289332894228950289502895628965289732897528981289902899829000290062901529023290282903429043290522905529061290702907929084290902909929108291132911929128291372914629153291532915329156291632916329163291682917529175291752918029187291872918829188291952919529196291962920329203292042920629213292132921429216292232922329224292312923829238292392924829255292552925729258292652926529267292682927529275292772928329290292902929329297293042930429307293132932029320293232932929336293362934029342293492934929353293592936629366293702937829385293852938929397294042940429409294132942029420294262942729434294342944029443294502945029456294592946629466294732947329480294802948729490294972949729504295092951629516295232952829535295352954329545295522955229561295622956929569295782958129588295882959729600296072960829608296092961629617296172962229629296302963029637296442964529645296522965929660296612966729674296752967629682296892969029691296992970629707297082971629723297242972629733297402974129744297482975529756297592976529772297732977629782297892979029794297992980629807298122981629823298242982929835298422984329848298552986229863298682987529882298832988929891298982989929905299092991629917299232992829935299362994229948299552995629962299702997729978299852998529992299933000030001300083000930016300183002530026300343003430041300423005030052300593006030068300713007830079300873009230099301003010830117301243012530134301353014230143301523015430161301623017130176301833018430193301993020630207302163022430231302323024130250302573025930259302613026830270302713027230279302813028230285302923029430295302993030630308303093031730324303263032830331303383034030342303473035430356303583036430371303733037630377303843038630389303933040030402304053041130418304203042330430304373043930443304453045230454304593045930466304683047330475304823048430489304923049930501305063051530522305243053030533305403054230548305533056030562305683057430581305833059030593306003060230609306153062230624306313063930646306483065530664306713067330681306873069430696307043071330720307223073130732307393074130750307523075930761307703077930786307893078930797308043080730808308083081530818308193082030827308303083130840308473085030852308593086630869308713088030887308903089330893309003090330906309153092230925309283093730944309473095130952309593096230966309683097530978309833098430991309943099931006310133101631021310303103731040310463104731054310573106331064310713107431080310863109331096311023111031117311203112731127311343113731144311453115231155311623116731174311773118431191311983120131208312173122431227312353123631243312463125431256312633126631274312783128531288312963130231309313123132031328313353133831346313553136231365313743137531382313853139431397314043140731416314213142831432314323143531442314463144631451314583146231462314693147631480314813148131488314923149331498315053150931510315173152431528315293153831545315493155131553315603156431566315733158031584315863159531602316063160931610316173162131624316293163631640316433165231659316633166731668316753167931683316863169331697317013170931716317203172431733317403174431749317503175731761317663176931776317803178531793318003180431810318103181731821318273182931836318403184631850318573186131867318763188331887318943190231909319133192131921319283193231940319423194931953319613196931976319803198931993320003200432013320193202632030320393204732054320593205932063320703207532076320773208432089320903209332100321053210632111321183212332125321273213432139321413214932156321613216432164321713217632179321813218832193321973219732204322093221332216322233222832232322373224432249322533226032267322723227732282322893229432300323003230732312323183232032327323323233832342323493235432361323633237032375323823239032397324023241032410324173242232430324323243932444324533245432461324663247532479324863249132500325063251332518325273253532542325483254832555325623256832569325713257832584325853258932596326023260332610326173262332624326313263832644326463264732654326603266232665326723267832680326863269332699327013270832715327213272332731327383274432747327473275432760327633276632773327793278232786327933279932802328103281732823328273282732834328403284432847328543286032864328683287532881328863288632893328993290432906329133291932924329293293632942329473295432961329673297332973329803298632992329943300133007330133301833025330313303733044330513305733064330673307433080330873309233099331053311233120331273313333141331423314933155331633316433171331773318533188331953320133209332153322233228332363324533252332583326733273332803328633295333033331033317333173331833325333323333233337333443335133351333573336433371333713337933386333933339433395334023340933410334153342233429334303343833445334523345433454334613346833470334733348033487334893349733504335113351333521335283353533538335383354533552335553355833565335723357533583335903359733601336033361033617336213362533632336393364333650336573366433669336723367933686336913369733704337113371633724337313373833744337453375233759337653377333780337873379333801338083381533822338223382933836338433384633853338603386833868338753388233890338953390233909339173392433931339383394733947339543396133970339773398433992339923399534002340103401034015340223403034030340383404534053340543406034067340753407634085340923410034102341033411034118341203412434131341393414234144341513415934163341633417034178341823418434191341993420334208342153422334228342323423934247342533425434261342693427534278342853429334299343063431334321343273433434341343493435634357343643437234379343823438934397344043441134418344263443334441344483445634463344713447834486344943449434501345093451734521345283453634544345493455634564345733457434581345893459834601346083461634625346323463934647346563466534672346813468134683346903469934699347033471034719347193472734734347433474434744347513476034761347703477734786347883478934796348053480734812348193482834830348383484534854348573486234869348783488134888348953490434908349093491634925349293493434941349503495434963349703497934984349853499235001350063501135018350273503335033350403504935055350563506335072350783508135088350973510335110351173512635133351353514235151351583516735174351833519135192351993520835216352213522835237352463524735254352633527235277352843529335302353093531735317353173531835326353263532635334353423534235343353433535135351353523535435362353623536335369353773537735379353823539035390353923540135409354093541235413354213542135424354293543735437354413544435452354523545635462354703547035474354823549035490354953549735505355053551135512355203552035526355283553635536355423554635554355543556035568355763557635583355903559835598356063561035618356183562635632356403564035649356503565835658356673566835676356763568535690356983569835707357143572235723357233572535733357343573435737357453574635746357523576035761357613576935777357783577935782357903579135792357963580435805358073580935817358183582035824358323583335835358443585235853358563585735865358663586935875358833588435887358953590335904359083591135919359203592435930359383593935944359443595235953359583596035968359693597435981359893599035996359973600536006360123601436022360233602936033360413604236048360573606536066360733607636084360853609336094361023610336111361143612236123361313613936147361483615736160361683617036170361703617836180361803618236190361923619236199362073620936210362133622136223362243623336241362433624536246362543625636258362643627236274362773628036288362903629336300363083631036313363223633036332363363634036348363503635536356363643636636371363763638436386363913639836406364083641436416364243642636433364333644136443364503645236460364623646936473364813648336490364993650736509365173652536533365353654336551365593656136570365703657836580365893659436602366053660536609366173662036620366253663336636366363664336651366543665536657366653666836670366713667936682366843669036698367013670336711367193672236725367293673736740367433674736755367583676136768367763677936782367913679936802368063681136819368223682636831368393684236846368553686336866368713687236880368833688836895369033690636911369193692736930369353694336951369543696036960369683697136977369833699136994370003700737015370183702537030370383704137048370553706337066370743707737085370883709637101371093711237120371253713337136371443715137159371623717137174371823718537194371993720737211372113721137219372233722337225372333723737237372453725337257372583725937267372713727237276372843728837289372953730337307373093731137319373233732537330373383734237345373463735437358373613736437372373763737937388373963740037404374063741437418374233742337431374353744037442374503745437459374673747537479374853748737495374993750537513375213752537532375323754037544375513755737565375693757737577375853758937597376063761437618376273762837636376403764937656376643766937669376713767937684376843769037698377033770337711377193772437725377293773737742377443774437752377573775937761377693777437776377803778837793377963779637804378093781237818378263783137835378363784437849378533785637864378693787337882378903789537900379063791437919379243793037938379433794837956379643796937975379793798737992379993800038008380133802038029380373804238050380513805938064380723807938087380923810138106381143811938128381343814238147381563816438172381783817838182381903819638197381993820738213382153821538223382293823138233382413824738249382573826538271382743828138289382953829938302383103831638320383253833338339383443834638354383603836538367383753838138386383883839638402384073841138419384253843138432384403844638452384533846138467384733847438482384883849438497385053851138518385183852638532385393853938547385533856038568385763858238590385903859838604386123861938627386333864138649386573866338672386723868038686386953869738705387113872038729387373874438744387443875238759387593876138769387763877638780387883879538796387973880538812388133881638824388313883238835388433885038851388563886438871388733887538883388903889238896389043891138913389213892938936389393893938947389543895738964389723897938982389913899939006390103901639024390313903539043390513905839063390683907639083390883909639104391113911739120391283913539141391463915439161391683917039178391853919239197392053921239220392243923239239392473925339261392683927739280392883929539304393113931939327393273932939337393453934539349393573936539366393673937539383393843939039398394063940739416394243943239434394353944339451394533946139469394773948039483394913949939503395033951139519395233952539533395413954539554395623957039575395803958839596396013960939617396253963139631396393964739653396603966839676396833968739695397033971039715397233973139738397453975339761397693977339781397893979839799398073981539824398313983939847398563986539873398823988239888398963990539906399093991739926399273993639944399533995539956399643997339975399833999140000400034000940017400264003040030400384004740051400534006140070400744008340091401004010540112401204012940135401414014940158401644017240180401894019640201402094021840226402304023840247402554026140269402784028640294403024031140320403264033440343403524035840366403754038440390403984040740416404244043340433404334043940448404484044840454404634046340464404654047440474404754047840487404874048940490404994049940501405024051140511405134052240531405314053440535405444054440547405564056540565405694056940578405784058240588405974059740601406094061840618406234062940638406384064340651406604066040666406664067540675406814068340692406924069940699407084070840715407174072640726407334073940748407484075540763407724077240780407864079540795408034081240821408214083040831408404084040849408524086140862408624086340872408734087340877408864088740888408904089940900409014090540914409154091740919409284092940931409374094640947409494095840967409684097140972409814098240985409944100341004410084101241021410224102641031410404104141045410524106141062410674107241081410824108841088410974109841104411114112041121411274113641145411464115341160411694117041178411814119041191411994120541214412154122341231412404124141250412564126541267412674127041279412814128141285412944129641296413024131141313413144131841327413294133141332413414134341345413534136241364413674136741376413784138141389413984140041404414104141941421414264142741436414384144341446414554145741463414644147341475414824148241491414934150041503415124151441521415264153541537415454154941558415604156841572415814158341591415954160441606416144162041629416314164041645416544165641665416704167941681416904169641705417074171641724417334173641736417434175241755417554176241771417744177541781417904179341794418024181141814418164182341832418354183741845418544185741860418644187341876418794188541894418974190141906419154191841922419284193741940419454194941958419614196641972419814198441990419954200442007420134202042029420324203942042420514205442061420664207542078420864209042099421024211042117421264212942138421384214742150421594216142170421744217442175421844218842188421924220142205422064220842217422214222242226422354223942241422444225342257422594226642275422794228242285422944229842301423064231542319423234232742336423404234442353423624236642371423734238242386423914239542404424084241442417424264243042436424454245442458424654246542474424784248542487424964250042508425094251842522425304253742546425504255942565425744257842587425954260442609426094261642625426304263142635426444264942651426514266042665426674266942678426834268642687426964270142704427134272242727427314273542744427494275342759427684277342778427834279242797428034280742816428214282742834428434284842855428554286442869428764287642885428904289742897429064291142918429194292842933429404294442953429584296542969429784298342990429944300343008430164301943028430334304143047430564306143069430754308443089430974310443113431184312743131431404314543154431614317043175431844319143200432054321443223432324323843238432434325243258432584326643275432814328143289432984330443305433054331443320433214332843337433434334543345433544336043362433624337143377433794338243391433974339943407434164342243425434264343543441434444344543454434604346343468434774348343486434954350443510435144351643525435314353543537435464355243556435624357143577435824358443593435994360443609436184362443629436344364343649436554365543664436704367643681436904369643702437104371943725437314373943748437544376143764437734377943786437944380343809438174381843827438334384143842438514385743865438714388043886438954389743906439124392143926439354394143950439554396443971439714397243981439884398843994440034401044010440194402844035440354404444053440604406144066440754408244084440844409344100441024410544114441214412344126441354414244144441534416244169441724418044189441964420044201442104421744221442224423144238442424425044259442664427144277442864429344298443074431644323443284433744346443534435944365443744438144388443924440144408444154442244431444384444544452444614446844476444814449044497445054451444523445304453944541445504455744566445684457744585445854458644595446034460344607446164462444624446314464044648446484465544664446724467344679446884469644697447064471544723447254472744736447444474644748447574476544768447694477844786447904479044799448074481144814448234483144835448394484844856448604486444873448814488644888448974490544910449154492444932449374494344952449604496544971449804498844994449984500745015450214502845037450454505145059450684507645082450914510045108451154512145130451384514545154451634517145179451794518845196452044520645215452234523145239452484525645265452664527545283452924529445303453114532045324453334534245342453434535245361453614536545374453834538345388453974540645406454134542245431454324543745446454554545645464454734548245483454924550145510455124551445523455324553445543455524556145564455664557545584455874559045599456084561145617456264563545639456434565245661456654567245681456904569445702457114572045725457274573645745457504575745766457754578145781457904579945805458064581545824458304583645845458544586145861458704587945886458894589845907459144591845927459364594345952459614597045978459834599246001460094601746026460354604346052460614607046079460834608446084460844608446084460854608546085460854608846089460894608946089460934609446094460944609546095460964609646096460974610246103461034610346104461124611346113461134611446123461244612446124461264613146132461324613246135461374613846138461384614146146461474614746147461504615646157461574615746161461644616546165461654616946172461734617346173461774618346184461844618446188461954619646196461964620146205462064620646206462124621546216462164621646222462284622946229462294623546242462434624346243462504625546256462564625646263462694627046270462704627746286462874628746287462954629546296462964629646304463124631346313463134632246326463274632746327463364634346344463444634446353463614636246362463634636346370463714637146372463734637546376463764637746378463834638446384463854638646392463934639346394463964640146402464024640346406464084640946409464104641346418464194641946420464234643046431464314643246435464424644346443464444644846450464514645146452464564646146462464624646346467464744647546475464764648046488464894648946490464954649746498464984649946504465094651046510465114651646523465244652446525465304653846539465394654046546465514655246552465534655946567465684656846569465764657646577465774657846585465864658746587465884659546604466054660546606466144661646617466174661846626466304663146631466324664046646466474664746648466574666046661466614666246671466774667846678466794668846696466974669746699466994670046701467014670346703467044670546705467074670746711467124671246714467144672046721467214672346723467324673346733467354673646739467404674046742467434674946750467504675246753467614676246762467644676646768467694676946771467734677846779467794678146783467914679246792467944679746797467984679846800468034680746808468084681046814468144681546815468174682146824468254682546827468314683646837468374683946844468444684546845468474685246855468564685646858468634686946870468704687246877468854688646886468884689446898468994689946901469074691346914469144691646922469314693246932469344694146942469434694346945469524695946960469604696246970469734697446974469764698446990469914699146993470014700947010470104701247021470254702647026470294702947030470314703147034470344703847039470394704247042470484704947049470524705347056470574705747060470614707047071470714707447076470784707947079470824708447088470894708947092470954709747098470984710147104471064710747107471104711347118471194711947122471254713247133471334713647140471454714647146471494715347159471604716047163471674717647177471774718047185471864718747187471904719647196471974719747200472064720647207472074721047216472194722047220472234722947234472354723547238472454724947250472504725347260472684726947269472724728047281472824728247285472934729647297472974730047309473114731247312473164731647316473174731747321473214732447325473254732947329473354733647336473404734047346473474734747351473524735547356473564736047361473674736847368473724737347382473834738347387473894738947390473904739447396473974739847398474024740447408474094740947413474154742247423474234742747429474374743847438474424744547452474534745347457474614746147462474624746647470474734747447474474784748247487474884748847492474974750047501475014750547510475164751747517475214752647535475364753647540475464754847549475494755347559475644756547565475694757547583475844758447588475954759647597475974760147608476124761347613476174762447632476334763347637476454764647647476474765147659476634766447664476684767647684476854768547689476984769947700477004770447713477174771847718477224773147738477394773947744477444774547746477464775147751477604776147761477664776747769477704777047775477764778147782477824778747789477894779047790477954779747799478004780047805478074781247813478134781847820478284782947829478344783747841478424784247847478504785547856478564786147864478724787347873478784788247883478844788447889478934790047901479014790647911479144791547915479204792547931479324793247937479424795147952479524795747963479694797047970479754798247982479834798347988479954799847999479994800448011480174801848018480234803148035480364803648041480494805648057480574806248071480714807248072480774808648089480904809048096480964809748098480984810448105481054810648106481124811348116481174811748123481244813048131481314813748139481444814548145481514815348159481604816048166481684817748178481784818448187481904819148191481974820048203482044820448210482134821648217482174822348226482324823348233482394824348243482444824448250482544825448255482554826148265482714827248272482784828248291482924829248298483034830648307483074831348318483224832348323483294833448339483404834048346483514835948360483604836648372483744837548375483814838748391483924839248398484044840848409484094841548421484284842948429484354844248443484444844448450484574846048461484614846748475484754847648476484824849048493484944849448500485084851548516485164852248530485394854048540485464855548561485624856248568485774858648587485874859448594485974859848598486054860548611486124861248619486204862248623486234863048631486364863748637486444864548654486554865548662486644866748668486684867548677486834868448684486914869348702487034870348710487134871648717487174872448727487344873548735487424874648748487494874948756487604876548766487664877348777487864878748787487944879948803488044880448811488164882448825488254883248838488394884048840488474885348858488594885948866488734887448875488754888248889488914889248892488994890648911489124891248919489264893548936489364894348951489564895748957489644897348974489754897548982489914899548996489964900349012490204902149021490294902949034490354903549043490444904449045490454905349054490574905849058490664906749074490754907549083490854909049091490914909949101491094911049110491184912149122491234912349131491344913949140491404914849152491554915649156491644916849174491754917549183491874919649197491974920549210492134921449214492224922849230492314923149239492454924949250492504925849264492714927249272492804928749289492904929049298493054930749308493084931649323493254932649326493344934149346493474934749355493634936349364493644937249380493804938149381493894939749400494014940149409494174942349424494244943249441494424944349443494514946049462494634946349471494804948449485494854949349502495094951049510495194951949521495224952249531495314953549536495364954549545495494955049550495594955949566495674956749576495774957949580495804958949590495944959549595496044960649606496074960749616496184962149622496224963149633496414964249642496514965449655496564965649665496684967449675496754968449687496964969749697497064971049714497154971549724497284973649737497374974649751497534975449754497634976849773497744977449783497894978949790497904979949805498094981049810498194982549834498354983549844498514985349854498544986349870498774987849878498874989549897498984989849907499154992149922499224993149939499484994949949499584996749971499724997349973499734997349974499754997549975499784997949980499804998049986499874998849988499894999049991499924999249993500005000150002500025000450009500105001150011500135002150022500235002350026500295003050031500315003550035500365003750037500415004850049500505005050055500555005650057500575006250067500685006950069500755007850079500805008050086500955009650097500975010450106501075010850108501155012250123501245012450132501385013950140501405014950149501505015150151501605016350164501655016550174501825018350184501855018550192501935019450195501965019850199502005020150202502075020850209502105021250212502135021450215502175022650227502285022950232502365023750238502395024250249502505025150252502565025850259502605026150266502675026850269502705027550281502825028350284502895029850299503005030150307503115031250313503145032150324503255032650327503355033750338503395034050348503535035450355503565036550366503675036850369503785037950380503815038250391503925039350394503955040450408504095041050412504125041250413504145041650416504165041750418504205042050420504215042250424504245042750428504295043150431504405044150442504445044450453504545045550457504575046650467504685047050471504735047450475504775047850486504875048850490504915049950500505015050350505505095051050511505135051550522505235052450526505295053250533505345053650539505425054350544505465055050550505515055250554505585056150562505635056550569505785057950580505825058650595505965059750599506045061050611506125061450619506285062950630506325063850643506445064550647506535065850659506605066250669506715067250673506755068250687506885068950691506995070050701507025070450712507145071550716507185072650734507355073650738507475074850749507505075250761507685076950770507725078150789507905079150794507945079950800508015080450804508125081350814508175081850822508235082450827508285083350834508355083850840508425084350844508475084950854508555085650859508625086350864508655086850871508735087450875508785088250882508835088450887508915089450895508965089950903509125091350914509175092250923509245092550928509335093850939509405094350948509565095750958509615096750971509725097350976509825098850989509905099351000510015100251003510065101351017510185101951022510305103051031510325103551043510455104651047510505105851065510665106751070510795107951080510815108451093510995110051101511045111351121511225112351127511275113151132511335113751137511445114551146511505115151154511555115651160511615116751168511695117351174511835118451185511895119151193511945119551199512015120951210512115121551218512195122051221512255122851233512345123551239512425125051251512525125651260512645126551266512705127451281512825128351287512925129351294512955129951304513085130951310513145132051320513215132251326513325133551336513375134151347513565135751358513625136951371513725137351377513845139251393513945139851406514075140851409514135142151428514295143051434514435144351444514455144951458514645146551466514705147951488514895149051495514955150151502515035150851508515175151851519515245152551530515315153251537515385154651547515485155351555515605156151562515675156951577515785157951584515875159151592515935159851601516085160951610516155161951625516265162751632516365164551646516475165251657516625166351664516695167451683516845168551690516965170151702517035170851714517225172351724517295173651740517415174251747517545176251763517645176951777517825178351784517895179751805518065180751812518215182551826518275183251841518495185051851518575185751862518635186451870518705187851879518805188651887518915189251893518995190051908519095191051916519185192551926519275193351936519365193751938519445194751953519545195551961519655196651967519685197451978519875198851989519955200052002520035200452010520155202352024520255203152037520405204152042520485205552057520585205952065520725207752078520795208552093520945209552096521025211052116521175211852124521335213852139521405214652155521635216452165521725217252176521775217852185521865218652187521885219552196521985219952200522075220852213522145221552222522245222552226522275223452236522435224452245522525225552256522575225852265522685227252273522745228152285522855228652287522945229852304523055230652313523185231952320523215232852333523375233852339523465235252352523535235452361523675237352374523755238252389523905239152392523995240652410524115241252419524275242752428524295243652444524505245152452524595246852473524745247552482524915249952500525015250952509525135251452515525235252452524525255252652534525355254452545525465255452556525585255952560525685257052578525795258052588525915259652597525985260652609526145261552616526245262752635526365263752645526495265352654526555266352668526695267052671526795268452685526865268752695527005270452705527065271452720527205272152722527305273652743527445274552753527605276152762527635277152778527825278352784527925280052800528015280252810528185282552826528275283552844528465284752848528565286552870528715287252881528815288252883528845289352893529015290252903529125291352917529185291952928529295293652937529385294752949529525295352954529635296652966529675296852977529805298652987529885299753000530095301053011530205302453029530305303153040530455304853049530505305953064530675306853069530785308353089530905309153100531065310853109531105311953126531265312753128531375314453148531495315053159531665317353174531755318453192531955319653197532065321553216532175321853227532365324253243532445325353262532715327253274532745327453279532805328253282532835328653287532895328953290532985329953301533015330353304533055330753307533095331653317533195331953322533285332953331533315333453340533415334353343533465335553356533585335853362533675336853370533705337553379533805338253382533875339353394533965339653401534105341153413534135341953424534255342753427534345343853439534415344153448534555345653458534585346653466534675346953469534775348353484534865348653495535005350153503535035351253520535215352353524535245352553526535285352953529535365353753539535405354153547535485355053551535535355753558535605356153563535705357153573535745357753581535825358453585535885359253593535955359653599536055360653608536095361253621536225362453625536295363553636536385363953643536495365053652536535365753666536675366953670536755367753678536805368153686536955369653698536995370453713537145371653717537235372553726537285372953735537405374153743537445375153753537545375653757537645376653767537695377053778537785377953781537825379053793537945379653797538065380653807538095381053819538205382153823538245383353839538405384253843538525386153862538645386653866538725387353875538775387753884538855388753889538905389353894538965389853899539055390653908539105391253915539165391853920539225392653927539295393153934539345393553937539395394253945539465394853950539545395453955539575395953963539655396653968539705397453978539795398153983539875399453995539975399954004540085400954011540135401854024540255402754029540355403854039540415404354049540555405654058540605406754070540715407354075540825408754088540905409254100541035410454106541085411654122541235412554127541365413954140541425414454153541585415954161541645416454167541685417054173541735417954180541825418554186541895419054192541955419654202542035420554208542105421054211542135421654218542215422254224542275423054230542315423354236542395424354244542465424954252542585425954261542645426754276542775427954282542865429254293542955429854303543035430454306543095431454317543185432054323543285433454335543375434054346543495435054352543555436154368543695437154374543815438154382543845438754394543975439854400544035441154411544125441454417544255443054431544335443654444544495445054452544555446354471544725447454477544865449154492544945449854498544985449954501545055450554506545075450954513545135451754518545205452454525545265452754529545335453454540545415454354547545485455654557545595456354565545665456754569545735457554583545845458654590545935459654597545995460354606546115461254614546185462154629546305463254636546405464554646546485465254657546585465954661546655467054671546725467454678546835468754688546905469454700547015470254704547085471454721547225472454728547345474154742547445474854755547555475654758547625476954776547775477954783547915479454795547975480154809548135481454816548205482854835548365483854842548515485554856548585486354863548635486454866548715487154872548735487554880548805488454885548875489254893548945489554897549025490354910549115491354918549205492654927549295493454936549455494654948549535495654962549635496554970549745497754978549805498554989549935499454996550015500555012550135501555020550255502955030550325503755043550445504555047550525505855061550625506455069550755508155082550845508955096550995510055102551075511555115551165511855123551315513355134551365514155149551545515555157551625517155173551745517655182551825518255183551855519155191551915519255194552005520055203552045520655212552135521355214552165522255223552315523255234552405524255246552475524955255552575526455265552675527355276552805528155283552895529355295552965529855304553085531755318553205532655331553335533455336553425534755356553575535955365553715537855379553815538755394553985539955401554075541455421554225542455430554385544255443554455545155460554635546455466554725548155489554905549255499554995550055501555035551055510555195552055522555295552955538555395554155548555495554955550555525555955560555635556455566555735557555576555775557955586555885558955590555925559955601556045560555607556145561655622556235562555632556355563955640556425564955652556565565755659556665566955675556765567855685556885569755698557005570755711557185571955721557285573255740557415574355750557545576255763557655577255777557785577955781557885579355802558035580555812558185581855819558215582855834558415584255844558515585855858558595586155868558755588355884558865589355900559095591055912559195592755934559355593755944559535595355954559565596355972559805598155983559905599956008560095601156019560195602656027560295603756038560385603956041560495605056058560595606156069560715607156072560745608256084560915609256094561025610556105561065610856116561195612756128561305613856142561425614356145561535615756165561665616856176561815618256183561855619356198562075620856210562185622456225562265622856236562435624356244562465625456261562645626556267562755628356284562855628756295563035630656307563095631756326563285632956331563395634856353563545635656365563655636856369563715638056380563865638756389563985639956403564045640656415564165642356424564265643556437564425644356445564545645656464564655646756476564795648656487564895649856502565025650356505565145651856526565275652956538565435654556546565485655756562565645656556567565765658156586565875658956598566045660756608566105661956625566325663356635566445665056657566585666056669566765667656677566795668856695567035670456706567155672356725567265672856737567465674756748567505675956768567725677356776567765677656778567795678256782567825678956790567935679356794567945679556798567985679956802568035680656806568085680956810568135681356815568215682256825568255682856828568295683256832568355683856839568425684256846568475684856851568515685556861568625686556865568705687056871568745687456879568825688356886568865689256893568945689756897569035691056911569145691456921569215692256925569255693256935569365693956939569475694856949569525695256960569685696956972569725698056989569905699356993570025700457005570085700957009570095701057013570145701457021570225702557026570265703557036570395704057041570435704457047570485705057050570515705457055570575706457065570685706957071570805708157084570855708857090570915709457095570995709957100571035710457108571165711757120571215712557134571355713857139571445714657147571505715157157571575715857161571625716857176571775718057181571885719557196571995720057208572085720957212572135722157229572305723357234572435725057251572545725557264572715727257275572775727757277572785728157283572835729157292572955729757298573055730657309573115731257320573215732457326573285732957330573335733557337573465734757350573525735557363573645736757369573725738157382573855738757391573935739457397573995740457404574055740857410574155742457425574285743057436574375743857441574435744957453574545745757459574665746857469574725747457482574835748457487574895749757501575025750557507575155752257523575265752857537575425754357546575495754957553575545755757560575605756857569575725757557576575775757857581575845758557594575955759857601576035761157612576155761857621576235762457627576305763357638576395764257645576495765257653576565765957664576665766757670576735767957680576815768457687576935769757698577015770457711577145771557718577215772857731577325773557738577455774857749577525775557762577685776957772577755778357788577895779257795578035780857809578125781557823578295783057833578365784457853578545785757860578695787757878578815788457893579015790257905579085791757926579275793057934579345793657937579405794457945579465794757950579545795557956579575796057964579655797257973579765798057982579825798357986579905799258001580025800558009580115802058021580245802858031580375803858041580455804858057580585806158065580695807758078580815808558089580975809858101581055811058116581175812058124581295813858139581425814658152581605816158164581685817458182581835818658190581975820458205582085821258220582205822158224582285823658245582465824958253582625826258263582665827058279582825828358286582905829958305583065830958314583145831958320583235832858328583345833558338583435834458344583455834858353583545835758358583615836658368583705837158374583795838158384583855838858393583955840358404584075841258415584165841758420584255842958429584305843358438584425844358444584475845258456584635846458467584725847758477584785848158486584915850058501585045850958515585165851758520585255853158536585375854058545585515855958560585635856858575585825858358586585915859858607586085861158616586245862858629586325863758645586525865358656586615867058676586775868058685586945870258703587065871258712587165871758720587265872658733587345873758743587445875058751587545876058761587695877058773587795878158786587875879058796587985880658807588105881658819588265882758830588365884058840588415884458850588545886058861588645887058874588835888458887588935889858906589075891058916589225892358924589275893358939589475894858951589575896458965589665896958975589835898358984589875899359001590045900559008590145902359024590255902859034590435904759048590515905859058590615906259065590725907259079590805908359090590905909759098591015910859109591095911059113591205912159130591315913459141591435914659147591505915759159591625916359166591735917559181591825918559192591955920059201592045921159214592235922459227592345923859238592395924259249592535925659257592605926759272592745927559278592855929059296592975930059307593125932059321593245933159337593385933959342593495935659356593575936059367593745937859379593825938959396594045940559408594155942359424594255942859435594445944459445594485945559464594685946959472594805948059482594835948659494594945949959500595035951159512595165951759520595285952959537595385954159549595515955859559595625957059573595735957459577595855958859597595985960159609596135961759618596215962959633596375963859641596495965359660596615966459672596775968359684596875969559701597025970359706597145972059723597245972759735597415974759748597515975959766597715977259775597835979159791597925979559803598115981859819598225983059839598395984059843598515986059869598705987359882598825988659887598905989959900599025990359906599155991659921599225992559934599365994059941599445995359955599645996559968599775998059988599895999260001600056000660007600106001960024600246002560028600376004260048600496005260061600666007360074600776008660092600926009360096601056011160120601216012460133601406014560146601496015860166601696017060173601826019060196601976020060209602186022360224602286022860228602296023060234602346023560235602366024060240602416024460245602496024960251602536025460258602586026060269602706027460274602766028560286602906029060293602956029660300603006030460305603066031060310603146032260323603276032760332603336033460338603386034360347603486035260352603586036160362603666036660373603736037460378603786038560389603906039460394604016040860409604136041360421604276042860432604326044160444604456044960449604586046660467604716047260472604736047460478604796048060480604816048560486604876049460495604996050060502605056050660510605116051360519605206052460525605286053360534605386053960543605456054660550605516055660557605586056260563605686057260573605776057860584605876058860592605936060060601606026060660607606146061660617606216062260629606346063560639606406064860652606536065760658606676066960670606746067560684606886068960693606946070360710607116071560717607176072360724607286073060731607356073660740607426074360750607516075560757607596075960760607646076660768607776077860782607846078760794607956079960801608056080860809608136081560819608256082660830608326083760842608436084760849608556085960860608646086660872608816088260886608886089560897608986090260904609126091360914609186092060929609296093060934609366094560951609526095660958609676097660977609816098460984609926099360997610006100161008610096101361016610186102261023610276103061032610406104161045610486105061058610596106361066610686107661077610816108461086610956109661100611036110661109611106111461117611206112361124611286113161134611376113861142611456114861155611566116061163611676116861169611736117661180611816118261186611896119361194611956119961202612066121261213612176122061225612256122661230612336123861238612396124361246612516125161252612566125961264612706127161275612786128461284612856128961292612986129861299613036130661312613136131461318613216132761328613296133361336613426134761348613526135561361613666136761371613746138061386613876139161394614016140161402614066140961416614206142161425614286143561439614406144461447614546145961460614646146761475614756147661480614836149161495614966150061503615116151561516615206152361531615366153761541615446155361554615556155961562615716157661577615816158461593615986159961603616066161561622616236162761630616396164761648616526165661656616586165961663616676166761669616706167461678616786168261683616876169161691616996170061704617086170961711617126171661720617216172361724617286173261733617376173861742617466174761756617576176161765617676177061771617756177961781617846178561789617936179561800618016180561809618126181361814618186182261825618306183161835618396184261847618486185261856618596186761868618726187661879618886188961893618976190161904619056190961913619176192061921619256192961933619396194061944619486195361957619586196261966619716197961980619846198861993620016200262006620106201662017620186202262026620336203362034620386204262049620536205462058620626206962073620746207862082620896209762098621026210662113621216212262126621306213862140621416214562149621576215962160621646216862176621826218362187621916220062201622026220662210622196222462225622296223362242622476224862252622576225762257622586226262267622676227162272622766228162281622896229062294622996229962307623086231262317623186232162322623266233162332623406234162345623506235262354623556235962364623666236862369623736237862380623876238862392623976240062403624046240862413624166242362424624286243362436624436244462448624536245762460624616246562470624746247862479624836248862492625006250162505625106251462522625236252762532625376254262543625476255262557625626256362567625726257762586625876259162596626016261062611626156262062626626326263362637626426264862655626566266062665626726267362674626786268362690626916269262696627016270862716627176272162726627346273462735627396274462752627566275762761627666277462778627796278362788627976279862799628036280862817628266282762831628376283762840628416284562851628516285462855628596286562866628676286862872628786287962881628826288662892628936289962900629046291062911629176291862922629286293062934629356293962945629476295362954629586296462967629676296862972629786298162981629826298662992629956300363004630086301463018630196302063024630306303463039630406304463050630546305963060630646307063075630786307963083630896309563097630986310263108631146312063121631256313163137631436314463148631546316163166631676317163177631846319363194631986320463212632156321663220632266323463237632386324263248632576325963260632646327063279632866328763291632986329863299633006330463311633116331263313633176332463325633256332663330633376333863344633456334963356633586335863359633636337063372633736337463378633856338763388633896339363400634026340663407634116341863420634286342963433634406344263451634526345663463634656347463475634796348663489634926349363497635046350763514635156351963526635296353763538635426354963552635606356163565635726357663579635806358463591635956360263603636076361463618636266362763631636386364263650636516365563662636676367163672636766368363688636966369763701637086371363722637236372763734637406374063741637456375263758637616376263766637736377963786637876379163798638046381263813638176382463830638396384063844638516385863865638666387063877638856388663887638916389863906639086390963913639206392863931639326393663943639526395463955639596396663975639816398263986639936400264009640106401464021640306403964040640446405164060640696407064074640826408264085640866409064098640986410264103641076411564115641216412264126641346413564138641396414364151641526415964160641646417264173641816418264186641946419664197641986420264210642126421764218642226423064232642416424264246642546425764257642586426264270642736427664277642816428964292643006430164305643136431764319643206432464332643366433964340643446435264356643626436364367643756438064382643836438764395644006440664407644116441964424644316443264436644446445064451644526445664464644706447564476644806448864494645036450464508645166452364523645246452864536645436454764548645526456064568645716457264576645846459264599646006460464612646206462864629646336464164650646536465464658646666467564678646796468364691647006470764708647126472064729647376473864742647516475164754647556475964768647686477264773647776478664786647946479564799648086480864817648186482264831648326483664837648416485064852648556485664860648696487164878648796488364892648946490264903649076491664919649236492464928649376494164943649446494864957649616496764968649726498164985649926499364997650066501165014650156501965028650346503665037650416505065056650626506365067650766508265089650906509465103651106511465115651196512865135651396514065144651536516065168651696517365182651896519865199652036521265220652266522765231652406524965254652556525965268652776528665287652926529265292652926529365298652986529865306653076531265312653126532165322653276532765328653316533265337653376533865342653436534865348653506535265353653586535865360653646536565370653706537265380653816538665386653886539765398654036540365406654136541465419654196542365423654246542965429654336543765438654436544365447654526545365458654586546365467654686547365473654786548465485654906549065496654966549765502655026550865509655106551565515655226552265523655286552865535655396554065545655456555265560655616556665566655736558265583655886558865596656046560565610656106561965622656236562865628656376564465645656506565065659656676566865673656746567465681656826568765688656896569265693656986569965700657076570865713657146571565724657256573065731657326574165742657476574865750657546575565760657616576365771657726577765778657816578165782657876578865791657926579365798657996580265804658056581065811658146582065821658266582765830658386583965844658456584865857658586586365864658686586965870658756587665880658856588665891658926589665903659046590965910659146592265923659286592965934659356593665941659426594765952659536595865959659646597165972659776597865983659926599365998659996600566006660076601266013660196602466025660306603166037660446604566050660516605866058660596606466065660726607366074660796608066087660926609366098660996610666113661146611966120661286612866129661346613566143661456614666151661526616066166661676617266173661816618966190661956619666205662066620766212662136622266227662286623366234662436625266253662586626066260662616626266267662696626966273662746627966281662816628966290662956629766298663006630166306663086630966313663146631966321663226632966330663356633766339663446634566350663526635466363663646636966371663746637566376663816638366386663906639166396663986640266405664066641166413664176642466425664306643266436664456644666451664536645866461664626646766469664746647866479664846648666491664996650066505665076651366513665146651966521665276653166532665376653966545665506655166556665586656466573665746657966581665886658966590665956659766604666096661066615666176662566629666306663566637666456665366654666596666166670666706667166676666786668766692666936669866700667096671466715667206672266731667406674166746667496674966750667516675666759667596676566766667716677466774667826678366788667916679266794667956680066803668046680866809668146681766818668276682866833668366683866840668416684666849668516685766858668636686666868668766687766882668856688866891668926689766900669036691066911669166691966923669246692566930669336693766940669416694666949669536696166962669676697066975669786697966984669876699266999670006700567008670136702267023670286703167037670416704267047670506705767058670596706467067670746707967080670856708867095671026710367108671116711967121671226712767130671396713967140671456714867157671616716267167671706717967185671866719167195671956719767198672036720767207672156721667221672256722667228672296723467238672396724367244672496725367255672556725667261672656726767274672756728067284672876728867289672946729867301673046730567310673146731767326673276733267336673406734867349673546735867363673656736667371673756738067384673856739067394674006740167402674076741167417674196742067425674296743567441674426744767451674576746567466674716747567482674876748867493674976750467512675136751867522675306753267533675386754267550675546755567560675646757367574675756758067584675936759867599676046760867617676266762767632676376763767638676396764467649676496765767658676636766867669676736767467679676846768567693676946769967704677066770667707677126771767719677266772767732677376774067745677466775167756677596776867769677746777967783677846778567790677956779967808678096781467819678246782767828678336783867843678506785167856678616786667875678766788167886678926789967900679056791067917679196792067925679306793767943679446794967954679616796967970679756798067988679946799568000680056801468017680186802368028680376804468045680506805568064680736807468079680856808568092680936809868104681056811168112681176812368125681256812668131681376813968141681426814768153681566815768158681636816968172681786817968184681906819468194681956820068206682106821268213682186822468229682306823168236682426824768254682556826068266682726827368274682796828568291682946829568300683066831368315683166832168327683356833568336683416834768355683596836068365683716837968386683876839268398684066841368414684196842568433684416844268447684536846268464684656847068476684856849068491684966850268511685166851768522685286853768543685446854968556685566855668557685626856968569685726857368578685856858568588685896859468601686016860668607686126861968619686286862968634686416864268644686456865068657686586866068661686666867368674686806868168686686936869568695686966870168708687106871368714687196872668728687316873268737687446874768747687486875368760687636876768768687736878068783687906879168796688036880668814688156882068827688306883968840688456885268856688596886068865688726887668882688836888868895688996890668907689126891968923689326893368938689456895068953689546895968966689716897768978689836899068995690026900369008690156902169022690236902869035690416904669047690526905969065690736907469079690866909269101691026910769114691216912769128691336914069148691486914969154691616916969172691736917869185691936919869199692046921169219692276922869233692406924969251692526925769264692736927869279692846929169300693076930869313693216932169322693236932869336693366934169342693476935569355693636936469369693776937869378693796938469392693936939969400694056941369415694156941669421694296943169434694356944069448694506945669457694626947069472694786947969484694926949569495694966950169509695126951569516695216952969532695386953969544695526955569561695626956769575695796957969580695856959369597696006960169606696146961869624696256963069638696426964969650696556966369668696696967069675696836968869692696936969869706697116971869719697246973269738697386973969744697526975869762697636976869776697826978969790697956980369810698106981169816698246983169838698396984469852698606986169862698676987569883698876988869893699016990969917699186992369931699396994869949699546996269971699746997569980699886999770003700047000970018700187001870019700247003370033700357003670041700507005070056700577006270071700717008070081700867009570096700997010070105701147011570122701237012870137701397014070141701467015570157701617016270167701767017870186701877019270201702047021070211702167022570229702297023070235702447024870251702527025770266702707027870279702847029370298703027030370308703177032270330703317033670345703517035270353703587036770373703797038070385703947040170404704057041070419704267043370434704397044870456704567045770462704717047970484704857049070499705087051270513705187052770536705447054570551705517055170552705537055970559705597056670567705737057370574705757057670582705827058370588705897059570595705967060470605706117061170613706177061870624706247062770627706287063470634706377064170642706487064870651706587065970665706657066970672706737067970679706847068470685706917069170696707007070170707707077071270719707207072670726707327073570736707427074270749707517075270758707587076570771707727077870778707857079470795708017080170809708157081670822708227083170831708327083870838708477085170852708587085870867708747087570881708827088270887708887089470895708957090070901709077090870908709177091870924709257092670928709297093570936709387093870939709457094670948709497095070956709577095970964709657097170972709747098270983709897099070993709997100071006710077101071019710207102671027710317103471035710417104271046710527105371059710607106571069710707107671077710837108671087710937109471100711077110871114711157112271122711237112971130711377114671147711537115471162711637116471170711717117971184711857119171192712007120871209712157121671225712327123371239712417124171241712427124871250712507125471255712617126371263712707127171277712797128071286712877129371295712977129871299713057130771309713147131571321713237132571334713357134171343713457135471355713617136371366713667136771373713757137871382713837138971391713947140271403714097141171414714227142371429714317143571441714427144871450714557145571456714627146471469714737147471480714827148771491714927149871500715067150971510715167151871524715317153271538715407154771548715497155571557715647156671567715737157571582715857158671592715947160171608716097161571617716257162671627716337163571643716457164671652716547166371663716647167071672716817168571686716927169471703717117171271718717217172171721717227172871731717317173171732717387174171741717457174671752717557175571763717647177071773717747177471775717817178471785717867178771793717967179771802718037180971812718137182271823718297183271834718357183671842718457184771851718527185871861718637187171872718787188171884718867188771893718967189971904719057191171914719177192271923719297193271935719447194571951719547195871961719627196871971719757198171982719887199171995720037200472010720137201872020720217202772030720357204172042720487205172056720657206672072720757208172083720847209072093720997210572106721127211572122721227212372129721327213972142721437214972152721597216772168721747217772185721877218872194721977220572211722127221872221722307223072231722377224072249722517225272258722617227072276722777228372287722877228772288722947229872298723027230372309723137231472316723177232372327723287233472335723417234572347723477234872354723587236072364723657237172375723787238172382723887239272395724027240372409724137241772418724197242572429724337243972440724467245072454724617246272468724727247772478724797248572489724947249972500725067251072516725167251772523725277253372542725437254972553725607256372564725707257472581725887258972595725997260772610726117261772621726297263272633726397264372651726587265972665726697267872679726807268672690726997270672707727137271772726727347273572741727467274672748727497275572760727607276672767727737277872779727817278272788727937279472799728007280672811728127282172822728287283372835728387283972845728507285372853728547286072865728687286972870728767288172884728897289072896729017290472913729147292072925729297293572936729427294772952729527295372959729647296972973729747298072985729907299872999730057301073016730217302273028730337304073040730417304773052730597306373064730707307573082730907309173097731027311073115731167312273127731367313873139731457315073159731657316673172731787317873178731797318573191731917319973200732067321273213732167321773223732297323073237732387324473250732527325373254732607326673269732697327073276732827328573287732887329473300733037330973310733167332273326733267332773333733397334373352733537335973365733707337273373733797338573390733967339773403734097341573415734167342273428734347344373444734507345673463734677346873474734807348773495734967350273508735167351973520735267353273540735437354473550735567356473571735727357873584735937359473595736017360773616736227362373629736357364473650736517365773664736647366673667736737368073680736867368773693737007370173702737037370973716737177371873719737257373273733737417374273748737557375773759737607376673773737757378273783737897379673798738057380673812738197382273828738297383573842738467384673847738537386073864738697387073876738837388773893738947390073907739127391673917739237393073935739437394473950739577396373966739677397373980739867399173992739987400574012740127401374019740267403374037740387404474051740587406774068740747408174089740907409174097741047411274119741207412674133741427414374144741507415774166741727417374179741867419574203742047421074218742187422574226742327424074241742427424374249742577425874264742657427174279742807428874289742957430374305743127431374319743277433074331743327433874346743497435574356743627437074373743827438374389743977440074409744107441674424744287443174432744387444674450744587445974465744737447874479744807448674494744997450174502745087451674521745277452874534745427454874549745507455674564745707457474575745817458974595746037460474610746187462574627746287463474642746497465674657746637467174679746797468074686746947470274706747077471374721747297473774738747447475274761747647476574771747797478874795747967480274810748197482674827748337484274842748437484474850748597485974865748667487274881748827488274883748897489874899749007490174907749167491774922749237492974938749407494074941749477495674958749627496374969749787498074988749897499575004750077500975010750167502575028750357503675042750517505575056750577506375072750767508275083750897509875103751037510475110751197512475129751307513675145751507515975160751667517575181751897519075196752057521275214752157522175230752377524475245752517526075268752707527175277752867529475296752977530375312753207532675327753337534275351753527535375359753687537775383753847539075399754087541775418754257542575425754287542975436754367543675444754457545275452754537545675457754647546475465754727547375480754807548275483754847549175491754937549975500755077550775510755127551375520755207552375527755287553575535755387554675547755547555475558755617556275569755697557375582755837559075590755957559775598756057560575610756167561775624756247563075631756327563975639756457565275653756607566075667756707567175678756787568575692756937570075700757087571075711757187571875726757347573575742757427575175757757587576575766757667576675767757747577575775757807578175788757897579075792757937580075801758027580675807758147581575816758247582575832758337583575838758397584675847758507585075851758587585975862758657586675873758747587775884758857589275893758977589975900759077590875912759217592275929759307593575940759417594875949759547596375964759717597275978759827598375990759917599875999760007600776008760157602476025760327603376041760447604576052760537606176069760707607776078760877609376094761017610276111761197612076127761297612976131761327613976141761417614876149761567615876159761647616576172761747617576183761847619176193761957619776198762057620776209762167621776224762267622976234762357624276244762487624976250762577625976263762687626976276762787628376283762847629176293762987630676307763147631676322763287632976336763387634576345763467635376355763627636776368763757637776385763897639076397763997640876408764097641676418764277643176432764397644176450764597646076467764707647076478764797648676489764907649576496765037650676507765167651776524765277652976534765357654276545765477655276553765607656376565765707657176578765817658376592765937660076603766067661176612766197662276625766307663176638766417664476652766537666076663766677666976670766777668076684766927669376700767037670776715767167672376726767317673676737767447674776752767617676276769767727677876783767847679176794768007680576806768137681676823768267682776834768377684476851768527685976862768707687376874768817688476892768967689776904769077691576920769217692876931769397694876949769567695976968769737697476981769847699376999770007700777011770117701177012770197702377023770277702877035770397704077040770417704877052770537705577056770637706777068770717707277079770837708477091770927709977103771057710877109771167712077122771277712877135771397714177148771497715677160771637716477165771727717677179771867718777194771987720177210772117721877222772267723077231772387724277246772547725577262772667727177275772767728377287772927729877299773067731077316773217732277329773337733977348773497735677360773677737277373773807738477391773997740077407774117741877426774277743477438774467744877449774567746077468774767747777484774887749777498774997750677510775197752177522775297753377542775487754977556775617756177563775647757177576775767758177582775897759477594776037760477611776167761777620776217762877633776347764377644776517765677658776607766177668776737767677676776777768477689776927769677697777047770977713777137771477721777267773077734777357774277747777517776077761777687777377778777817778277789777947779977808778097781677821778277783077831778387784377849778587785977866778717787877881778827788977894779017791077911779187792377931779347793577942779477795677958779597796677971779807798677987779947800078000780027800378010780167801678023780247803178037780387803978040780477805378054780597806078067780737807578076780777808478090780927809878099781067811278115781197812078127781337813678144781457815278158781627816678167781747818078184781937819478201782077821278220782217822878234782407824278243782507825678262782707827178278782847829178295782967830378309783167832278323783307833678344783447834578352783587836678372783737838078386783957839778398784057841178420784297843078437784447844478447784487845578462784627847178472784797848678487784937849478501785087851078511785127851978526785287853378534785417854878551785527855378560785677857078578785797858678593785977860178602786097861678620786287862978636786437864878652786537866078667786737867478675786827868978696786967869778704787117871878722787237873078737787457874578746787537876078768787767877778784787917880078803788047881178818788277883478835788427885078850788537885478861788697887078871788727887978887788897888978890788977890578907789117891278919789277893078930789317893878946789497895878959789667897478977789867898778994790027900679009790107901779025790297903879039790467905479059790677906879075790837908979090790917909879106791127911779118791257913379140791427914379150791587916579167791687917579183791907919279193792007920879215792217922279229792377924579248792497925679264792727927579276792837929179299793057930679313793217933079330793317933879346793557936279363793707937879387793947939579402794117941179412794137942079429794297943479435794427945179452794547945579462794717947279474794757948279491794927950179502795097951879520795237952479531795407954379543795447955179560795637956479565795727958179584795897959079597796067960979618796197962679635796397964579646796537966279666796747967579682796917969579704797057971279721797267972979730797377974679752797527975379760797697977579777797787978579794798007980479805798127982179827798357983679843798527985979864798657987279881798887989579896799037991279920799227992379930799397994779953799547996179970799797998279983799907999980008800148001580022800318004080049800508005880058800588006180062800708007080071800718007280080800808008180084800858009380093800958009580096801048010480106801108011180119801198012280123801248013280132801358013980140801488014880152801548015580163801638016780173801748018280182801878019080191801998019980204802118021280220802208022580233802348024280242802488025080251802598025980265802748027580283802838029080293802948030280302803108031280313803218032180329803358033680344803448035380356803578036580365803748038280383803918039280392803958039680404804058040580412804138042180422804238042780428804368043780438804478044880456804578045980464804658047380474804768048580486804948049580498805048050580513805148051880519805208052880529805348053480535805438054480549805538055480562805638056980570805718057980580805868059380594806028060380610806158061680624806258063280641806428065080651806598066580666806748067580684806868068780695806978069780697806988070680708807088071280713807218072380724807258072680734807368073780744807458075380755807578076380764807728077480777807778077880786807888079180798807998080780809808138081780818808268082880832808388083980847808498085480854808558086380865808708087780878808868088880894808998090080908809108091680922809238093180933809408094080941809498095180958809658096680974809768098480989809908099881000810098101281013810218102381032810398104081048810518105181055810568106481067810688107081071810798108281084810858108681094810978109981104811058111381116811198112181122811308113381137811388113981147811508115481158811598116781170811748118281183811918119481199812048120581213812168122281226812278123581238812448125181252812608126381270812718127281280812838129081298812998130781310813188132581326813348133781346813508135181359813628137181379813808138881392813928139781398814068141081411814158141681424814288143081432814338144181445814478145381454814628146681469814738147481482814868148981493814948150281506815098151581516815248152881532815328153381541815458154981557815588156681570815748158281583815918159581600816008160181609816138161881622816238163181635816418164381644816528165681662816658166681674816788168481687816888169681700817068171381714817228172681733817388173981747817518175881764817658177381777817848179181792818008180481812818138181481822818268183481843818448185281856818658186581866818748187881887818928189381901819058191481923819248193281937819378194481945819538195881958819668196781975819808198181985819868199481999820008200882009820178202282024820308203182039820448204682054820558206382068820708207982080820888209382096820998210082108821138211782118821198212782132821368213982140821488215382157821628216382171821768218082189821908219882203822088221582216822248222982234822438224482252822578226382268822698227782282822888229782298823068231182318823258232682334823398234682355823568236482369823778238482385823938239882407824088240982417824228243182440824418244982455824558245782458824668247282472824768247782485824918249182499825008250882514825158252182522825308253682537825468254782555825618256382565825668257482580825828258882589825978260382606826108261182619826258262882635826368264482650826548265882659826678267382677826858268682694827008270582711827128272082726827318274082741827498275582761827698277082778827848279182793827948280282808828168281682817828258283182839828438284482852828588286782868828698287782883828928289782898829068291382913829168291782925829328293282939829408294882955829568296182962829708297782978829878298882996830038300583012830138302183028830318303383034830428304983052830568305783065830728307583083830848309283099831038310983110831188312583130831318313283140831478315283158831598316783174831808318083181831898319683202832108321183219832268323383237832388324683253832608326583266832748328183288832978329883306833138332183328833298333783344833538335683357833658337283381833868338783395834028341183420834218342983437834378344483445834538346183462834658346683474834828348383492834938350183509835118351483515835238353183534835358353683544835528355583562835638357183579835838358983590835988360683611836118361283620836288363383641836428365083658836648366983670836788368683693836958369683704837128371983725837268373483742837508375483755837638377183780837818378283790837988380783816838178382583834838348383783838838468385583856838578385883866838758387683885838868389483903839058390683907839158392483926839318393283940839498395283955839568396483973839778397883979839878399684000840078400884016840258403084031840328404084049840548406384064840728408184087840948409584103841128411984124841258413384142841498415884159841678417684184841918419284200842098421884223842248423384233842338423784238842478424784247842558425684265842658426684272842738428284282842848428984290842998429984301843098431084319843198432284324843258433484334843388433884339843488434884352843618436284371843718437684383843848439384393843998440084401844108441084416844258442684435844358444284450844518446084460844688447484475844848448484493844938449484503845038451284520845218453084531845318453884539845488454984550845568455784566845678456984569845708457984580845828459184592846018460284604846138461484623846248462784629846308463984640846438464984650846598466084664846698467084679846808468484689846908469984700847058470884709847188471984724847318473284741847428474884754847558476484765847718477884779847888478984796847998480084809848108481784824848258483484835848438484984850848598486084868848758487684885848868489584899849008490984910849198492784928849378493984939849468494784956849588495884967849688497784979849808498084981849908499284993849978499885007850098501185014850158502485026850288503385034850438504585048850508505185060850628506585071850728508185083850878509285093851028510485108851158511685125851278513285138851398514885150851568515685157851668516885174851838518485193851958520285204852058521485216852238522585226852358523785244852508525185260852628527085275852768528585287852958530385304853138531585324853268532785336853388534785353853548536385366853668537185372853818538485384853938539485403854068540785407854088541785420854218542585426854358543885440854438544485453854568545885465854668547585478854808548985490854998550285505855088550985518855218552585527855288553785540855448555085551855608556385567855768557785586855898559485597855988560785610856168561885619856288563185637856438564485653856568566385666856678567685679856868569385694857038570685714857208572185730857338574285743857448575385756857658577085771857808578385792858018580285811858158581585823858248583385837858388584185842858518585585856858648586585874858788588085882858838589285896858998590085901859108591485917859238592485933859378594185943859448595385957859618596785968859778598185986859918599286001860058601186012860138602286026860328603386034860438604786053860588605986068860728607986083860848609386097861058610586106861158611986127861348613586144861488615786158861598616886173861738617386174861838618886188861958619686205862108621086219862208622986234862358623886239862488625386255862578625886267862728627486283862848629386298863018630386304863138631886321863278632886337863428634686351863528636186366863718637386374863838638886393864028640386412864178642386426864278643686441864488645086451864608646586473864738647486483864888649686501865028651186516865248653386534865438654886557865658656686575865818658186587865888659786603866048660986610866198662586626866358663686645866518665386661866628667186677866808668786688866978670386706867138671486723867298673386734867358674486750867558675586756867658677186776867858678686795868018680786810868118682086826868328684086841868508685686862868708687186880868868689286900869018691086916869238692386924869338693986946869518695286961869678697486979869808698986995870028700787008870178702387031870358703687045870518705987068870698707887084870928710187102871118711787126871268712787136871428715187151871528716187167871768718187182871918719787206872118721287221872278723687242872438725287259872598725987260872698727687276872818728287291872988729887303873048731387320873208732787328873378734487345873458734687355873628736387368873698737887385873868739187392874018740887409874168741787426874338743587436874378744687453874558746187462874718747887480874868748787496875038750587513875148752387530875338753687537875468755387556875648756587574875818758487592875938760287609876138761487615876248763187635876368763787646876538765787663876648767387680876848769087691877008770787711877208772187730877378774187750877518776087767877728777687777877868779387798878028780387812878198782487831878328784187848878538786087861878708787787883878858788687895879028790887910879118792087927879338793887939879488795587961879678796887977879848799187992879938800288009880168801788018880278803488041880458804688055880628807088070880718808088087880958810088101881108811788125881308813188140881478815588163881648817388180881898819388194882038821088219882288822988238882458825488263882648827388281882818828488285882948830288302883108831188320883288832988332883338834288350883518835488355883648837288373883808838188390883988840088403884048841388421884238843188432884418844988451884598846088469884778848088483884848849388501885048850888509885188852688529885388853988548885568855988568885698857888586885908859488595886048861288616886228862388632886408864588646886478865688664886698867088671886808868888693886998870088709887178872388725887268873588743887498875688757887668877488780887878878888797888058881288814888158882488832888398884888849888588886688874888788887988888888968890488908889098891888926889358893588936889458895388962889648896588974889828899188998889998900889016890258903289033890428905189051890548905589064890738907389079890808908989098890998910089101891108911989120891218912289131891408914189148891498915889167891698917389174891838919289194892038920489213892228922489233892348924389252892558926089261892708927989283892868928789296893058930989317893188932789336893408934889349893588936789372893778937889387893968940189409894108941989428894348943789438894478945689462894658946689475894848949189491894928950189510895178952189522895318954089547895568955789566895758958289591895928960189610896188962489625896348964389652896578965989659896598965989659896618966189661896618966189663896638966389663896718967389673896738967389681896838968389683896848968789689896898968989690896938969589695896958969789698897008970089700897028970889710897108971089713897148971689716897168971989720897228972289722897258973489736897368973689740897468974889748897488975389754897568975689756897618976289764897648976489769897788978089780897808978689792897948979489794898018980289804898048980489811898128981489814898148982189830898328983289832898408984789849898498984989858898608986289862898628987189873898758987589876898768987789879898798988089880898848988689886898878988789896898988989889899898998990889910899108991189912899208992289922899238992589928899308993089931899338994189943899438994489946899548995689956899578996089967899698996989970899748997689978899788997989983899908999289992899938999790004900069000690007900129001890020900209002190027900299003190031900329003890045900479004790048900549006290064900649006590071900799008190081900829008890097900999009990100901079011190113901139011490121901269012890128901299013690141901439014390144901519015990161901619016290170901739017590175901769018490188901909019090191901999020390205902059020690215902169021890218902199022890234902369023690237902469025390255902559025690265902729027490274902769027690281902839028390285902869028690288902889029090291902929029490294902969029790299903019030190303903049030990311903119031390315903159031790317903199032190322903249032490326903289033090332903329033490336903439034590345903479035090352903549035490356903599036290364903649036690369903749037690376903789038190390903929039290394903989040290404904049040690410904159041790417904199042390430904329043290434904399044190443904439044590450904579045990459904619046690474904769047690478904849048590487904879048990495904969049890498905009050690512905149051490516905229052990531905319053390540905409054290542905449055190554905569055690558905659057390575905759057790584905939059590595905979060590607906099060990611906199062490626906269062890637906379063990639906419065090651906539065390655906649066890670906709067290681906899069190691906949069490697906999069990702907029070690708907089071190711907189072090720907239072490730907329073290735907379073890740907409074390745907479074990749907529075490760907629076290765907679077590777907779078090783907869078890788907919079490798908009080090803908069081490816908169081990823908249082690826908299083390839908419084190844908489085590857908579086090865908669086890868908719087690881908839088390886908929089290894908949089790903909049090690906909099091590920909229092290925909329093690938909389094190948909579095990959909629097090970909729097290975909839098890990909909099391001910089101091010910139102291024910269102691029910389104191043910439104691055910639106591065910699106991075910779107791081910829108391085910859108991090910929109491094910989109991106911089110891112911149112091122911229112691129911309113291132911369113991141911439114391147911509115891160911609116491168911709117291172911769118091187911899118991193911979120591207912079121191216912209122291222912269123291233912359123591239912459125191253912539125791263912709127291272912769128391287912899128991293913009130891310913109131491322913259132791327913319133991343913459134591349913589135991361913619136591374913809138291382913879138791388913909139091395913959139791399913999140491405914059140791407914129141391413914159141591420914219142691428914289143391434914409144291442914479144991453914559145591460914629147091472914729147791480914839148591485914909149391497914999149991504915089151091512915129151791521915279152991529915349153991540915429154291547915529155491556915569156191567915679156991569915749158091585915879158791592915999159991601916019160691613916149161691616916219162991629916319163191636916449164491646916469165191659916649166691666916719167991685916879168791692917019170691708917089171391722917319173391733917399173991743917459174591751917519175691758917589176491765917699177191771917779177991782917849178491790917929180091802918029180891811918119181391813918199182291822918249182491830918339183391835918359184191844918499185191851918579186091867918699186991875918789188591887918879189391897918999190191901919079191191918919209192091926919309193991941919419194791951919609196291962919689197391981919839198391989919959199892000920009200692012920179201992019920259203192037920399203992045920529205392055920559206192068920749207692076920829208992097920999209992105921129212192123921239212992137921429214492144921509215992159921619216192167921769217892180921809218692195921999220192201922079221692221922239222392230922309223092232922329223992239922419224392243922509225092254922569225692263922649226492266922669227392274922799228192281922889228992296922989229892305923069231592317923179232492326923339233592335923429234592347923499234992356923599236392365923659237292375923819238392383923909239492399924019240192408924139241392415924159242292427924299243192431924389244392448924509245092457924629247192473924739248092486924909249292492924999250592511925139251392520925269253592537925379254492551925599256192561925689257692579925819258192588925969260192603926039261092618926279262992629926369264592650926529265292660926609266092662926629267092670926729267492674926829268292688926909269092698926999270292704927049271292713927219272392723927319273392733927359273592743927459275092752927529276092762927699277192771927799278292784927869278692794927979280192803928039281192814928239282592825928339283792843928459284592853928589285992861928619286992874928779287992879928879289292901929039290392911929179292292924929249293292939929399294192941929499295692958929609296092968929759298392985929859299393001930069300893008930169302593025930279302793035930449304693048930489305693065930749307693076930859308593086930889308893097930979310393105931059311493114931229312493124931339313493139931419314193150931529315593157931579316693168931769317893178931879319093190931929319293201932049321293214932149322393226932359323793237932469325093254932569325693265932699327593277932779328693291932959329793297933069331193317933199331993328933349333593337933379334693352933559335793357933669337393374933769337693385933929340093402934029341193419934229342493424934339344193446934489344893457934669347093472934729348193490934979349993500935009350093502935049350593505935059351093512935139351393513935189352093521935219352193527935299353093530935319353293534935359353593536935409354293543935439354493548935509355193551935529355893560935619356193563935649356693567935679356993573935759357693576935789358293584935859358593588935899359193592935929359593601936039360493604936079361693618936199361993623936239362593626936269363093634936369363793637936419365093652936539365393658936609366293663936639366893671936739367493674936799368693688936899368993695936979369993700937009370693711937139371493714937209372693728937299372993736937379373993740937409374793753937559375693756937639377293774937759377593783937849378693787937879379593796937989379993799938079381393815938169381693824938339383593836938369384593846938489384993849938589386693868938699387093870938739387593876938779387793883938859388693887938879389693898938999390093901939039390593906939079390893915939179391893919939219392193923939249392593927939309393293933939349393693943939459394693947939509395293954939559395693959939649396693967939689397193979939819398293983939879399493996939979399894003940059400794008940099401494019940219402294023940289403794039940409404194047940539405594056940579406494065940679406894069940769408094082940839408494091940999410194102941039411194117941199412094121941309413194133941349413594144941489415094151941529416194169941719417294174941749418194183941849418694187941899419194192941949419594200942029420394205942079420794209942109421294214942189422094221942239422594234942369423794239942429424494246942479424994252942609426294263942659426994269942719427294274942789428394285942869428894292943009430294303943059431094314943169431794319943259432594327943289433094336943419434394344943469435294360943629436394365943729437694378943799438194389943909439294393943959440394409944119441294414944229443194433944349443694445944519445394454944569446594473944759447694479944799448294484944859448894488944949449694497945009450194505945079450894511945129451694518945199452294523945329453494535945389454094542945449454594548945519455194553945549455794560945649456694567945709457394582945849458594588945929459494596945979460094605946059460794608946119461694621946239462494627946339463394635946369463994645946489465094651946549466194663946659466694669946769467894680946819468494691946989470094701947049471294712947149471594718947269473594737947389474194750947579475994760947649476494766947689476994773947739477994781947829478694786947929479494795947999480094803948059480694810948119481994821948229482694828948309483294833948379483994841948439484494848948519485194853948549485894861948669486894869948739487694885948879488894892948969489694898948999490394907949109491294913949179492194929949319493294936949419494394945949469495094955949599496194962949669497194977949799498094984949909499194993949949499895004950099501195012950169502295029950319503295036950439504495046950479505195058950649506695067950719507995079950819508295086950949509695098950999510395111951189512095121951259513495136951389513995143951529515895160951619516595174951839518595186951909519995208952109521195216952169522095222952239522895228952369523895239952449524595246952489524995254952569525695258952599526495266952719527395274952799528195290952929529395298953019530495306953079531295315953229532495325953309533495336953389533995344953489535495356953579536295367953679536995370953759538095385953879538895393953999539995401954029540795413954179541995420954259543195440954429544395448954559545595457954589546395470954759547795478954839549095499955019550295507955159551995521955229552795535955409554295543955489555795557955599556095565955749557895580955819558695595956049560695607956139561395613956159561695622956229562795629956309563695636956459564795648956549565595659956619566295668956699567595677956789568495686956879568995690956969569895703957059570695712957159571595717957189572495727957359573795738957449574895751957539575495760957649577195773957749578095785957879578995790957969580295802958049580595811958179582295824958259583195837958469584895849958559586295867958699587095876958839588995891958929589895906959079590995910959169592495929959319593295938959479594895950959519595795966959699597195972959789598795995959979599896005960059600796009960109601796017960259602796028960359603696042960449604596052960549605596057960589606596067960729607496075960829608596086960889608996096960999610896110961119611896122961269612896129961369614096148961509615196158961639616896170961719617896184961859618796188961959620196207962099621096217962249622496226962279623496241962489625096251962589626696270962729627396280962889629796299963009630796316963199632196322963309633096331963339633496342963429634696348963499635796357963669636896369963779637896381963839638496392963949639596397963989640696408964139641596416964249642796427964299643096438964419644596447964489645696460964629646496465964739647796486964889648996497965029650696508965099651796522965309653296533965419654796553965559655696564965719657596577965789658696593966029660496605966139662196624966269662796635966449664696648966499665796666966729667496675966849668496685966879668896697966979670296704967059671496715967199672196722967319673296741967439674496753967559675996761967629677196773967829678496785967949679696805968079680896817968209682096822968239683296835968409684296843968529685696856968589685996868968729687296874968759688496888968909689296893969029690696913969159691696925969309693296934969359694496949969519695396954969639696996969969719697296981969879699296994969959700497011970119701397014970239703097031970339703497043970509705197053970549706397070970769707897079970889709697097970999710097109971179711997121971229713197139971469714897149971589716797169971719717297181971909719797199972009720997218972269722897230972309723097234972369723897238972389724797249972519725197252972569725897260972609726197267972699727197271972729728097282972849728497286972899729197293972939729597303973059730797307973109731097312973149731497317973229732497326973269733097330973329733497334973389734397345973479734797351973589736097362973629736797369973719737397373973789738597387973899738997395973979739997401974019740797411974139741597415974229742297424974269742697433974389744097442974429745097450974529745497454974629746597467974699746997477974829748497486974869749597495974979749997499975089751397515975179751797526975349753697538975399753997542975449754697547975479755597557975599756097561975649756697568975699757097576975789758097581975839758897590975929759397596975969759897600976019760497609976119761397614976179762697628976309763197634976439764597647976489765297656976589766097661976659767497676976789767997684976879768997691976929769797706977089771097711977179772197723977259772697732977419774397745977469775397756977589776097761977699777197773977759777697784977919779397795977969780597807978099781197812978219782897830978329783497834978379783997841978439784397851978539785597857978589786197863978659786797868978769787897880978829788497889978919789397895978989789897900979029790497907979129791497916979189792297923979259792797929979339793797939979419794397947979569795897960979629796797971979739797597977979839798397985979879798997995980029800498006980089801598017980199802198023980309803798039980419804398051980549805698058980609806998071980739807598077980869809398095980979810098100981029810498106981099810998118981209812298125981259813498136981389814198142981469814898150981539815498163981659816798170981729817898180981829818598188981909819298194981979820098207982099821198214982189822098222982249822798232982329823498236982399824498244982469824898251982569826198263982659826898274982749827698278982819828798295982979829998302983099831398315983179832098327983369833898340983439835198355983579835998362983719837398375983779838098389983989840098402984069840698410984129841498418984189842798429984319843598436984449844698448984529845498455984579845998463984659847198473984759847998482984839848598487984919849598495984979849998503985079851598517985199852398528985319853398535985399854498552985549855698560985669857398575985779858198588985949859698598986029861098611986139861598619986279863498636986389864298650986579865998661986659867398680986829868498688986979869998701987039870798716987249872698728987329874198749987519875398758987589876298764987669877198771987809878298784987899879098795987979879998804988059881198813988159882098821988289883098832988379883998841988439884598850988529886098862988649886998871988809888298884988899889298898989009890298907989119891298914989169892198925989329893498936989419894598953989559895798962989679897398975989779898298988989899899198993989989900499011990139901599020990269903599037990399904499051990549905699058990639907099078990809908299087990959909999101991039910899116991239912599127991329914099147991499915199156991659916799169991719917699185991939919599197992039920399204992069920899214992149921599217992199922599225992319923399235992419924299244992469924899254992559926099262992649927099271992779927999281992879928999290992929929499300993029930999311993139931999322993229932499326993329933599342993449934699352993569935899360993629936899372993809938299384993909939599397993999940199407994129941799419994219942799433994339943599437994439944999455994579945999465994729947399475994779948399490994939949599497995039951099518995209952299528995369954099542995449955099558995679956999571995779958699588995909959299598996079961499616996189962599625996289963099632996399963999647996499965199658996599966699668996709967799679996819968399685996929969499702997049970699713997169972099722997249973199735997359973799739997469975099755997579975999766997719977299774997769978399788997969979899800998079981299820998229982499831998379984099842998449985199857998669986899870998779988499890998929989499901999089991599917999199992699934999369993899940999479995599963999659996799974999839998899990999921000001000001000021000041000061000141000141000211000231000251000331000341000371000391000411000491000511000521000541000561000641000661000711000731000751000831000861000861000881000901000981001011001071001091001111001191001231001281001301001321001401001441001521001541001561001641001691001721001741001761001841001891001981002001002021002101002161002241002261002281002361002431002451002471002491002571002641002711002731002751002831002911002951002971002991003071003151003191003211003231003311003391003431003451003471003551003631003721003741003761003841003931003991004011004031004111004201004261004281004301004391004391004431004451004471004561004561004651004671004691004781004791004851004871004891004981004991005061005081005101005191005201005281005301005321005411005431005461005481005501005591005621005621005641005661005751005781005791005811005831005921005951005981006001006021006111006141006221006241006261006351006391006441006461006481006571006611006671006691006711006801006851006891006911006931007021007071007161007181007201007291007351007411007431007451007541007601007681007701007721007811007881007921007941007961008051008121008211008231008251008341008421008481008501008521008611008691008781008801008821008911009001009031009051009071009161009251009331009351009381009381009381009431009451009481009481009481009561009581009611009611009621009651009671009701009701009711009791009811009841009841009861009911009931009961009961009981010071010091010121010121010151010151010171010201010201010231010281010301010331010331010371010391010411010441010441010481010551010571010601010601010641010711010731010761010761010811010831010851010881010881010931011021011041011071011071011131011171011191011221011221011281011351011371011401011401011471011491011511011541011541011611011701011721011751011751011831011871011891011921011921012001012081012101012131012131012221012251012271012301012311012311012311012331012361012371012371012431012451012481012491012491012551012571012601012611012621012631012651012681012691012701012781012801012831012841012861012901012921012951012961012991013021013041013071013081013111013191013211013241013251013291013341013361013391013401013451013471013491013521013531013591013591013611013641013651013711013761013781013811013821013891013911013931013961013971014041014131014151014181014191014271014351014371014401014411014501014531014551014581014601014601014601014621014651014671014671014751014771014801014821014831014871014891014921014941014951015041015061015091015111015131015191015211015241015261015291015331015351015381015401015441015441015461015491015511015551015601015621015651015671015721015741015761015791015811015871015881015901015931015951016011016021016041016071016091016151016211016231016261016281016351016381016401016431016451016531016551016571016601016621016701016731016751016781016801016881016961016981017011017031017121017171017191017221017251017251017291017311017341017371017381017401017421017451017481017491017561017581017611017641017661017701017721017751017781017811017841017861017891017921017961017981018001018031018061018101018171018191018221018251018301018341018361018391018421018481018511018531018561018591018661018681018701018731018761018831018901018921018951018981019061019111019131019161019191019271019321019341019371019401019481019531019551019581019611019701019701019721019751019781019871019951019971020001020031020121020201020221020251020291020291020341020361020391020431020441020441020461020491020531020541020621020641020671020711020721020801020821020851020891020911020971020991021021021061021091021101021121021151021191021221021311021331021361021401021431021521021541021571021611021651021731021751021781021821021871021901021921021951021991022051022061022081022111022151022211022231022251022281022321022381022401022421022451022491022551022621022641022671022711022781022831022851022881022921022991023051023071023101023141023221023251023271023301023341023421023501023521023551023591023681023741023761023791023831023921023991024011024041024091024091024141024161024191024241024251024251024271024301024351024361024441024461024491024541024561024561024581024611024661024681024721024741024771024821024841024931024951024981025031025061025131025151025181025231025261025351025371025401025451025491025531025551025581025631025671025761025781025811025861025911025981026001026031026081026141026141026161026191026241026301026321026341026371026421026481026551026571026601026651026721026771026791026821026871026941027021027041027071027121027201027221027241027271027321027401027471027491027521027571027661027711027731027761027811027901027981028001028031028091028091028131028151028181028241028241028331028351028381028441028451028521028541028571028631028651028651028671028701028761028781028851028871028901028961028991029011029031029061029121029161029161029181029211029271029311029351029371029401029461029501029581029601029631029691029741029771029791029821029881029941029951029971030001030061030121030171030191030221030281030351030361030381030411030471030541030601030621030651030711030791030831030851030881030941031021031111031131031161031221031311031311031331031361031421031511031561031581031611031681031681031711031731031761031831031831031911031931031961032031032041032041032061032091032161032171032221032241032271032341032361032391032411032441032511032531032611032631032661032731032761032831032851032881032951032991033011033031033061033131033181033181033201033231033301033351033411033431033461033531033581033661033681033711033781033841033871033891033921033991034061034071034091034121034191034261034331034351034381034451034521034611034631034661034731034811034851034871034901034971035061035081035101035131035201035291035371035391035421035501035501035511035531035561035641035641035701035721035751035831035841035881035901035931036011036031036041036061036091036171036191036201036221036251036331036351036411036431036461036541036571036611036631036661036741036781036791036811036841036921036961037001037021037051037131037171037261037281037311037391037441037511037531037561037641037701037741037761037791037871037941037971037991038021038101038171038251038271038301038381038461038521038541038571038651038741038781038801038831038911039001039041039061039091039171039261039351039371039401039491039491039561039581039611039701039711039761039781039811039901039921039941039961039991040081040101040171040191040221040311040341040391040411040441040531040571040611040631040661040751040791040841040861040891040981041031041031041051041081041171041221041301041321041351041441041501041571041591041621041711041771041861041881041911042001042071042111042131042161042251042331042351042371042401042491042581042591042611042641042731042821042861042881042911043001043091043181043201043241043241043241043321043341043381043381043381043461043481043521043521043521043601043621043661043661043671043701043721043761043761043781043801043821043861043861043881043901043921043961043961043981044041044061044101044101044131044141044161044201044201044241044241044261044301044301044341044351044371044411044411044451044461044481044521044521044561044621044641044681044681044731044781044801044841044841044891044951044971045011045011045061045131045151045191045191045251045271045291045331045331045401045411045431045471045471045541045561045581045621045621045701045701045721045761045761045841045891045911045951045951046041046081046101046141046141046231046291046311046351046351046441046531046551046591046601046601046641046661046701046711046721046751046771046811046821046831046881046901046941046951046971046981047001047041047051047071047131047151047191047201047231047281047301047341047351047381047451047471047511047521047561047601047621047661047671047711047801047821047861047871047921048001048021048061048071048131048141048161048201048211048271048321048341048381048391048461048461048481048521048531048601048691048711048751048761048841048861048881048921048931049021049031049051049091049101049191049251049271049311049331049331049381049401049441049461049461049551049571049611049631049641049651049671049711049731049741049801049821049861049881049901049951049971050011050031050051050141050161050201050221050251050271050291050331050351050381050451050471050511050531050571050631050651050691050711050761050771050791050831050851050901050911050931050971050991051041051101051121051161051181051241051291051311051351051371051441051441051461051501051521051591051641051661051701051721051801051801051821051861051881051961052051052071052111052131052221052271052291052331052351052441052521052541052581052611052611052641052661052701052731052741052761052781052821052851052861052941052961053001053031053051053071053091053131053161053181053251053271053311053341053371053431053451053491053521053561053591053611053651053681053721053761053781053821053851053891053981054001054041054071054121054201054221054261054291054351054401054421054461054491054561054581054601054641054671054741054811054831054871054901054981055041055061055101055131055221055261055281055321055351055441055501055521055561055601055601055611055631055671055711055721055721055741055781055821055831055911055931055971056011056031056041056061056101056141056161056221056241056281056321056351056401056421056461056501056541056581056601056641056681056721056761056781056821056861056901056991057011057051057091057141057221057241057281057321057381057451057471057511057551057621057651057671057711057751057821057911057931057971058011058081058171058191058231058271058341058431058451058491058531058611058641058661058701058741058821058911058931058971059011059091059181059201059241059281059361059451059471059511059551059641059681059701059741059791059791059791059811059851059901059901059901059921059961060011060011060021060041060081060131060131060161060181060221060271060271060361060381060421060471060471060561060581060621060671060681060681060701060741060791060801060891060911060951061001061021061071061091061131061181061201061251061271061311061361061381061451061471061511061561061581061671061691061731061781061811061861061881061921061971062001062051062071062111062161062191062261062281062321062371062411062411062431062471062521062561062621062641062681062731062771062831062851062891062941062981063071063091063131063181063221063311063331063371063421063471063521063541063581063631063681063731063751063791063841063891063971063991064031064081064141064201064221064261064311064381064401064421064461064511064581064601064621064661064711064781064831064851064891064941065021065051065071065111065161065241065331065351065391065441065521065611065631065671065721065811065831065851065891065951065951065961065981066021066081066081066151066171066211066271066271066341066361066401066461066471066481066501066541066601066611066681066701066741066801066821066851066871066911066971066991067021067041067081067141067161067241067261067301067361067391067411067431067471067531067561067641067661067701067761067791067871067891067931067991068031068061068081068121068181068231068251068271068311068371068421068501068521068561068621068671068751068771068811068871068931068971068991069031069091069151069191069211069251069311069381069381069401069441069501069571069571069591069631069691069761069821069841069881069941070021070051070071070111070171070251070341070361070401070461070541070631070651070691070751070841070901070921070961071031071031071051071071071111071181071181071261071281071321071391071391071471071491071531071601071611071661071681071721071791071811071821071841071881071951071971072041072061072101072171072191072261072281072321072391072421072461072481072521072591072631072641072661072701072771072811072881072901072941073011073051073121073141073181073251073301073351073371073411073481073531073621073641073681073751073811073861073881073921073991074051074101074121074161074231074301074341074361074401074471074541074611074631074671074741074821074851074871074911074981075061075101075121075161075231075311075351075371075411075481075561075611075631075671075741075831075841075861075901075971076061076081076101076141076211076301076321076341076381076451076541076581076601076641076721076721076721076741076781076861076861076871076891076931077011077011077021077041077081077161077171077171077191077231077311077321077381077401077441077521077531077601077621077661077741077751077831077851077891077971077991078051078071078111078191078221078241078261078301078381078411078441078461078501078581078611078661078681078721078801078841078851078871078911078991079031079101079121079161079241079281079361079381079421079501079551079551079571079611079691079741079811079831079871079951080011080041080061080101080181080241080281080301080341080421080481080551080571080611080691080761080781080801080841080921080991081071081091081131081211081281081371081391081431081511081591081611081631081671081751081831081901081921081961082041082131082161082181082221082301082391082431082451082491082571082661082731082751082791082881082881082931082951082991083081083091083101083121083161083251083261083281083301083341083431083441083491083511083551083641083661083701083721083761083851083881083881083901083941084031084061084071084091084131084221084251084301084321084361084451084491084511084531084571084661084701084781084801084841084931084971085061085081085121085211085261085291085311085351085441085501085511085531085571085661085721085791085811085851085941086001086081086101086141086231086301086321086341086381086471086551086561086581086621086711086791086861086881086921087011087091087171087191087231087321087411087441087461087501087591087681087711087731087771087861087951088041088061088111088111088111088111088131088181088181088181088231088251088301088301088311088341088361088411088411088421088511088531088581088581088601088601088621088671088671088691088741088761088811088811088841088881088901088951088951088991088991089011089061089061089101089111089131089181089181089221089291089311089361089361089411089431089451089501089501089551089631089651089701089701089751089841089861089911089911089971090021090041090091090091090161090171090191090241090241090311090381090401090451090451090521090601090621090671090671090751090801090821090871090871090951091041091061091111091111091201091251091271091321091321091411091471091491091541091551091551091581091601091651091661091661091751091771091821091831091841091891091911091961091971091981092041092061092111092121092141092171092191092241092251092281092281092301092351092361092391092451092471092521092531092561092631092651092701092711092751092791092811092861092871092921092941092961093011093021093071093151093171093221093231093281093371093391093441093451093511093581093601093651093661093731093761093781093831093841093911094001094021094071094081094161094161094181094231094241094321094401094421094471094481094571094631094651094701094721094721094741094761094811094831094831094861094881094931094951094961094981095001095051095071095081095171095191095241095261095281095331095351095401095421095441095501095521095571095591095621095671095691095741095761095801095831095851095901095921095961096051096071096121096141096191096201096221096271096291096341096351096371096421096441096491096561096581096631096651096711096741096761096811096831096891096941096961097011097031097091097141097161097211097231097301097341097361097411097431097511097511097531097581097601097681097701097721097771097791097871097901097921097971097991098071098151098171098221098241098331098371098391098441098461098551098611098631098681098701098791098861098881098931098961098961098991099011099061099091099091099181099201099251099281099291099301099321099371099401099411099441099461099511099541099551099621099641099691099721099741099771099791099841099871099891099941099961100011100041100061100131100151100201100231100261100311100331100381100411100451100461100481100531100561100601100631100651100701100731100771100821100841100891100921100971101011101031101081101111101171101171101191101241101271101331101351101371101421101451101511101561101581101631101661101721101771101791101841101871101941101951101971102021102051102121102151102171102221102251102321102381102401102451102481102561102601102621102671102701102791102791102811102861102891102981103001103021103071103101103191103251103271103321103351103441103531103551103601103641103641103691103711103761103801103801103871103891103941103981103991104001104021104071104111104121104161104181104231104271104291104291104311104361104401104421104441104461104511104551104571104631104651104701104741104771104771104791104841104881104911104971104991105041105081105111105191105211105261105301105341105371105391105441105481105521105571105591105641105681105731105741105761105811105851105901105931105951106001106041106091106171106191106241106281106341106391106411106461106501106571106581106601106651106691106761106791106811106861106901106971107051107071107121107161107241107311107331107381107421107511107541107561107611107651107741107791107811107861107911107911107921107941107991108041108041108051108071108121108171108171108241108261108311108361108361108451108471108521108571108581108631108651108701108751108771108801108821108871108921108941109031109051109101109151109181109191109211109261109311109341109421109441109491109541109581109591109611109661109711109751109821109841109891109941109981110071110091110141110191110241110311110331110381110431110481110551110571110621110671110731110761110781110831110881110941110991111011111061111111111181111211111231111281111331111401111441111461111511111561111641111641111661111711111761111841111861111881111931111981112071112071112091112141112191112281112371112391112441112501112501112551112571112621112681112681112751112771112821112881112891112951112971113021113081113101113111113131113181113241113261113331113351113401113461113491113491113511113561113621113651113651113671113721113781113811113821113841113891113951113981114051114071114121114181114221114221114241114291114351114391114391114411114461114521114561114581114601114651114711114751114831114851114901114961115011115021115041115091115151115201115221115241115291115351115401115421115441115491115551115601115681115701115751115811115871115881115901115951116011116071116091116111116161116221116281116371116391116441116501116571116621116641116691116751116821116901116921116971117031117111117111117131117181117241117321117341117361117411117471117551117631117651117701117761117851117861117881117931117991118081118111118131118181118241118331118391118411118461118531118531118551118571118621118691118691118741118761118811118881118881118961118981119031119101119101119191119211119261119331119341119391119411119461119531119541119621119641119691119761119781119791119811119861119931119961119961119981120031120101120131120191120211120261120331120361120451120471120521120591120631120661120681120731120801120841120871120891120941121011121051121141121161121211121281121331121351121371121421121491121541121601121621121671121741121791121861121881121931122001122061122091122111122161122231122291122351122371122421122491122561122561122581122631122701122771122861122881122931123001123081123131123151123201123271123351123431123451123501123571123661123691123711123761123841123841123841123861123911123991123991124051124071124121124201124201124291124311124361124441124451124491124511124561124641124661124681124701124751124831124851124931124951125001125081125111125121125141125191125271125301125361125381125431125511125551125601125621125671125751125801125811125831125881125961126011126051126071126121126201126261126261126281126331126411126471126541126561126611126691126761126791126811126861126941127011127071127091127141127221127301127331127351127401127481127561127641127661127711127791127881127921127941127991128071128161128231128251128301128391128391128431128451128501128591128601128611128631128681128771128781128851128871128921129011129031129031129051129101129191129211129281129301129351129441129471129521129541129591129681129721129731129751129801129891129931129971129991130041130131130181130201130221130271130361130411130491130511130561130651130711130751130771130821130911130971131041131061131111131201131271131331131351131401131491131571131571131591131641131731131811131871131891131941132031132121132121132141132191132281132371132371132391132441132531132621132641132661132711132801132891132971132991133051133051133051133071133091133151133151133151133171133191133251133251133251133301133321133381133381133391133401133421133481133481133491133541133561133621133621133631133691133711133771133771133781133851133871133931133931133951133981134001134061134061134081134151134171134231134231134251134331134351134411134411134441134511134531134591134591134631134661134681134741134741134781134851134871134931134931134971135061135081135141135141135191135251135271135331135331135391135411135431135491135491135551135611135631135691135691135751135831135851135911135911135981136041136061136121136121136201136221136241136301136301136381136441136461136521136521136601136691136711136771136771136861136911136931136991137001137001137011137031137091137101137101137151137171137231137241137241137331137351137411137421137431137471137491137551137561137581137581137601137661137671137691137731137751137811137821137841137921137941138001138011138041138111138131138191138201138241138271138291138351138361138401138471138491138551138561138611138631138651138711138721138771138791138811138871138881138931139011139031139091139101139161139181139201139261139271139331139401139421139481139491139561139621139641139701139711139791139811139831139891139901139981140041140061140121140131140221140231140251140311140331140331140331140351140411140431140431140491140511140571140591140601140601140621140681140701140711140761140781140841140861140881140921140941141001141021141051141051141071141131141151141181141221141241141301141321141361141361141381141441141461141501141501141521141581141601141641141701141721141781141801141851141851141871141931141951142001142061142081142141142161142221142271142291142351142371142441142451142471142531142551142621142671142691142751142771142851142861142881142941142961143051143051143071143131143151143241143301143321143381143411143411143411143431143491143521143521143591143611143671143701143701143771143791143851143881143891143921143941144001144031144041144111144131144191144221144241144281144301144361144391144411144461144481144541144571144601144611144631144691144721144751144801144821144881144911144951144981145001145061145091145131145161145181145241145271145311145401145421145481145511145561145591145611145671145701145761145771145791145851145881145941145951145971146031146061146121146191146211146271146301146371146381146401146461146491146561146651146671146731146761146841146881146901146961146991147081147081147101147161147191147281147321147341147401147441147441147461147481147541147581147581147661147681147741147781147791147831147851147911147951147961148041148061148121148161148181148251148271148331148371148401148421148441148501148541148571148651148671148731148771148811148831148851148911148951149001149011149031149091149131149181149251149271149331149371149431149461149481149541149581149641149711149731149791149831149901149961149981150041150081150161150191150211150271150311150391150481150501150561150601150691150721150741150801150851150851150871150891150951151001151011151011151031151091151141151151151211151231151291151341151361151371151391151451151501151521151531151551151611151661151681151761151781151841151891151921151961151981152041152091152121152211152231152291152341152371152461152481152541152591152631152701152721152781152831152881152911152931152991153041153091153171153191153251153301153351153441153461153521153571153621153711153731153791153841153901153951153971154031154081154151154151154171154231154281154351154361154381154441154491154561154581154601154661154711154781154861154881154941154991155071155101155121155181155231155311155361155381155441155491155571155621155641155701155751155841155851155871155931155981156071156131156151156211156261156351156431156451156511156561156651156741156761156821156881156881156931156951157011157071157081157081157101157161157221157231157251157271157331157391157411157421157441157501157561157581157651157671157731157791157821157841157861157921157981158011158061158081158141158201158231158281158301158361158421158461158471158491158551158611158651158711158731158791158851158891158981159001159061159121159171159251159271159331159391159451159491159511159571159631159691159781159801159861159921159991160021160041160101160161160231160271160291160351160411160491160491160511160571160631160711160761160781160841160901160981161071161091161151161211161301161341161361161421161491161491161491161511161571161641161641161691161711161771161841161841161931161951162011162081162091162141162161162221162291162311162321162341162401162471162491162551162571162631162701162731162741162761162821162891162921162981163001163061163131163171163191163211163271163341163381163451163471163531163601163651163671163691163751163821163871163961163981164041164111164171164221164241164301164371164441164441164461164521164591164661164721164741164801164871164941165031165051165111165181165261165311165331165391165461165551165551165571165631165701165791165851165871165931166011166011166011166031166091166171166171166231166251166311166391166401166411166431166491166571166581166661166681166741166821166841166851166871166931167011167031167101167121167181167261167291167311167331167391167471167501167591167611167671167751167791167831167851167911167991168041168041168061168121168201168251168301168321168381168461168521168551168571168631168711168771168831168851168911168991169061169081169101169161169241169311169381169401169461169541169621169671169691169751169831169911170001170021170081170161170251170301170321170381170471170471170471170491170551170641170641170731170751170811170901170911170931170951171011171101171111171191171211171271171361171381171411171431171491171581171611171631171651171711171801171831171911171931171991172081172121172161172181172241172331172381172381172401172461172551172601172601172621172681172771172821172821172841172901172991173041173101173121173181173271173331173351173371173431173521173581173601173621173681173771173831173861173881173941174031174091174181174201174261174351174421174471174491174551174641174711174771174791174851174941175011175071175091175151175241175321175341175361175421175511175591175671175691175751175841175921176011176031176091176181176271176291176311176371176461176551176631176651176721176721176721176761176781176851176851176851176901176921176991176991177001177041177061177131177131177151177151177171177241177241177261177321177341177411177411177431177511177531177601177601177621177701177721177791177791177821177861177881177951177951177991177991178011178081178081178121178141178161178231178231178281178291178311178381178381178431178501178521178591178591178651178681178701178771178771178831178891178911178981178981179041179121179141179211179211179281179321179341179411179411179491179491179511179581179581179661179701179721179791179791179871179911179931180001180001180091180091180111180181180181180271180331180351180421180431180431180431180451180521180531180531180541180561180631180641180641180711180731180801180811180821180851180871180941180951180961181041181061181131181141181151181231181251181321181331181351181391181411181481181491181521181521181541181611181621181651181701181721181791181801181831181921181941182011182021182061182111182131182201182211182261182271182291182361182371182421182481182501182571182581182641182681182701182771182781182851182851182871182941182951183021183081183101183171183181183261183271183291183361183371183461183461183481183551183561183651183711183731183801183821183821183841183861183931183951183951184031184051184121184141184151184211184231184301184321184341184361184381184451184471184491184571184591184661184681184711184761184781184851184871184901184971184991185061185081185121185151185171185241185261185301185391185411185481185501185551185611185631185701185721185781185821185841185911185931186001186001186021186091186111186181186241186261186331186351186431186461186481186551186571186661186681186701186771186791186881186961186981187051187081187081187121187141187211187241187251187271187291187361187391187411187411187431187501187531187551187611187631187701187731187761187781187801187871187901187941187951187971188041188071188111188151188171188241188271188321188321188341188411188441188491188551188571188641188671188731188781188801188871188901188961189041189061189131189161189231189271189291189361189391189471189471189491189561189591189671189761189781189851189881189971190001190021190091190121190211190301190321190391190431190431190491190511190581190621190621190681190701190771190811190811190901190921190991191031191041191091191111191181191221191241191261191281191351191391191411191431191451191521191561191591191591191611191681191721191751191811191831191901191941191981192011192031192101192141192181192221192241192311192351192391192471192491192561192601192651192691192711192781192821192881192891192911192981193021193081193101193121193191193231193291193361193381193451193491193561193591193611193681193721193801193801193821193891193931194011194031194051194121194161194241194301194321194391194431194521194541194561194631194671194761194851194871194941194991194991195001195021195091195141195151195151195171195241195291195301195361195381195451195501195521195551195571195641195691195711195771195791195861195911195941195981196001196071196121196161196161196181196251196301196341196411196431196501196551196601196601196621196691196741196791196881196901196971197021197081197131197151197221197271197341197361197381197451197501197571197631197651197721197771197851197891197911197981198031198121198121198141198211198261198351198421198441198511198571198571198591198611198681198741198741198791198811198881198941198951198961198981199051199111199121199201199221199291199351199371199411199431199501199561199581199641199661199731199791199821199841199861199931199991200021200111200131200201200261200301200351200371200441200501200541200621200641200711200771200821200861200881200951201011201071201081201101201171201231201291201371201391201461201521201591201591201611201681201741201811201871201891201961202021202101202131202151202221202281202371202371202391202461202521202611202691202711202781202851202851202891202911202981203051203061203071203091203161203231203241203331203351203421203491203511203531203551203621203691203711203791203811203881203951203981204031204051204121204191204231204261204281204351204421204461204531204551204621204691204741204771204791204861204931204991204991205011205081205151205211205301205321205391205461205531205551205571205641205711205781205861205881205951206021206101206151206171206241206311206401206441206461206531206611206611206641206661206731206811206811206901206921206991207071207081207151207171207241207321207331207401207421207491207571207591207631207651207721207801207831207831207851207921208001208031208111208131208201208281208311208391208411208481208561208601208661208681208751208831208881208901208921208991209071209131209131209151209221209301209361209371209391209461209541209601209681209701209771209851209921209961209981210051210131210211210231210251210321210401210481210521210541210611210691210771210851210871210941211021211111211151211171211241211331211331211351211371211441211531211531211571211591211661211751211761211791211811211881211971211981212071212091212161212251212271212341212361212431212521212551212551212571212641212731212761212761212781212851212941212971213031213051213121213211213251213291213311213381213471213511213581213601213671213761213811213871213891213961214051214111214131214151214221214311214381214381214401214471214561214631214671214691214761214851214931214941214961215031215121215201215271215291215361215451215541215591215611215681215771215861215951215971216051216051216051216121216141216221216221216231216261216281216361216361216381216391216411216491216491216511216561216581216661216661216691216731216751216831216831216871216871216891216971216971217011217091217111217191217191217241217271217291217371217371217431217441217461217541217541217601217671217691217771217771217841217891217911217991217991218071218081218101218181218181218261218331218351218431218431218521218551218571218651218661218661218671218691218771218781218781218861218881218961218971218971219051219071219151219161219171219211219231219311219321219341219361219381219461219471219491219581219601219681219691219721219721219741219821219831219861219921219941220021220031220071220111220131220211220221220271220291220311220391220401220451220471220491220571220581220631220711220731220811220821220881220941220961221041221051221121221161221181221261221271221351221381221401221481221491221571221661221681221761221771221861221931221951222031222051222051222111222131222211222231222231222311222331222411222431222441222481222501222581222601222621222641222661222741222761222791222801222821222901222921222951222991223011223091223111223151223151223171223251223271223311223401223421223501223521223561223651223671223751223771223821223831223851223931223951224001224071224091224171224191224251224311224331224411224431224491224561224581224661224681224741224821224841224921224941225011225051225071225151225171225251225281225301225381225401225481225531225551225631225651225731225781225801225881225901225991226001226021226101226131226131226131226151226231226261226261226281226301226381226411226411226451226471226551226581226591226591226611226691226721226731226821226841226921226951226971226981227001227081227111227131227161227181227261227291227311227401227421227501227531227561227641227661227741227771227811227811227831227911227941227981228001228021228101228131228171228251228271228351228381228431228501228521228601228631228681228771228791228871228901228961229001229021229101229131229201229201229221229301229331229401229491229511229591229621229701229711229731229811229841229921230001230021230101230131230221230261230281230361230401230401230431230451230531230571230571230621230641230721230761230771230791230811230891230931230941231021231041231121231161231181231251231271231351231391231411231501231521231601231641231671231731231751231831231871231911231931231951232031232071232121232131232151232231232271232321232361232381232461232501232551232641232661232741232781232841232891232911232991233031233101233141233161233241233281233351233421233441233521233561233641233681233701233781233821233911233911233931234011234051234141234231234251234331234381234381234401234421234501234551234551234641234661234741234791234801234851234871234951235001235021235061235081235161235211235231235301235321235401235451235481235531235551235631235681235721235731235751235831235881235931235931235951236031236081236131236171236191236271236321236371236431236451236531236581236641236661236681236761236811236881236891236911236991237041237111237161237181237261237311237381237471237491237571237621237701237751237771237851237901237991238031238051238131238181238271238351238371238451238511238511238531238551238631238691238691238771238791238871238931238941239011239031239111239171239191239201239221239301239361239381239441239461239541239601239631239651239671239751239811239851239861239881239961240021240061240121240141240221240281240331240331240351240431240491240541240601240621240701240761240821240871240891240971241031241101241101241121241201241261241331241391241411241491241551241631241651241671241751241811241901241911241931242011242071242161242221242241242321242391242391242411242431242511242581242581242661242681242761242831242841242911242931243011243081243101243121243141243221243291243321243321243341243421243491243521243581243601243681243751243791243841243861243941244011244061244071244091244171244241244291244301244321244401244471244521244591244611244691244761244821244881244901244981245051245121245141245161245241245311245381245421245441245521245591245671245671245691245771245841245921246011246031246111246181246271246321246341246421246491246581246651246671246751246831246831246861246881246961247041247051247071247091247171247251247261247341247361247441247521247541247561247581247661247741247761247841247861247941248021248051248121248141248221248301248341248381248401248481248561248601248661248681248761248841248891248911248931249011249091249151249161249181249261249341249401249481249501249581249661249731249751249771249851249931250001250081250101250181250261250341250411250431250511250591250681250721250741250821250901250991251071251091251171251261251261251301251321251401251491251501251531251551251631251721251741251741251761251841251931251951252021252041252121252211252241252271252291252371252461252501252521252541252621252711252761252761252781252861252951253001253001253021253101253191253241253301253321253401253491253551253601253621253701253791253861253891253911253991254081254151254201254221254301254391254471254481254501254581254671254761254761254781254861254951255041255121255141255231255231255231255231255251255341255341255341255401255421255511255511255521255571255591255681255681255701255731255751255841255841255861255941255961256051256051256081256121256141256231256231256271256301256321256411256411256461256481256501256591256591256641256691256711256801256801256861256871256891256981256981257051257051257071257161257161257231257321257341257431257431257511257551257571257661257661257751257751257771257861257861257951258041258061258151258161258161258241258261258351258361258371258401258421258511258521258531258621258641258731258741258761258841258861258951258961258991259061259081259171259181259221259281259301259391259401259451259481259501259591259601259651259681259701259791259801259851259881259901259991260001260051260111260131260221260231260291260321260341260431260441260501260531260551260641260651260711260741260761260851260861260921261001261021261111261121261191261241261261261351261361261431261481261501261591261601261671261721261741261831261841261921261921261941262031262041262121262191262211262301262311262391262461262481262571262581262661262741262761262851262861262941263021263041263131263141263231263281263301263391263401263491263541263561263651263661263751263811263831263921263931264021264081264101264191264211264211264241264261264351264371264371264401264421264511264531264531264571264591264681264701264701264761264781264871264891264901264931264951265041265061265071265101265121265211265231265241265281265301265391265411265421265481265501265591265611265631265661265681265771265791265811265841265861265951265971265991266031266051266141266161266191266201266221266311266331266361266441266461266551266571266601266681266701266791266811266841266931266951267041267061267101267181267201267291267311267361267411267431267521267541267591267641267661267751267771267821267891267911268001268021268071268151268171268261268281268341268391268411268501268521268581268631268651268741268761268821268891268911269001269021269081269161269181269271269291269361269411269431269521269541269611269661269681269771269791269861269931269951270041270061270141270171270191270281270301270391270391270411270501270521270611270611270631270721270741270831270861270881270971270991271081271151271171271261271291271291271331271351271441271471271471271511271531271621271651271651271721271741271831271861271871271901271921272011272041272061272061272081272171272201272221272221272241272331272361272381272411272431272521272551272571272661272681272771272801272831272891272911273001273031273061273121273141273231273261273301273301273321273411273441273481273501273521273611273641273681273771273791273881273911273951274041274061274151274181274231274261274281274371274401274451274541274561274651274681274741274801274821274911274941275001275061275081275171275201275271275271275291275381275411275481275561275581275671275701275781275831275851275941275971276051276101276121276211276241276321276411276431276521276551276641276711276731276821276861276861276901276921277011277051277051277091277111277201277241277241277331277351277441277481277491277521277541277631277671277691277691277711277801277841277861277861277881277971278011278031278091278111278201278241278261278331278351278441278481278511278551278571278661278701278731278771278791278881278921278961278961278981279071279111279151279181279201279291279331279381279381279401279491279531279581279581279601279691279731279781279841279861279951279991280041280131280151280241280281280341280401280421280511280551280611280671280691280781280821280891280921280941281031281071281141281171281191281281281321281401281401281421281511281551281631281631281651281741281781281861281931281951282041282081282171282171282191282281282321282411282481282501282591282631282721282791282811282901282951282951282991283011283101283151283151283241283261283351283401283411283471283491283581283631283641283701283721283811283861283881283911283931284021284071284091284171284191284281284331284361284411284431284521284571284601284651284671284761284811284851284881284901284991285041285081285131285151285241285291285341285361285381285471285521285571285591285611285701285751285811285821285841285931285981286041286061286081286171286221286281286371286391286481286531286591286681286701286791286841286911286991287011287101287151287231287241287261287351287401287481287561287581287671287721287801287881287901287991288041288131288201288221288311288371288371288371288391288481288541288541288611288631288721288781288781288861288881288971289031289031289111289131289221289281289281289371289391289481289541289551289611289631289721289781289791289861289881289971290031290041290111290131290221290281290301290321290341290431290491290511290601290621290711290771290801290801290821290911290971291001291001291021291111291171291201291271291291291381291441291481291521291541291631291691291731291781291801291891291951291991292041292061292151292211292261292281292301292391292451292501292591292611292701292761292821292821292841292931292991293051293061293081293171293231293291293361293381293471293531293601293641293661293751293811293881293931293951294041294101294171294231294251294341294401294481294501294521294611294671294751294841294861294951295011295101295101295121295211295271295361295371295391295481295541295631295721295741295831295901295901295961295981296071296141296141296211296231296321296391296391296471296491296581296651296661296721296741296831296901296921296951296971297061297131297151297191297211297301297371297391297451297471297561297631297661297691297711297801297871297911297911297931298021298091298131298141298161298251298321298361298401298421298511298581298621298701298721298811298881298931298981299001299091299161299211299271299291299381299451299501299591299611299701299771299831299881299901299991300061300131300151300171300261300331300401300431300451300541300611300681300741300761300851300921301001301021301041301131301201301281301371301391301481301551301641301641301661301751301821301911301951301971302061302131302221302311302331302421302501302501302561302581302671302751302751302821302841302931303011303021303041303061303151303231303241303301303321303411303491303511303541303561303651303731303751303791303811303901303981304001304091304111304201304281304311304361304381304471304551304591304611304631304721304801304841304871304891304981305061305101305181305201305291305371305421305471305491305581305661305721305741305761305851305931305991306021306041306131306211306271306351306371306461306541306611306661306681306771306851306931306951306971307061307141307221307251307271307361307441307521307611307631307721307801307891307901307921308011308091308181308261308281308371308451308541308631308651308741308831308831308881308901308991309081309081309171309191309281309371309381309441309461309551309641309651309721309741309831309921309941309971309991310081310171310191310271310291310381310471310501310551310571310661310751310781310841310861310951311041311081311101311121311211311301311341311421311441311531311621311671311721311741311831311921311971312031312051312141312231312291312311312331312421312511312581312581312601312691312781312851312921312941313031313121313191313271313291313381313471313551313601313621313711313801313881313931313951314041314131314221314241314261314351314441314531314561314591314591314591314591314591314621314621314621314621314631314661314661314661314661314741314771314771314771314771314861314891314891314891314901314961314991314991314991315001315081315111315111315111315131315181315211315211315211315231315291315321315321315321315351315391315421315421315421315451315491315521315521315521315561315571315601315601315601315641315661315691315691315691315741315741315771315771315771315821315841315871315871315871315921316011316041316041316041316101316101316131316131316131316191316271316301316301316301316371316381316411316411316411316481316561316591316591316591316661316751316781316781316781316861316931316961316961316961317051317071317101317101317101317191317281317311317311317321317321317321317351317351317361317361317441317471317471317481317491317561317591317591317601317621317661317691317691317701317721317771317801317801317811317841317881317911317911317921317951318001318031318031318041318081318101318131318131318141318181318211318241318241318251318301318321318351318351318361318411318451318481318481318491318551318561318591318591318601318661318681318711318711318721318791318801318831318831318841318911318971319001319001319011319091319121319151319151319161319241319281319311319311319321319411319441319471319471319481319571319661319691319691319711319711319771319801319801319821319821319891319921319921319941319951320011320041320041320061320081320121320151320151320171320201320211320241320241320261320291320311320341320341320361320401320411320441320441320461320511320511320541320541320561320611320681320711320711320731320781320871320901320901320921320971321061321091321091321111321171321181321211321211321231321291321371321401321401321421321491321491321521321521321541321611321621321651321651321671321741321761321791321791321811321881321971322001322001322021322101322111322141322141322161322241322261322291322291322311322391322441322471322471322491322581322601322631322631322651322741322781322811322811322831322921322971323001323001323021323111323201323231323231323261323261323321323351323351323381323381323461323491323491323521323521323611323641323641323671323681323751323781323781323811323831323871323901323901323931323951324011324041324041324071324091324171324201324201324231324261324271324301324301324331324361324441324471324471324501324541324541324571324571324601324641324661324691324691324721324761324831324861324861324891324941324981325011325011325041325091325151325181325181325211325261325341325371325371325401325461325501325531325531325561325631325641325671325671325701325771325801325831325831325861325931325991326021326021326051326121326191326221326221326251326331326371326401326401326431326511326571326601326601326631326711326801326831326831326861326951326981327011327011327051327051327051327081327081327121327121327141327171327171327211327211327261327291327291327331327341327351327381327381327421327431327511327541327541327581327601327601327631327631327671327691327721327751327751327791327821327821327851327851327891327921327991328021328021328061328091328181328211328211328251328291328321328351328351328391328431328481328511328511328551328601328621328651328651328691328741328781328811328811328851328901328991329021329021329061329111329201329231329231329271329331329391329421329421329461329521329601329631329631329671329741329771329801329801329841329911329961329991329991330031330111330131330161330161330201330281330321330351330351330391330471330561330591330591330631330721330741330771330771330811330901330991331021331021331071331071331081331111331111331161331161331221331251331251331301331311331361331391331391331441331461331481331511331511331561331581331621331651331651331701331731331731331761331761331811331841331871331901331901331951331991331991332021332021332071332111332131332161332161332211332251332331332361332361332411332461332491332521332521332571332631332631332661332661332711332771332791332821332821332871332931333011333041333041333091333161333201333231333231333281333361333371333401333401333451333531333561333591333591333641333731333731333761333761333811333901333931333961333961334021334021334021334051334051334111334111334131334161334161334221334221334311334341334341334401334411334461334491334491334551334571334591334621334621334681334701334741334771334771334831334861334871334901334901334961334991335081335111335111335171335211335271335301335301335361335401335481335511335511335571335621335671335701335701335761335821335861335891335891335951336021336031336061336061336121336191336221336251336251336311336391336401336431336431336491336571336641336671336671336731336821336861336891336891336951337041337101337131337131337201337201337241337271337271337341337351337381337411337411337481337501337501337531337531337601337621337641337671337671337741337771337781337811337811337881337911337931337961337961338031338061338151338181338181338251338291338301338331338331338401338451338451338481338481338551338601338621338651338651338721338771338861338891338891338961339021339031339061339061339131339201339201339231339231339301339371339461339491339491339561339641339701339731339731339801339881339971340001340001340071340151340241340271340271340341340431340501340531340531340611340611340651340681340681340761340761340831340861340861340941340941341021341051341051341131341131341211341241341241341321341331341381341411341411341491341501341581341611341611341691341701341791341821341821341901341921341921341951341951342031342051342121342151342151342231342261342261342291342291342371342401342411342441342441342521342561342561342591342591342671342711342781342811342811342891342941342941342971342971343051343101343121343151343151343231343281343371343401343401343481343541343601343631343631343711343771343861343891343891343971344041344051344081344081344161344241344241344271344271344351344431344501344531344531344611344701344701344731344731344811344901344931344961344961345041345131345161345191345191345281345281345281345311345311345401345401345431345461345461345551345551345611345641345641345731345741345791345821345821345911345931345951345981345981346071346091346141346171346171346261346281346361346391346391346481346511346581346611346611346701346741346781346811346811346901346941347011347041347041347131347181347191347221347221347311347361347381347411347411347501347551347641347671347671347761347821347841347871347871347961348021348081348111348111348201348261348341348371348371348461348531348581348611348611348701348771348851348881348881348971349051349081349111349111349201349281349321349351349351349441349531349541349571349571349661349751349791349821349821349911350001350091350121350131350131350131350191350221350231350231350241350271350301350311350311350321350381350411350421350421350441350451350481350491350491350521350521350551350561350561350591350661350691350701350701350741350741350771350781350781350821350881350911350921350921350961351031351061351071351071351121351161351191351201351201351251351321351351351361351361351421351451351481351491351491351551351591351621351631351631351701351711351741351751351751351821351861351891351901351901351981351981352011352021352021352101352161352191352201352201352291352321352351352361352361352451352511352541352551352561352561352581352611352621352631352641352641352671352681352691352701352771352801352811352821352841352841352871352881352891352911352981353011353021353031353051353121353151353161353171353201353241353271353281353291353321353391353421353431353441353481353521353551353561353571353611353661353691353701353711353761353781353811353821353831353881353931353961353971353981354041354061354091354101354111354171354241354271354281354291354361354401354431354441354451354521354591354621354631354641354721354761354791354801354811354901354911354941354951354961355051355131355161355171355191355191355201355231355241355261355261355341355371355381355401355411355481355511355521355541355561355601355631355641355661355681355751355781355791355811355841355891355921355931355951355981356041356071356081356101356141356171356201356211356231356271356331356361356371356391356441356481356511356521356541356591356651356681356691356711356771356801356831356841356861356921356981357011357021357041357111357151357181357191357211357281357361357391357401357421357501357551357581357591357611357691357771357801357811357831357921357981358011358021358051358051358071358101358111358141358141358231358261358271358301358311358331358361358371358401358421358421358451358461358491358511358591358621358631358661358691358741358771358781358811358841358921358951358961358991359031359091359121359131359161359211359261359291359301359331359391359411359441359451359481359541359591359621359631359661359731359771359801359811359841359911359961359991360001360031360111360131360161360171360201360281360331360361360371360401360491360531360561360571360601360691360761360791360801360841360841360881360911360921360961360961361031361061361071361111361121361181361211361221361261361281361291361321361331361371361391361471361501361511361551361581361601361631361641361681361711361731361761361771361811361841361891361921361931361971362011362031362061362071362111362151362211362241362251362291362331362391362421362431362471362521362531362561362571362611362661362741362771362781362821362881362901362931362941362981363041363061363091363101363141363201363291363321363331363371363441363501363531363541363581363661363661363691363701363741363821363831363861363871363911363991364001364031364041364081364161364241364271364281364321364411364431364461364471364511364601364631364661364671364711364801364881364911364921364971364971365021365051365061365111365111365201365231365241365291365301365301365331365341365391365401365471365501365511365561365581365621365651365661365711365731365811365841365851365901365921366011366041366051366101366131366211366241366251366301366341366391366421366431366481366521366611366641366651366701366751366761366791366801366851366901366931366961366971367021367081367081367111367121367171367231367271367301367311367361367421367481367511367521367571367641367671367701367711367761367841367841367871367881367931368011368051368081368091368141368221368281368311368321368371368461368511368541368551368611368611368631368661368671368731368731368791368821368831368891368891368981369011369021369081369091369091369121369131369191369201369271369301369311369371369391369401369431369441369501369521369561369591369601369661369681369771369801369811369871369901369961369991370001370061370101370101370131370141370201370241370271370301370311370371370421370441370471370481370541370591370681370711370721370781370841370871370901370911370971371031371101371131371141371201371261371341371371371381371441371511371561371591371601371661371731371821371851371861371921372001372031372061372071372131372211372271372301372311372371372461372491372521372531372591372681372751372781372791372861372861372871372901372911372981372981373071373101373111373181373191373251373281373291373361373381373381373411373421373491373511373551373581373591373661373691373721373751373761373831373871373871373901373911373981374021374061374091374101374171374211374301374331374341374411374461374461374491374501374571374621374691374721374731374801374861374871374901374911374981375041375101375131375141375211375271375361375391375401375471375541375601375631375641375711375791375791375821375831375901375981376031376061376071376141376231376261376291376301376381376381376381376411376421376501376501376541376571376581376661376671376671376701376711376791376801376801376831376841376921376931377001377031377041377121377141377151377181377191377271377291377361377391377401377481377501377591377621377631377711377741377801377831377841377921377961377961377991378001378081378121378181378211378221378301378351378351378381378391378471378521378591378621378631378711378771378781378811378821378901378961379031379061379071379151379221379281379311379321379401379481379511379541379551379631379711379781379811379821379901379991380031380061380071380161380161380181380211380221380311380311380401380431380441380531380541380571380601380611380701380721380731380761380771380861380881380891380921380931381021381041381121381151381161381251381281381301381331381341381431381471381471381501381511381601381641381661381691381701381791381831381921381951381961382051382101382131382161382171382261382321382331382361382371382461382521382611382641382651382741382811382871382901382911383001383081383081383111383121383211383291383381383411383421383511383601383631383661383681383681383681383681383711383731383731383731383771383801383821383821383831383861383891383911383911383921384011384041384061384061384081384141384171384191384191384221384221384251384271384271384301384391384421384441384441384481384551384581384601384601384651384691384721384741384741384791384881384911384931384931384981385071385101385121385121385181385211385241385261385261385331385331385361385381385381385451385501385531385551385551385621385681385711385731385731385801385871385901385921385921386001386041386071386091386091386171386261386291386311386311386401386401386431386451386451386541386571386601386621386631386631386631386661386681386691386691386741386771386791386801386801386861386891386911386921386931386941386971386991387001387011387091387121387141387151387171387201387231387251387261387281387331387361387381387391387411387481387511387531387541387571387611387641387661387671387701387791387821387841387851387891387901387931387951387961388001388091388121388141388151388201388261388291388311388321388381388391388421388441388451388511388551388581388601388611388671388711388741388761388771388841388851388881388901388911388981389041389071389091389101389171389261389291389311389321389401389411389441389461389471389551389631389661389681389691389781389811389841389861389871389961390031390061390081390091390181390251390281390301390321390321390361390391390411390431390431390521390551390571390591390601390631390661390681390701390711390771390801390821390841390861390891390921390941390961390981391061391091391111391131391161391181391211391231391251391281391351391381391401391421391461391501391531391551391571391611391701391731391751391771391821391851391881391901391921391981391981392011392031392051392111392181392211392231392251392321392341392371392391392411392481392551392581392601392621392701392721392751392771392791392871392961392991393011393031393121393161393191393211393241393241393241393271393291393321393321393321393351393371393401393401393471393501393521393551393561393581393611393631393661393671393751393781393801393831393851393851393881393901393931393951394021394051394071394101394131394151394181394201394231394261394341394371394391394421394461394481394511394531394561394601394691394721394741394771394821394861394891394911394941395001395011395041395061395091395151395181395211395231395261395331395331395361395381395411395481395531395561395581395611395691395711395741395761395791395881395881395911395931395961396051396121396151396171396211396211396231396261396281396321396331396331396361396381396421396431396431396461396481396521396531396601396631396651396691396711396731396761396781396821396851396851396881396901396941396971396991397021397041397081397111397201397231397251397291397331397371397401397421397461397511397541397571397591397631397681397721397751397771397811397871397881397911397931397971398031398091398121398141398181398251398301398331398351398391398461398551398581398601398641398721398781398811398831398871398961398971399001399021399071399071399071399101399121399171399171399231399261399281399331399341399371399401399421399471399481399561399591399611399661399681399751399781399801399851399881399931399961399981400031400071400091400121400141400191400231400311400341400361400411400451400531400561400581400631400681400731400761400781400831400891400911400941400961401011401071401151401181401201401251401311401401401431401451401501401571401581401611401631401681401751401831401861401881401931402011402051402081402101402151402231402281402311402331402381402461402551402581402601402651402741402801402831402851402911402911402931402961402981403041403041403071403101403121403181403191403191403221403241403301403311403381403411403431403491403511403541403571403591403651403671403711403741403761403821403851403861403891403911403971404001404081404111404131404191404231404271404301404321404381404421404481404511404531404591404631404701404731404751404811404861404901404931404951405011405071405071405101405121405181405241405261405291405311405371405431405481405511405531405591405661405681405711405731405791405861405941405971405991406051406131406131406161406181406241406321406381406411406431406491406581406611406641406661406721406811406901406931406951407021407021407031407061407081407151407151407231407261407281407351407361407411407441407461407531407551407561407591407611407681407701407731407761407781407851407881407891407921407941408011408041408121408151408171408241408281408321408351408371408441408481408551408581408601408671408711408781408811408831408901408951408991409021409041409111409171409171409201409221409291409351409381409411409431409501409561409621409651409671409741409811409841409871409891409961410031410121410151410171410241410321410341410371410391410461410541410601410631410651410721410811410841410871410891410961411051411141411171411191411271411271411291411321411341411421411431411431411461411481411561411571411641411671411691411771411791411821411851411871411951411971412041412071412091412171412191412261412291412311412391412421412461412491412511412591412631412631412661412681412761412801412841412871412891412971413011413081413111413131413211413261413301413331413351413431413491413491413521413541413621413681413721413751413771413851413911413991414021414041414121414191414241414271414291414371414451414461414491414511414591414671414731414761414781414861414941415001415031415051415131415221415251415281415301415381415471415561415591415611415701415701415741415771415791415881415881415941415971415991416081416091416121416151416171416261416271416361416391416411416501416521416561416591416611416701416721416811416841416861416951416981417041417071417091417181417221417241417271417291417381417421417491417521417541417631417681417721417751417771417861417921417931417961417981418071418131418201418231418251418341418411418441418471418491418581418651418681418711418731418821418901418901418931418951419041419121419181419211419231419321419411419431419461419481419571419661419701419731419761419761419761419771419801419831419831419831419901419931419961419961419971420001420031420061420061420071420151420181420211420211420231420281420311420341420341420371420381420411420441420441420471420541420571420601420601420641420681420711420741420741420791420801420831420861420861420911420981421011421041421041421101421141421171421201421201421261421331421361421391421391421461421501421531421561421561421641421641421671421701421701421781421851421881421911421911422001422021422051422081422081422171422261422291422321422331422331422381422411422441422451422461422481422511422541422551422571422571422601422631422641422661422731422761422791422801422831422861422891422921422931422971422981423011423041423051423091423111423141423171423181423221423311423341423371423381423431423481423511423541423551423611423641423671423701423711423771423811423841423871423881423951423961423991424021424031424101424171424201424231424241424321424371424401424431424441424521424601424631424661424671424761424811424841424871424891424891424901424931424961424981424981425071425101425131425151425161425211425241425271425291425311425331425361425391425411425431425511425541425571425591425621425681425711425741425761425801425851425881425911425931425981426001426031426061426081426131426211426241426271426291426351426421426451426481426501426571426601426631426661426681426761426761426791426821426841426921426981427011427041427061427151427201427231427261427291427291427321427351427381427411427421427421427451427481427511427521427591427621427651427681427691427761427791427821427851427861427941427971428001428031428051428101428131428161428191428221428241428271428301428331428361428381428411428441428471428501428571428601428631428661428701428741428771428801428831428881428891428921428951428981429031429041429071429101429131429181429251429281429311429341429401429441429471429501429531429601429611429641429671429701429771429781429811429841429871429941430031430061430091430121430201430261430291430321430351430441430471430501430531430561430651430691430721430751430781430871430921430951430981431021431021431041431071431101431141431141431231431261431291431331431341431341431371431401431441431451431501431531431561431601431621431641431671431701431741431761431851431881431911431951431981431981432011432041432081432111432191432221432251432291432331432381432411432441432481432531432551432581432611432651432701432741432771432801432841432891432931432961432991433031433091433101433131433161433201433261433341433371433401433441433511433511433541433571433611433681433711433741433771433811433891433891433921433951433991434071434141434171434201434241434321434411434441434471434511434601434671434701434731434781434781434821434851434881434931434941434951434981435011435061435071435101435131435161435211435231435241435271435301435351435371435451435481435511435561435591435641435671435701435751435781435861435891435921435971436001436081436111436141436191436231436281436311436341436391436441436461436491436521436571436621436671436701436731436781436831436911436941436971437021437081437131437161437191437241437311437331437361437391437441437511437561437591437621437671437751437781437811437841437891437981437981438011438041438091438181438251438281438311438371438371438381438411438441438501438501438531438561438591438651438661438661438691438721438781438791438861438891438921438981439001439011439041439071439131439151439201439231439261439321439351439371439401439431439491439521439611439641439671439731439771439801439831439861439921439971439971440001440031440091440141440211440241440271440331440391440431440461440491440551440611440701440731440761440821440891440911440941440971441031441101441191441221441251441311441391441451441481441511441571441661441671441701441731441791441881441951441981442011442081442081442121442151442181442251442261442271442301442331442401442411442471442501442531442601442621442661442691442721442791442821442831442861442891442961442991443071443101443131443201443241443281443311443341443411443451443501443531443561443631443681443701443731443761443831443881443971444001444031444101444161444211444241444271444341444411444441444471444501444571444651444651444681444711444781444861444931444961444991445061445151445181445211445241445321445321445331445361445391445471445471445551445581445611445691445701445751445781445811445891445911445931445961445991446071446091446111446141446171446251446271446361446391446421446501446531446591446621446651446731446771446801446831446861446941446981447041447071447101447181447231447261447291447321447401447461447461447491447521447601447661447741447771447801447881447941448021448051448081448161448231448281448311448341448421448501448521448551448581448661448751448751448781448811448891448981449031449061449091449181449181449201449231449261449351449351449441449471449501449591449601449671449701449731449821449841449881449911449941450031450061450071450101450131450221450251450331450361450391450481450521450591450621450651450741450781450851450881450911451001451051451091451121451151451241451301451311451341451371451461451531451531451561451591451681451751451821451851451881451971452051452091452121452151452241452331452351452381452411452501452591452611452641452671452761452851452901452931452971452971452971452991453021453061453061453071453071453101453141453141453151453151453181453221453221453231453281453311453351453351453371453391453421453461453461453491453491453521453561453561453591453591453621453661453661453691453771453801453841453841453881453931453961454001454001454051454081454111454151454151454201454241454271454311454311454371454371454401454441454441454501454571454601454641454641454711454761454791454831454831454901454961454991455031455031455111455161455191455231455231455321455341455371455411455421455421455421455451455491455501455501455521455551455591455601455601455631455661455701455711455721455721455751455791455801455811455891455921455961455971455991455991456021456061456071456091456131456161456201456211456241456251456281456321456331456361456451456481456521456531456571456591456621456661456671456711456751456781456821456831456881456891456921456961456971457021457111457141457181457191457251457281457311457351457361457421457451457481457521457531457601457601457631457671457681457751457831457861457901457911457991458011458041458081458091458171458211458241458281458291458381458391458421458461458471458561458651458681458721458741458741458771458801458841458861458861458941458971459011459031459041459091459121459161459181459201459231459261459301459321459341459421459451459491459511459541459561459591459631459651459681459771459801459841459861459901459971460001460041460061460111460141460171460211460231460281460321460351460391460411460471460481460511460551460571460631460721460751460791460811460881460931460961461001461021461091461171461201461241461261461341461391461421461461461481461571461601461631461671461691461781461871461901461941461971461971462031462061462101462131462141462171462201462241462271462291462301462331462371462401462421462491462521462561462591462621462661462691462731462761462801462811462841462881462911462951463041463071463111463141463191463251463281463321463351463401463471463501463541463571463631463671463701463741463771463841463861463891463931463961464031464121464151464191464221464301464321464351464391464421464501464591464621464661464691464781464851464881464921464961464961465001465031465071465111465121465131465161465201465241465251465331465361465401465441465461465521465551465591465631465661465691465721465761465801465841465851465881465921465961466001466081466111466151466191466241466301466331466371466411466471466501466531466571466611466681466691466721466761466801466871466951466981467021467061467141467201467231467271467311467401467441467471467511467551467641467681467711467751467801467801467811467841467881467931467931468021468051468091468141468151468221468251468291468341468361468371468401468441468491468511468591468621468661468711468741468801468831468871468921468961469001469031469071469121469161469251469281469321469371469421469481469511469551469601469661469701469731469771469821469891469921469951469991470041470111470151470181470221470271470351470361470391470431470481470561470651470681470721470771470861470941470971471011471071471071471081471111471151471211471211471291471321471361471421471431471491471521471561471621471641471691471721471761471821471851471871471901471941472001472031472121472151472191472251472291472361472391472431472491472541472601472631472671472731472791472841472871472911472971473041473061473091473131473191473271473281473311473351473411473491473501473531473571473631473711473741473771473811473871473961473961473991474031474091474181474271474301474341474401474491474581474611474651474721474721474751474781474821474891474901474901474931474971475041475051475141475171475211475281475291475381475411475451475521475541475611475641475681475751475781475821475851475891475961476001476031476061476101476171476211476251476281476321476391476431476471476501476541476611476661476671476701476741476811476871476871476901476941477011477071477081477111477151477221477291477291477321477361477431477501477571477601477641477711477791477851477881477921477991478071478151478181478221478291478371478461478491478531478601478691478751478781478821478901478901478951478981479021479101479101479171479201479241479321479331479351479381479421479501479511479601479631479671479751479771479851479881479921480001480031480031480061480101480181480211480291480321480361480441480481480531480561480601480681480731480771480801480841480921480971481041481071481111481191481251481271481301481341481421481481481571481601481641481721481791481871481901481941482021482101482111482141482181482261482341482421482451482491482571482661482711482741482781482871482871482911482941482981483071483071483151483181483221483311483311483401483431483471483561483571483631483661483701483791483811483861483891483931484021484041484131484161484201484291484321484361484391484431484521484561484571484601484641484731484781484781484811484851484941484991485031485061485101485191485251485281485311485351485441485511485511485541485581485671485741485831485861485901485991486071486111486141486181486271486351486401486431486471486561486651486671486701486751486751486751486761486791486841486841486841486901486931486981486981486991487001487031487081487081487091487171487201487251487251487271487341487371487421487421487451487481487511487561487561487591487621487651487701487701487741487741487771487821487821487861487951487981488031488031488081488131488161488211488211488261488321488351488401488401488461488491488521488571488571488641488661488691488741488741488811488891488921488971488971489051489061489091489141489141489221489301489331489381489381489471489541489571489621489631489631489661489691489741489751489761489761489791489841489851489861489931489961490011490021490041490101490131490181490191490221490251490281490331490341490371490421490451490501490511490551490571490601490651490661490711490721490751490801490811490861490941490971491021491031491091491161491191491241491251491321491361491391491441491451491531491561491591491641491651491741491751491781491831491841491931491951491981492031492041492131492221492251492301492321492321492401492431492481492501492511492571492601492651492671492691492701492731492781492801492821492901492931492981493001493031493101493131493181493201493241493301493331493381493401493441493511493541493591493611493661493701493731493781493801493861493891493921493971493991494061494081494111494161494181494251494321494351494401494421494501494541494571494621494641494731494761494791494841494871494871494891494921494971495001495001495091495121495171495201495211495281495311495361495391495401495471495501495551495581495591495661495691495741495771495781495861495891495941495971495991496051496081496131496161496181496241496271496321496351496371496431496461496511496541496571496611496641496691496721496761496781496811496861496891496931496951496981497031497061497101497131497161497211497241497281497311497341497391497421497471497481497511497561497591497641497651497681497731497761497811497831497861497911497941497991498031498061498111498141498201498221498251498301498331498391498411498441498491498521498581498611498641498691498721498781498871498901498951498981499051499121499151499201499231499301499371499401499451499481499551499641499671499721499751499831499851499881499931499961500051500051500081500131500161500251500251500281500331500361500451500471500501500551500591500591500601500631500681500721500721500811500841500891500931500931501021501051501101501141501151501171501201501251501291501301501331501361501411501451501471501481501511501561501601501621501631501661501711501751501771501811501841501891501931501951502041502071502121502161502191502261502291502341502381502411502481502511502561502601502641502651502681502731502771502811502851502881502931502971503021503041503071503121503161503211503231503261503311503351503401503461503491503541503581503641503661503691503741503781503851503851503881503931503971504041504041504071504121504161504231504271504301504351504391504471504491504521504571504611504701504701504731504781504821504911504911504941504991505031505121505171505201505251505291505381505451505481505531505581505581505631505661505711505761505761505811505841505891505941505951505961505991506041506091506101506121506151506201506251506271506271506301506351506401506421506421506451506501506551506571506631506661506711506761506781506861506891506941506991507021507081507111507161507211507241507301507331507381507431507471507491507521507571507621507661507721507751507801507851507901507941507971508021508071508121508161508191508241508291508351508351508381508431508481508541508621508651508701508751508821508881508911508961509011509081509141509171509221509271509351509381509411509461509511509601509601509631509681509731509821509901509931509981510031510121510201510231510281510341510341510401510431510481510541510551510551510581510631510691510701510781510811510861510921510931511011511041511091511151511171511231511261511311511371511401511421511451511501511561511601511601511631511681511741511781511781511811511861511921511961512051512081512131512191512241512241512271512321512381512431512511512541512591512651512701512781512811512861512921512981513051513081513131513191513251513331513361513411513471513541513601513631513681513741513811513871513901513951514011514091514141514171514221514281514371514371514401514451514511514601514681514711514761514821514911514991515021515071515141515141515211515241515291515361515371515411515441515491515561515581515601515631515681515751515771515801515831515881515951515971516001516031516081516151516171516221516251516301516371516401516431516461516511516581516611516651516681516731516801516831516871516901516951517021517051517121517151517201517271517311517361517391517441517511517551517611517641517691517761517801517861517891517941518011518061518081518111518161518231518291518291518321518371518441518501518511518541518591518661518721518731518761518811518881518941519031519061519111519181519251519321519351519401519471519541519621519651519701519771519841519931519961520011520081520161520181520211520261520331520421520421520451520501520571520661520671520701520751520821520911520931520961521011521081521171521231521261521311521391521391521431521461521511521591521591521641521671521721521801521801521871521901521951522031522031522121522151522201522281522291522361522391522441522521522531522611522641522691522771522791522791522821522871522951522971523011523041523091523171523201523221523251523301523381523411523441523471523521523601523631523681523711523761523841523881523921523951524001524081524131524151524181524231524311524361524391524421524471524551524601524661524691524741524821524871524941524971525021525101525161525211525241525291525371525431525491525521525571525651525711525801525831525881525961526031526081526111526161526241526321526351526381526431526511526591526631526661526711526791526871526941526971527021527101527191527241527271527321527411527411527441527471527521527611527611527651527681527731527821527821527901527931527981528071528081528091528121528171528261528271528361528391528441528531528551528551528581528631528721528741528781528811528861528951528981528981529011529061529151529181529261529291529341529431529461529551529581529631529721529761529801529831529881529971530011530051530081530131530221530271530291530321530371530461530511530541530571530621530711530761530841530871530921531011531071531071531101531151531241531301531381531411531461531551531611531701531731531781531871531941531981532011532061532151532231532241532271532321532411532491532581532611532661532751532841532841532871532921533011533101533161533191533241533331533421533491533521533581533581533581533631533661533721533721533721533781533811533871533871533881533901533931533991533991534001534041534071534131534131534151534171534201534261534261534281534311534341534401534401534421534511534541534601534601534631534661534691534751534751534791534801534831534891534891534931534951534981535041535041535081535161535191535251535251535301535371535401535461535461535521535571535601535661535661535721535781535811535871535871535941535971536001536061536061536131536191536221536281536281536361536401536431536491536491536571536621536651536711536711536801536831536861536921536921537011537051537081537141537151537151537171537201537261537271537271537301537331537391537401537411537421537451537511537521537531537571537601537661537671537691537711537741537801537811537831537861537891537951537961537991538001538031538091538101538131538221538251538311538321538361538431538461538521538531538571538651538681538741538751538801538871538901538961538971539031539031539061539121539131539191539271539301539361539371539441539441539471539531539541539611539611539641539701539711539781539781539811539871539881539951540031540061540121540131540211540211540241540301540311540391540391540421540481540491540571540591540621540681540691540781540781540811540871540881540971540991541021541081541091541181541201541231541291541301541391541481541511541571541591541591541661541691541751541771541771541861541891541951541971541981541981542011542071542091542101542131542161542221542241542261542271542301542361542381542401542431542461542521542541542561542601542631542691542711542741542771542801542861542881542921542931542961543021543041543081543111543141543201543221543261543311543341543401543421543461543521543551543611543631543681543721543751543811543831543881543941543971544031544051544101544181544211544271544291544351544391544421544481544501544571544591544621544681544701544771544811544841544901544921544991545061545091545151545171545251545251545281545341545361545441545521545551545611545631545721545721545751545811545831545921545951545981546041546071546071546071546101546161546191546191546271546301546361546391546401546401546431546491546521546531546561546591546651546681546701546721546751546811546841546871546871546901546961546991547021547041547071547131547161547191547251547281547341547371547411547411547441547501547531547571547651547681547741547771547821547821547851547911547941547991548041548071548131548161548211548271548301548361548391548451548491548521548581548611548671548731548761548821548851548921548931548961549021549051549121549181549211549271549301549381549421549451549511549541549621549681549711549771549801549891549901549931549991550021550111550191550221550281550321550321550381550411550471550511550511550591550621550681550721550731550771550801550861550901550911550971551001551061551101551121551161551191551251551291551311551371551401551461551501551531551561551591551651551691551721551751551781551841551881551921551931551961552021552061552101552131552161552221552261552311552311552341552401552441552491552511552541552601552641552701552701552731552791552831552891552911552941553001553041553101553191553221553281553321553391553421553451553511553551553631553641553671553731553771553851553881553911553971554011554101554101554131554191554231554321554411554441554501554551554551554621554651554711554761554761554851554881554941554991555001555071555101555161555211555231555281555311555371555421555451555481555511555571555621555651555701555731555791555841555881555911555941556001556051556101556111556141556201556251556301556391556421556481556531556591556601556631556691556741556811556811556841556901556951557021557021557051557111557161557231557311557341557401557451557531557531557561557621557671557751557841557871557931557981558071558111558141558201558261558261558281558311558371558431558431558481558511558571558631558631558681558711558771558831558831558921558951559011559071559081559151559181559241559301559321559321559351559411559471559491559491559521559581559641559661559711559741559801559861559891559921559951560011560071560101560161560191560251560311560341560401560431560491560551560591560621560651560711560771560821560831560861560921560981561031561071561101561161561221561271561321561351561411561471561521561591561621561681561741561801561851561881561941562001562061562141562171562231562291562361562361562391562451562511562581562591562621562681562741562811562901562931562991563051563131563151563181563241563301563381563421563451563511563571563661563661563691563751563811563901563981564011564071564141564141564151564181564241564311564311564341564371564431564501564511564521564551564611564681564691564781564811564871564941564961564981565011565071565141565161565211565241565301565371565391565481565511565571565641565671565741565771565831565901565941565941565971566031566101566141566171566201566261566331566371566441566471566531566601566651566701566731566791566861566911566991567021567081567151567211567221567251567311567381567441567521567551567611567681567751567811567841567901567971568041568131568161568221568291568371568391568421568481568551568641568651568681568741568811568901568991569021569081569161569161569181569211569271569351569351569411569441569501569581569591569601569631569691569771569781569871569901569961570041570061570081570111570171570251570271570331570361570421570501570531570541570571570631570711570741570831570861570921571001571041571061571091571151571231571271571331571361571421571501571551571601571631571691571771571831571861571891571951572031572091572151572181572241572321572391572401572431572491572571572641572661572691572751572831572911572911572941573001573081573161573191573221573281573361573441573521573551573611573691573781573831573861573921574011574011574041574071574131574221574221574281574311574371574461574471574481574511574571574661574671574761574791574851574941574961575031575061575121575211575241575241575271575331575421575451575501575531575591575681575721575751575781575841575931575981575991576021576081576171576221576261576291576351576441576501576501576531576591576681576741576741576771576831576921576981577061577091577151577241577311577321577351577411577501577571577641577671577731577821577901577931577961578021578111578201578211578241578301578391578481578521578551578621578621578621578621578651578721578721578721578791578821578891578891578901578951578981579051579051579061579141579171579241579241579261579311579341579411579411579441579441579471579541579541579571579651579681579751579751579791579801579831579901579901579941580021580051580121580121580171580221580251580321580321580381580411580441580511580511580571580631580661580731580731580801580841580871580941580941581011581081581111581181581181581261581311581341581411581411581491581571581601581671581671581761581821581851581921581931581931581941581971582041582051582051582141582171582241582251582261582281582311582381582391582411582411582441582511582521582541582591582621582691582701582731582761582791582861582871582901582961582991583061583071583111583151583181583251583261583311583321583351583421583431583481583571583601583671583681583741583761583791583861583871583941583951583981584051584061584131584171584201584271584281584361584381584411584481584491584571584621584651584721584731584821584861584891584961584971585061585151585181585251585271585271585341585371585441585461585471585481585511585581585601585611585621585651585721585741585751585761585791585861585881585891585981586011586081586101586121586151586181586251586271586291586321586351586421586441586461586511586541586611586631586661586691586721586791586811586841586911586941587011587031587061587131587161587231587251587291587341587371587441587461587511587541587571587641587661587711587781587811587881587901587951588031588061588131588151588201588291588321588391588411588471588541588571588641588661588731588741588771588841588861588931588951588981589051589071589141589201589231589301589321589401589441589471589541589561589641589721589751589821589841589921590011590041590111590131590221590271590301590371590401590401590431590461590531590561590561590631590661590731590761590761590851590881590951590981590991591001591031591101591131591141591231591261591331591361591381591411591441591511591541591561591611591641591711591741591771591771591801591871591901591931592011592041592111592141592181592201592231592301592331592371592421592451592521592551592591592651592681592751592781592831592871592901592971593001593051593131593161593231593261593321593331593361593431593461593521593561593591593661593691593761593781593811593881593911593981594041594071594141594171594241594331594361594431594461594541594621594651594721594751594841594901594931595001595041595041595041595071595141595181595181595221595251595321595361595361595421595451595521595561595571595611595641595711595751595761595841595871595941595981596001596031596061596131596171596191596221596251596321596361596391596401596431596501596541596571596621596651596721596761596801596801596831596901596941596981597001597031597101597141597191597191597221597291597331597381597421597451597521597561597611597701597731597801597841597901597971598001598071598111598181598231598261598331598371598441598531598561598631598671598751598801598831598901598941599021599091599121599191599231599321599371599401599471599511599601599691599721599791599841599841599891599921599991600041600051600081600111600181600231600251600261600291600361600411600431600481600511600581600631600661600681600711600781600831600861600881600911600981601031601071601071601101601171601221601261601301601331601401601451601501601511601541601611601661601711601781601811601881601931601991602041602071602141602191602251602341602371602441602491602561602631602661602731602781602851602921602951603021603071603151603201603231603301603351603431603521603551603621603671603761603831603861603931603991603991604051604081604151604211604221604261604291604361604421604431604511604541604611604671604691604761604791604861604921604941605021605051605121605181605211605271605301605371605431605471605471605501605571605631605671605761605791605861605921605971606031606061606131606191606251606291606321606391606451606511606601606631606701606761606821606911606941607011607071607141607151607181607251607311607381607471607501607571607631607711607751607781607851607911607991608031608061608131608191608281608281608311608381608441608531608611608641608711608781608781608811608841608911608981608981609011609041609111609181609191609201609231609301609371609381609471609501609571609641609661609701609731609801609871609891609941609971610041610111610131610221610251610321610391610421610491610521610591610661610701610721610751610821610891610931610971611001611071611141611181611221611251611321611391611441611461611491611561611631611681611751611781611851611921611971612061612091612161612231612291612301612331612401612471612531612621612651612721612791612861612901612931613001613071613141613201613231613301613371613451613451613481613551613621613701613781613811613881613951614041614071614101614171614241614331614391614421614491614561614651614711614741614811614891614891614931614961615031615111615111615201615231615301615381615391615411615441615511615591615601615681615711615781615861615881615941615971616041616121616151616161616191616261616341616371616421616451616521616601616631616691616721616791616871616911616951616981617051617131617171617261617291617361617441617491617521617551617621617701617751617811617841617911617991618051618091618121618191618271618331618421618451618521618601618671618701618731618801618881618961618981619011619081619161619251619251619281619351619431619521619571619601619671619761619761619761619791619861619951619951620011620041620111620201620211620251620281620351620441620451620541620571620641620731620751620791620821620891620981621011621011621041621111621201621231621311621341621411621501621541621571621601621671621761621801621881621911621981622071622121622181622211622281622371622431622471622501622571622661622721622811622841622911623001623071623121623151623221623311623381623471623501623571623661623741623811623841623911624001624091624111624141624211624301624391624481624511624591624591624591624591624621624701624701624701624781624811624891624891624901624931624961625041625041625061625061625091625171625171625191625281625311625391625391625421625491625521625601625601625641625661625691625771625771625821625821625851625931625931625981625991626021626101626101626151626241626271626351626351626411626451626481626561626561626631626651626681626761626761626831626921626951627031627031627111627181627211627291627291627381627401627431627511627521627521627531627561627641627651627651627711627741627821627831627841627881627911627991628001628011628101628131628211628221628241628321628351628431628441628471628511628541628621628631628671628691628721628801628811628851628921628951629031629041629091629151629181629261629271629331629371629401629481629491629561629581629611629691629701629771629851629881629961629971630041630121630151630231630241630321630341630371630451630461630551630551630581630661630671630761630821630851630931630941631031631101631131631211631221631311631401631431631511631531631531631601631631631711631731631741631771631801631881631901631911631961631991632071632091632101632151632181632261632281632301632331632361632441632461632481632571632601632681632701632731632741632771632851632871632901632931632961633041633061633101633111633141633221633241633281633351633381633461633481633521633611633641633721633741633791633861633891633971633991634051634101634131634211634231634301634311634341634421634441634511634551634581634661634681634761634771634801634881634901634981635071635101635181635201635291635341635371635451635471635561635651635681635761635791635791635811635841635921635951635961635961635991636071636101636111636171636201636281636311636331636331636361636441636471636491636541636571636651636681636711636741636771636851636881636911637001637031637111637141637181637221637251637331637361637401637461637491637571637601637651637691637721637801637831637891637891637921638001638031638091638141638171638251638281638341638411638441638521638551638621638671638701638781638811638891638901638931639011639041639121639181639211639291639321639401639481639511639591639621639711639771639801639881639921639921639941639971640051640091640091640161640191640271640311640321640331640361640441640481640491640581640611640691640731640751640801640831640911640951640981640991641021641101641141641171641191641221641301641341641381641381641411641491641531641571641631641661641741641781641831641851641881641961642001642051642081642111642191642231642291642301642331642411642451642511642581642611642691642731642801642831642861642941642981643051643091643121643201643241643321643341643371643451643491643571643651643681643761643801643891643931643961644041644081644171644241644271644351644401644401644451644481644561644611644621644631644661644741644791644801644881644911644991645041645051645131645161645241645291645311645371645401645481645531645561645581645611645691645741645771645861645891645971646021646051646141646171646251646301646341646411646441646521646571646621646651646681646761646811646871646871646901646981647031647091647171647201647281647331647401647461647491647571647621647701647721647751647831647881647971647971648001648081648131648221648221648251648331648381648471648551648581648661648721648721648761648791648871648931648941648961648991649071649131649141649231649261649341649401649421649491649521649601649661649691649721649751649831649891649931649941649971650051650111650151650241650271650351650411650461650531650561650641650701650761650791650821650901650961651031651051651081651161651221651291651311651341651421651481651561651561651591651671651731651811651871651901651981652041652131652181652211652291652351652441652511652541652621652691652691652741652771652851652921652931652941652971653051653121653141653141653171653251653321653341653431653461653541653611653641653711653741653821653891653931653971654001654081654151654191654231654261654341654411654451654491654521654601654671654721654741654771654851654921654971655061655091655171655241655291655381655411655491655561655621655631655661655741655811655871655961655991656071656141656211656271656301656381656451656521656581656611656691656761656841656841656871656951657021657101657181657211657291657361657451657501657531657611657681657771657831657861657941658011658101658171658201658281658361658361658411658441658521658601658611658631658661658741658821658831658861658891658971659051659061659121659151659231659311659331659371659401659481659561659591659601659631659711659791659821659841659871659951660031660061660111660141660221660301660341660371660401660481660561660611660611660641660721660801660851660861660891660971661051661101661161661191661271661351661411661451661481661561661641661711661721661751661831661911661981662011662041662121662201662271662321662351662431662511662591662621662651662731662811662901662901662931663011663091663181663201663231663311663391663481663541663571663651663741663741663781663811663891663981663991664001664031664111664201664211664241664271664351664441664461664471664501664581664671664691664781664811664891664981665011665071665101665181665271665301665391665421665501665591665621665711665741665821665911665951666021666051666131666221666271666311666341666421666511666561666631666661666741666831666891666931666961667041667131667201667221667251667331667421667491667581667611667691667781667861667881667911667991668081668171668181668211668291668381668471668561668591668681668681668681668741668771668861668861668871668871668901668991668991669001669061669091669181669181669201669241669271669361669361669391669401669431669521669521669551669601669631669721669721669761669791669821669911669911669961669971670001670091670091670141670221670251670341670341670401670431670461670551670551670611670691670721670811670811670881670941670971671061671061671141671171671201671291671291671371671451671481671571671571671661671721671751671841671851671851671891671921672011672021672031672041672071672161672171672181672251672281672371672381672401672401672431672521672531672551672631672661672751672761672791672841672871672961672971673011673021673051673141673151673191673251673281673371673381673431673471673501673591673601673661673671673701673791673801673861673941673971674061674071674141674141674171674261674271674341674421674451674541674551674631674681674711674801674811674901674921674951675041675051675141675211675241675331675351675351675401675431675521675541675551675571675601675691675711675731675731675761675851675871675891675931675961676051676071676101676121676151676241676261676291676381676411676501676521676561676631676661676751676771676821676851676881676971676991677051677061677091677181677201677261677341677371677461677481677551677621677651677741677761677841677841677871677961677981678061678141678171678261678281678371678421678451678541678571678571678611678641678731678761678771678781678811678901678931678941679031679061679151679181679201679271679301679391679421679441679511679541679631679661679681679771679801679891679921679951680021680051680141680171680211680261680291680381680411680451680501680531680621680651680691680781680811680901680931680981681051681081681171681201681261681311681341681431681461681521681581681611681701681731681791681861681891681981682011682081682131682161682251682281682361682391682421682511682541682621682661682691682781682811682901682901682931683021683051683141683221683251683341683381683381683441683471683561683601683601683671683701683791683831683841683901683931684021684061684081684121684151684241684281684311684331684361684451684491684521684561684591684681684721684751684801684831684921684961685001685031685061685151685191685241685251685281685371685411685461685491685521685611685651685711685721685751685841685881685941686031686061686151686191686261686331686361686451686491686571686571686601686691686731686811686841686871686961687001687091687101687131687221687261687351687441687471687561687611687611687641687671687761687811687811687841687871687961688011688021688031688061688151688201688211688301688331688421688471688491688521688551688641688691688711688761688791688881688931688961688991689021689111689161689201689211689241689331689381689421689471689501689591689641689691689731689761689851689901689961689981690011690101690151690221690221690251690341690391690461690511690541690631690681690761690761690791690881690931691011691091691121691211691261691351691411691441691531691591691591691601691631691721691781691781691871691901691991692051692061692131692161692251692311692331692381692411692501692561692591692601692631692721692781692811692821692851692941693001693031693121693151693241693301693341693411693441693531693591693641693671693701693791693851693911693911693941694031694091694151694231694261694351694411694481694541694571694661694721694801694831694861694951695011695091695161695191695281695341695431695481695511695601695671695671695701695731695821695891695901695901695931696021696091696101696151696181696271696341696361696391696421696511696581696611696621696651696741696811696841696921696951697041697111697151697201697231697321697391697441697471697501697591697661697721697731697761697851697921697981698071698101698191698261698331698361698391698481698551698631698641698671698761698831698911699001699031699121699191699281699361699391699481699551699641699731699761699851699931699931700001700031700121700201700211700261700291700381700461700481700521700551700641700721700751700761700791700881700961700991701081701111701201701281701321701391701421701511701591701641701701701731701821701901701961702011702041702131702211702281702311702341702431702511702591702611702641702731702811702891702911702941703031703111703191703271703301703391703471703561703621703651703741703831703831703881703911704001704091704091704151704181704271704361704361704451704481704571704661704671704741704771704861704951704971705031705061705151705241705261705331705361705451705541705571705631705661705751705841705881705921705951706041706131706181706211706241706331706421706471706521706551706641706731706781706841706871706961707051707111707151707181707271707361707431707461707491707581707671707741707791707821707911708001708081708111708141708231708321708411708421708461708461708461708461708461708501708501708501708501708531708571708571708571708571708661708701708701708701708711708781708821708821708821708841708901708941708941708941708971708971709011709011709011709041709041709081709081709081709111709191709231709231709231709271709341709381709381709381709431709441709481709481709481709531709561709601709601709601709661709671709711709711709711709781709781709821709821709821709891709931709971709971709971710051710081710121710121710121710211710221710261710261710271710271710271710311710311710321710321710371710411710411710421710431710451710491710491710501710521710521710561710561710571710591710681710721710721710731710761710811710851710851710861710901710911710951710951710961711001711091711131711131711141711191711271711311711311711321711381711421711461711461711471711541711561711601711601711611711691711691711731711731711741711821711911711951711951711961712051712111712151712151712171712171712181712221712221712241712241712331712371712371712391712401712481712521712521712541712561712621712661712661712681712711712711712751712751712771712801712881712921712921712941712981713051713091713091713111713161713211713251713251713271713331713341713381713381713401713461713551713591713591713611713681713761713801713801713821713901713961714001714001714021714111714151714191714191714221714221714241714281714281714311714321714331714371714371714401714421714421714461714461714491714511714571714611714611714641714671714711714751714751714781714821714851714891714891714921714971714991715031715031715061715111715191715231715231715261715321715381715421715421715451715521715571715611715611715641715721715761715801715801715831715921715921715961715961715991716081716161716201716201716241716241716311716351716351716391716401716461716501716501716541716561716601716641716641716681716711716741716781716781716821716851716881716921716921716961716991717021717061717061717101717131717221717261717261717301717341717421717461717461717501717541717621717661717661717701717741717821717861717861717901717951717991718031718031718071718131718161718201718201718241718301718331718371718371718411718471718511718551718551718591718651718701718741718741718781718851718891718931718931718971719041719081719121719121719161719231719281719321719321719361719431719511719551719551719591719671719741719781719781719821719901719971720011720011720051720131720221720261720261720301720391720391720431720431720471720561720651720691720691720731720821720911720951720951721001721001721011721051721051721101721101721121721161721161721211721221721231721271721271721321721331721341721381721381721431721441721471721511721511721561721581721601721641721641721691721721721731721771721771721821721851721861721901721901721951721981722021722061722061722111722141722191722231722231722281722321722361722401722401722451722491722531722571722571722621722661722731722771722771722821722871722931722971722971723021723081723131723171723171723221723281723331723371723371723421723481723571723611723611723661723721723811723851723851723901723971724051724091724091724141724211724291724331724331724381724461724481724521724521724571724651724731724771724771724821724911724981725021725021725071725161725231725271725271725331725331725341725381725381725441725441725531725571725571725631725641725721725761725761725821725831725911725951725951726011726031726061726101726101726161726181726271726311726311726371726401726481726521726521726581726611726691726731726731726791726831726861726901726901726961727011727021727061727061727121727181727181727221727221727281727341727341727381727381727441727501727561727601727601727661727721727781727821727821727881727951728001728041728041728101728171728221728261728261728321728401728411728451728451728511728591728621728661728661728721728811728831728871728871728931729021729041729081729081729141729231729321729361729361729421729511729601729641729641729711729711729791729831729831729901729901729981730021730021730091730101730151730191730191730261730271730341730381730381730451730471730531730571730571730641730661730721730761730761730831730861730891730931730931731001731031731121731161731161731231731271731351731391731391731461731501731581731621731621731691731741731791731831731831731901731961731991732031732031732101732171732191732231732231732301732371732391732431732431732501732581732581732621732621732691732771732831732871732871732941733031733081733121733121733191733281733331733371733371733451733451733481733521733521733601733611733631733671733671733751733771733781733821733821733901733921733931733971733971734051734081734081734121734121734201734231734241734281734281734361734401734401734441734441734521734561734561734601734601734681734721734811734851734851734931734981735001735041735041735121735181735191735231735231735311735371735391735431735431735511735571735591735631735631735711735771735801735841735841735921735991736011736051736051736131736201736231736271736271736351736421736451736491736491736571736641736711736751736751736831736911736971737011737011737091737171737241737281737281737361737441737521737561737561737641737731737731737771737771737851737941738031738071738071738161738161738161738201738201738291738291738301738341738341738431738431738481738521738521738611738621738661738701738701738791738801738851738891738891738981738991739061739101739101739191739201739291739331739331739421739441739521739561739561739651739671739761739801739801739891739921739931739971739971740061740091740161740201740201740291740331740391740431740431740521740561740631740671740671740761740801740891740931740931741021741071741151741191741191741281741341741411741451741451741541741601741681741721741721741811741881741891741931741931742021742091742111742151742151742241742321742331742371742371742461742541742561742601742601742691742771742821742861742861742951743041743081743121743131743131743131743161743201743211743211743211743251743291743301743301743301743381743421743431743431743441743461743501743511743511743531743541743581743591743591743611743631743671743681743681743701743761743801743811743811743841743851743891743901743901743941743941743981743991743991744031744041744081744091744091744131744181744221744231744231744281744301744341744351744351744411744421744461744471744471744531744551744591744601744601744661744731744771744781744781744851744871744911744921744921745001745011745051745061745061745141745161745201745211745211745291745371745411745421745421745501745581745621745631745631745721745791745831745841745841745931746011746051746061746071746071746111746151746161746171746181746191746231746241746251746271746271746311746321746331746351746361746401746411746421746441746511746551746561746571746601746661746701746711746721746761746811746851746861746871746911746971747011747021747031747081747111747151747161747171747231747231747271747281747291747351747441747481747491747501747571747571747611747621747631747701747781747821747831747841747921747931747971747981747991748081748081748121748131748141748231748241748281748291748301748391748481748521748531748551748551748601748641748651748671748681748721748761748771748791748801748851748891748901748921748941748971749011749021749041749071749081749121749131749151749191749191749231749241749261749301749311749351749361749381749431749431749471749481749501749551749611749651749661749681749741749791749831749841749861749921749991750031750041750061750121750191750231750241750261750331750331750371750381750401750471750561750601750611750631750711750721750761750771750791750871750881750921750931750951751031751081751121751131751151751241751281751321751331751351751441751501751541751551751571751661751721751761751771751801751801751821751861751871751901751911751921751961751971752001752011752041752081752091752121752131752171752211752221752251752261752341752381752391752421752441752511752551752561752591752611752701752741752751752781752811752821752861752871752901752931752951752991753001753031753071753081753121753131753161753201753231753271753281753311753351753401753441753451753481753531753561753601753611753641753701753721753761753771753801753861753901753941753951753981754041754111754151754161754191754251754321754361754371754401754471754531754571754581754611754681754761754801754811754841754921754931754971754981755011755091755181755221755231755261755351755431755471755481755521755521755521755561755571755611755611755651755691755701755741755751755751755791755801755841755851755941755981755991756031756051756061756101756111756151756171756231756271756281756321756341756411756451756461756501756531756591756631756641756681756711756791756831756841756881756921756951756991757001757041757081757141757181757191757231757281757331757371757381757421757471757541757581757591757631757691757721757761757771757811757871757911757951757961758001758071758101758141758151758191758261758311758351758361758401758481758501758541758551758591758671758691758731758741758781758871758881758921758931758971759061759091759131759141759191759191759191759231759241759291759291759321759361759371759421759431759451759491759501759551759561759601759641759651759701759721759731759771759781759831759851759911759951759961760011760041760091760131760141760191760221760291760331760341760391760431760481760521760531760581760621760711760751760761760811760861760941760981760991761041761101761101761141761151761201761261761341761381761391761441761511761531761571761581761631761711761721761761761771761821761901761931761971761981762031762121762131762171762181762231762321762371762411762421762481762481762521762561762571762631762631762691762731762741762801762811762851762891762901762961762981762981763021763031763091763111763201763241763251763311763341763351763391763401763461763501763501763541763551763611763651763701763741763751763811763861763901763941763951764011764061764121764161764171764231764291764341764381764391764451764521764521764561764571764631764701764791764831764841764901764981764991765031765041765101765191765191765231765241765301765391765451765491765501765571765571765621765661765671765741765741765811765851765861765931765941766001766041766051766121766141766181766221766231766301766331766361766401766411766481766511766571766611766621766691766721766781766821766831766901766941766971767011767021767091767141767161767201767211767281767331767381767421767431767501767551767601767641767651767721767781767801767841767851767921767991768001768041768051768121768191768231768271768281768351768421768471768511768521768591768671768681768721768731768801768891768891768931768941769011769101769131769171769181769251769341769381769421769431769511769511769531769571769581769661769671769681769721769731769811769821769861769901769911769991770001770061770101770111770191770211770241770281770291770371770401770421770461770471770551770581770631770671770681770761770791770861770901770911770991771031771081771121771131771211771261771301771341771351771431771481771551771591771601771681771741771741771781771791771871771931771971772011772021772101772171772201772241772251772331772401772461772501772511772591772661772751772791772801772881772961773011773051773061773141773231773271773311773321773401773491773561773601773611773701773701773711773751773761773851773851773911773951773961774051774061774111774151774161774251774261774341774381774391774481774501774521774561774571774661774681774761774801774811774901774931775001775041775051775141775181775181775221775231775321775361775411775451775461775551775591775681775721775731775821775871775951775991776001776091776151776161776201776211776301776361776421776461776471776561776631776651776691776701776791776871776881776921776931777021777101777141777181777191777281777371777371777411777421777511777601777651777691777711777711777711777751777791777811777811777811777881777921777941777941777951777981778021778041778041778061778061778101778121778121778141778231778271778291778291778321778341778381778401778401778431778521778561778581778581778621778641778681778701778701778751778761778801778821778821778871778911778951778971778971779031779041779081779101779101779161779221779261779281779281779351779401779441779461779461779531779611779651779671779671779751779811779851779871779871779961779961780001780021780021780111780201780241780261780271780271780291780331780351780361780371780371780411780431780441780451780521780561780581780591780611780671780711780731780741780761780851780891780911780921780951781031781071781091781101781131781211781251781271781281781321781391781431781451781461781511781511781551781571781581781631781721781761781781781791781851781861781901781921781931782001782001782041782061782071782141782181782221782241782251782321782361782401782421782431782501782551782591782611782621782701782741782781782801782811782891782971783011783031783041783121783201783241783261783271783361783381783421783441783461783461783471783511783531783551783551783601783641783661783681783681783741783781783801783821783821783901783941783961783981783991784061784101784121784141784161784171784211784231784251784271784291784331784351784371784391784451784491784511784531784561784611784651784671784691784721784811784851784871784891784931784941784981785001785021785061785101785141785161785181785231785261785301785321785341785391785461785501785521785541785591785681785721785741785761785821785881785921785941785961786031786081786121786141786161786231786321786361786381786401786481786501786541786561786581786661786711786751786771786791786881786921786961786981787001787091787171787211787231787261787261787271787311787331787361787361787421787461787481787511787521787571787611787631787661787671787761787801787821787851787871787901787941787961787991788011788081788121788141788171788201788261788301788321788351788391788391788431788451788481788521788561788601788621788651788701788731788771788791788821788881788901788941788961788991789051789111789151789171789201789271789281789321789341789371789441789471789511789531789561789641789661789701789721789751789831789891789931789951789981790071790081790121790141790171790261790311790351790371790411790411790451790491790511790551790551790631790671790691790731790741790781790821790841790881790891790961791001791021791061791081791141791181791201791241791271791271791311791331791371791401791461791501791521791561791601791651791691791711791751791801791841791881791901791941791991792071792111792131792171792231792281792321792341792381792441792491792531792551792591792661792701792741792761792801792871792951792991793011793051793131793181793221793241793281793361793431793471793491793531793621793681793721793741793791793791793791793831793851793901793901793981794021794041794091794091794181794221794241794291794301794381794421794441794491794511794531794571794591794641794671794671794711794731794781794811794881794921794941794991795031795091795131795151795201795251795251795291795311795361795411795501795541795561795611795671795721795761795781795831795901795941795981796001796051796121796201796241796261796311796391796461796501796521796571796661796711796751796771796831796831796871796911796931796991796991797081797121797141797201797201797291797331797351797411797421797481797521797541797601797621797671797711797731797791797821797821797861797881797941797971797981798021798041798101798131798181798221798241798301798341798381798421798441798501798541798631798671798691798751798801798811798851798871798931798981798991799031799051799111799171799171799211799231799291799351799401799441799461799521799581799651799691799711799771799831799921799961799981800041800111800191800231800251800311800391800421800461800481800541800621800681800721800741800801800881800951800991801011801071801161801221801261801281801351801351801361801401801421801491801491801531801571801591801661801671801701801741801761801831801851801871801911801931802001802021802091802131802151802221802251802261802301802321802391802421802471802511802531802601802641802681802721802741802811802851802941802981803001803071803121803151803191803211803281803331803421803461803481803551803611803691803731803751803821803891803921803961803981804051804121804201804241804261804331804411804441804481804501804571804661804681804721804741804811804901804971805011805031805111805111805141805181805201805281805281805351805391805411805491805501805561805601805621805701805721805731805771805791805871805891805961806001806021806101806131806171806211806231806311806351806381806421806441806521806561806641806681806701806781806831806881806921806941807021807071807121807161807181807261807321807361807401807421807501807561807651807691807711807791807861807921807961807981808061808131808191808231808251808331808411808461808501808521808601808691808691808731808751808831808921808991809031809051809131809221809291809331809351809441809441809501809541809561809651809661809671809711809731809821809831809911809951809971810061810071810161810201810221810311810331810411810451810471810561810591810621810661810681810771810811810811810851810871810961811001811041811081811101811191811241811271811311811331811421811471811551811591811611811701811761811811811851811871811961812021812111812151812171812261812331812411812451812471812561812641812671812711812731812821812911812911812951812971813061813151813191813231813261813261813261813291813331813361813361813361813441813481813511813511813521813581813621813651813651813661813751813791813821813821813841813921813961813991813991814021814051814091814121814121814161814171814211814241814241814281814351814391814421814421814471814531814571814601814601814661814671814711814741814741814801814891814931814961814961815031815081815121815151815151815231815271815311815341815341815421815511815551815581815581815671815741815781815811815821815821815861815901815931815941815951815981816021816051816061816071816151816191816221816231816251816321816361816391816401816431816441816481816511816521816561816561816601816631816641816681816731816771816801816811816861816901816941816971816981817041817051817091817121817131817201817201817241817271817281817351817401817441817471817481817561817601817641817671817681817771817781817821817851817871817871817871817911817941817961817961818011818051818081818101818111818151818191818221818241818261818291818331818361818381818411818431818471818501818521818551818631818671818701818721818751818831818871818901818921818961818991819031819061819081819131819151819191819221819241819291819371819411819441819461819511819591819631819661819681819741819801819841819871819891819961820011820051820081820101820181820191820231820261820281820361820371820411820441820461820541820631820671820701820721820811820891820931820961820991820991821031821071821101821131821131821181821221821251821281821281821331821371821401821431821441821481821521821551821581821601821601821641821671821701821721821731821771821801821831821851821931821971822001822031822061822131822171822201822231822271822301822341822371822401822441822491822531822561822591822631822681822721822751822781822831822871822911822941822971823031823031823071823101823131823191823211823251823281823311823371823391823431823461823491823561823571823611823641823671823741823811823851823881823911823981824071824111824141824171824251824271824311824341824371824461824471824511824541824571824661824731824771824801824831824921825011825051825081825121825121825191825231825261825301825311825371825411825441825481825501825521825561825591825631825651825701825741825771825811825831825891825931825961826001826031826081826121826151826191826231826241826281826311826351826391826431826471826501826541826581826631826671826701826741826791826831826871826901826941827001827001827041827071827111827171827201827241827271827311827371827451827491827521827561827631827701827741827771827811827891827921827961827991828031828111828171828211828241828281828371828421828461828491828541828541828581828621828651828701828711828711828751828781828831828841828881828921828951829001829011829071829111829141829191829211829261829301829331829381829411829421829461829491829541829571829621829661829691829741829771829841829881829911829961830001830061830101830131830181830231830251830291830321830371830421830481830521830551830601830661830681830721830751830801830871830881830921830951831001831071831141831181831211831261831341831361831401831431831481831561831601831641831671831721831811831841831881831911831961832051832141832181832211832271832271832311832351832381832441832441832531832571832601832661832671832751832791832821832881832901832941832981833011833071833091833181833221833251833311833341833381833421833451833511833551833581833621833651833711833751833841833881833911833971834021834071834111834141834201834251834301834341834371834431834491834531834571834601834661834731834731834771834801834861834931834991835031835061835121835201835211835251835281835341835431835431835471835501835561835651835711835751835781835851835851835871835911835941836011836021836021836061836091836161836171836261836301836331836401836421836471836511836541836611836641836651836691836721836791836821836911836951836981837051837091837171837211837241837311837361837401837441837471837541837601837611837651837681837751837811837851837891837921837991838061838091838131838161838231838301838391838431838461838531838611838671838711838741838811838901838941838981839011839091839091839121839161839191839271839271839361839401839431839511839521839591839631839661839741839751839831839871839901839981840001840071840111840141840221840251840281840321840351840431840471840481840521840551840631840671840691840731840761840841840891840901840941840971841051841101841171841211841241841321841381841431841471841501841581841651841661841701841731841811841891841891841931841961842041842121842181842221842251842331842421842471842511842541842621842711842781842821842851842941842941843001843041843071843161843171843191843231843261843351843371843381843421843451843541843561843621843661843691843781843811843861843901843931844021844061844071844111844141844231844281844281844321844351844441844491844541844581844611844701844761844801844841844871844961845031845041845081845111845201845271845281845321845351845441845511845531845571845601845691845771845781845821845851845941846021846101846141846171846261846341846421846461846491846581846671846711846751846791846791846791846821846861846901846901846911846911846951846991846991847001847001847041847081847081847091847181847221847261847261847281847361847401847441847441847471847521847561847601847601847631847681847721847761847761847801847841847881847921847921847971848001848041848081848081848141848141848181848221848221848281848291848331848371848371848431848491848531848571848571848641848691848731848771848771848851848871848911848951848951849031849071849111849151849151849231849271849311849351849351849441849471849511849551849561849561849561849601849641849651849651849671849711849751849761849761849811849851849891849901849911849951849991850031850041850061850071850111850151850161850181850211850251850291850301850321850381850421850461850471850501850551850591850631850641850681850701850741850781850791850831850871850911850951850961851011851041851081851121851131851191851211851251851291851301851361851451851491851531851541851611851631851671851711851721851801851801851841851881851891851971852061852101852141852151852241852301852341852381852401852401852401852441852481852501852501852511852551852591852611852621852621852661852701852721852731852801852841852881852901852921852931852971853011853031853051853071853111853151853171853201853211853251853291853311853341853421853461853501853521853561853581853621853661853681853731853731853771853811853831853881853971854011854051854071854131854191854231854271854291854361854371854411854451854471854541854611854651854691854711854791854851854891854931854951855041855071855111855151855171855261855341855381855421855451855451855521855561855601855631855641855701855741855781855811855831855861855901855941855971855991856071856111856151856181856211856281856321856361856391856431856491856531856571856601856651856681856721856761856791856841856931856971857011857041857101857151857191857231857261857331857371857411857451857481857561857571857611857651857681857761857841857881857921857951858041858061858101858141858181858181858191858231858271858311858311858391858431858471858511858521858571858611858651858691858711858731858771858811858851858881858891858931858971859011859041859121859161859201859241859281859331859371859411859451859501859521859561859601859641859701859711859751859791859831859891859971860011860051860091860161860221860261860301860341860421860431860471860511860551860641860641860681860721860761860851860921860961861001861051861051861101861141861181861231861241861281861321861361861411861431861461861501861541861591861621861621861661861701861751861781861871861911861951862001862041862051862091862131862181862231862231862271862311862361862411862481862521862561862611862671862731862771862811862861862921863001863041863081863131863201863271863311863351863401863481863531863571863611863661863741863791863831863871863921864001864061864101864141864191864281864331864371864411864471864471864501864541864581864641864641864671864711864751864811864811864881864921864961865021865031865091865131865171865231865251865291865331865371865431865451865491865531865571865631865661865671865711865751865811865851865851865891865931865991866031866111866151866191866251866291866371866411866451866511866561866611866651866691866751866811866851866891866931866991867061867081867121867161867221867291867321867361867401867461867531867621867661867701867761867841867921867961868001868061868151868211868251868291868351868441868511868551868591868661868661868721868761868801868871868881868931868971869011869081869101869131869171869211869281869301869351869391869431869501869521869591869631869671869741869771869831869871869911869981870021870061870101870141870211870251870311870351870391870461870501870581870621870661870731870781870851870891870931871001871061871111871151871191871261871321871401871441871481871551871611871701871741871781871851871921872001872041872081872151872231872291872331872371872441872531872531872571872611872681872771872771872811872851872921873011873101873141873181873261873261873331873371873411873491873501873511873551873591873671873681873721873761873801873881873901873931873971874011874091874121874131874171874211874291874321874371874411874451874531874561874651874691874731874811874851874931874971875011875091875141875201875241875281875361875421875421875461875501875581875641875681875721875761875841875911875941875981876021876101876181876191876231876271876351876431876491876531876571876651876731876811876851876891876971877061877131877171877211877301877301877351877391877431877521877531877531877571877611877701877711877761877801877841877931877951877991878031878071878161878191878211878251878291878381878411878481878521878561878651878691878721878761878801878891878941878961879001879041879131879191879191879231879271879361879421879471879511879551879641879711879721879761879801879891879971879971880011880051880141880221880301880341880381880471880561880601880641880681880771880861880941880981881031881031881031881101881141881191881191881201881251881291881341881341881361881371881411881461881461881481881561881601881651881651881681881751881791881841881841881881881931881971882021882021882071882081882121882171882171882221882311882351882401882401882461882541882581882631882631882701882761882801882851882851882931882951882991883041883041883131883141883181883231883241883241883241883281883331883341883341883421883461883511883521883531883581883621883671883681883701883711883751883801883811883841883841883881883931883941883971884051884091884141884151884191884241884281884331884341884391884431884471884521884531884591884621884661884711884721884791884801884841884891884901884971885061885101885151885161885231885321885361885411885421885501885581885621885671885681885771885831885871885921885941885941885981886021886071886091886091886151886191886241886261886271886321886361886411886431886451886481886521886571886591886621886631886671886721886741886771886861886901886951886971887011887091887131887181887201887251887311887351887401887421887481887531887571887621887641887701887761887801887851887871887941887991888031888081888101888181888211888251888301888321888411888431888471888521888541888631888671888711888761888791888791888821888861888911888941888951888961889001889051889081889101889101889141889191889221889241889281889321889371889401889431889461889501889551889581889621889641889681889731889761889801889821889861889911889941889981890011890051890101890131890181890201890241890291890321890381890391890431890481890511890571890581890621890671890701890761890811890851890901890931891001891041891081891131891161891241891271891311891361891391891471891501891541891591891621891701891781891821891871891901891991892061892101892151892191892191892251892291892341892381892381892441892481892531892571892581892611892651892701892741892761892781892821892871892911892941892951892991893041893081893111893131893171893221893261893291893361893401893451893491893531893591893631893681893721893771893821893861893911893951894001894061894101894151894191894251894291894331894381894421894491894521894561894611894651894731894751894791894841894881894961894991895031895081895121895211895231895271895321895371895371895381895421895471895521895531895531895571895621895671895681895701895741895791895841895851895891895931895981896031896051896081896121896171896221896251896271896311896361896411896441896481896521896571896621896661896691896731896781896831896881896901896941896991897041897101897111897151897201897251897311897351897391897441897491897551897611897651897701897751897821897871897911897961898011898091898131898171898221898271898351898421898461898511898561898651898651898691898741898791898881898971899011899061899121899121899201899241899291899351899361899371899411899461899521899531899601899641899691899751899771899831899871899921899981900011900061900101900151900211900241900331900371900421900481900521900551900591900641900701900751900771900811900861900921900981900991901031901081901141901201901251901291901341901401901471901491901531901581901641901721901731901771901821901881901971901971902011902061902121902211902251902291902341902411902411902431902471902521902591902601902611902651902701902771902791902791902831902881902951902971903021903061903111903181903201903271903311903361903431903461903521903561903611903681903721903771903811903861903931903981903981904021904071904141904191904261904301904351904421904481904541904581904631904701904771904821904861904911904981905061905071905111905161905231905311905321905361905411905481905571905571905611905661905731905821905911905951906001906081906081906131906171906221906301906301906361906401906451906531906541906591906631906681906761906781906821906861906911906991907021907021907061907111907191907221907281907321907371907451907491907541907581907631907711907761907801907841907891907971908031908041908081908131908211908271908281908321908371908451908521908521908561908611908691908761908851908891908941909021909101909161909201909251909331909411909501909541909591909671909761909841909881909931910021910021910091910131910181910271910281910321910361910411910501910511910591910631910681910771910791910861910901910951911041911071911131911171911221911311911351911381911421911471911561911611911631911671911721911811911871911881911921911971912061912131912131912171912221912311912381912461912501912551912641912721912751912791912841912931913021913041913081913141913141913141913151913191913251913251913251913341913381913441913441913451913521913561913621913621913641913701913741913801913801913831913881913921913981913981914021914051914091914151914151914201914221914261914321914321914381914391914431914491914491914561914561914601914661914661914731914821914861914921914921915001915031915071915131915131915211915251915291915351915351915431915471915511915571915571915651915691915731915791915791915871915911915951916011916011916091916131916171916231916231916311916361916401916461916461916541916591916631916691916691916771916821916861916921916921917001917051917091917151917151917231917311917351917411917411917491917581917621917681917681917761917851917891917951917951918031918121918161918221918221918301918391918431918491918491918581918611918651918711918711918801918841918881918941918941919031919071919111919171919171919261919301919341919401919401919491919541919581919641919641919731919781919821919881919881919971920031920071920131920131920221920281920321920381920381920471920531920571920631920631920721920791920831920891920901920901920921920961921021921031921031921061921101921161921171921171921201921241921301921311921311921341921381921441921451921451921491921531921591921601921611921631921671921731921741921751921781921821921881921891921901921931921971922031922041922051922081922121922181922191922201922241922281922341922351922371922401922441922501922511922531922571922611922671922681922701922741922781922841922851922871922911922951923011923021923041923101923141923201923211923241923251923291923351923361923391923411923451923511923521923551923571923611923671923681923711923731923771923831923841923871923921923961924021924031924061924131924171924231924241924271924351924391924451924461924491924571924611924671924681924711924791924831924891924901924941924951924991925051925061925101925161925201925261925271925311925381925421925481925491925531925601925641925701925711925751925821925861925921925931925981925981926021926081926091926141926201926241926301926311926361926431926471926531926541926591926661926701926761926771926821926891926931926991927001927061927071927111927171927181927241927281927321927381927391927451927501927541927601927611927671927721927761927821927831927891927941927981928041928051928111928201928241928301928311928381928401928441928501928511928581928611928651928711928721928791928821928861928921928931929001929031929071929131929141929211929281929321929381929391929471929501929541929601929611929691929731929771929831929841929921929961930001930061930071930151930191930231930291930301930381930461930501930561930571930661930711930751930811930821930911930971931011931071931081931171931231931271931331931341931431931491931531931591931611931611931621931661931721931741931741931791931831931891931911931911931971932011932071932091932091932151932191932251932271932271932331932371932431932451932461932481932521932581932601932611932661932701932761932781932791932851932891932951932971932981933041933081933141933161933171933231933271933331933351933371933391933431933491933511933531933611933651933711933731933751933841933881933941933961933981934071934111934171934191934211934301934341934401934421934451934501934541934601934621934661934681934721934781934801934841934871934911934971934991935031935061935101935161935181935221935251935291935351935371935421935421935461935521935541935591935641935681935741935761935811935871935911935971935991936041936101936141936201936221936271936331936371936431936451936511936541936581936641936661936721936811936851936911936931937001937001937041937101937121937191937191937231937291937311937381937381937421937481937501937571937641937681937741937761937841937901937941938001938021938101938171938211938271938291938371938441938481938541938561938641938711938751938811938831938921938971939011939071939091939181939231939271939331939351939441939501939541939601939621939711939771939811939871939891939981940041940081940141940171940171940211940251940311940341940351940371940411940471940501940511940541940581940641940671940681940711940751940811940841940851940881940921940981941011941031941051941091941151941181941201941261941301941361941391941411941481941521941581941611941631941701941741941801941831941851941921941961942021942051942081942141942181942241942271942311942341942381942441942471942511942551942591942651942681942721942761942801942861942891942931942971943011943071943101943151943181943221943281943311943371943381943421943481943511943571943591943631943691943721943781943801943841943901943931943991944021944061944121944151944211944241944281944341944371944441944441944481944541944571944641944651944691944751944781944851944861944901944961944991945061945081945121945181945211945281945311945351945411945441945511945561945601945661945691945761945821945861945921945951946021946081946121946181946211946281946351946391946451946481946551946631946671946731946761946841946871946911946971947001947081947121947161947221947251947331947371947411947471947501947581947631947671947731947761947841947901947941948001948031948121948141948181948241948271948361948391948431948491948521948611948641948681948741948771948861948901948941949001949031949121949181949221949281949321949321949331949371949431949471949471949491949531949591949631949631949651949691949751949791949791949821949861949921949961949961950021950061950121950161950161950241950281950341950381950381950471950511950571950611950611950701950741950801950841950851950851950891950951950991951001951031951071951131951171951181951261951301951361951401951411951501951541951601951641951651951741951781951841951881951901951901951941952001952041952061952091952131952191952231952261952261952301952361952401952431952441952481952541952581952611952621952661952721952761952791952811952851952911952951952981953031953071953131953171953211953231953271953331953371953411953441953481953541953581953621953651953691953751953791953831953871953911953971954011954051954131954171954231954271954321954321954361954421954461954511954521954561954621954661954711954721954761954821954861954911954931954971955031955071955121955181955221955281955321955381955391955431955491955531955591955611955651955711955751955811955831955871955931955971956031956061956101956161956201956261956331956371956431956471956541956581956621956681956721956791956841956881956941956981957051957101957141957201957241957311957371957411957471957511957591957591957631957691957731957811957891957931957991958031958111958201958241958301958341958421958511958551958611958651958741958741958781958841958881958971959021959061959121959161959251959321959361959421959461959551959631959671959731959771959861959941959981960041960081960171960261960301960361960411960411960451960491960551960601960601960691960731960791960841960851960851960891960951961001961011961011961051961111961161961171961181961221961281961331961341961401961441961501961551961571961601961641961701961751961771961811961851961911961961961981962021962061962121962171962191962241962281962341962391962421962421962461962521962571962601962681962721962781962831962861962951962991963051963101963131963221963261963321963371963411963411963451963511963561963601963661963701963761963811963861963871963911963971964021964071964091964131964191964241964291964311964351964411964461964511964541964581964641964691964741964831964871964931964981965041965111965151965211965261965321965401965441965501965551965611965691965731965791965841965901965991966031966091966141966211966271966311966371966421966491966551966591966651966701966771966841966881966941966991967061967131967171967231967281967351967431967471967531967581967661967711967751967811967861967941968001968041968101968151968231968301968341968401968451968531968601968641968701968751968831968911968951969011969061969151969201969241969301969361969361969401969441969501969561969561969611969651969711969771969771969821969861969921969981969981970041970081970141970201970211970251970291970351970411970421970481970521970581970641970651970721970761970821970881970891970961971001971061971121971131971211971251971311971371971391971451971491971551971611971641971641971681971741971801971831971841971881971941972001972031972041972081972141972201972231972251972291972351972411972451972451972491972551972611972651972711972751972811972871972911972981973021973081973141973181973251973291973351973411973451973531973571973631973691973741973811973851973911973971974031974031974071974131974191974251974261974301974361974421974481974491974531974591974651974711974731974771974831974891974961974971975011975071975131975201975271975311975371975431975501975581975621975681975741975811975891975931975991976051976121976211976251976311976371976451976531976571976631976691976781976841976881976941977001977091977161977201977261977321977411977481977521977581977641977731977821977861977921977981978071978161978201978261978331978331978331978371978431978501978501978511978551978611978681978681978691978731978791978861978861978891978931978991979061979061979091979131979191979261979261979301979341979401979471979471979521979561979621979691979691979741979781979841979911979911979981980021980081980151980151980221980261980321980391980401980411980451980511980581980591980611980651980711980781980791980811980851980911980981980991981031981071981131981201981211981251981291981351981421981441981441981481981541981611981631981641981681981741981811981831981841981881981941982011982031982061982101982161982231982251982281982321982381982451982481982501982541982601982671982701982731982771982831982901982931982961983001983061983131983161983211983251983311983381983411983471983511983571983641983671983761983801983861983931983971983971984011984071984141984181984181984221984281984351984391984411984451984511984581984621984651984691984751984821984861984951984991985051985121985171985171985211985271985341985391985391985431985491985561985611985631985671985731985801985851985881985921985981986051986111986121986161986221986291986351986371986411986471986541986601986621986661986721986791986851986891986931986991987061987121987181987221987281987351987411987491987531987591987661987721987811987851987911987981988041988131988171988231988301988371988381988421988481988551988621988651988691988751988821988891988971989011989071989141989211989301989341989401989471989541989631989671989731989801989881989891989931989991990061990141990171990211990271990341990431990441990481990541990611990701990721990761990821990891990981991001991041991101991171991261991301991341991401991471991561991631991671991731991801991891991961992001992061992131992221992301992341992401992471992561992641992681992741992821992821992821992861992921993001993001993031993071993131993211993211993281993321993381993461993461993541993581993641993721993721993801993841993901993981993991993991994031994091994171994181994221994261994321994401994411994451994491994551994631994641994691994731994791994871994881994931994971995031995111995121995191995231995291995371995391995401995441995501995581995601995641995681995741995821995841995891995931995991996071996091996141996181996241996321996341996411996451996511996591996621996631996671996731996811996841996901996941997001997081997111997181997221997281997361997391997461997501997561997641997671997761997801997861997941997981998021998061998121998201998241998281998321998381998461998501998551998591998651998731998771998821998861998921999001999041999111999151999211999291999341999361999401999461999541999591999641999681999741999821999871999931999972000032000112000162000222000262000322000402000452000532000572000632000712000772000802000842000902000982001042001132001172001232001312001382001382001422001482001562001632001632001672001732001812001882001902001942002002002082002152002222002262002322002402002482002532002572002632002712002792002852002892002952003032003112003172003212003272003352003432003512003552003612003692003782003822003862003922004002004092004172004212004272004352004442004532004572004632004712004802004892004932004992005082005082005092005132005192005282005282005352005392005452005542005552005582005622005682005772005782005822005862005922006012006022006062006102006162006252006262006322006362006422006512006532006552006592006652006742006772006782006822006882006972007002007022007062007122007212007242007262007302007362007452007482007522007562007622007712007752007762007802007862007952007992008012008052008112008202008242008272008312008372008462008502008532008572008632008722008762008812008852008912009002009052009072009112009172009262009312009402009442009502009592009652009652009692009752009842009902009902009942010002010092010152010172010212010272010362010432010432010472010532010622010692010722010762010822010912010982011022011062011122011212011282011322011362011422011512011582011642011682011742011832011912011952011992012052012142012232012232012272012332012422012512012522012562012622012712012802012812012852012912013002013092013122013162013232013232013232013242013282013352013352013352013442013482013552013552013562013562013602013672013672013682013682013722013792013792013802013822013862013932013932013952013962014002014072014072014092014142014182014252014252014272014332014372014442014442014462014522014562014632014632014652014742014782014852014852014872014962015002015072015072015102015102015142015212015212015242015252015292015362015362015392015402015442015512015512015542015582015622015692015692015722015762015802015872015872015902015982016022016092016092016122016212016252016322016322016352016442016482016552016552016592016612016652016722016722016762016782016822016892016892016932017012017052017122017122017162017252017292017362017362017402017492017532017602017602017652017672017712017782017782017832017862017902017972017972018022018082018122018192018192018242018312018352018422018422018472018542018582018652018652018712018712018752018822018822018882018892018932019002019002019072019072019112019182019182019252019262019302019372019372019442019452019492019562019562019632019672019712019782019782019852019912019952020022020022020092020172020212020282020282020352020442020482020552020552020622020712020752020822020822020902020922020962021032021032021112021152021192021262021262021342021422021462021532021532021612021702021742021812021812021892021982022022022092022092022182022202022242022312022312022402022452022492022562022562022652022722022762022832022832022922023002023042023112023112023202023282023322023392023402023402023412023452023522023532023532023572023612023682023692023692023752023792023862023872023872023942023982024052024062024062024132024172024242024252024262024262024302024372024382024392024422024462024532024542024552024632024672024742024752024762024852024892024962024972024982025072025112025182025192025212025232025272025342025352025372025422025462025532025542025572025592025632025702025712025742025772025812025882025892025922025952025992026062026072026102026162026202026272026282026322026322026362026432026442026482026532026572026642026652026692026752026792026862026872026912026972027012027082027092027132027222027262027332027342027392027422027462027532027542027592027682027722027792027802027862027862027902027972027982028042028042028082028152028162028222028252028292028362028372028432028502028542028612028622028692028752028792028862028872028942029012029052029122029132029202029272029312029382029392029472029472029512029582029592029672029722029762029832029842029922029982030022030092030102030182030252030292030362030372030452030522030562030632030642030732030732030772030842030852030942031002031042031112031122031212031272031312031382031392031482031552031592031662031672031762031832031872031942031962031962031962032002032072032092032092032152032192032262032282032282032342032382032452032472032472032542032582032652032672032672032742032782032852032872032882032882032922032992033012033022033082033122033192033212033222033312033352033422033442033462033462033502033572033592033612033612033652033722033742033762033792033832033902033922033942034032034072034142034162034192034232034272034342034362034392034442034482034552034572034602034652034692034762034782034812034892034932035002035022035062035112035152035222035242035282035372035412035482035502035552035552035592035662035682035732035732035772035842035862035912035942035982036052036072036132036132036172036242036262036322036402036442036512036532036592036682036722036792036812036872036962037002037072037092037162037182037222037292037312037392037392037432037502037522037602037612037652037722037742037822037842037882037952037972038052038072038112038182038202038282038332038372038442038462038552038582038622038692038712038802038862038902038972038992039082039152039192039262039282039372039442039482039552039582039582039582039622039692039722039722039812039852039922039952039962039972040012040082040112040122040142040182040252040282040292040312040352040422040452040462040522040562040632040662040672040732040772040842040872040882040942040982041052041082041092041162041202041272041302041312041382041422041492041522041542041552041592041662041692041712041722041762041832041862041882041922041962042032042062042082042132042172042242042272042292042342042382042452042482042502042592042632042702042732042752042842042882042952042982043012043062043102043172043202043232043292043332043402043432043462043522043562043632043662043702043702043742043812043842043882043882043922043992044022044062044122044162044232044262044302044372044412044482044512044552044622044662044732044762044812044822044862044932044962045012045032045072045142045172045222045272045312045382045412045462045522045562045632045662045712045772045812045882045912045972045972046012046082046112046172046182046222046292046322046382046452046492046562046592046652046732046772046842046872046932047012047052047122047152047222047242047282047352047382047452047482047522047592047622047702047722047762047832047862047942047972048012048082048112048192048222048262048332048362048442048512048552048622048652048732048822048862048932048962049042049132049172049242049272049362049362049402049472049502049592049592049632049702049732049822049862049902049972050002050092050152050192050262050292050382050452050492050562050592050682050762050802050872050902050992051072051112051182051222051222051242051282051352051392051392051432051472051542051582051582051662051702051772051812051812051902051942052012052052052052052142052182052252052292052302052332052372052442052482052492052542052582052652052692052712052732052772052842052882052902052932052972053042053082053102053132053172053242053282053302053372053412053482053522053542053632053672053742053782053812053882053922053992054032054062054142054182054252054292054322054402054442054512054552054592054612054652054722054762054802054852054892054962055002055052055072055112055182055222055272055302055342055412055452055502055532055572055642055682055732055802055842055912055952056012056022056062056132056172056232056242056282056352056392056452056472056512056582056622056682056702056742056812056852056912056972057012057082057122057192057192057232057302057342057412057442057482057552057592057662057702057742057812057852057922057962058002058072058112058182058262058302058372058412058492058512058552058622058662058742058812058852058922058962059042059122059162059232059272059352059432059472059542059582059672059692059732059802059842059932060002060042060112060162060162060162060202060272060322060322060332060372060442060492060492060502060542060612060662060662060712060752060822060872060882060882060922060992061042061052061112061152061222061272061282061352061392061462061512061522061592061632061702061752061772061782061822061892061942061962062022062062062132062182062212062262062302062372062422062452062512062552062622062672062702062762062802062872062922062962062962063002063072063122063162063222063262063332063382063422063502063542063612063662063702063792063832063902063952063992064082064122064192064242064292064322064362064432064482064532064622064662064732064782064842064882064922064992065042065102065152065192065262065312065372065422065462065532065582065642065732065772065842065892065962066012066052066122066172066252066282066322066392066442066522066562066602066672066722066802066842066882066952067002067082067162067202067272067322067412067462067502067572067622067712067772067812067882067932068022068092068132068202068252068342068412068452068522068582068582068592068632068702068762068762068842068882068952069012069022069042069082069152069212069222069252069292069362069422069432069462069502069572069632069642069712069752069822069882069902069942069982070052070112070142070162070202070272070332070362070392070432070502070562070592070622070662070732070792070822070892070932071002071062071102071152071192071262071322071362071422071462071532071592071632071702071742071812071872071912071982072022072092072152072202072212072252072322072382072432072522072562072632072692072752072782072822072892072952073012073052073092073162073222073282073322073362073432073492073552073632073672073742073802073872073932073972074042074102074182074222074262074332074392074472074522074562074632074692074772074822074862074932074992075072075162075202075272075332075422075502075542075612075672075762075852075892075962076032076032076032076072076142076212076212076212076252076322076392076392076432076472076542076612076622076652076692076762076832076842076912076952077022077092077102077182077222077292077362077372077452077492077562077632077652077672077712077782077852077882077892077932078002078072078102078182078222078292078362078392078482078522078592078662078692078782078822078892078962079002079042079082079152079222079262079302079342079412079482079522079572079612079682079752079792079852079892079962080032080072080132080172080242080312080362080372080412080482080552080602080612080652080722080792080852080852080892080962081032081092081102081142081212081282081342081352081392081462081532081592081652081692081762081832081892081962082002082072082142082202082292082332082402082472082542082542082582082652082722082792082792082832082902082972083042083092083132083202083272083342083402083442083512083582083662083672083712083782083852083932083952083992084062084132084212084232084272084342084412084492084562084602084672084742084822084912084952085022085092085172085262085302085372085442085532085532085572085642085712085802085802085842085912085982086072086122086162086232086302086392086462086502086572086642086732086822086862086932087012087012087012087052087122087202087202087202087242087312087392087392087442087482087552087632087632087702087742087812087892087902087922087962088032088112088122088152088192088262088342088352088382088422088492088572088582088662088702088772088852088872088872088912088982089062089082089162089202089272089352089372089462089502089572089652089672089762089802089872089952089982090022090062090132090212090242090312090352090422090502090542090552090592090662090742090782090802090842090912090992091032091052091092091162091242091282091352091392091462091542091592091592091632091702091782091832091882091922091992092072092122092182092222092292092372092422092482092522092592092672092732092742092782092852092932092992093032093072093142093222093292093312093352093422093502093572093602093642093712093792093862093892093932094002094082094152094232094272094342094422094502094522094562094632094712094792094822094862094932095012095092095132095172095242095322095402095442095482095552095632095712095802095842095912095992096082096112096152096222096312096312096312096352096422096512096512096522096562096632096722096722096732096772096842096932096932096992097032097102097192097202097212097252097322097412097422097462097502097572097662097672097722097762097832097922097932097982098022098092098182098202098202098242098312098402098422098472098512098582098672098702098712098752098822098912098942098962099002099072099162099192099212099252099322099412099442099512099552099622099712099752099772099812099882099972100022100032100072100142100232100282100302100342100412100502100552100572100612100682100772100822100892100932101002101092101152101182101222101292101382101442101532101572101642101732101802101802101842101912102002102072102072102112102182102272102342102392102432102502102592102672102692102732102802102892102972102992103032103102103192103272103302103342103412103502103582103612103652103722103812103892103972104012104082104172104262104312104352104422104512104602104682104722104792104882104972105062105102105172105262105352105442105482105562105562105562105602105642105722105722105732105742105782105862105862105872105942105982106062106062106072106152106192106272106272106282106362106402106482106482106502106532106572106652106652106682106692106732106812106812106842106892106932107012107012107042107102107142107222107222107252107312107352107432107432107472107482107522107602107602107642107732107772107852107852107902107962108002108082108082108132108202108242108322108322108372108442108482108562108562108622108642108682108762108762108832108842108882108962108962109032109042109082109162109162109232109252109292109372109372109442109462109502109582109582109652109722109762109842109842109922109982110022110102110102110182110272110312110392110392110482110482110522110602110602110692110692110732110812110812110902110962111002111082111082111172111232111272111352111352111442111512111552111632111632111722111802111842111922111922112012112092112132112212112222112222112262112302112382112392112392112442112482112562112572112572112622112662112742112752112752112812112852112932112942112942113002113042113122113132113142113162113202113282113292113302113332113372113452113462113472113532113572113652113662113672113742113782113862113872113882113952113992114072114082114102114132114172114252114262114282114322114362114442114452114482114482114522114602114612114642114652114692114772114782114812114822114862114942114952114982115052115092115172115182115212115302115342115422115432115472115512115552115632115642115682115732115772115852115862115902115952115992116072116082116132116142116182116262116272116322116352116392116472116482116532116622116662116742116752116812116812116852116932116942117002117002117042117122117132117192117252117292117372117382117442117522117562117642117652117722117792117832117912117922117992118072118112118192118202118272118352118392118472118482118562118602118642118722118732118812118882118922119002119012119102119102119142119222119232119322119332119372119452119462119552119562119602119682119692119782119852119892119972119992119992119992120032120112120132120132120162120202120282120302120302120342120382120462120482120482120522120562120642120662120672120672120712120792120812120822120852120892120972120992121002121062121102121182121202121212121282121322121402121422121432121502121542121622121642121662121692121732121812121832121852121912121952122032122052122082122102122142122222122242122272122302122342122422122442122472122502122542122622122642122672122762122802122882122902122942122972123012123092123112123152123182123222123302123322123362123402123442123522123542123582123622123662123742123762123812123812123852123932123952124002124042124082124162124182124232124272124312124392124412124462124512124552124632124652124702124752124792124872124892124952124962125002125082125102125162125212125252125332125352125422125432125472125552125572125642125662125702125782125802125872125892125932126012126032126102126182126222126302126322126402126422126462126542126562126652126662126702126782126802126892126912126952127032127052127142127162127202127282127302127392127472127512127592127622127622127652127692127772127802127802127862127902127982128012128012128082128122128202128232128232128302128342128422128452128462128492128532128612128642128652128732128772128852128882128902128922128962129042129072129092129122129162129242129272129292129322129362129442129472129492129582129622129702129732129762129802129842129922129952129982130072130112130192130222130262130262130302130382130412130452130452130492130572130602130642130702130742130822130852130902130912130952131032131062131112131202131242131322131352131412131412131452131532131562131622131622131662131742131772131832131892131932132012132042132112132132132172132252132282132352132392132432132512132542132612132662132702132782132812132882132932132972133052133082133162133172133212133292133322133402133472133512133592133622133712133722133762133842133872133962133982134022134102134132134222134242134282134362134392134482134562134602134682134722134722134762134802134882134922134922135002135042135122135162135162135252135292135372135412135412135502135542135622135662135672135722135762135842135882135902135912135952136032136072136092136172136212136292136332136352136442136482136562136602136622136712136752136832136872136902136952136992137072137112137152137172137212137292137332137372137402137442137522137562137602137642137682137762137802137842137882137922138002138042138092138092138132138212138252138302138372138412138492138532138592138592138632138712138752138812138822138862138942138982139042139052139092139172139212139272139342139382139462139502139572139622139662139742139782139852139902139942140022140062140132140192140232140312140352140422140482140522140602140642140722140742140782140862140902140992140992141032141112141152141242141272141312141392141432141522141562141602141682141722141812141852141892141972142022142022142022142062142142142192142192142272142312142392142442142452142502142542142622142672142682142742142782142862142912142922142982143022143102143152143172143192143232143312143362143392143392143432143512143562143592143682143722143802143852143892143892143932144012144062144102144102144142144222144272144312144372144412144492144542144592144642144682144762144812144872144882144922145002145052145112145132145172145252145302145362145382145422145502145552145612145692145732145812145862145932146002146042146122146172146252146312146352146432146482146562146632146672146752146802146882146952146992147072147122147212147252147292147372147422147512147552147592147672147722147812147882147922148002148052148142148222148262148342148392148482148562148602148682148742148742148792148832148912148972148972149022149062149142149202149212149222149262149342149402149412149432149472149552149612149622149642149682149762149822149832149922149962150042150102150122150122150162150242150302150322150342150382150462150522150542150572150612150692150752150772150802150842150922150982151012151012151052151132151192151222151232151272151352151412151442151502151542151622151682151712151782151822151902151962151992152062152102152182152242152282152322152362152442152502152542152592152632152712152772152822152862152902152982153042153092153142153182153262153322153372153422153462153542153602153662153682153722153802153862153922153962154002154082154142154202154272154312154392154452154512154592154632154712154772154832154912154952155032155092155162155212155252155332155392155462155532155572155652155712155792155822155862155942156002156082156122156162156242156302156382156422156462156542156602156692156702156742156822156882156972157002157042157122157192157192157212157252157332157402157402157432157472157552157622157622157652157692157772157842157852157852157892157972158042158052158082158122158202158272158282158342158382158462158532158542158612158652158732158802158812158882158922159002159072159092159132159172159252159322159342159412159452159532159602159632159672159712159792159862159892159942159982160062160132160162160212160252160332160402160442160462160502160582160652160692160752160792160872160942160982161062161102161182161252161292161382161422161502161572161612161702161742161822161892161942162002162042162122162192162252162252162292162372162442162502162552162592162672162742162802162862162902162982163052163112163172163212163292163362163432163462163502163582163652163722163792163832163912163982164062164122164162164242164312164392164462164502164582164652164732164802164842164922164992165082165122165162165242165312165402165492165532165612165692165692165722165762165842165922165922165962166002166082166162166162166202166242166322166402166412166422166462166542166622166632166692166732166812166892166912166952166992167072167152167172167222167262167342167422167442167492167532167612167692167722167742167782167862167942167972168052168092168172168252168282168372168412168492168572168612168612168652168732168812168852168852168892168972169052169092169162169202169282169362169412169442169482169562169642169692169772169812169892169972170022170112170152170232170312170362170452170492170572170652170712170772170812170892170972171042171072171112171192171272171342171382171422171502171582171652171702171742171822171902171972172022172062172142172222172302172322172362172442172522172602172692172732172812172892172982172992173032173112173192173282173302173342173422173502173592173612173652173732173812173902173992174032174112174202174202174262174302174382174472174482174492174532174612174702174712174732174772174852174942174952174972175012175092175182175192175282175322175402175492175512175572175612175692175782175812175862175902175982176072176102176162176202176282176372176402176462176502176582176672176712176742176782176862176952177002177012177052177132177222177272177332177372177452177542177592177662177702177782177872177922177992178032178112178202178262178302178342178422178512178582178612178652178732178822178892178932178972179052179142179212179262179302179382179472179542179592179632179712179802179882179902179942180022180112180202180212180252180332180422180512180562180602180682180772180862180922180962181042181132181222181282181322181412181412181412181442181482181572181572181582181602181642181732181732181752181752181792181882181882181902181912181952182042182042182062182072182112182202182202182222182312182352182442182442182462182552182592182682182682182712182752182792182882182882182912182962183002183092183092183122183172183212183302183302183342183372183412183502183502183542183582183622183712183712183752183792183832183922183922183962184012184052184142184142184182184232184272184362184362184412184442184482184572184572184622184662184702184792184792184842184912184952185042185042185092185172185212185302185302185352185432185472185562185562185622185682185722185812185812185872185942185982186072186072186142186182186222186312186312186382186432186472186562186562186632186682186722186812186812186892186922186962187052187052187132187182187222187312187312187402187402187442187532187532187622187632187672187762187762187852187862187902187992187992188082188172188212188302188312188312188322188362188452188462188462188552188592188682188692188702188702188742188832188842188852188852188892188982188992189002189082189122189212189222189242189252189292189382189392189412189432189472189562189572189592189622189662189752189762189782189812189852189942189952189982189992190032190122190132190162190202190242190332190342190372190462190502190592190602190642190642190682190772190782190822190822190862190952190962191002191082191122191212191222191272191292191332191422191432191482191532191572191662191672191722191782191822191912191922191972192032192072192162192172192232192272192312192402192412192472192552192592192682192692192762192802192842192932192942193012193062193102193192193202193272193322193362193452193462193542193572193612193702193712193792193862193902193992194002194092194152194192194282194292194382194452194492194582194592194682194752194792194882194902194902194952194992195082195102195112195112195152195242195262195272195302195342195432195452195462195502195542195632195652195662195702195742195832195852195872195892195932196022196042196062196142196182196272196292196322196322196362196452196472196502196512196552196642196662196692196702196742196832196852196882196972197012197102197122197162197212197252197342197362197402197492197532197622197642197692197692197732197822197842197892197892197932198022198042198092198172198212198302198322198382198422198462198552198572198642198652198692198782198802198872198892198932199022199042199112199132199172199262199282199362199362199402199492199512199592199662199702199792199812199892199982200022200112200132200222200222200262200352200372200462200462200502200592200612200702200782200822200912200942200942200992201032201122201152201152201222201262201352201382201382201462201502201592201622201622201702201742201832201862201872201932201972202062202092202112202142202182202272202302202322202372202412202502202532202552202612202652202742202772202792202852202892202982203012203042203082203122203212203242203282203292203332203422203452203492203552203592203682203712203752203822203862203952203982204022204092204132204222204252204302204352204392204482204512204572204602204642204732204762204822204852204892204982205012205072205112205152205242205272205332205372205412205502205532205602205622205662205752205782205862205862205902205992206022206102206102206142206232206262206342206352206392206482206512206592206602206642206732206762206842206932206972207062207092207182207252207292207382207422207422207422207462207552207592207592207602207642207732207772207772207782207822207912207952207952208042208082208172208212208222208292208332208422208462208482208512208552208642208682208702208742208782208872208912208932208972209012209102209142209172209192209232209322209362209402209412209452209542209582209622209642209682209772209812209852209882209922210012210052210092210122210162210252210292210342210352210392210482210522210582210582210622210712210752210812210832210872210962211002211062211092211132211222211262211322211352211392211482211522211592211602211642211732211772211852211852211892211982212022212102212142212182212272212312212392212442212482212572212612212692212742212782212872212912213002213032213072213162213212213212213232213272213362213412213412213502213542213632213682213692213692213732213822213872213882213882213922214012214062214072214162214202214292214342214352214442214482214572214622214642214652214692214782214832214852214872214912215002215052215072215092215132215222215272215302215312215352215442215492215522215532215572215662215712215742215792215832215922215972216002216062216102216192216242216272216332216372216462216512216552216602216642216732216782216822216872216912217002217052217092217182217222217312217362217412217412217452217542217592217642217642217682217772217822217872217962218002218092218142218192218282218322218412218462218522218582218622218712218762218822218892218932219022219072219132219202219242219332219382219452219512219552219642219692219762219832219872219962220012220082220172220212220302220352220432220432220472220562220612220692220692220732220822220872220952221042221082221172221222221312221312221352221442221492221582221622221662221752221802221892221942221982222072222122222212222262222302222392222452222452222492222532222622222682222682222742222782222872222932222932222992223032223122223182223182223252223292223382223442223442223512223552223642223702223712223772223812223902223962223972224052224092224182224242224262224272224312224402224462224482224502224542224632224692224712224732224772224862224922224952224962225002225092225152225182225212225252225342225402225442225452225492225582225642225682225702225742225832225892225932225952225992226082226142226192226202226242226332226392226442226482226522226612226672226722226772226812226902226962227012227072227112227202227262227312227372227412227502227562227622227672227712227802227862227922228002228042228132228192228262228302228342228432228492228562228612228652228742228802228872228922228962229052229112229192229232229272229362229422229502229572229612229702229762229852229912229952230042230102230192230262230302230392230452230542230612230652230742230812230812230872230912231002231072231082231082231122231212231282231292231332231372231462231532231542231592231632231722231792231802231852231892231982232052232072232112232152232242232312232332232412232452232542232612232642232702232742232832232902232932233002233042233132233202233232233302233342233432233502233542233602233642233732233802233852233862233902233992234062234112234142234182234272234342234392234432234472234562234632234682234722234762234852234922234982235012235052235142235212235272235352235392235482235552235622235652235692235782235852235922235962236002236092236162236232236272236312236402236472236552236582236622236712236782236862236952236992237082237152237232237322237362237452237522237612237612237652237742237812237902237902237942238032238102238192238282238322238412238492238492238542238582238672238752238752238842238882238972239052239062239062239102239192239272239282239282239322239412239492239502239592239632239722239802239822239872239912240002240082240112240152240192240282240362240392240442240482240572240652240682240732240772240862240942240982241022241062241152241232241282241292241332241422241502241552241582241622241712241792241842241882241922242012242092242142242182242222242312242392242452242482242522242612242692242762242762242802242892242972243042243112243152243242243322243392243472243512243602243682243752243832243872243962244042244122244192244232244322244402244492244542244582244672244752244842244912244952245042245122245212245292245332245422245502245592245672245712245802245892245892245962246002246092246182246192246242246282246372246462246482246492246532246622246712246732246752246792246882246972246992247012247052247142247232247262247272247312247402247492247522247612247652247742247832247872247952247992248082248172248212248302248342248432248522248562248652248692248782248872248922249002249042249132249222249282249352249392249482249572249642249652249692249782249872249942249962250002250092250182250252250282250322250412250502250572250602250642250732250822250892250922250962251052251142251212251242251282251372251462251532251572251612251702251792251862251912251952252042252132252202252252252292252382252472252542252592252632252722252812252882252962253002253092253182253252253342253382253472253562253642253642253682253772253862253942253942253982254072254162254242254242254282254372254462254542254602254642254732254822254902254972255012255102255192255272255352255392255482255572255652255732255772255862255952256032256122256162256252256342256432256432256472256562256652256742256752256792256882256972257062257082257122257212257302257392257412257452257542257632257722257752257802257802257802257802257802257852257852257852257852257862257912257912257912257912257932257982257982257982257982258002258052258052258052258052258092258142258142258142258142258232258282258282258282258292258292258342258342258342258352258362258412258412258412258422258432258482258482258482258492258522258572258572258572258592258602258652258652258652258672258692258742258742258742258762258792258842258842258842258862258892258942258942258942258962259022259072259072259072259092259182259232259232259232259262259262259312259312259312259342259352259402259402259402259432259442259492259492259492259522259572259622259622259622259652259702259752259752259752259782259842259892259892259892259922259992260042260042260042260072260142260192260192260192260232260242260292260292260292260332260412260462260462260462260502260592260642260642260642260692260692260742260742260742260792260792260842260842260842260892260942260992260992260992261042261092261142261142261142261192261252261302261302261302261352261422261472261472261472261522261592261642261642261642261702261722261772261772261772261832261902261952261952261952262012262092262142262142262142262202262292262342262342262342262402262492262542262542262542262612262662262712262712262712262782262862262912262912262912262982263072263122263122263122263202263202263252263252263252263332263332263382263382263382263462263522263572263572263572263662263712263762263762263762263852263912263962263962263962264052264122264172264172264172264262264332264382264382264392264392264432264482264482264492264492264552264602264602264612264612264682264732264732264742264742264822264872264872264882264882264962265012265012265022265032265082265132265132265142265162265182265232265232265242265262265292265342265342265352265372265412265462265462265472265492265532265582265582265592265622265642265692265692265702265732265812265862265862265872265902265992266042266042266052266092266092266142266142266152266192266192266242266242266252266292266382266432266432266442266482266572266622266622266632266682266682266732266732266742266792266802266852266852266862266912266922266972266972266982267042267042267092267092267102267162267192267242267242267252267312267352267402267402267412267472267522267572267572267582267642267692267742267742267752267822267862267912267912267922268002268022268072268072268082268162268192268242268242268252268332268372268422268422268432268512268562268612268612268622268702268752268802268802268812268902268922268972268972268982269072269102269152269152269162269252269292269342269342269352269442269492269542269542269552269642269702269752269752269762269852269932269982269982269992270082270172270222270222270242270242270242270292270292270312270312270322270372270372270392270392270412270462270462270482270482270552270602270602270622270622270702270752270752270772270772270862270912270912270932270942270942270992270992271012271022271042271092271092271112271122271142271192271192271212271222271252271302271302271322271332271372271422271422271442271452271502271552271552271572271582271652271702271702271722271742271802271852271852271872271892271962272012272012272032272052272132272182272182272202272222272312272362272362272382272412272432272482272482272502272532272592272642272642272662272692272762272812272812272832272862272942272992272992273012273042273132273182273182273202273242273262273312273312273332273372273462273512273512273532273582273582273632273632273652273702273712273762273762273782273832273852273902273902273922273972274032274082274082274102274152274232274282274282274302274352274442274492274492274512274572274572274622274622274642274702274712274762274762274782274842274902274952274952274972275032275102275152275152275172275232275312275362275362275382275442275532275582275582275602275672275672275722275722275742275812275862275912275912275932276012276022276072276072276092276172276192276242276242276262276342276372276422276422276442276522276562276612276612276632276712276802276852276852276872276962277042277092277092277112277202277292277342277342277372277372277372277422277422277452277452277462277512277512277542277542277612277662277662277692277702277712277762277762277792277802277822277872277872277902277912277942277992277992278022278032278072278122278122278152278172278182278232278232278262278282278322278372278372278402278422278472278522278522278552278572278632278682278682278712278732278802278852278852278882278912278962279012279012279042279072279142279192279192279222279252279332279382279382279412279442279532279582279582279612279652279652279702279702279732279772279852279902279902279932279982280012280062280062280092280142280182280232280232280262280312280362280412280412280442280492280552280602280602280632280692280742280792280792280822280882280942280992280992281022281082281152281202281202281232281292281372281422281422281452281512281602281652281652281682281752281832281882281882281912281982282072282122282122282152282232282232282282282282282312282392282402282452282452282482282562282582282632282632282662282752282762282812282812282842282932282952283002283002283032283122283152283202283202283232283322283362283412283412283442283532283582283632283632283672283672283712283762283762283802283802283882283932283932283972283972284062284112284112284152284162284162284212284212284252284262284282284332284332284372284382284402284452284452284492284502284522284572284572284612284622284652284702284702284742284752284792284842284842284882284892284952285002285002285042285052285112285162285162285202285212285272285322285322285362285372285442285492285492285532285542285622285672285672285712285732285732285782285782285822285842285842285892285892285932285952285952286002286002286042286062286072286122286122286162286182286202286252286252286292286312286352286402286402286442286462286502286552286552286592286612286682286732286732286772286792286872286922286922286962286982287072287122287122287162287192287202287252287252287292287322287332287382287382287422287462287462287512287512287552287592287602287652287652287692287732287752287802287802287842287882287922287972287972288012288052288092288142288142288182288232288262288312288312288352288402288442288492288492288532288582288632288682288682288722288772288842288892288892288932288982289052289102289102289142289202289262289312289312289352289412289482289532289532289572289632289712289762289762289802289872289872289922289922289962290032290042290092290092290132290202290232290282290282290322290392290432290482290482290522290592290642290692290692290732290802290872290922290922290962291032291112291162291162291202291282291342291392291392291432291512291582291632291632291672291752291832291882291882291922292012292012292062292062292102292192292202292252292252292292292382292472292522292522292572292572292572292622292622292672292672292682292732292732292782292782292812292862292862292912292912292962293012293012293062293062293152293202293202293252293262293262293312293312293362293372293382293432293432293482293492293522293572293572293622293632293682293732293732293782293802293822293872293872293922293942293972294022294022294072294092294132294182294182294232294252294312294362294362294412294432294522294572294572294622294652294672294722294722294772294802294832294882294882294932294962295002295052295052295102295132295192295242295242295292295322295412295462295462295512295552295572295622295622295672295712295742295792295792295842295882295922295972295972296022296062296122296172296172296222296272296272296322296322296372296422296422296472296472296522296572296582296632296632296682296732296752296802296802296852296902296942296992296992297042297092297172297222297222297272297332297342297392297392297442297502297522297572297572297622297682297712297762297762297812297872297922297972297972298022298082298172298222298222298272298342298422298472298472298522298592298682298732298732298782298862298862298912298912298962299042299062299112299112299162299242299302299352299352299402299492299542299592299592299642299732299792299842299842299892299982300052300102300102300152300242300332300382300382300442300442300482300532300532300592300602300602300652300652300712300722300732300782300782300842300852300872300922300922300982300992301032301082301082301142301152301242301292301292301352301372301452301502301502301562301582301672301722301722301782301812301812301862301862301922301952301972302022302022302082302112302192302242302242302302302342302372302422302422302482302522302562302612302612302672302712302762302812302812302872302912302982303032303032303092303142303172303222303222303282303332303412303462303462303522303572303662303712303712303772303832303832303882303882303942304002304022304072304072304132304192304282304332304332304392304462304472304522304522304582304652304672304722304722304782304852304882304932304932304992305062305112305162305162305222305302305322305372305372305432305512305582305632305632305692305772305852305902305902305962306042306132306182306182306242306332306342306392306392306452306542306632306682306682306752306752306752306802306802306872306872306882306932306932307002307002307022307072307072307142307142307182307232307232307302307312307332307382307382307452307462307502307552307552307622307632307682307732307732307802307812307872307922307922307992308002308082308132308132308202308222308282308332308332308402308432308472308522308522308592308622308672308722308722308792308822308882308932308932309002309032309112309162309162309232309272309342309392309392309462309502309582309632309632309702309742309832309882309882309952310002310002310052310052310122310172310192310242310242310312310372310382310432310432310502310562310642310692310692310762310822310912310962310962311032311102311102311152311152311222311292311312311362311362311432311512311522311572311572311642311722311812311862311862311932312022312022312072312072312142312232312242312292312292312362312452312492312542312542312612312702312742312792312792312862312952313042313092313092313172313172313172313222313222313302313302313312313362313362313442313442313482313532313532313612313612313652313702313702313782313792313812313862313862313942313952313982314032314032314112314122314162314212314212314292314302314372314422314422314502314512314592314642314642314722314742314762314812314812314892314912314942314992314992315072315092315132315182315182315262315282315352315402315402315482315502315582315632315632315712315742315772315822315822315902315932315972316022316022316102316132316182316232316232316312316342316422316472316472316552316592316592316642316642316722316762316782316832316832316912316952316982317032317032317112317152317192317242317242317322317362317432317482317482317562317602317692317742317742317822317872317912317962317962318042318092318142318192318192318272318322318382318432318432318512318562318652318702318702318782318842318862318912318912318992319052319082319132319132319212319272319312319362319362319442319502319552319602319602319682319742319822319872319872319952320022320032320082320082320162320232320262320312320312320392320462320502320552320552320632320702320752320802320802320882320952321032321082321082321162321242321262321312321312321392321472321492321542321542321622321702321732321782321782321862321942321982322032322032322112322192322262322312322312322392322482322492322542322542322622322712322752322802322802322882322972323022323072323072323152323242323302323352323352323432323522323612323662323662323752323752323782323832323832323922323932323952324002324002324092324102324132324182324182324272324282324322324372324372324462324472324542324592324592324682324702324722324772324772324862324882324912324962324962325052325072325112325162325162325252325272325322325372325372325462325482325562325612325612325702325732325762325812325812325902325932326012326062326062326152326182326272326322326322326412326452326452326502326502326592326632326662326712326712326802326842326922326972326972327062327112327172327222327222327312327362327432327482327482327572327622327702327752327752327842327902327912327962327962328052328112328182328232328232328322328392328402328452328452328542328612328632328682328682328772328842328872328922328922329012329082329142329192329192329282329362329382329432329432329522329602329682329732329732329822329902329992330042330042330132330222330222330272330272330362330452330482330532330542330542330542330542330592330602330602330602330612330662330672330672330672330692330742330752330752330752330782330832330842330842330842330902330952330962330962330972331002331052331062331062331072331142331192331202331202331212331292331342331352331352331362331452331502331512331512331532331552331602331612331612331642331642331692331702331702331732331732331782331792331792331822331832331882331892331892331922331942331992332002332002332032332082332132332142332142332182332212332262332272332272332312332362332412332422332422332462332522332572332582332582332622332692332742332752332752332802332802332852332862332862332912332992333042333052333052333112333162333212333222333222333282333342333392333402333402333462333532333582333592333592333662333662333712333722333722333792333882333932333942333942334012334102334152334162334162334242334242334292334302334302334382334392334442334452334452334532334572334622334632334632334722334752334802334812334812334902334992335042335052335062335062335062335112335122335132335132335142335192335202335212335212335252335302335312335322335332335362335412335422335432335452335462335512335522335532335552335572335622335632335642335662335692335742335752335762335782335852335902335912335922335942336012336062336072336082336112336122336172336182336192336222336242336292336302336312336342336372336422336432336442336472336542336592336602336612336642336712336762336772336782336822336862336912336922336932336972337022337072337082337092337132337192337242337252337262337312337312337362337372337382337432337442337492337502337512337562337602337652337662337672337722337772337822337832337842337892337952338002338012338022338082338082338132338142338152338212338222338272338282338292338352338422338472338482338492338552338632338682338692338702338762338852338902338912338922338992339022339072339082339092339162339202339252339262339272339352339382339432339442339452339532339572339622339632339642339722339772339822339832339842339922340012340062340072340082340172340182340232340242340252340342340372340422340432340442340532340572340622340632340642340732340782340832340842340852340942341032341082341092341112341112341122341172341182341202341202341292341342341352341372341382341382341432341442341462341472341482341532341542341562341572341622341672341682341702341712341792341842341852341872341882341972342022342032342052342072342072342122342132342152342172342182342232342242342262342282342332342382342392342412342432342512342562342572342592342622342652342702342712342732342762342802342852342862342882342912342962343012343022343042343072343162343212343222343242343282343302343352343362343382343432343432343482343492343512343562343572343622343632343652343702343722343772343782343802343852343912343962343972343992344052344052344102344112344132344192344232344282344292344312344372344422344472344482344502344562344622344672344682344702344772344772344822344832344852344922344962345012345022345042345122345132345182345192345212345292345312345362345372345392345472345502345552345562345582345662345732345782345792345812345902345922345972345982346002346092346122346172346182346202346292346332346382346392346412346502346552346602346612346632346722346812346862346872346902346902346942346992347002347032347032347112347162347172347202347202347292347342347352347382347392347392347442347452347482347492347532347582347592347622347642347642347692347702347732347752347752347802347812347842347862347872347922347932347962347982348002348052348062348092348112348172348222348232348262348292348312348362348372348402348432348482348532348542348572348602348662348712348722348752348782348852348902348912348942348982348992349042349052349082349122349192349242349252349282349332349392349442349452349482349532349602349652349662349692349742349822349872349882349912349972349992350042350052350082350142350232350282350292350322350392350402350452350462350492350562350582350632350642350672350742350772350822350832350862350932351002351052351062351092351172351212351262351272351302351392351412351462351472351502351592351622351672351682351712351802351842351892351902351932352022352102352152352162352202352202352262352312352322352362352362352432352482352492352532352532352612352662352672352712352712352802352852352862352902352912352942352992353002353042353062353072353122353132353172353192353272353322353332353372353392353482353532353542353582353612353612353662353672353712353742353782353832353842353882353922353952354002354012354052354092354122354172354182354222354262354302354352354362354402354442354492354542354552354592354632354722354772354782354822354872354952355002355012355052355112355152355202355212355252355312355362355412355422355462355522355582355632355642355682355752355752355802355812355852355922356012356062356072356112356192356272356322356332356372356452356542356592356602356642356732356732356782356792356832356922356972357022357032357072357162357212357262357272357322357322357332357382357392357442357442357462357512357522357572357572357602357652357662357712357712357792357842357852357902357902357982358032358042358092358102358172358222358232358282358292358372358422358432358482358492358582358632358642358692358712358752358802358812358862358882358932358982358992359042359072359072359122359132359182359212359222359272359282359332359362359382359432359442359492359522359592359642359652359702359732359812359862359872359922359962360022360072360082360132360172360242360292360302360352360392360472360522360532360582360632360662360712360722360772360822360872360922360932360982361042361042361092361102361152361212361222361272361282361332361392361412361462361472361522361582361652361702361712361762361822361912361962361972362022362092362162362212362222362272362342362422362472362482362532362602362692362742362752362802362882362922362972362982363032363112363182363232363242363292363382363392363442363452363502363592363612363662363672363722363812363842363892363902363952364042364122364172364182364242364242364252364302364312364372364372364452364502364512364572364572364662364712364722364782364792364792364842364852364912364922364972365022365032365092365102365192365242365252365312365332365382365432365442365502365522365582365632365642365702365722365792365842365852365912365942365962366012366022366082366112366172366222366232366292366332366382366432366442366502366542366602366652366662366722366762366832366882366892366952367002367022367072367082367142367192367262367312367322367382367442367462367512367522367582367642367672367722367732367792367852367892367942367952368012368072368162368212368222368282368352368392368442368452368512368592368622368672368682368742368822368862368912368922368982369062369112369162369172369232369322369322369372369382369442369532369592369642369652369722369722369732369782369792369862369862369882369932369942370012370012370042370092370102370172370172370252370302370312370382370392370432370482370492370562370582370602370652370662370732370752370782370832370842370912370932370972371022371032371102371122371212371262371272371342371372371432371482371492371562371602371602371652371662371732371772371782371832371842371912371952371972372022372032372102372142372212372262372272372342372392372432372482372492372562372622372642372692372702372772372832372862372912372922372992373052373092373142373152373222373282373372373422373432373502373572373642373692373702373772373852373872373922373932374002374082374112374162374172374242374322374362374412374422374492374572374662374712374722374792374882374952375002375012375092375092375142375192375202375282375282375342375392375402375482375482375552375602375612375692375702375722375772375782375862375882375892375942375952376032376052376102376152376162376242376262376322376372376382376462376482376552376602376612376692376722376742376792376802376882376922376932376982376992377072377112377202377252377262377342377392377392377442377452377532377582377592377642377652377732377782377852377902377912377992378042378112378162378172378252378312378332378382378392378472378532378562378612378622378702378762378802378852378862378942379012379012379062379072379152379222379222379272379282379362379432379512379562379572379652379722379812379862379872379952380032380032380082380092380172380252380312380362380372380452380532380602380652380662380742380832380842380892380902380982381072381092381142381152381232381322381352381402381412381492381582381672381722381732381822381822381822381872381882381972381972382052382102382112382202382202382292382342382352382442382452382452382502382512382602382612382672382722382732382822382832382912382962382972383062383082383132383182383192383282383302383362383412383422383512383532383602383652383662383752383782383812383862383872383962383992384052384102384112384202384232384292384342384352384442384472384542384592384602384692384722384802384852384862384952384992385032385082385092385182385222385292385342385352385442385492385522385572385582385672385722385762385812385822385912385962386012386062386072386162386222386232386282386292386382386442386492386542386552386642386702386762386812386822386912386972387042387092387102387192387252387332387382387392387482387552387592387642387652387742387812387892387942387952388042388122388192388242388252388342388422388502388552388562388652388732388822388872388882388972389062389112389162389182389182389182389182389232389252389252389252389272389322389342389342389342389372389422389442389442389442389482389532389552389552389562389562389612389632389632389642389692389742389762389762389782389812389862389882389882389902389942389992390012390012390032390082390132390152390152390182390192390242390262390262390292390362390412390432390432390472390472390522390542390542390582390592390642390662390662390702390722390772390792390792390832390912390962390982390982391032391082391132391152391152391202391272391322391342391342391392391472391522391542391542391592391682391732391752391752391812391862391912391932391932392002392022392072392092392092392162392232392282392302392302392372392452392502392522392522392592392682392732392752392752392832392882392932392952392952393042393072393122393142393142393232393272393322393342393342393432393482393532393552393552393642393702393752393772393782393782393802393852393872393882393892393892393942393962393972393982394042394092394112394122394132394202394252394272394282394292394372394422394442394452394472394512394562394582394592394622394652394702394722394732394762394842394892394912394922394952395042395092395112395122395162395162395212395232395242395282395342395392395412395422395472395522395572395592395602395662395692395742395762395772395832395872395922395942395952396012396062396112396132396142396212396232396282396302396312396382396402396452396472396482396552396612396662396682396692396762396832396882396902396912396982397062397112397132397142397222397272397322397342397352397432397492397542397562397572397652397712397762397782397792397872397942397992398012398022398102398182398232398252398262398352398402398452398472398482398572398632398682398702398712398802398882398932398952398962399052399142399192399212399232399232399232399282399302399322399322399392399442399462399482399482399562399612399632399652399662399692399742399762399782399792399832399882399902399922399932399982400032400052400072400092400112400162400182400202400222400262400312400332400352400372400422400472400492400512400532400592400642400662400682400702400772400822400842400862400892400932400982401002401022401052401112401162401182401202401242401272401322401342401362401402401442401492401512401532401572401622401672401692401712401762401782401832401852401872401922401972402022402042402062402112402172402222402242402262402312402382402432402452402472402522402602402652402672402692402752402802402852402872402892402952403032403082403102403122403192403212403262403282403302403372403402403452403472403492403562403602403652403672403692403772403782403832403852403872403952404002404052404072404092404172404222404272404292404312404392404452404502404522404542404622404692404742404762404782404872404912404962404982405002405092405172405222405242405272405272405312405362405382405412405412405462405512405532405562405562405622405672405692405722405732405762405812405832405862405872405952406002406022406052406062406152406202406222406252406272406272406322406342406372406392406402406452406472406502406522406602406652406672406702406732406762406812406832406862406892406962407012407032407062407092407172407222407242407272407302407392407442407462407492407532407592407642407662407692407742407762407812407832407862407912407932407982408002408032408082408112408162408182408212408262408302408352408372408402408462408472408522408542408572408632408702408752408772408802408872408902408952408972409002409072409112409162409182409212409282409332409382409402409432409512409532409582409602409632409712409802409852409872409902409992409992410042410062410092410182410192410242410262410292410382410402410452410472410502410592410682410732410752410792410792410852410902410922410962410972410972411022411042411082411092411102411152411172411212411222411242411292411312411352411362411452411502411522411562411582411652411702411722411762411782411852411902411922411962411982412062412112412132412172412192412282412332412352412392412422412482412532412552412592412632412672412722412742412782412832412832412882412902412942412992413002413052413072413112413162413182413232413252413292413342413432413482413502413542413602413682413732413752413792413862413892413942413962414002414072414112414162414182414222414292414342414392414412414452414532414552414602414622414662414752414762414812414832414872414962415052415102415122415172415172415172415222415242415292415292415302415352415372415422415422415512415562415582415632415632415722415772415792415842415852415882415932415952416002416012416052416102416122416172416182416232416282416302416352416372416402416452416472416522416542416582416632416652416702416722416762416812416832416882416902416952417002417022417072417092417152417202417222417272417302417342417392417412417462417492417542417592417612417662417702417742417792417812417862417902417952418002418022418072418112418172418222418242418292418342418382418432418452418502418552418612418662418682418732418782418862418912418932418982419032419122419172419192419242419302419302419352419372419422419482419562419612419632419682419752419752419802419822419872419942420022420072420092420142420212420302420352420372420422420502420502420552420572420622420702420782420832420852420902420992421002421052421072421122421212421272421322421342421392421482421552421602421622421672421762421842421892421912421972421972422032422082422102422162422162422252422302422322422382422392422432422482422502422562422572422622422672422692422752422762422822422872422892422952422972423012423062423082423142423162423232423282423302423362423392423442423492423512423572423602423662423712423732423792423822423892423942423962424022424062424112424162424182424242424282424372424422424442424502424552424582424632424652424712424762424802424852424872424932424982425032425082425102425162425222425252425302425322425382425442425522425572425592425652425712425802425852425872425932426002426002426052426072426132426202426212426262426282426342426412426502426552426572426632426712426752426802426822426882426962427012427062427082427142427222427282427332427352427412427492427562427612427632427692427782427832427882427902427972427972427972428022428042428112428112428152428202428222428292428292428342428392428412428482428482428542428592428612428682428692428732428782428802428872428892428892428942428962429032429052429052429102429122429192429212429222429272429292429362429382429402429452429472429542429572429572429622429642429712429742429802429852429872429942429982430012430062430082430152430192430232430282430302430372430412430462430512430532430602430652430682430732430752430822430882430882430932430952431022431082431092431142431162431232431292431312431362431382431452431512431542431592431612431682431752431762431812431832431902431972432052432102432122432192432272432292432342432362432432432512432542432592432612432682432762432802432852432872432942433032433052433102433122433202433202433202433252433272433352433352433352433402433422433502433502433512433562433582433662433662433682433732433752433832433842433842433892433912433992434002434082434132434152434232434252434302434352434372434452434472434532434582434602434682434702434772434822434842434922434952435002435052435072435152435192435232435282435302435382435422435482435532435552435632435672435742435792435812435892435932436012436062436082436162436212436272436322436342436422436482436532436582436602436682436752436752436802436822436902436972436982437032437052437132437202437222437272437292437372437452437462437512437532437612437692437702437752437772437852437932437952438002438022438102438182438212438262438282438362438442438482438532438552438632438722438752438802438822438902438992439022439072439092439182439182439192439242439262439352439352439372439422439442439532439532439562439612439632439722439732439752439802439822439912439922439952440002440022440112440122440192440242440262440352440362440442440492440512440602440612440702440752440772440862440882440962441012441032441122441142441232441282441302441392441422441482441532441552441642441672441742441792441812441902441932442012442062442082442172442212442282442332442352442442442482442572442622442642442732442782442802442852442872442962443012443042443092443112443202443252443292443342443362443452443512443542443592443612443702443762443822443872443892443982444042444102444152444172444262444322444392444442444462444552444612444692444742444762444852444922444992445042445062445152445232445232445282445302445392445472445532445582445602445692445772445842445892445912446002446082446162446212446232446322446412446482446532446562446562446562446562446612446642446642446642446732446782446812446812446822446822446872446902446902446912446922446972447002447002447022447022447072447102447102447122447162447212447242447242447262447352447402447432447432447462447462447512447542447542447572447582447632447662447662447702447702447752447782447782447822447872447922447952447952447992448072448122448152448152448192448282448332448362448362448412448412448462448492448492448542448632448682448712448712448772448812448862448892448892448952449022449072449102449102449162449242449292449322449322449382449472449522449552449552449622449702449752449782449782449862449892449942449972449972450052450142450192450222450222450312450312450362450392450392450482450492450542450572450582450582450582450632450662450672450672450732450782450812450822450822450902450952450982450992450992451082451132451162451172451182451182451232451262451272451282451372451422451452451462451482451542451592451622451632451652451712451762451792451802451822451892451942451972451982452002452082452132452162452172452202452272452322452352452362452402452442452492452522452532452572452652452702452732452742452782452872452922452952452962453012453012453062453092453102453152453242453292453322453332453392453452453502453532453542453612453642453692453722453732453802453842453892453922453932454002454052454102454132454142454222454262454312454342454352454442454462454512454542454552454642454692454742454772454782454872454932454982455012455022455112455182455232455262455282455282455342455392455422455442455452455502455552455582455602455612455672455722455752455772455782455852455902455932455952455962456042456092456122456142456162456232456282456312456332456362456422456472456502456522456562456582456632456662456682456722456752456802456832456852456892456932456982457012457032457082457112457162457192457212457272457292457342457372457392457462457472457522457552457572457642457662457712457742457762457832457872457922457952457972458042458082458132458162458182458252458292458342458372458392458462458552458602458632458652458732458732458782458812458832458912458932458982459012459032459112459132459182459212459232459312459342459392459422459442459522459582459632459662459682459762459832459882459912459932460012460102460152460182460202460282460372460422460452460472460562460562460612460642460662460752460832460882460912460932461022461112461162461192461222461222461232461282461312461342461342461352461402461432461462461462461492461542461572461602461602461642461692461722461752461752461802461852461882461912461912461982462032462062462092462092462162462212462242462272462272462362462412462442462472462482462542462592462622462652462662462732462782462812462842462852462942462992463022463052463062463152463202463232463262463282463302463352463382463412463432463512463562463592463622463642463732463782463812463842463872463882463932463962463992464022464032464082464112464142464172464212464262464292464322464362464362464412464442464472464512464522464572464602464632464672464702464752464782464812464852464882464932464962464992465032465092465142465172465202465252465302465352465382465412465462465522465572465602465632465682465762465812465842465872465922466002466052466082466112466172466192466242466272466302466362466432466482466512466542466602466682466732466762466792466862466862466912466942466972467042467042467092467122467152467222467272467322467352467382467452467542467592467622467652467732467732467782467812467842467922467942467992468022468052468132468152468202468232468262468342468412468462468492468522468612468642468692468722468752468842468882468932468962468992469082469142469192469222469252469342469402469452469482469522469522469532469582469612469652469662469662469712469742469782469792469802469852469882469922469932469962470012470042470082470092470122470172470202470242470252470342470392470422470462470482470522470572470602470642470662470712470762470792470832470852470922470972471002471042471062471132471182471212471252471282471322471372471402471442471472471552471602471632471672471702471792471842471872471912471952471962472012472042472082472122472132472182472212472252472292472372472422472452472492472542472592472642472672472712472762472822472872472902472942472992473072473122473152473192473242473322473372473402473442473502473562473612473642473682473742473802473852473882473922473982474052474102474132474172474232474322474372474402474442474502474592474642474672474712474782474852474902474932474972475052475082475132475162475202475282475322475372475402475442475522475582475632475662475702475782475842475892475922475962476052476102476152476182476232476232476232476282476312476362476362476372476422476452476502476502476532476582476612476662476662476692476742476772476822476832476852476902476932476982477002477002477052477082477132477152477162477212477242477292477312477342477392477422477472477492477532477582477612477662477682477722477772477802477852477872477922477972478002478052478072478132478182478212478262478282478362478412478442478492478512478602478652478682478732478752478842478892478922478972479002479062479112479142479192479222479292479342479372479422479452479542479592479622479672479712479712479762479792479842479882479892479942479972480022480062480132480182480212480262480302480382480432480462480512480562480562480612480642480692480742480752480802480832480882480932480962481012481042481092481142481212481262481292481342481392481472481522481552481602481662481662481712481742481792481852481862481912481942481992482052482082482132482162482212482282482282482332482362482412482482482492482542482572482622482692482722482772482802482852482922482962483012483042483092483162483232483282483312483362483442483452483502483532483582483662483682483732483762483812483892483932483982484012484062484142484192484242484272484322484402484482484532484562484612484702484722484772484802484852484942484972485022485052485102485192485242485292485322485372485462485522485572485602485652485742485832485882485912485972485972486022486072486102486162486162486222486272486302486362486362486442486492486522486582486582486672486722486752486812486822486842486892486922486982487002487012487062487092487152487172487192487242487272487332487352487392487442487472487532487552487602487652487682487742487762487852487902487932487992488022488072488122488152488212488242488302488352488382488442488472488552488602488632488692488722488812488862488892488952488992489022489072489102489162489202489292489342489372489432489482489482489532489562489622489672489692489742489772489832489882489912489962489992490052490102490172490222490252490312490372490432490482490512490572490632490702490752490782490842490902490992491042491072491132491202491202491252491282491342491412491462491512491542491602491672491742491792491822491882491952492032492082492112492172492252492252492302492332492392492472492482492532492562492622492702492762492812492842492902492992493042493092493122493182493272493332493382493412493472493562493642493692493722493782493872493962494012494042494112494112494152494202494232494302494312494342494392494422494492494502494542494592494622494692494702494762494812494842494912494922494992495042495072495142495162495192495242495272495342495362495412495462495492495562495582495642495692495722495792495812495892495942495972496042496062496152496202496232496302496332496382496432496462496532496572496572496622496652496722496762496772496822496852496922496962496992497042497072497142497182497222497272497302497372497422497432497482497512497582497632497662497712497742497812497862497902497952497982498052498102498162498212498242498312498362498432498482498512498582498642498682498732498762498832498892498952499002499032499102499162499232499282499312499382499442499532499582499612499682499752499752499802499832499902499972500052500102500132500202500272500352500402500432500502500572500662500712500742500812500892500902500952500982501052501132501152501202501232501302501392501392501442501472501542501632501662501712501742501812501902501942501992502022502092502182502242502292502322502392502482502552502602502632502712502712502772502822502852502932502932502992503042503072503152503152503222503272503302503382503382503472503522503552503632503642503642503692503722503802503812503902503952503982504062504082504082504132504162504242504262504272504322504352504432504452504482504532504562504642504662504702504752504782504862504892504922504972505002505082505112505202505252505282505362505402505402505452505482505562505602505622505672505702505782505822505852505902505932506012506062506082506132506162506242506302506312506362506392506472506532506552506602506632506712506772506812506862506892506972507032507092507142507172507252507312507372507422507452507532507602507622507672507702507782507852507882507932507962508042508112508162508212508242508322508392508462508512508542508622508692508762508812508842508922509002509042509092509122509202509282509332509382509412509492509572509642509692509722509802509882509972510022510052510132510222510222510272510302510382510472510502510552510582510662510752510792510842510872510952511042511102511152511182511262511352511432511482511512511592511682511772511822511852511942511942511992512042512072512162512162512222512272512302512392512392512472512522512552512642512652512652512702512732512822512832512852512902512932513022513032513082513132513162513252513262513322513372513402513492513502513582513632513662513752513772513772513822513852513942513962513982514032514062514152514172514232514282514312514402514422514492514542514572514662514682514772514822514852514942514972514982515032515062515152515182515222515272515302515392515422515462515512515542515632515662515712515762515792515882515912515982516032516062516152516182516272516322516352516442516482516502516552516582516672516712516762516812516842516932516972517032517082517112517202517242517322517372517402517492517542517542517592517622517712517762517802517852517882517972518022518062518112518142518232518282518332518382518412518502518552518622518672518702518792518842518932518982519012519102519162519192519242519272519362519422519472519522519552519642519702519762519812519842519932519992520072520122520152520242520312520312520362520392520482520552520592520642520672520762520832520912520962520992521082521152521242521292521322521412521492521502521552521582521672521752521782521832521862521952522032522102522152522182522272522362522402522452522482522572522662522712522762522792522882522972523042523092523122523212523302523392523442523482523482523482523522523572523612523612523612523692523742523782523782523782523872523922523962523962523972523982524032524072524072524082524112524162524202524202524212524292524342524382524382524402524442524492524532524532524552524602524652524692524692524712524782524832524872524872524892524982525032525072525072525102525152525202525242525242525272525352525402525442525442525472525562525612525652525652525692525702525752525792525792525832525862525912525952525952525992526082526132526172526172526222526272526322526362526362526412526472526522526562526562526612526692526742526782526782526842526842526892526932526932526992527062527112527152527152527222527222527272527312527312527382527392527442527482527482527552527582527632527672527672527742527792527842527882527882527962527982528032528072528072528152528222528272528312528312528392528472528522528562528562528652528652528702528742528742528832528852528902528942528952528952528952529002529042529052529052529082529132529172529182529182529222529272529312529322529322529382529432529472529482529482529562529612529652529662529672529732529782529822529832529852529872529922529962529972529992530022530072530112530122530142530192530242530282530292530312530382530432530472530482530512530572530622530662530672530702530792530842530882530892530932530932530982531022531032531072531092531142531182531192531232531272531322531362531372531422531452531502531542531552531602531682531732531772531782531832531922531972532012532022532082532092532142532182532192532252532292532342532382532392532452532492532542532582532592532652532722532772532812532822532882532962533012533052533062533132533132533182533222533232533302533332533382533422533432533502533532533582533622533632533702533792533842533882533892533972533972534022534062534072534152534172534222534262534272534352534402534452534492534502534582534642534692534732534742534822534912534962535002535012535102535102535152535192535202535292535312535362535402535412535502535552535602535642535652535742535802535852535892535912535912535932535982536022536042536042536072536122536162536182536182536232536282536322536342536342536422536472536512536532536542536542536592536632536652536662536662536712536752536772536782536792536842536882536902536912536942536992537032537052537062537122537172537212537232537242537322537372537412537432537452537462537512537552537572537592537612537662537702537722537742537782537832537872537892537912537982538032538072538092538122538122538172538212538232538262538262538312538352538372538402538412538462538502538522538552538582538632538672538692538722538782538832538872538892538922539012539062539102539122539162539192539242539282539302539342539382539432539472539492539532539592539642539682539702539742539832539882539922539942539992540012540062540102540122540172540252540302540342540362540412540502540552540592540612540672540682540732540772540792540852540892540942540982541002541062541132541182541222541242541312541372541422541462541482541552541622541672541712541732541802541892541942541982542002542082542102542152542192542212542292542352542402542442542462542552542572542622542662542682542772542802542852542892542912543002543052543102543142543162543252543332543382543422543452543452543482543532543572543602543602543632543682543722543752543752543792543842543882543912543912543972544022544062544092544092544182544232544272544302544312544352544402544442544472544482544552544602544642544672544682544762544812544852544882544902544902544952544992545022545042545072545122545162545192545212545292545342545382545412545442545482545532545572545602545632545682545732545772545802545832545902545952545992546022546062546062546112546152546182546222546282546332546372546402546442546532546582546622546652546702546702546752546792546822546872546892546942546982547012547062547112547162547202547232547292547302547352547392547422547482547562547612547652547682547742547832547882547922547952548022548032548082548122548152548222548262548312548352548382548462548472548522548562548592548672548682548732548772548802548882548902548952548992549022549102549142549192549232549262549342549412549462549502549532549622549662549712549752549782549872549942549992550032550062550152550232550282550322550362550362550362550412550452550492550492550522550572550612550652550662550672550722550762550802550812550822550872550912550952550962550982551032551072551112551122551162551212551252551292551302551372551422551462551502551522551572551622551662551702551732551732551782551822551862551892551902551952551992552032552062552092552142552182552222552252552312552362552402552442552482552522552572552612552652552692552782552832552872552912552962552962553012553052553092553142553162553212553252553292553342553392553442553482553522553582553612553662553702553742553812553822553872553912553952554022554042554092554132554172554242554282554332554372554412554482554552554602554642554682554762554822554872554912554952555042555052555102555142555182555272555292555342555382555422555512555552555602555642555682555772555852555902555942555982556072556152556202556242556282556372556452556502556542556582556672556762556812556852556902556902556912556962557002557052557052557102557152557192557242557242557292557342557382557432557432557492557542557582557632557632557702557752557792557842557842557932557982558022558072558082558112558162558202558252558262558292558342558382558432558442558512558562558602558652558662558742558792558832558882558902558902558952558992559042559062559102559152559192559242559262559312559362559402559452559472559532559582559622559672559692559762559812559852559902559922560012560062560102560152560182560212560262560302560352560382560422560472560512560562560602560602560652560692560742560782560792560842560882560932560972561002561052561092561142561182561252561302561342561392561432561512561562561602561652561702561762561812561852561902561952562022562072562112562162562212562302562352562392562442562502562532562582562622562672562732562782562832562872562922562982563042563092563132563182563242563312563362563402563452563512563602563652563692563742563812563842563892563932563982564052564102564152564192564242564322564352564402564442564492564572564612564662564702564752564832564892564942564982565032565122565122565172565212565262565352565382565432565472565522565612565672565722565762565812565902565972566022566062566112566202566292566342566382566442566442566472566522566562566622566622566682566732566772566832566842566852566902566942567002567012567032567082567122567182567192567232567282567322567382567392567472567522567562567622567642567652567702567742567802567822567912567962568002568062568092568092568142568182568242568272568292568342568382568442568472568532568582568622568682568722568722568772568812568872568912568962569012569052569112569152569212569262569302569362569402569482569532569572569632569682569702569752569792569852569902569972570022570062570122570172570252570302570342570402570452570542570592570632570692570752570762570812570852570912570972571022571072571112571172571242571242571292571332571392571462571472571522571562571622571692571712571762571802571862571932571972572022572062572122572192572272572322572362572422572502572532572582572622572682572762572832572882572922572982573062573142573192573232573292573382573382573432573472573532573622573662573712573752573822573822573822573872573912573982573982573992574042574082574152574152574172574222574262574332574332574372574422574462574532574532574612574662574702574772574782574822574872574912574982575002575012575062575102575172575192575212575262575302575372575392575432575482575522575592575612575692575742575782575852575882575922575972576012576082576122576132576182576222576292576332576352576402576442576512576552576592576642576682576752576792576872576922576962577032577082577132577182577222577292577342577392577442577482577552577602577662577712577752577822577872577952578002578042578112578172578192578242578282578352578412578502578552578592578662578732578792578842578882578952579022579092579142579182579252579322579412579462579502579572579652579682579732579772579842579932579942579992580032580102580192580232580282580322580392580482580532580582580622580692580782580852580902580942581022581022581032581082581122581202581202581292581342581382581462581472581502581552581592581672581682581722581772581812581892581902581962582012582052582132582152582152582202582242582322582342582422582472582512582592582622582672582722582762582842582872582932582982583022583102583132583212583262583302583382583422583442583492583532583612583662583672583722583762583842583892583942583992584032584112584162584222584272584312584392584442584522584572584612584692584752584782584832584872584952585012585042585092585132585212585272585302585352585392585472585532585572585622585662585742585802585862585912585952586032586102586112586162586202586282586352586362586412586452586532586602586622586672586712586792586862586892586942586982587062587132587182587232587272587352587432587432587482587522587602587682587682587732587772587852587932587972588022588062588142588222588272588322588362588442588522588592588642588682588762588852588872588922588962589042589132589162589212589252589332589422589462589512589552589632589722589772589822589862589942590032590102590152590192590282590282590302590352590392590482590482590512590562590602590692590702590702590752590792590882590892590902590952590992591082591092591122591172591212591302591312591392591442591482591572591592591592591642591682591772591792591852591902591942592032592052592122592172592212592302592322592412592462592502592592592622592662592712592752592842592872592932592982593022593112593152593202593252593292593382593422593482593532593572593662593702593782593832593872593962594012594042594092594132594222594272594332594382594422594512594572594592594642594682594772594832594862594912594952595042595102595152595202595242595332595402595402595452595492595582595652595692595742595782595872595942596012596062596102596192596262596342596392596432596522596602596602596652596692596782596862596912596962597002597092597172597262597312597352597442597532597562597612597652597742597832597872597922597962598052598142598202598252598302598302598302598312598362598412598412598412598462598512598562598562598572598592598642598692598692598702598732598782598832598832598842598892598942598992598992599012599012599062599112599112599132599182599232599282599282599302599392599442599492599492599522599522599572599622599622599652599672599722599772599772599802599872599922599972599972600012600042600092600142600142600182600222600272600322600322600362600412600462600512600512600552600622600672600722600722600772600792600842600892600892600942601022601072601122601122601182601192601242601292601292601352601372601422601472601472601532601572601622601672601672601732601822601872601922601922601992602042602092602142602142602222602232602282602332602332602412602432602482602532602532602612602652602702602752602752602832602922602972603022603022603112603172603222603272603272603362603452603502603552603562603562603562603612603662603672603672603692603742603792603802603802603872603922603972603982603992604042604092604142604152604162604212604262604312604322604332604392604442604492604502604512604592604642604692604702604722604752604802604852604862604892604902604952605002605012605042605072605122605172605182605212605252605302605352605362605392605452605502605552605562605602605612605662605712605722605762605852605902605952605962606012606052606102606152606162606212606262606312606362606372606422606492606542606592606602606662606682606732606782606792606862606872606922606972606982607052607082607132607182607192607262607302607352607402607412607482607542607592607642607652607732607752607802607852607862607942607962608012608062608072608152608172608222608272608282608362608392608442608492608502608582608632608682608732608742608832608842608892608942608952609042609052609102609152609162609252609262609312609362609372609462609482609532609582609592609682609722609772609822609842609842609842609892609942609962609962609962610012610062610082610082610112610162610212610232610232610272610322610372610392610392610452610502610552610572610582610602610652610702610722610732610762610812610862610882610892610922610972611022611042611052611092611142611192611212611222611282611332611382611402611422611442611492611542611562611582611612611662611712611732611762611772611822611872611892611922611942611992612042612062612092612132612182612232612252612292612292612342612392612412612452612472612522612572612592612632612692612742612792612812612852612922612972613022613042613082613172613222613272613292613342613392613442613492613512613562613632613682613732613752613812613852613902613952613972614032614082614132614182614202614262614332614382614432614452614522614552614602614652614672614742614802614852614902614922615002615002615052615102615122615202615212615262615312615332615412615442615492615542615562615642615732615782615832615852615942615972616022616072616092616182616232616282616332616352616442616502616552616602616622616712616792616842616892616922616922616962617012617062617092617092617172617222617272617302617312617382617432617482617512617522617602617652617702617732617752617752617802617852617882617902617962618012618062618092618122618132618182618232618262618292618322618372618422618452618482618522618572618622618652618682618742618792618842618872618912618932618982619032619062619102619172619222619272619302619352619412619462619512619542619592619662619712619762619792619842619932619982620032620062620122620172620222620272620302620372620382620432620482620512620582620662620712620762620792620862620952621002621052621082621162621172621222621272621302621382621452621502621552621582621672621712621762621812621842621932622012622062622112622142622232622322622372622422622462622462622472622522622572622612622612622682622732622782622822622832622872622922622972623012623032623042623092623142623182623202623222623272623322623362623382623422623472623522623562623592623592623642623692623732623762623842623892623942623982624022624042624092624142624182624222624252624302624352624392624432624482624532624582624622624672624682624732624782624822624882624882624932624982625022625082625112625162625212625252625312625352625402625452625492625552625612625662625712625752625822625842625892625942625982626062626072626122626172626212626292626382626432626482626522626612626612626662626712626752626842626862626912626962627002627092627182627232627282627322627412627502627552627602627652627652627652627702627752627802627802627812627862627912627962627962627992628042628092628142628152628152628202628252628302628312628312628362628412628462628472628562628612628662628712628732628732628782628832628882628902628922628972629022629072629092629182629232629282629332629352629442629492629542629592629622629702629752629802629852629882629972630022630072630122630162630172630222630272630322630362630442630492630542630592630632630722630772630822630872630912631002631052631102631152631202631202631252631302631352631402631422631472631522631572631622631712631762631812631862631922631922631972632022632072632132632162632212632262632312632372632412632462632512632562632622632682632732632782632832632902632932632982633032633082633152633202633252633302633352633422633482633532633582633632633702633772633822633872633922633992634082634132634182634232634312634372634422634472634522634602634682634732634782634832634912635002635052635102635152635242635242635292635342635392635482635502635552635602635652635742635832635882635932635992635992636002636052636102636162636162636202636252636302636362636362636412636462636512636572636572636642636692636742636802636812636852636902636952637012637022637082637132637182637242637262637282637332637382637442637462637492637542637592637652637672637722637772637822637882637912637932637982638032638092638122638172638222638272638332638362638452638502638552638612638652638652638702638752638812638852638872638922638972639032639072639162639212639262639322639372639392639442639492639552639602639662639712639762639822639872639942639992640042640102640152640242640292640342640402640462640522640572640622640682640742640832640882640932640992641062641112641162641212641272641342641402641452641502641562641632641712641762641812641872641952642002642052642102642162642242642322642372642422642482642572642642642692642742642802642892642972643022643072643142643142643142643192643242643312643312643382643432643482643552643562643572643622643672643742643752643832643882643932644002644012644102644152644202644272644292644302644352644402644472644492644572644622644672644742644772644792644842644892644962645002645002645052645102645172645212645222645272645322645392645432645462645512645562645632645682645682645732645782645852645902645942645992646042646112646172646192646242646292646362646422646452646502646552646622646682646732646782646832646902646972646992647042647092647162647232647302647352647402647472647542647622647672647722647792647862647952648002648052648122648202648212648262648312648382648462648542648592648642648712648802648832648882648932649012649012649032649082649132649212649212649242649292649342649422649422649472649522649572649652649662649682649732649782649862649872649952650002650052650132650142650222650272650322650402650412650502650552650602650682650702650712650762650812650892650912650992651042651092651172651202651242651292651342651422651462651472651522651572651652651692651712651762651812651892651932651972652022652072652152652202652212652262652312652392652442652522652572652622652702652752652832652882652932653012653062653152653202653252653332653392653402653452653502653582653642653722653772653822653902653972654022654072654122654202654282654312654362654412654492654572654612654662654712654792654872654932654982655032655112655202655232655282655332655422655422655422655472655522655612655612655702655752655802655892655902655902655952656002656092656102656122656172656222656312656322656412656462656512656602656622656692656742656792656882656912656952657002657052657142657172657222657272657322657412657442657512657562657612657702657742657782657832657882657972658022658052658102658152658242658292658322658372658422658512658562658602658652658702658792658842658902658952659002659092659152659182659232659282659372659442659462659512659562659652659732659732659782659832659922660002660012660062660112660202660282660312660362660412660502660592660592660642660692660782660872660962661012661072661072661072661152661202661262661262661262661352661402661462661462661472661482661532661592661592661602661692661742661802661802661812661902661952662012662012662032662092662142662202662202662222662292662342662402662402662422662512662562662622662622662652662722662772662832662832662862662942662992663052663052663082663162663212663272663272663302663392663442663502663502663542663552663602663662663662663702663792663842663902663902663952663952664002664062664062664112664192664242664302664302664352664442664492664552664552664612664622664672664732664732664792664882664932664992664992665062665072665122665182665182665252665262665312665372665372665442665462665512665572665572665642665682665732665792665792665872665892665942666002666002666082666122666172666232666232666322666332666382666442666442666532666552666602666662666662666752666792666842666902666912666912666932666982667042667052667052667102667152667212667222667222667272667322667382667392667392667452667502667562667572667572667652667702667762667772667782667842667892667952667962667972668062668112668172668182668202668272668322668382668392668412668492668542668602668612668642668642668692668752668762668792668872668922668982668992669032669052669102669162669172669212669232669282669342669352669392669422669472669532669542669582669632669682669742669752669802669832669882669942669952670002670072670122670182670192670252670302670352670412670422670482670542670592670652670662670722670802670852670912670922670992671052671102671162671172671252671262671312671372671382671462671482671532671592671602671682671712671762671822671832671912671962672012672072672082672172672202672252672312672322672412672492672542672602672622672622672692672742672802672822672822672902672952673012673032673042673042673092673152673172673182673262673312673372673392673412673452673502673562673582673602673652673702673762673782673802673862673912673972673992674012674092674142674202674222674252674312674362674422674442674482674512674562674622674642674682674712674762674822674842674882674922674972675032675052675092675152675202675262675282675332675372675422675482675502675562675572675622675682675702675762675802675852675912675932675992676042676092676152676172676232676302676352676412676432676502676552676602676662676682676762676792676842676902676922677002677042677092677152677172677252677302677352677412677432677512677582677632677692677712677802677852677902677962677992677992678022678072678132678162678162678222678272678332678362678362678432678482678542678572678572678662678712678772678802678812678882678932678992679022679042679102679152679212679242679262679342679392679452679482679502679592679642679702679732679762679772679822679882679912679942680032680082680142680172680212680292680342680402680432680482680512680562680622680652680702680742680792680852680882680932680992681042681102681132681192681242681292681352681382681442681492681542681602681632681692681772681822681882681912681972682062682112682172682202682272682282682332682392682422682502682502682552682612682642682722682722682772682832682862682942683002683052683112683142683222683292683342683402683432683512683602683652683712683742683832683912683962684022684052684142684232684282684342684382684382684412684462684522684562684562684602684652684712684752684752684812684862684922684962684972685022685072685132685172685182685242685292685352685392685412685442685492685552685592685612685652685702685762685802685822685882685932685992686032686062686112686162686222686262686292686362686412686472686512686552686572686622686682686722686762686792686842686902686942686982687032687082687142687182687232687272687322687382687422687472687532687582687642687682687742687782687832687892687932687992688042688092688152688192688252688322688372688432688472688542688602688652688712688752688822688912688962689022689062689142689202689252689312689352689432689502689552689612689652689732689822689872689932689972690062690142690192690252690302690302690322690372690432690482690482690502690552690612690662690662690692690742690802690852690852690902690952691012691062691072691112691162691222691272691282691362691412691472691522691542691602691652691712691762691782691852691902691962692012692032692122692172692232692282692312692392692442692502692552692592692622692672692732692782692822692872692922692982693032693072693132693182693242693292693332693412693462693522693572693622693692693742693802693852693912693932693982694042694092694152694192694242694302694352694412694462694512694572694622694682694752694802694862694912694982695042695092695152695202695282695292695342695402695452695532695592695642695702695752695832695902695952696012696062696142696232696282696342696392696482696562696612696672696732696732696772696822696882696942696942697012697062697122697182697182697262697312697372697432697442697442697492697552697612697622697712697762697822697882697902697952698002698062698122698152698172698222698282698342698372698402698452698512698572698602698652698702698762698822698862698902698952699012699072699122699122699172699232699292699342699412699462699522699582699632699712699762699822699882699942699942699992700052700112700172700262700312700372700432700502700562700612700672700732700802700862700912700972701032701102701172701222701282701342701412701502701552701612701672701752701832701882701942702002702092702142702192702252702322702322702352702402702462702532702532702572702622702682702752702752702812702862702922702992703002703052703102703162703232703252703282703332703392703462703482703532703582703642703712703732703792703842703902703972703992704072704122704182704252704282704352704402704462704532704572704632704682704742704812704852704922704972705032705102705142705222705272705332705402705452705452705502705562705632705682705772705822705882705952706012706092706142706202706272706342706362706412706472706542706612706642706692706752706822706892706952707002707062707132707202707262707312707372707442707512707572707622707682707752707822707902707952708012708082708152708242708292708352708422708502708522708572708632708702708782708802708852708912708982709062709082709132709192709262709342709432709482709542709612709702709702709752709812709882709972710002710052710112710182710272710302710352710412710482710572710612710662710722710792710882710922710972711032711102711192711242711292711352711422711512711592711642711702711772711862711942711992712052712122712212712302712352712412712492712492712512712562712622712702712702712732712782712842712922712922712982713032713092713172713172713232713282713342713422713422713502713552713612713692713692713782713832713892713972713982713982714032714092714172714182714212714262714322714402714412714442714492714552714632714642714692714742714802714882714902714912714962715022715102715122715142715192715252715332715352715402715452715512715592715612715662715712715772715852715872715952716002716062716142716162716242716292716352716432716452716542716592716652716732716762716782716832716892716972717002717022717072717132717212717242717292717342717402717482717512717592717642717702717782717812717902717952718012718092718132718152718202718262718342718382718402718452718512718592718632718692718742718802718882718922718992719042719102719182719222719302719352719412719492719542719552719602719662719742719792719802719852719912719992720042720092720142720202720282720342720352720402720462720542720602720622720672720732720812720872720922720972721032721112721172721222721272721332721412721482721482721532721592721672721742721742721792721852721932722002722012722062722122722202722272722312722362722422722502722572722612722662722722722802722872722962723012723072723152723232723252723302723362723442723522723552723602723662723742723822723882723932723992724072724152724212724262724322724402724492724512724562724622724702724792724822724872724932725012725102725142725192725252725332725422725492725542725602725682725772725842725892725952726042726042726072726122726182726272726282726282726332726392726482726492726502726552726612726702726712726752726802726862726952726962727002727052727112727202727222727232727282727342727432727452727462727512727572727662727682727702727752727812727902727922727972728022728082728172728192728242728292728352728442728472728492728542728602728692728722728772728822728882728972729002729062729112729172729262729292729382729432729492729582729612729702729752729812729902729942730012730062730122730212730252730332730382730442730532730572730662730712730772730862730912730932730982731042731132731182731202731252731312731402731462731462731512731572731662731722731802731852731912732002732062732152732202732262732352732422732442732492732552732642732712732732732782732842732932733012733012733062733122733212733292733382733432733492733582733672733672733722733782733872733962733992734042734102734192734282734312734362734432734432734432734452734502734572734572734572734612734662734732734732734732734782734832734902734902734902734982735032735102735102735102735192735242735312735312735312735402735452735522735522735522735612735662735732735732735742735742735792735862735862735872735902735952736022736022736032736072736122736192736192736202736242736292736362736362736382736392736442736512736512736532736552736602736672736672736692736742736792736862736862736882736942736992737062737062737082737142737192737262737262737292737342737392737462737462737492737552737602737672737672737702737792737842737912737912737952737952738002738072738072738112738122738172738242738242738282738312738362738432738432738472738512738562738632738632738672738742738792738862738862738902738982739032739102739102739152739152739202739272739272739322739322739372739442739442739492739502739552739622739622739672739712739762739832739832739882739932739982740052740052740102740172740222740292740292740352740392740442740512740512740572740622740672740742740742740802740882740932741002741002741062741152741202741272741272741342741352741402741472741472741552741552741602741672741672741752741762741812741882741882741962742002742052742122742122742202742252742302742372742372742452742532742582742652742652742742742742742792742862742862742952742962743012743082743082743172743212743262743332743332743422743472743522743592743592743682743772743822743892743892743982744072744122744192744202744202744202744252744322744332744332744362744412744482744492744492744532744582744652744662744662744742744792744862744872744882744942744992745062745072745082745152745202745272745282745302745302745352745422745432745452745462745512745582745592745612745662745712745782745792745822745862745912745982745992746022746072746122746192746202746232746312746362746432746442746472746562746612746682746692746732746772746822746892746902746942747002747052747122747132747172747242747292747362747372747422747422747472747542747552747602747612747662747732747742747792747862747912747982747992748042748112748162748232748242748292748372748422748492748502748562748572748622748692748702748762748782748832748902748912748972749052749102749172749182749252749312749362749432749442749512749582749632749702749712749792749792749842749912749922750002750012750062750132750142750222750302750352750422750432750522750572750622750692750702750792750852750902750972750982751072751162751212751282751302751302751302751352751422751442751442751522751572751642751662751662751742751792751862751882751882751972752022752092752112752122752142752192752262752282752292752322752372752442752462752482752492752542752612752632752652752742752792752862752882752912752912752962753032753052753082753112753162753232753252753282753322753372753442753462753502753532753582753652753672753722753722753772753842753862753912753922753972754042754062754112754152754202754272754292754342754392754442754512754532754592754632754682754752754772754842754852754902754972754992755062755082755132755202755222755292755342755392755462755482755552755622755672755742755762755832755902755952756022756042756112756182756232756302756322756392756472756522756592756612756692756702756752756822756842756922756952757002757072757092757172757202757252757322757342757432757442757492757562757582757672757692757742757812757832757922757972758022758092758112758202758272758322758392758412758502758582758632758702758732758732758782758832758902758932758932758992759042759112759142759142759232759282759352759382759392759402759452759522759552759562759582759632759702759732759752759752759802759872759902759922759932759982760052760082760102760142760192760262760292760312760372760422760492760522760542760622760672760742760772760792760882760932761002761032761062761062761112761182761212761242761272761322761392761422761452761502761552761622761652761682761752761802761872761902761942762002762052762122762152762192762262762312762382762412762462762462762512762582762612762662762682762732762802762832762882762932762982763052763082763142763172763222763292763322763382763422763472763542763572763632763702763752763822763852763912764002764052764122764152764222764242764292764362764392764472764482764532764602764632764712764732764782764852764882764962765012765062765132765162765242765312765362765432765462765552765562765612765682765712765802765832765882765952765982766072766112766162766232766262766352766422766472766542766572766662766752766802766872766912766912766952767002767072767112767112767152767202767272767312767312767362767412767482767522767522767602767652767722767762767772767772767822767892767932767942767992768042768112768152768172768212768262768332768372768392768442768492768562768602768622768702768752768822768862768892768892768942769012769052769082769142769192769262769302769332769402769452769522769562769592769672769722769792769832769872769882769932770002770042770082770112770162770232770272770312770402770452770522770562770612770642770692770762770802770852770892770942771012771052771102771172771222771292771332771382771472771522771592771632771692771752771802771872771912771972772052772102772172772212772272772362772412772482772522772592772612772662772732772772772842772882772932773002773042773122773142773192773262773302773382773412773462773532773572773652773692773742773812773852773932774002774052774122774162774242774332774382774452774492774582774652774702774772774822774822774832774882774952775002775002775022775072775142775192775192775242775292775362775412775412775482775532775602775652775662775712775762775832775882775902775922775972776042776092776112776142776192776262776312776332776392776442776512776562776582776662776712776782776832776862776932776982777052777102777142777162777212777282777332777372777402777452777522777572777612777672777722777792777842777882777972778022778092778142778182778272778322778392778442778492778522778572778642778692778742778782778832778902778952779002779072779122779192779242779302779302779352779422779472779532779532779582779652779702779762779842779892779962780012780072780162780212780282780332780402780422780472780542780592780662780712780762780832780882780952781012781062781132781182781252781322781372781442781492781562781642781692781762781812781892781902781952782022782072782152782192782242782312782362782442782492782542782612782662782752782792782842782912782962783052783102783152783222783272783362783442783492783562783622783622783632783682783752783812783812783842783892783962784022784032784042784092784162784222784232784252784302784372784432784442784492784542784612784672784682784762784812784882784942784962784972785022785092785152785172785202785252785322785382785402785442785492785562785622785642785712785762785832785892785922785922785972786042786102786132786162786212786282786342786372786452786502786572786632786662786752786802786872786932786972786992787042787112787172787212787262787312787382787442787482787572787622787692787752787802787822787872787942788002788052788082788132788202788262788312788372788422788492788552788602788692788742788812788872788932788972789022789092789152789212789272789322789392789452789512789582789632789702789762789832789832789882789952790012790082790112790162790232790292790362790452790502790572790632790712790712790762790832790892790972790982791032791102791162791242791282791332791402791462791542791612791662791732791792791882791912791962792032792092792182792252792302792372792432792522792602792652792722792792792792792802792852792922792992792992793032793082793152793222793232793242793292793362793432793442793482793532793602793672793682793732793782793852793922793932794012794062794132794202794222794232794282794352794422794442794522794572794642794712794742794752794802794872794942794972794992795042795112795182795212795262795312795382795452795482795562795612795682795752795792795842795892795962796032796072796152796202796272796342796382796472796522796592796662796712796732796782796852796922796972797022797072797142797212797272797292797342797412797482797542797622797672797742797812797872797962798012798082798152798222798242798292798362798432798502798552798602798672798742798822798852798902798972799042799122799202799252799322799392799472799562799612799682799752799842799862799912799982800052800142800192800242800312800392800392800422800472800542800622800622800702800752800822800902800902800992801042801112801192801202801222801272801342801422801432801482801532801602801682801702801732801782801852801932801952802042802092802162802242802272802272802322802392802472802502802532802582802652802732802762802822802872802942803022803062803102803152803222803302803352803382803432803502803582803632803672803722803792803872803922803992804042804112804192804252804252804302804372804452804512804602804652804722804802804872804942804992805062805142805212805292805342805412805492805572805582805632805702805782805862805902805952806022806102806192806222806272806342806432806432806442806492806562806652806652806672806722806792806882806882806932806982807052807142807142807222807272807342807432807442807512807562807632807722807742807802807852807922808012808032808102808152808222808312808342808342808392808462808552808582808622808672808742808832808862808902808952809022809112809142809202809252809322809412809442809512809562809632809722809762809762809812809882809972810012810052810102810172810262810302810352810402810472810562810602810662810712810782810872810912810982811032811102811192811242811242811292811362811452811502811542811592811662811752811802811852811902811972812062812112812172812222812292812382812432812502812552812622812712812772812772812822812892812982813042813082813132813202813292813352813402813452813522813612813682813702813752813822813912813982814012814062814132814222814292814352814402814472814562814642814642814692814762814852814932814952815002815072815162815242815262815312815382815472815552815582815632815702815792815872815932815982816052816142816232816232816282816352816442816532816552816602816682816682816682816692816742816822816822816822816842816892816972816972816972817022817072817152817152817152817242817292817372817372817382817392817442817522817522817542817542817592817672817672817692817702817752817832817832817852817892817942818022818022818042818122818172818252818252818282818292818342818422818422818452818522818572818652818652818682818762818812818892818892818932818942818992819072819072819112819162819212819292819292819332819412819462819542819542819592819662819712819792819792819842819922819972820052820052820112820122820172820252820252820312820362820412820492820492820552820642820692820772820772820842820912820962821042821042821112821192821242821322821322821402821412821462821542821542821622821672821722821802821802821882821972822022822102822102822192822262822312822392822392822482822562822612822692822702822702822712822762822842822852822852822902822952823032823042823052823052823102823182823192823202823262823312823392823402823412823482823532823612823622823642823642823692823772823782823802823842823892823972823982824002824092824142824222824232824262824342824392824472824482824512824602824652824732824742824782824802824852824932824942824982825042825092825172825182825232825252825302825382825392825452825452825502825582825592825652825662825712825792825802825862825902825952826032826042826102826182826232826312826322826392826432826482826562826572826652826672826722826802826812826892826922826972827052827062827142827202827252827332827342827432827432827482827562827572827662827732827782827862827882827882827922827972828052828072828072828122828172828252828272828272828352828402828482828502828512828532828582828662828682828702828702828752828832828852828872828872828922829002829022829042829052829102829182829202829222829262829312829392829412829432829512829562829642829662829692829752829802829882829902829942829992830042830122830142830182830242830292830372830392830432830522830572830652830672830722830752830802830882830902830962830982831032831112831132831192831212831262831342831362831422831452831502831582831602831662831722831772831852831872831942831942831992832072832092832162832252832302832382832402832482832502832552832632832652832732832762832812832892832912832992833052833102833182833202833292833292833342833422833442833532833622833672833752833782833782833832833882833962833992833992834052834102834182834212834212834302834352834432834462834472834512834562834642834672834682834722834772834852834882834892834982835032835112835142835162835162835212835292835322835342835372835422835502835532835552835632835682835762835792835812835892835942836022836052836082836122836172836252836282836312836362836412836492836522836552836632836682836762836792836832836862836912836992837022837062837102837152837232837262837302837342837392837472837502837542837592837642837722837752837792837872837922838002838032838082838112838162838242838272838322838362838412838492838522838572838642838692838772838802838852838932838982839062839092839152839162839212839292839322839382839442839492839572839602839662839742839792839872839902839972839972840022840102840132840202840212840262840342840372840442840482840532840612840642840712840802840852840932840962841042841052841102841182841212841292841332841382841462841492841572841622841672841752841782841862841942841992842072842102842192842222842272842352842382842472842522842572842652842692842692842722842772842852842892842892842932842982843062843102843102843172843222843302843342843352843372843422843502843542843552843602843652843732843772843782843842843892843972844012844022844092844142844222844262844282844282844332844412844452844472844522844572844652844692844712844802844852844932844972844992845082845132845212845252845282845282845332845412845452845482845512845562845642845682845712845792845842845922845962846002846022846072846152846192846232846262846312846392846432846472846512846562846642846682846722846792846842846922846962847012847032847082847162847202847252847312847362847442847482847542847572847622847702847742847802847842847892847972848012848072848142848192848272848312848382848402848452848532848572848642848712848762848842848882848952849022849072849152849192849262849342849392849472849512849592849602849652849732849772849852849912849962850042850082850172850182850232850312850362850362850362850412850492850542850542850552850602850682850732850732850772850822850902850952850952851042851092851172851222851232851282851332851412851462851472851532851582851662851712851722851792851842851922851972851992851992852042852122852172852192852242852292852372852422852452852462852512852592852642852672852732852782852862852912852942853012853062853142853192853232853232853282853362853412853452853502853552853632853682853732853742853792853872853922853972854062854112854192854242854302854302854352854432854482854542854572854622854702854752854812854892854942855022855072855142855192855242855322855372855452855472855522855602855652855732855762855812855892855942856022856082856132856212856262856352856362856412856492856542856632856712856762856842856902856902856972857022857102857162857162857242857292857372857432857442857452857502857582857642857652857712857762857842857902857922857962858012858092858152858172858252858302858382858442858462858552858602858682858742858772858792858842858922858982859012859082859132859212859272859312859362859412859492859552859602859622859672859752859812859862859892859942860022860082860132860192860242860322860382860442860452860502860582860642860712860712860762860842860902860972861032861082861162861222861292861362861412861492861552861632861632861682861762861822861902861952862002862082862142862232862272862322862402862472862472862492862542862622862692862692862722862772862852862922862922862982863032863112863182863192863212863262863342863412863422863442863492863572863642863652863712863762863842863912863922863992864042864122864192864212864212864262864342864412864432864492864542864622864692864712864772864822864902864972865002865032865082865162865232865262865302865352865432865502865532865602865652865732865802865842865872865922866002866072866112866152866202866282866352866402866402866452866532866602866652866662866712866792866862866912866952867002867082867152867212867212867262867342867412867472867482867532867612867682867742867832867882867962868032868102868102868152868232868302868372868402868452868532868602868672868762868812868892868962869042869052869102869182869252869332869392869442869522869592869672869742869792869872869942870032870032870082870162870232870322870382870432870512870582870672870752870802870882870962870962871022871072871152871232871232871302871352871432871512871522871522871572871652871732871742871802871852871932872012872022872112872162872242872322872342872402872452872532872612872632872702872752872832872912872942872942872992873072873152873182873242873292873372873452873492873492873542873622873702873742873742873792873872873952873992874002874052874132874212874252874292874342874422874502874552874552874602874682874762874812874852874902874982875062875122875122875172875252875332875392875402875452875532875612875672875712875762875842875922875992875992876042876122876202876272876312876362876442876522876602876632876682876762876842876922876962877012877092877172877252877322877372877452877532877622877652877702877782877862877952878032878082878162878252878252878312878362878442878532878532878602878652878732878822878832878832878882878962879052879062879122879172879252879342879362879382879432879512879602879622879652879702879782879872879892879932879982880062880152880172880242880292880372880462880492880522880572880652880742880772880862880912880992881082881122881192881242881322881412881452881532881582881662881752881802881812881862881942882032882082882152882202882282882372882432882472882522882602882692882752882802882852882932883022883082883142883192883272883362883422883512883562883642883732883802883852883902883982884072884152884182884232884312884402884482884512884562884642884732884812884852884902884982885072885152885222885272885352885442885532885562885612885702885702885702885712885762885852885852885852885892885942886032886032886032886082886132886222886222886222886302886352886442886442886452886492886542886632886632886652886682886732886822886822886842886882886932887022887022887042887092887142887232887232887252887332887382887472887472887502887542887592887682887682887722887752887802887892887892887932888002888052888142888142888182888262888312888402888402888452888462888512888602888602888652888732888782888872888872888922889002889052889142889142889202889212889262889352889352889412889432889482889572889572889632889682889732889822889822889892889912889962890052890052890122890142890192890282890282890352890442890492890582890582890662890662890712890802890802890882890912890962891052891052891142891142891192891282891282891372891372891422891512891512891602891672891722891812891812891902891982892032892122892132892132892142892192892282892292892292892372892422892512892522892522892612892662892752892762892762892852892902892992893002893012893012893062893152893162893172893202893252893342893352893372893372893422893512893522893542893552893602893692893702893732893732893782893872893882893912893922893972894062894072894102894142894192894282894292894332894342894392894482894492894532894562894612894702894712894752894812894862894952894962895002895072895122895212895222895272895272895322895412895422895472895542895592895682895692895742895832895882895972895982896042896062896112896202896212896272896302896352896442896452896512896572896622896712896722896792896822896872896962896972897042897092897142897232897242897322897332897382897472897482897562897582897632897722897732897812897862897912898002898012898102898122898172898262898272898362898412898462898552898572898572898572898622898712898732898732898742898792898882898902898902898942898992899082899102899112899122899172899262899282899292899332899382899472899492899512899542899592899682899702899722899762899812899902899922899942900012900062900152900172900202900242900292900382900402900432900512900562900652900672900702900782900832900922900942900972901062901112901202901222901262901282901332901422901442901482901572901622901712901732901782901812901862901952901972902022902082902132902222902242902292902362902412902502902522902582902582902632902722902742902802902872902922903012903032903102903122903172903262903282903352903392903442903532903552903622903672903722903812903832903902903982904032904122904142904222904272904322904412904432904522904522904572904662904682904772904832904882904972904992905082905152905202905292905322905322905322905372905462905492905492905562905612905702905732905742905762905812905902905932905952905952906002906092906122906142906152906202906292906322906342906382906432906522906552906582906592906642906732906762906792906862906912907002907032907062907142907192907282907312907342907432907482907572907602907642907662907712907802907832907872907962908012908102908132908182908242908292908382908412908462908522908572908662908692908742908812908862908952908982909042909042909092909182909212909272909342909392909482909512909582909622909672909762909792909862909942909992910082910112910182910272910322910412910442910522910542910592910682910712910792910882910932911022911052911142911202911252911342911382911382911422911472911562911602911602911652911702911792911832911832911912911962912052912092912102912152912202912292912332912352912382912432912522912562912582912622912672912762912802912822912872912922913012913052913072913152913202913292913332913362913412913462913552913592913632913672913722913812913852913892913932913982914072914112914152914202914252914342914382914422914502914552914642914682914732914782914832914922914962915022915062915112915202915242915302915382915432915522915562915622915712915762915852915892915962915982916032916122916162916242916242916292916382916422916502916502916552916642916682916762916782916832916922916962917042917072917122917212917252917332917392917442917532917572917662917702917752917842917882917972918012918062918152918192918282918372918422918512918562918562918562918612918702918752918752918782918832918922918972918982918992919042919132919182919192919212919262919352919402919412919472919522919612919662919672919742919792919882919932919952919952920002920092920142920162920242920292920382920432920452920542920592920682920732920762920832920882920972921022921052921132921182921272921322921362921372921422921512921562921602921692921742921832921882921932921942921992922082922132922182922262922312922402922452922502922592922642922732922782922842922862922912923002923052923122923122923172923262923312923382923412923462923552923602923672923702923752923842923892923962924002924052924142924192924262924332924382924472924522924602924652924702924792924842924922925002925052925142925192925282925352925402925492925542925632925712925762925852925912925912925922925972926062926122926122926212926262926352926412926422926452926502926592926652926662926732926782926872926932926942927022927072927162927222927242927252927302927392927452927472927562927612927702927762927792927822927872927962928022928052928122928172928262928322928352928432928482928572928632928672928682928732928822928882928922929012929062929152929212929262929292929342929432929492929552929552929602929692929752929812929822929872929962930022930082930122930172930262930322930392930412930462930552930612930682930752930802930892930952931032931062931112931202931262931342931382931432931522931582931662931732931782931872931932932022932072932122932212932282932282932292932342932432932502932502932522932572932662932732932732932762932812932902932972932972933032933082933172933242933252933292933342933432933502933522933522933572933662933732933752933782933832933922933992934012934052934102934192934262934282934352934402934492934562934592934642934692934782934852934892934902934952935042935112935152935222935272935362935432935472935552935602935692935762935812935822935872935962936032936082936172936222936312936382936442936502936552936642936712936782936792936842936932937002937072937092937142937232937302937372937422937472937562937632937712937742937792937882937952938042938052938102938192938262938352938362938412938502938572938662938682938732938822938892938982939032939082939172939252939252939282939332939422939502939512939522939572939662939742939752939832939882939972940052940062940152940202940292940372940392940412940462940552940632940662940662940712940802940882940912941002941052941142941222941252941342941392941482941562941602941602941652941742941822941862941892941942942032942112942162942172942222942312942392942452942452942502942592942672942732942822942872942962943042943112943112943162943252943332943402943432943482943572943652943732943752943802943892943972944052944072944122944212944292944372944432944482944572944652944732944802944852944942945022945112945112945162945252945332945422945512945562945652945742945742945742945792945882945972945972945992946042946132946222946222946252946302946392946482946482946542946592946682946772946782946832946882946972947062947072947132947182947272947362947382947392947442947532947622947642947662947712947802947892947912947962948012948102948192948222948262948312948402948492948522948582948632948722948812948852948852948902948992949082949122949132949182949272949362949402949442949492949582949672949722949752949802949892949982950032950082950132950222950312950372950412950462950552950642950702950752950802950892950982951042951122951172951262951352951422951492951542951632951722951802951802951852951942952032952112952192952242952332952422952502952592952642952732952822952912952932952992952992952992952992953002953062953062953062953062953112953172953172953172953172953232953292953292953292953292953362953422953422953422953432953432953492953492953492953502953592953652953652953652953672953712953772953772953772953792953832953892953892953892953912953962954022954022954022954042954122954182954182954182954212954282954342954342954342954382954402954462954462954462954502954582954642954642954642954682954772954832954832954832954882954902954962954962954962955022955032955092955092955092955152955212955272955272955272955342955372955432955432955432955502955542955602955602955602955672955742955802955802955802955882955942956002956002956002956092956112956172956172956172956262956282956342956342956342956432956462956522956522956522956612956672956732956732956742956742956792956852956852956862956872956882956942956942956952956972956972957032957032957042957062957072957132957132957142957162957202957262957262957272957302957332957392957392957402957442957442957502957502957512957552957602957662957662957672957712957772957832957832957842957882957972958032958032958042958092958172958232958232958242958302958362958422958422958432958492958582958642958642958652958722958722958782958782958792958862958892958952958952958962959042959062959122959122959132959222959222959282959282959292959382959442959502959502959512959602959672959732959732959752959752959752959812959812959832959832959922959982959982960002960012960092960152960152960172960192960222960282960282960302960322960362960422960422960442960462960542960602960602960622960642960722960782960782960802960822960902960962960962960982961002961092961152961152961172961202961202961262961262961282961312961352961412961412961432961462961502961562961562961582961612961662961722961722961742961772961822961882961882961902961932961992962052962052962072962112962112962172962172962192962232962232962292962292962312962352962362962422962422962442962482962522962582962582962602962642962692962752962752962772962812962902962962962962962982963022963112963172963172963192963242963252963312963312963332963382963412963472963472963492963542963582963642963642963662963712963792963852963852963872963922964002964062964062964082964142964142964202964202964222964282964372964432964432964452964522964522964582964582964602964672964712964772964772964792964862964902964962964962964982965052965112965172965172965192965272965322965382965382965402965482965542965602965602965622965712965712965772965772965792965882965882965942965942965962966052966082966142966142966162966252966302966362966362966382966472966532966592966592966622966622966622966682966682966712966712966712966772966772966802966802966842966902966902966932966932966982967042967042967072967072967132967192967192967222967232967232967292967292967322967332967332967392967392967422967432967472967532967532967562967582967602967662967662967692967712967742967802967802967832967852967922967982967982968012968032968102968162968162968192968222968242968302968302968332968362968392968452968452968482968512968552968612968612968642968672968752968812968812968842968872968952969012969012969042969082969112969172969172969202969242969312969372969372969402969442969522969582969582969612969662969682969742969742969772969822969842969902969902969932969982970062970122970122970152970212970222970282970282970312970372970392970452970452970482970542970602970662970662970692970752970812970872970872970902970972971002971062971062971092971162971192971252971252971282971352971392971452971452971482971552971632971692971692971722971792971872971932971932971962972042972092972152972152972182972262972352972412972412972442972532972532972592972592972622972712972752972812972812972842972932972972973032973032973072973072973082973142973142973182973182973262973322973322973362973362973452973512973512973552973562973592973652973652973692973702973732973792973792973832973852973862973922973922973962973982974052974112974112974152974172974252974312974312974352974382974402974462974462974502974532974552974612974612974652974692974702974762974762974802974842974882974942974942974982975022975072975132975132975172975212975302975362975362975402975442975532975592975592975632975682975762975822975822975862975922975982976042976042976082976142976212976272976272976312976382976392976452976452976492976562976582976642976642976682976752976772976832976832976872976942976972977032977032977072977142977182977242977242977282977352977432977492977492977532977602977692977752977752977792977872977872977932977932977972978052978052978112978112978152978232978242978302978302978342978422978472978532978532978572978652978712978772978772978812978892978962979022979022979062979152979192979252979252979292979382979432979492979492979532979622979712979772979772979822979822979822979882979882979932979932979952980012980012980062980062980112980172980172980222980222980282980342980342980392980402980402980462980462980512980522980532980592980592980642980652980682980742980742980792980802980892980952980952981002981022981022981082981082981132981152981192981252981252981302981322981372981432981432981482981502981582981642981642981692981722981752981812981812981862981892981932981992981992982042982072982152982212982212982262982292982382982442982442982492982532982562982622982622982672982712982762982822982822982872982912982972983032983032983082983132983132983192983192983242983292983302983362983362983412983462983522983582983582983632983682983752983812983812983862983912983992984052984052984102984162984182984242984242984292984352984382984442984442984492984552984632984692984692984742984812984832984892984892984942985012985042985102985102985152985222985292985352985352985402985472985552985612985612985662985742985782985842985842985892985972986042986102986102986152986232986312986372986372986422986512986532986592986592986642986732986762986822986822986882986882986882986942986942987002987002987012987072987072987132987132987152987212987212987272987272987332987392987392987452987452987522987582987582987642987652987692987752987752987812987822987882987942987942988002988012988082988142988142988202988222988232988292988292988352988372988392988452988452988512988532988622988682988682988742988772988812988872988872988932988962989012989072989072989132989162989252989312989312989372989412989412989472989472989532989572989652989712989712989772989822989842989902989902989962990012990042990102990102990162990212990282990342990342990402990452990532990592990592990652990712990782990842990842990902990962991052991112991112991172991242991242991302991302991362991432991472991532991532991592991662991712991772991772991832991912991952992012992012992072992152992232992292992292992352992432992522992582992582992642992732992762992822992822992882992972993012993072993072993142993142993172993232993232993302993312993312993372993372993442993452993462993522993522993592993602993652993712993712993782993792993862993922993922993992994002994072994132994132994202994222994252994312994312994382994402994442994502994502994572994592994672994732994732994802994832994832994892994892994962994992995002995062995062995132995162995212995272995272995342995372995432995492995492995562995602995602995662995662995732995772995792995852995852995922995962995992996052996052996122996172996172996232996232996302996352996362996422996422996492996542996592996652996652996722996772996842996902996902996972997022997112997172997172997242997292997382997442997442997512997572997572997632997632997702997762997802997862997862997932997992998052998112998112998182998242998322998382998382998452998522998592998652998652998722998792998872998932998932999002999082999102999162999162999232999312999352999412999412999482999562999632999692999692999762999852999892999952999953000023000113000163000223000223000293000383000473000533000533000613000613000623000683000683000763000763000813000873000873000953000953001033001093001093001173001173001263001323001323001403001413001443001503001503001583001593001643001703001703001783001793001883001943001943002023002043002093002153002153002233002253002313002373002373002453002483002483002543002543002623002653002673002733002733002813002843002913002973002973003053003093003113003173003173003253003293003323003383003383003463003503003573003633003633003713003753003843003903003903003983004033004083004143004143004223004273004363004423004423004503004563004563004623004623004703004763004803004863004863004943005003005063005123005123005203005273005293005353005353005433005513005523005583005583005663005743005763005823005823005903005983006043006103006103006183006263006343006403006403006483006573006623006683006683006763006853006923006983006983007063007153007233007293007293007383007383007403007463007463007553007553007593007653007653007743007753007773007833007833007923007933007963008023008023008113008123008163008223008223008313008323008403008463008463008553008573008573008633008633008723008743008833008893008893008983009003009093009153009153009243009273009273009333009333009423009453009493009553009553009643009673009733009793009793009883009923009973010033010033010123010173010183010243010243010333010383010403010463010463010553010603010663010723010723010813010863010943011003011003011093011153011223011283011283011373011443011503011563011563011653011723011793011853011853011943012023012033012093012093012183012263012303012363012363012453012533012573012633012633012723012813012833012893012893012983013073013103013163013163013253013343013413013473013483013483013483013483013543013553013553013553013563013623013633013633013633013713013773013783013783013783013873013933013943013943013953013983014043014053014053014063014123014183014193014193014203014283014343014353014353014373014393014453014463014463014483014513014573014583014583014603014673014733014743014743014773014773014833014843014843014873014893014953014963014963015003015003015063015073015073015113015123015183015193015193015233015283015343015353015353015393015473015533015543015543015593015593015653015663015663015713015793015853015863015863015913016003016063016073016073016133016163016223016233016233016293016353016413016423016423016483016563016623016633016633016703016763016823016833016833016903016973017033017043017043017123017133017193017203017203017283017323017383017393017393017473017533017593017603017603017693017743017803017813017813017903017963018023018033018043018043018043018103018113018123018123018153018213018223018233018233018293018353018363018373018373018463018523018533018543018553018553018613018623018633018643018683018743018753018763018773018843018903018913018923018943018943019003019013019023019043019073019133019143019153019173019213019273019283019293019313019393019453019463019473019503019513019573019583019593019623019663019723019733019743019773019843019903019913019923019953020033020093020103020113020153020173020233020243020253020293020343020403020413020423020463020543020603020613020623020673020723020783020793020803020853020913020973020983020993021053021053021113021123021133021193021223021283021293021303021363021433021493021503021513021573021653021713021723021733021793021883021943021953021963022033022063022123022133022143022213022273022333022343022353022433022433022493022503022513022593022603022663022673022683022763022783022843022853022863022943023003023063023073023083023163023253023313023323023333023423023453023513023523023533023623023663023723023733023743023833023883023943023953023963024053024143024203024213024233024233024253024313024323024343024343024403024463024473024493024503024523024583024593024613024623024653024713024723024743024753024823024883024893024913024933024933024993025003025023025043025093025153025163025183025203025253025313025323025343025363025423025483025493025513025543025543025603025613025633025663025693025753025763025783025813025893025953025963025983026013026093026153026163026183026213026303026363026373026393026433026463026523026533026553026593026653026713026723026743026793026803026863026873026893026943026953027013027023027043027093027113027173027183027203027253027313027373027383027403027453027543027603027613027633027693027733027793027803027823027893027893027953027963027983028053028063028123028133028153028223028273028333028343028363028433028513028573028583028603028683028723028783028793028813028893028933028993029003029023029103029153029213029223029243029323029413029473029483029503029593029613029673029683029703029793029873029933029943029963030053030133030193030203030223030313030403030463030473030503030503030533030593030603030633030633030693030753030763030793030803030823030883030893030923030933030963031023031033031063031073031113031173031183031213031223031303031363031373031403031423031433031493031503031533031553031623031683031693031723031743031823031883031893031923031943032033032093032103032133032163032193032253032263032293032323032383032443032453032483032523032543032603032613032643032683032753032813032823032853032893032973033033033043033073033123033143033203033213033243033293033343033403033413033443033503033513033573033583033613033673033733033793033803033833033893033963034023034033034063034133034143034203034213034243034313034353034413034423034453034533034533034593034603034633034713034773034833034843034873034953035023035083035093035123035213035223035283035293035323035413035453035513035523035563035563035573035633035643035683035683035693035753035763035803035803035823035883035893035933035933035993036053036063036103036103036193036253036263036303036313036373036433036443036483036503036503036563036573036613036633036643036703036713036753036773036823036883036893036933036953037033037093037103037143037173037223037283037293037333037363037453037513037523037563037603037603037663037673037713037753037793037853037863037903037943038013038073038083038123038173038213038273038283038323038373038463038523038533038573038633038633038693038703038743038803038843038903038913038953039013039083039143039153039193039263039313039373039383039423039493039543039603039613039653039723039783039843039853039893039973039973040033040043040083040163040193040253040263040303040393040403040463040473040513040603040653040713040723040763040853040913040973040983041033041033041033041093041103041153041153041183041243041253041303041313041323041383041393041443041453041503041563041573041623041633041693041753041763041813041833041833041893041903041953041973042003042063042073042123042153042163042223042233042283042313042373042433042443042493042523042593042653042663042713042753042763042823042833042883042923042963043023043033043083043133043163043223043233043283043333043373043433043443043493043543043593043653043663043713043763043853043913043923043973044033044053044113044123044173044243044253044313044323044373044443044503044563044573044623044693044763044823044833044883044963044973045033045043045093045173045213045273045283045333045423045453045513045523045573045663045743045803045813045863045953046043046103046113046173046173046203046263046273046333046333046393046453046463046523046533046583046643046653046713046733046753046813046823046883046903046933046993047003047063047083047153047213047223047283047313047313047373047383047443047473047563047623047633047693047733047803047863047873047933047973048053048113048123048183048233048253048313048323048383048433048493048553048563048623048673048733048793048803048863048913048993049053049063049123049173049263049323049333049393049453049483049543049553049613049673049743049803049813049873049933050003050063050073050133050193050283050343050353050413050483050483050543050553050613050683050723050783050793050853050923051003051063051073051133051203051283051343051353051413051493051513051573051583051643051723051753051813051823051883051963052033052093052103052163052253052263052323052333052393052483052493052553052563052623052713052803052863052873052943052943052943053003053013053083053083053123053183053193053263053263053343053403053413053483053483053573053633053643053713053723053733053793053803053873053883053903053963053973054043054053054113054173054183054253054273054273054333054343054413054433054443054503054513054583054603054633054693054703054773054793054833054893054903054973054993055073055133055143055213055243055263055323055333055403055433055463055523055533055603055633055703055763055773055843055873055953056013056023056093056133056153056213056223056293056333056393056453056463056533056573056643056703056713056783056833056893056953056963057033057083057153057213057223057293057353057363057423057433057503057563057613057673057683057753057813057883057943057953058023058093058093058153058163058233058303058313058373058383058453058523058573058633058643058713058783058873058933058943059013059093059103059163059173059243059323059363059423059433059503059583059633059693059703059773059853059943060003060013060083060173060203060263060273060343060433060483060543060553060633060633060633060693060703060783060783060793060853060863060943060943060993061053061063061143061143061233061293061303061383061393061413061473061483061563061573061603061663061673061753061763061803061863061873061953061963062043062103062113062193062213062233062293062303062383062403062453062513062523062603062633062633062693062703062783062813062823062883062893062973063003063053063113063123063203063233063323063383063393063473063513063533063593063603063683063723063793063853063863063943063983064063064123064133064213064263064283064343064353064433064483064543064603064613064693064743064833064893064903064983065043065113065173065183065263065323065403065463065473065553065623065643065703065713065793065863065923065983065993066073066143066233066293066303066383066463066543066603066613066693066773066863066923066933067013067103067133067193067203067283067373067443067503067513067603067603067613067673067683067773067773067813067873067883067973067973068023068083068093068183068183068273068333068343068433068443068473068533068543068633068643068713068773068783068873068893068893068953068963069053069073069083069143069153069243069263069313069373069383069473069493069583069643069653069743069773069803069863069873069963069993070083070143070153070243070283070283070343070353070443070483070523070583070593070683070723070803070863070873070963071013071043071103071113071203071253071323071383071393071483071533071613071673071683071773071833071853071913071923072013072073072133072193072203072293072363072373072433072443072533072603072693072753072763072853072933072933072993073003073093073173073213073273073283073373073453073533073593073603073693073783073813073873073893073893073893073903073963073983073983073983074003074063074083074083074083074143074203074223074223074233074233074293074313074313074323074383074443074463074463074473074543074603074623074623074633074713074773074793074793074813074833074893074913074913074933074993075053075073075073075103075133075193075213075213075243075273075333075353075353075383075423075483075503075503075533075613075673075693075693075733075753075813075833075833075873075963076023076043076043076093076123076183076203076203076253076293076353076373076373076423076503076563076583076583076643076663076723076743076743076803076893076953076973076973077043077073077133077153077153077223077263077323077343077343077413077493077553077573077573077653077673077733077753077753077833077923077983078003078003078093078163078223078243078243078333078413078473078493078503078503078523078583078603078613078613078673078733078753078763078773078803078863078883078893078913078923078983079003079013079033079053079113079133079143079163079223079283079303079313079343079343079403079423079433079463079543079603079623079633079673079673079733079753079763079803079813079873079893079903079943079993080053080073080083080123080213080273080293080303080353080423080483080503080513080563080653080713080733080743080803080803080863080883080893080953080993081053081073081083081143081223081283081303081313081383081443081503081523081533081613081633081693081713081723081803081833081893081913081923082003082073082133082153082163082253082263082323082343082363082363082363082423082443082463082463082473082533082553082573082573082593082653082673082693082693082753082813082833082853082863082863082923082943082963082973083063083123083143083163083183083223083283083303083323083343083393083453083473083493083513083603083663083683083703083733083763083823083843083863083903083923083983084003084023084063084133084193084213084233084273084353084413084433084453084503084523084583084603084623084673084743084803084823084843084893084963085023085043085063085113085183085243085263085283085333085413085473085493085513085573085593085653085673085693085753085823085883085903085923085983086053086113086133086153086223086233086293086313086333086403086423086483086503086523086593086653086713086733086753086833086843086903086923086943087023087033087093087113087133087213087303087363087383087403087493087493087553087573087593087683087723087783087803087823087913088003088063088083088103088193088283088343088363088393088393088463088523088543088573088573088653088713088733088763088773088793088853088873088903088913088983089043089063089093089103089183089243089263089293089313089323089383089403089433089453089473089533089553089583089603089663089723089743089773089803089813089873089893089923089953089973090033090053090083090123090123090183090203090233090273090283090343090363090393090433090483090543090563090593090643090643090703090723090753090803090823090883090903090933090983091023091083091103091133091183091233091293091313091343091393091483091543091563091593091653091693091753091773091803091863091923091983092003092033092093092173092233092253092283092343092433092493092513092543092613092643092703092723092753092823092903092963092983093013093093093093093153093173093203093283093353093413093433093463093543093623093683093703093733093823093843093903093923093953094043094113094173094193094233094233094233094293094313094353094353094383094443094463094503094503094543094603094623094663094663094743094803094823094863094873094903094963094983095023095033095093095153095173095213095233095263095323095343095383095403095443095503095523095563095583095663095723095743095783095813095843095903095923095963095993096053096113096133096173096213096243096303096323096363096403096443096503096523096563096603096683096743096763096803096853096883096943096963097003097053097123097183097203097243097303097303097363097383097423097483097493097553097573097613097673097723097783097803097843097913097913097973097993098033098103098143098203098223098263098333098413098473098493098533098603098693098753098773098813098893098923098983099003099043099123099203099263099283099323099413099433099493099513099563099563099563099623099643099693099693099703099763099783099833099833099883099943099963100013100023100023100083100103100153100163100203100263100283100333100353100373100433100453100503100523100553100613100633100683100703100773100833100853100903100933100953101013101033101083101113101183101243101263101313101353101373101433101453101503101543101573101633101653101703101743101813101873101893101943101993102013102073102093102143102193102263102323102343102393102453102473102533102553102603102663102693102753102773102823102883102953103013103033103083103153103173103233103253103303103373103443103503103523103573103653103713103773103793103843103923103993104053104073104123104213104223104283104303104353104443104503104563104583104643104643104653104713104733104793104803104803104863104883104943104953104963105023105043105103105113105163105223105243105303105323105323105383105403105463105483105543105603105623105683105713105733105793105813105873105903105933105993106013106073106103106173106233106253106313106353106373106433106453106513106553106633106693106713106773106823106873106933106953107013107063107123107183107203107263107323107323107383107403107463107523107573107633107653107713107783107803107863107883107943108013108043108103108123108183108253108293108353108373108433108503108583108643108663108723108803108833108893108913108973109063109063109123109143109203109293109303109363109383109443109533109553109613109633109693109783109843109903109923109993109993110003110063110083110153110153110233110293110313110383110393110453110513110533110603110613110683110743110763110833110853110863110923110943111013111033111093111153111173111243111273111313111373111393111463111493111533111593111613111683111713111763111823111843111913111943112033112093112113112183112223112263112323112343112413112463112483112543112563112633112683112743112803112823112893112943113013113073113093113163113223113233113293113313113383113443113503113563113583113653113723113763113823113843113913113983114063114123114143114213114283114373114433114453114523114603114633114693114713114783114863114943115003115023115093115183115253115313115333115403115493115573115633115653115723115813115903115963115983116063116063116093116153116173116253116253116333116393116413116493116503116573116633116653116733116753116813116873116893116973116993117063117123117143117223117253117263117323117343117423117453117523117583117603117683117713117783117843117863117943117983117983118043118063118143118183118193118253118273118353118393118443118503118523118603118653118663118723118743118823118873118883118943118963119043119093119133119193119213119293119343119393119453119473119553119603119693119753119773119853119913119963120023120043120123120183120243120303120323120403120463120533120593120613120693120753120833120893120913120993121063121083121143121163121243121313121393121453121473121553121623121713121773121793121873121953121963122023122043122123122203122223122283122303122383122463122523122583122603122683122773122793122853122873122953123043123073123133123153123233123323123413123473123493123583123583123583123643123663123753123753123793123853123873123963123973123973124033124053124143124153124163124223124243124333124343124413124473124493124583124593124673124733124753124843124863124883124943124963125053125073125153125213125233125323125353125353125413125433125523125553125593125653125673125763125793125843125903125923126013126043126133126193126213126303126343126393126453126473126563126603126673126733126753126843126893126923126983127003127093127143127183127243127263127353127403127483127543127563127653127713127753127813127833127923127983128053128113128133128223128283128353128413128433128523128583128663128723128743128833128903128923128983129003129093129163129243129303129323129413129493129503129563129583129673129753129763129823129843129933130013130033130093130113130203130283130343130403130423130513130603130623130683130703130793130883130933130993131023131023131023131053131113131143131143131143131183131243131273131273131273131353131413131443131443131453131493131553131583131583131593131673131733131763131763131773131863131923131953131953131973131973132033132063132063132083132123132183132213132213132243132243132303132333132333132363132403132463132493132493132523132613132673132703132703132743132743132803132833132833132873132913132973133003133003133053133053133113133143133143133193133233133293133323133323133373133463133523133553133553133613133613133673133703133703133763133803133863133893133893133963133963134023134053134053134123134173134233134263134263134333134413134473134503134503134573134663134723134753134753134833134863134923134953134953135033135123135183135213135213135303135353135413135443135443135533135603135663135693135693135783135863135923135953135963135963135983136043136073136083136083136163136223136253136263136273136313136373136403136413136433136433136493136523136533136553136563136623136653136663136683136733136793136823136833136863136873136933136963136973137003137073137133137163137173137213137243137303137333137343137383137423137483137513137523137563137643137703137733137743137793137833137893137923137933137993138003138063138093138103138163138223138283138313138323138383138453138513138543138553138623138633138693138723138733138803138873138933138963138973139053139093139153139183139193139283139313139373139403139413139503139543139603139633139643139733139813139873139903139923139923139963140023140053140073140083140103140163140193140213140223140273140333140363140383140393140453140513140543140563140583140583140643140673140693140713140773140833140863140883140913140953141013141043141063141093141163141223141253141273141303141383141443141473141493141533141553141613141643141663141703141783141843141873141893141943142013142073142103142123142173142263142323142353142373142433142433142493142523142543142603142643142703142733142753142823142823142883142913142933143003143093143153143183143203143283143343143403143433143453143533143603143663143693143713143803143813143873143903143923144013144093144153144183144203144293144373144433144463144483144573144663144723144753144783144783144783144843144873144903144903144943145003145033145063145073145083145143145173145203145213145223145283145313145343145353145373145433145463145493145503145533145593145623145653145663145733145793145823145853145873145913145973146003146033146053146103146163146193146223146243146293146353146383146413146433146493146553146583146613146643146643146703146733146763146793146863146923146953146983147013147093147153147183147213147253147293147353147383147413147453147503147563147593147623147663147753147813147843147873147923147983148043148073148103148153148233148293148323148353148403148483148543148573148603148653148743148803148833148863148923148953149013149043149073149143149143149203149233149263149333149353149413149443149473149543149573149633149663149693149763149803149863149893149923149993150073150133150163150193150273150323150383150413150443150523150593150653150683150713150793150873150933150963150993151073151163151223151253151283151373151403151463151493151533151533151533151593151623151663151663151683151743151773151813151813151873151933151963152003152003152073152133152163152203152213152223152283152313152353152363152443152503152533152573152593152593152653152683152723152743152823152883152913152953152973153063153123153153153193153223153253153313153343153383153423153423153483153513153553153593153613153673153703153743153793153803153863153893153933153983154003154063154093154133154183154243154303154333154373154433154463154523154553154593154653154703154763154793154833154903154943155003155033155073155143155193155253155283155323155393155483155543155573155613155693155753155813155843155883155963156053156113156143156183156273156293156353156383156423156513156543156603156633156673156763156833156893156923156973156973157013157073157103157153157153157223157283157313157363157373157413157473157503157553157563157613157673157703157753157763157853157913157943157993158013158073158133158163158213158233158323158383158413158463158493158563158623158653158703158733158813158873158903158953158993159013159073159103159153159193159283159343159373159423159473159493159553159583159633159693159693159753159783159833159893159903159963159993160043160103160153160213160243160293160363160383160443160473160523160593160653160713160743160793160863160953161013161043161093161173161173161233161263161313161393161433161493161523161573161663161673161733161763161813161903161953162013162043162103162103162123162183162213162273162273162303162363162393162453162453162523162583162613162673162683162723162783162813162873162883162963163023163053163113163133163193163253163283163343163363163433163493163523163583163613163623163683163713163773163803163883163943163973164033164073164093164153164183164243164293164293164353164383164443164493164503164563164593164653164703164753164813164843164903164963164983165043165073165133165193165263165323165353165413165483165493165553165583165643165713165733165793165823165883165953166013166073166103166163166243166273166333166363166423166503166583166643166673166733166823166883166943166973167033167123167193167253167283167353167353167363167423167453167523167523167603167663167693167763167773167803167863167893167963167983168003168063168093168163168183168213168273168303168373168393168463168523168553168623168653168693168753168783168853168893168893168953168983169053169093169093169153169183169253169293169303169363169393169463169503169553169613169643169713169763169783169843169873169943169993170073170133170163170233170293170303170363170393170463170523170543170603170633170703170763170823170883170913170983171053171083171143171173171243171313171403171463171493171563171643171703171763171793171863171943172013172073172103172173172263172273172333172363172433172523172603172663172693172773172773172813172873172903172983172993173013173073173103173183173193173223173283173313173393173403173473173533173563173643173663173703173763173793173873173903173903173963173993174073174103174193174253174283174363174403174403174463174493174573174613174653174713174743174823174873174883174943174973175053175103175183175243175273175353175413175463175523175553175633175693175753175813175843175923175993175993176053176083176163176233176303176363176393176473176553176603176663176693176773176853176913176973177003177083177163177233177293177323177403177493177503177563177593177673177763177843177903177933178023178023178083178143178173178263178263178343178403178433178523178523178613178673178703178793178803178833178893178923179013179033179033179093179123179213179233179313179373179403179493179523179533179593179623179713179743179763179823179853179943179973180033180093180123180213180253180283180343180373180463180513180533180593180623180713180763180803180863180893180983181033181083181143181173181263181313181403181463181493181583181643181703181763181793181883181953182003182063182093182183182263182273182333182363182453182533182553182613182643182733182813182873182933182963183053183143183173183233183273183273183273183293183353183393183393183393183483183543183583183583183593183593183653183693183693183703183743183803183843183843183863183873183933183973183973184003184003184063184103184103184133184223184283184323184323184363184363184423184463184463184503184543184603184643184643184693184703184763184803184803184863184863184923184963184963185023185113185173185213185213185283185283185343185383185383185453185493185553185593185593185673185693185753185793185793185873185893185953185993185993186073186123186183186223186223186303186363186423186463186463186553186553186613186653186653186743186823186883186923186923187013187093187153187193187203187203187223187283187323187333187333187363187423187463187473187473187543187603187643187653187663187713187773187813187823187833187883187943187983187993188013188023188083188123188133188153188173188233188273188283188303188363188423188463188473188503188543188603188643188653188683188733188793188833188843188873188953189013189053189063189093189183189243189283189293189333189363189423189463189473189523189533189593189633189643189693189713189773189813189823189873189963190023190063190073190133190133190193190233190243190303190343190403190443190453190523190543190603190643190653190723190753190813190853190863190943190953191013191053191063191143191163191223191263191273191353191413191473191513191523191613191653191713191753191763191853191913191973192013192023192113192183192243192283192293192383192463192523192563192583192583192603192663192703192723192733192733192793192833192853192863192883192943192983193003193013193083193143193183193203193213193293193353193393193413193433193453193513193553193573193603193603193663193703193723193753193773193833193873193893193933193943194003194043194063194103194123194183194223194243194283194343194403194443194463194513194553194613194653194673194723194793194853194893194913194963195033195093195133195153195203195283195343195383195403195463195483195543195583195603195673195673195733195773195793195863195893195953195993196013196083196143196203196243196263196333196403196463196503196523196603196613196673196713196733196813196903196963197003197023197113197133197193197233197263197263197263197323197363197393197393197403197463197503197533197533197583197643197683197713197723197753197813197853197883197893197963198023198063198093198103198193198253198293198323198343198343198403198443198473198493198533198593198633198663198693198713198773198813198843198873198933198993199033199063199093199183199243199283199313199353199353199413199453199483199523199563199623199663199693199743199763199823199863199893199943200003200063200103200133200193200213200273200313200343200403200433200493200533200563200623200693200753200793200823200893200943201003201043201073201153201153201213201253201283201363201383201443201483201513201593201623201683201723201753201833201903201963202003202033202123202173202233202273202313202313202313202373202413202453202453202513202573202613202653202653202723202783202823202863202873202883202943202983203023203033203123203183203223203263203283203323203383203423203463203493203503203563203603203643203673203693203753203793203833203863203923203983204023204063204103204143204203204243204283204333204333204393204433204473204523204533204593204633204673204723204743204803204843204883204933204993205053205093205133205193205233205293205333205373205443205443205503205543205583205653205703205763205803205843205913205973206033206073206113206193206193206253206293206333206413206493206553206593206633206723206763206823206863206913206913206943207003207043207093207093207133207193207233207283207283207363207423207463207513207523207583207643207683207733207753207783207843207883207933207953207983208043208083208133208153208193208253208293208343208363208443208503208543208593208623208683208743208783208833208873208903208963209003209053209093209163209223209263209313209353209433209493209533209583209633209653209713209753209803209863209863209923209963210013210073210153210213210253210303210373210383210443210483210533210603210623210683210723210773210843210903210963211003211053211133211173211233211273211323211413211433211493211533211583211673211763211823211863211923211923211923211983212023212083212083212123212183212223212283212293212313212373212413212473212493212493212553212593212653212673212753212813212853212913212933213023213083213123213183213213213243213303213343213403213443213453213513213553213613213663213663213723213763213823213873213903213963214003214063214113214153214213214253214313214363214443214503214543214603214663214723214783214823214883214953215003215063215103215163215233215313215373215413215473215543215633215693215733215793215873215903215963216003216063216153216163216223216263216333216333216333216393216433216503216503216573216633216673216743216743216823216883216923216993217003217023217083217123217193217213217213217273217313217383217403217493217553217593217663217693217763217823217863217933217963218043218103218143218213218253218273218333218373218443218493218503218563218603218673218723218733218793218833218903218953218993219053219093219163219213219263219323219363219433219483219573219633219673219743219803219883219943219983220053220113220193220253220293220363220433220453220513220553220623220693220723220783220823220893220963221033221093221133221203221283221343221403221443221513221593221653221713221753221823221913221953222013222053222123222213222263222323222363222433222523222613222673222713222793222793222873222933222973223053223053223133223193223233223313223323223393223453223493223573223583223663223723223763223843223863223883223943223983224063224093224103224163224203224283224313224333224393224433224513224543224603224663224703224783224813224883224943224983225063225103225113225173225213225293225343225343225403225443225523225573225593225653225693225773225823225873225933225973226053226103226163226223226263226343226403226403226463226503226583226643226733226793226833226913226983226993227053227093227173227243227323227383227423227503227573227663227723227763227843227923227953228013228053228133228223228243228303228343228423228513228553228613228653228743228743228763228823228863228953228953228983229043229083229173229173229243229303229343229433229443229503229563229603229693229703229793229853229893229983230003230033230093230133230223230243230283230343230383230473230493230573230633230673230763230793230863230923230963231053231093231103231163231203231293231333231363231423231463231553231593231633231693231733231823231863231943232003232043232133232183232253232313232353232443232503232513232573232613232703232763232833232893232933233023233083233163233223233263233353233423233443233503233543233633233713233723233783233823233913233993234043234103234143234233234323234343234403234443234533234623234653234713234753234843234933235003235063235113235113235113235173235233235283235283235293235303235363235413235413235423235463235523235573235573235583235633235693235743235743235753235843235903235953235953235973236053236113236163236163236193236233236293236343236343236373236433236493236543236543236573236643236703236753236753236793236803236863236913236913236963236963237023237073237073237123237183237243237293237293237353237373237433237483237483237543237573237633237683237683237743237813237873237923237923237993238053238113238163238163238243238263238323238373238373238453238543238603238653238653238743238743238803238853238853238943238983239043239093239103239103239133239193239243239253239263239263239323239373239383239393239433239493239543239553239563239613239673239723239733239743239833239893239943239953239973240053240113240163240173240203240253240313240363240373240403240493240553240603240613240653240653240713240763240773240813240853240913240963240973241023241053241113241163241173241233241233241293241343241353241413241493241553241603241613241673241763241823241873241883241953241983242043242093242103242183242203242263242313242323242403242493242553242603242613242703242783242843242893242903242993243083243143243193243213243213243243243303243353243373243383243403243463243513243533243553243553243613243663243683243703243763243823243873243893243913243983244043244093244113244143244153244213244263244283244323244323244383244433244453244493244583244643244693244713244763244803244863244913244933244983245033245093245143245163245213245303245363245413245433245493245573245633245683245703245773245843245903245953245973246053246113246173246223246243246323246393246453246503246523246613246633246693246743246763246853246873246933246983247003247093247113247173247223247243247333247353247413247463247483247573247603247663247713247733247823247903247963248013248033248123248203248263248313248333248423248503248563248613248643248643248703248763248813248843248843248913248973249023249053249063249083249143249193249223249233249253249313249363249393249403249423249483249533249563249583249593249653249703249733249753249773249833249883249913249933250003250063250113250143250163250233250293250343250373250393250473250533250583250613250643250653250713250763250793250823250843250903250953250983251013251083251143251193251223251253251323251383251433251463251493251573251633251683251713251753251773251833251883251913251953251983252043252093252123252163252243252303252353252383252423252503252563252613252643252693252693252753252803252833252883252903252963253013253043253093253123253183253233253263253313253393253453253503253533253583253663253723253773253803253863253863253923253973254003254063254103254163254213254243254303254353254413254463254493254563254563254623254673254703254773254773254833254883254913254983255003255063255113255143255223255223255283255333255363255443255453255513255563255593255673255733255793255843255873255953256013256073256123256153256233256313256373256423256453256543256613256673256723256753256843256923256983257033257073257073257103257163257213257253257253257283257343257393257433257433257493257553257603257643257653257683257743257793257833257843257883257943257993258033258043258133258193258243258283258293258383258443258493258533258553258583258643258693258733258753258783258843258893258933258953258993259053259103259143259163259253259313259363259403259423259513259573259623259663259693259723259783259833259873259903259973260033260083260123260153260233260293260343260383260423260453260513260563260603260643260673260733260783260823260863260933260993261043261083261133261153261213261263261303261353261383261443261493261533261583261663261723261773261813261863261943262003262053262093262153262183262243262293262333262393262463262523262573262613262673262753262813262863262903262973263003263063263113263153263223263253263313263363263403263473263553263613263663263703263783263823263883263933263973264053264103264163264213264253264343264343264403264453264493264583264583264643264693264733264823264883264943264993265033265123265183265243265293265333265423265493265553265603265653265653265673265733265783265833265833265853265913265963266013266013266093266153266203266253266253266343266403266453266503266513266513266573266623266673266683266733266793266843266893266903266953267013267063267113267133267153267213267263267313267333267353267413267463267513267533267563267623267673267723267743267823267883267933267983268003268083268143268193268243268273268323268383268433268483268513268603268663268713268763268803268803268863268913268963269003269053269113269163269213269253269303269363269413269463269513269533269593269643269693269753269753269813269863269913269973269983270043270093270143270203270263270323270373270423270483270543270603270653270703270773270803270863270913270963271043271063271123271173271223271303271333271393271443271493271573271653271713271763271813271893271973272033272083272133272223272283272343272393272453272453272493272553272603272663272663272713272773272823272883272893272893272953273003273063273073273073273133273183273243273253273343273403273453273513273533273553273613273663273723273743273773273833273883273943273963274043274103274153274213274233274313274373274423274483274513274583274643274693274753274793274833274893274943275003275043275093275153275203275263275313275313275373275423275483275533275533275593275643275703275753275843275903275953276013276073276143276203276253276313276373276453276513276563276623276693276723276783276833276893276963277003277063277113277173277243277283277343277393277453277533277543277603277653277713277793277813277873277923277983278063278133278193278243278303278383278463278523278573278633278713278803278863278913278973279063279083279143279193279253279343279373279433279483279543279633279713279773279823279883279973280063280123280173280243280243280243280303280353280423280423280493280553280603280673280673280753280813280863280933280943280973281033281083281153281163281203281263281313281383281393281443281503281553281623281643281683281743281793281863281883281933281993282043282113282143282143282203282253282323282353282363282423282473282543282573282593282653282703282773282813282823282883282933283003283043283063283123283173283243283283283353283413283463283533283573283653283713283763283833283883283883283943283993284063284113284153284213284263284333284383284433284493284543284613284673284673284733284783284853284913284923284983285033285103285163285193285253285303285373285443285453285513285563285633285703285723285783285833285903285973286043286103286153286223286293286373286433286483286553286633286643286703286753286823286903286913286973287023287093287173287193287253287303287373287453287523287583287633287703287783287863287923287973288043288133288143288203288253288323288413288433288493288543288613288703288733288793288843288913289003289083289143289193289263289353289443289503289553289633289633289653289713289763289843289843289883289943289993290073290073290123290183290233290313290323290323290383290433290513290523290533290593290643290723290733290773290833290883290963290983290983291043291093291173291193291203291263291313291393291413291473291533291583291663291683291753291813291863291943291973291973292033292083292163292193292273292333292383292463292493292583292643292693292773292813292853292913292963293043293083293133293193293243293323293363293443293503293553293633293683293753293813293863293943293993294073294133294183294263294323294353294413294463294543294603294643294703294753294833294893294973295033295083295163295223295313295373295423295503295573295573295633295683295763295833295883295943295993296073296143296203296263296313296393296473296473296533296583296663296743296793296853296903296983297063297123297183297233297313297403297413297473297523297603297693297713297773297823297903297993298053298113298163298253298253298283298343298393298483298483298523298583298633298723298723298813298873298923299013299023299023299083299133299223299233299273299333299383299473299493299513299573299623299713299733299763299823299873299963299983300063300123300173300263300283300373300433300483300573300603300643300703300753300843300873300923300983301033301123301153301213301273301323301413301453301463301523301573301663301703301723301783301833301923301963302033302093302143302233302283302303302363302413302503302553302583302643302693302783302833302913302973303023303113303163303253303313303363303453303513303553303613303663303753303823303833303893303943304033304103304123304183304233304323304393304463304523304573304663304733304813304873304923305013305093305123305183305233305323305413305433305493305543305633305723305753305813305863305953306043306123306183306233306323306413306503306563306623306623306623306673306733306793306793306793306853306913306973306973306973307043307103307163307163307173307193307253307313307313307323307353307413307473307473307483307573307633307693307693307713307753307813307873307873307893307943308003308063308063308093308093308153308213308213308243308253308313308373308373308403308473308533308593308593308633308673308733308793308793308833308883308943309003309003309053309053309113309173309173309223309233309293309353309353309403309483309543309603309603309653309733309793309853309853309903309993310053310113310113310173310213310273310333310333310393310443310503310563310563310633310653310713310773310773310843310873310933310993310993311063311103311163311223311223311293311383311443311503311503311583311583311643311703311703311783311853311913311973311973312063312083312143312203312203312293312323312383312443312443312533312613312673312733312733312823312913312973313033313043313043313103313163313223313233313243313273313333313393313403313413313453313513313573313583313593313683313743313803313813313833313833313893313953313963313983314063314123314183314193314213314293314353314413314423314443314533314593314653314663314693314733314793314853314863314893314943315003315063315073315113315143315203315263315273315313315363315423315483315493315533315593315653315713315723315773315783315843315903315913315963315983316043316103316113316173316173316233316293316303316363316423316483316543316553316613316683316743316803316813316883316903316963317023317033317103317133317193317253317263317343317353317413317473317483317563317653317713317773317783317873317873317933317993318003318093318143318203318263318273318363318423318483318543318563318563318613318673318733318753318753318813318873318933318953318953319023319083319143319163319173319193319253319313319333319343319373319433319493319513319533319553319613319673319693319713319783319843319903319923319943320023320083320143320163320193320223320283320343320363320393320433320493320553320573320613320643320703320763320783320833320853320913320973320993321043321073321133321193321213321263321343321403321463321483321543321543321603321663321683321743321743321803321863321883321943321953322013322073322093322153322173322233322293322313322373322443322503322563322583322643322733322793322853322873322933323023323083323143323163323233323263323323323383323403323473323513323573323633323653323723323813323873323933323953324033324043324103324163324183324263324273324333324393324413324493324583324643324703324723324813324813324873324933324953325043325093325153325213325233325323325393325453325513325533325623325703325763325823325853325853325853325913325973326003326003326013326073326133326163326163326223326283326343326373326373326453326513326573326603326603326693326753326813326843326853326883326943327003327033327043327083327143327203327233327243327333327393327453327483327503327513327573327633327663327683327703327763327823327853327873327963328023328083328113328143328143328203328263328293328323328373328433328493328523328553328623328683328743328773328803328893328953329013329043329083329123329183329243329273329313329363329423329483329513329563329563329623329683329713329763329783329843329903329933329983330023330083330143330173330233330263330323330383330413330473330513330573330633330663330723330813330873330933330963331033331043331103331163331193331263331303331363331423331453331523331573331633331693331723331793331853331913331973332003332083332093332153332213332243332323332353332413332473332503332583332643332703332763332793332883332883332943333003333033333123333133333193333253333283333373333433333493333553333583333673333753333813333873333913333913333933333993334053334093334093334143334203334263334303334303334363334423334483334523334533334543334603334663334703334713334743334803334863334903334913334983335043335103335143335163335203335263335323335363335383335433335493335553335593335623335623335683335743335783335813335833335893335953335993336023336083336143336203336243336283336333336393336453336493336533336593336653336713336753336803336813336873336933336973337023337053337113337173337213337263337343337403337463337503337563337573337633337693337733337793337813337873337933337973338033338103338163338223338263338323338413338473338533338573338643338683338743338803338843338913338993339053339113339153339223339313339373339433339473339553339593339653339713339753339833339893339953340013340053340143340153340213340273340313340403340493340553340613340663340663340663340723340783340833340833340883340943341003341053341053341123341183341243341293341303341333341393341453341503341513341543341603341663341713341723341763341823341883341933341943342033342093342153342203342223342233342293342353342403342423342493342553342613342663342693342703342763342823342873342903342923342983343043343093343123343193343253343313343363343393343483343543343603343653343693343743343803343863343913343963343963344023344083344133344183344193344253344313344363344413344473344533344593344643344693344773344833344893344943345003345043345103345163345213345283345313345373345433345483345553345593345653345713345763345833345923345983346043346093346173346183346243346303346353346433346513346573346633346683346763346853346913346973347023347113347113347173347233347283347373347423347483347543347593347683347753347813347873347933347933347973348033348093348153348153348243348303348363348423348433348433348493348553348613348623348673348733348793348853348863348933348993349053349113349133349183349243349303349363349383349473349533349593349653349683349683349743349803349863349893349943350003350063350123350153350223350283350343350403350443350493350553350613350673350723350753350813350873350933350983351023351083351143351203351253351343351403351463351523351583351593351653351713351773351843351843351903351963352023352093352093352153352213352273352343352353352413352473352533352603352663352723352783352843352913352993353053353113353173353253353323353383353443353503353593353613353673353733353793353883353913353973354033354093354183354263354323354383354453354453354453354513354573354643354643354733354793354853354923354933354973355033355093355163355173355223355283355343355413355433355433355493355553355623355643355663355723355783355853355883355893355953356013356083356123356123356183356243356313356353356363356423356483356553356593356653356713356773356843356883356973357033357093357163357203357293357353357413357483357533357533357593357653357723357773357783357843357903357973358023358083358143358203358273358323358413358473358533358603358653358743358803358863358933358993359043359103359163359233359293359353359413359473359543359613359623359683359743359813359883359923359983360043360113360183360223360283360343360413360493360513360573360633360703360783360813360873360933361003361083361163361223361283361353361443361453361513361573361643361733361753361813361873361943362033362073362133362193362263362353362403362463362523362603362603362603362663362723362803362803362833362893362953363033363033363073363133363193363273363273363353363413363473363553363553363643363703363763363843363853363893363953364013364093364103364173364233364293364373364383364463364523364583364663364683364753364813364873364953364973365053365113365173365253365283365313365373365433365513365543365603365663365723365803365833365913365973366033366113366153366153366213366273366353366393366403366463366523366603366643366703366763366823366903366943367033367093367153367233367283367293367353367413367493367543367613367673367733367813367863367943368003368063368143368203368233368293368353368433368493368553368613368673368753368813368893368953369013369093369163369223369283369343369423369493369563369623369683369763369843369863369923369983370063370143370193370253370313370393370473370553370613370673370753370843370853370913370973371053371143371163371223371283371363371453371523371583371643371733371733371733371793371853371943371943371973372033372093372183372193372193372253372313372403372413372423372483372543372633372643372703372763372823372913372923373013373073373133373223373243373273373333373393373483373503373543373603373663373753373773373823373883373943374033374063374063374123374183374273374303374333374393374453374543374573374643374703374763374853374893374893374953375013375103375143375153375213375273375363375403375463375523375583375673375713375803375863375923376013376063376093376153376213376303376363376373376433376493376583376643376663376723376783376873376933377003377063377123377213377283377283377343377403377493377563377613377673377733377823377893377973378033378093378183378253378343378403378463378553378633378673378733378793378883378963379033379093379153379243379333379353379413379473379563379653379743379803379873379873379873379873379933380003380003380003380053380113380183380183380183380263380323380393380393380403380433380493380563380563380583380603380663380733380733380753380783380843380913380913380933381013381073381143381143381173381183381243381313381313381343381413381473381543381543381583381593381653381723381723381763381783381843381913381913381953382023382083382153382153382203382203382263382333382333382383382453382513382583382583382633382713382773382843382843382893382983383043383113383113383173383213383273383343383343383403383473383533383603383603383673383713383773383843383843383913384003384063384133384133384213384213384273384343384343384423384473384533384603384603384683384763384823384893384893384983385033385093385163385173385173385193385253385323385333385333385363385423385493385503385503385583385643385713385723385733385743385803385873385883385893385983386043386113386123386143386153386213386283386293386313386333386393386463386473386493386563386623386693386703386733386733386793386863386873386903386993387053387123387133387163387253387313387383387393387433387433387493387563387573387613387663387723387793387803387843387923387983388053388063388113388183388243388313388323388383388393388453388523388533388593388613388673388743388753388813388883388943389013389023389093389093389153389223389233389303389393389453389523389533389613389663389723389793389803389883389943390003390073390083390173390183390243390313390323390413390463390523390593390603390693390743390803390873390883390973391043391103391173391183391273391353391413391483391503391503391533391593391663391683391683391753391813391883391903391903391973392033392103392123392133392183392243392313392333392343392403392463392533392553392573392583392643392713392733392753392803392863392933392953392973393033393093393163393183393203393283393343393413393433393453393543393603393673393693393723393763393823393893393913393943394023394083394153394173394203394293394353394423394443394483394513394573394643394663394703394743394803394873394893394933395023395083395153395173395223395253395313395383395403395453395503395563395633395653395703395753395813395883395903395953396013396073396143396163396223396233396293396363396383396443396493396553396623396643396703396773396833396903396923396993397033397093397163397183397253397303397363397433397453397533397533397593397663397683397763397803397863397933397953398033398103398163398233398253398333398413398473398543398563398643398733398793398863398883398973399013399073399143399163399253399333399393399463399493399493399503399563399633399663399663399703399763399833399863399863399913399973400043400073400083400083400143400213400243400253400293400353400423400453400463400533400593400663400693400713400773400833400903400933400953401023401083401153401183401213401233401293401363401393401423401483401543401613401643401683401683401743401813401843401883401963402023402093402123402163402253402313402383402413402463402503402563402633402663402713402793402853402923402953403013403043403103403173403203403263403313403373403443403473403533403593403653403723403753403823403833403893403963403993404063404113404173404243404273404353404353404413404483404513404593404633404693404763404793404873404923404983405053405083405173405173405233405303405333405423405463405523405593405633405633405633405693405763405803405803405813405873405943405983405983406003406063406133406173406173406243406303406373406413406423406433406493406563406603406613406683406743406813406853406863406953407013407083407123407143407143407203407273407313407333407383407443407513407553407573407663407723407793407833407863407913407973408043408083408123408133408193408263408303408343408363408423408493408533408573408643408703408773408813408863408873408933409003409043409093409163409223409293409333409393409443409503409573409613409673409733409793409863409903409973409983410043410113410153410223410273410333410403410443410523410543410603410673410713410793410863410923410993411033411113411193411253411323411363411453411483411543411613411653411743411813411873411943411993411993412033412093412163412213412223412243412303412373412423412433412463412523412593412643412653412733412793412863412913412933412953413013413083413133413163413163413223413293413343413373413393413453413523413573413603413633413693413763413813413843413923413983414053414103414143414163414223414293414343414393414393414453414523414573414623414663414723414793414843414893414943415003415073415123415183415183415243415313415363415423415463415523415593415643415713415743415803415873415923415993416033416093416163416213416283416333416393416463416513416593416593416653416723416773416853416893416953417023417073417163417193417253417323417373417463417543417603417673417723417813417903417963418033418093418093418133418193418263418323418323418403418463418533418593418603418673418733418803418863418883418943419003419073419133419153419223419283419353419413419443419463419523419593419653419683419753419813419883419943419973420043420103420173420233420263420343420403420473420533420563420653420713420783420843420883420923420983421053421113421153421243421303421373421433421473421563421623421693421753421803421873421933422003422063422113422193422253422323422383422443422473422533422603422663422723422803422863422933422993423053423143423203423273423333423403423433423493423563423623423693423733423793423863423923423993424083424143424213424273424353424393424453424523424583424663424713424773424843424903424993425023425083425153425213425303425343425403425473425533425623425713425773425843425913425913425953426013426083426153426153426213426273426343426413426413426473426533426603426673426673426743426803426873426943426953426973427033427103427173427183427253427313427383427453427463427553427613427683427753427773427833427893427963428033428053428123428183428253428323428353428373428433428503428573428603428673428733428803428873428913428913428973429043429113429153429203429263429333429403429443429503429563429633429703429753429763429823429893429963430013430073430133430203430273430323430413430473430543430613430673430753430813430883430953431013431103431163431233431303431373431413431473431543431613431683431773431833431903431973432053432083432143432213432283432363432403432463432533432603432683432733432793432863432933433023433023433083433153433223433313433363433423433493433563433653433743433803433873433953433953434033434093434163434243434243434333434393434463434543434553434593434653434723434803434813434903434963435033435113435133435173435233435303435383435403435473435533435603435683435703435783435843435913435993436023436053436113436183436263436293436373436433436503436583436623436653436713436783436863436913436913436973437043437123437173437183437243437313437393437443437503437563437633437713437773437783437843437913437993438053438113438173438243438323438393438443438503438573438653438723438783438843438913438993439073439083439143439213439293439373439433439493439563439643439733439753439813439883439963440053440143440203440273440363440363440363440423440493440583440583440633440693440763440853440863440863440923440993441083441093441163441223441293441383441393441483441543441613441703441723441723441783441853441943441963442013442073442143442233442263442263442323442393442483442513442583442643442713442803442843442873442933443003443093443133443173443233443303443393443433443523443583443653443743443793443833443893443963444053444113444123444183444253444343444403444493444553444623444713444783444783444843444913445003445073445123445183445253445343445423445423445483445553445643445723445803445863445933446023446113446153446213446283446373446463446513446573446653446653446653446653446713446793446793446793446843446903446983446983446993447033447093447173447173447183447253447313447393447393447403447483447543447623447623447643447673447733447813447813447833447913447973448053448053448083448153448213448293448293448333448373448433448513448513448553448603448663448743448743448793448793448853448933448933448983449033449093449173449173449233449273449333449413449413449483449513449573449653449653449723449763449823449903449903449973450063450123450203450203450283450333450393450473450473450553450603450663450743450743450833450853450913450993450993451083451113451173451253451253451343451423451483451563451573451573451613451673451753451763451763451813451873451953451963451973451983452043452123452133452143452163452223452303452313452323452393452453452533452543452563452593452653452733452743452763452813452873452953452963452983453033453093453173453183453203453263453323453403453413453443453453453513453593453603453633453703453763453843453853453883453973454033454113454123454163454173454233454313454323454363454383454443454523454533454573454643454703454783454793454843454873454933455013455023455073455133455193455273455283455333455403455463455543455553455603455683455743455823455833455893455923455983456063456073456133456223456283456363456373456443456463456523456603456613456683456763456823456903456913456983457073457133457213457223457303457343457403457483457493457583457583457643457723457733457823457863457923458003458013458103458143458203458283458293458383458433458493458573458593458593458593458653458733458753458753458813458873458953458973458983458983459043459123459143459153459173459233459313459333459343459373459433459513459533459543459623459683459763459783459803459843459903459983460003460023460113460173460253460273460303460303460363460443460463460493460503460563460643460663460693460753460813460893460913460953460973461033461113461133461173461243461303461383461403461453461493461553461633461653461703461753461813461893461913461973461973462033462113462133462193462253462313462393462413462483462503462563462643462663462733462763462823462903462923462993463033463093463173463193463263463353463413463493463513463593463643463703463783463803463893463903463963464043464063464153464193464253464333464353464443464493464553464633464663464663464663464723464803464833464833464893464953465033465063465073465103465163465243465273465283465333465393465473465503465513465573465633465713465743465763465773465833465913465943465963466033466093466173466203466233466283466343466423466453466483466533466593466673466703466733466793466853466933466963467003467013467073467153467183467223467293467353467433467463467513467563467623467703467733467783467873467933468013468043468103468103468163468243468273468333468383468443468523468553468623468633468693468773468803468873468963469023469103469133469213469273469333469413469443469523469593469653469733469763469853469873469933470013470043470133470213470273470353470393470393470453470513470593470633470643470673470733470813470853470863470903470963471043471083471093471183471243471323471363471383471433471493471573471613471643471673471733471813471853471893471903471963472043472083472123472143472203472283472323472363472433472493472573472613472663472693472753472833472873472933472953473013473093473133473193473233473293473373473413473473473523473583473663473703473773473773473833473913473953474023474083474143474223474263474343474393474453474533474573474663474663474723474803474843474933474943475003475083475123475213475273475333475413475463475463475483475543475623475673475683475693475753475833475883475893475953476013476093476143476153476223476283476363476413476433476453476513476593476643476663476743476803476883476933476963477033477093477173477223477263477293477353477433477483477523477563477623477703477753477793477883477943478023478073478123478183478243478323478373478423478483478543478623478673478723478783478843478923478973479023479093479153479233479283479343479363479423479503479553479613479703479763479843479893479953480043480103480183480233480303480323480383480463480513480583480613480673480753480803480873480953481013481093481143481223481273481333481413481463481543481593481653481733481783481863481943482003482083482133482213482303482363482443482493482583482623482683482763482823482823482833482893482973483033483033483043483103483183483243483243483303483363483443483503483503483573483633483713483773483783483803483863483943484003484013484103484163484243484303484313484403484463484543484603484623484703484763484843484903484923485013485073485153485213485243485283485343485423485483485523485533485593485673485733485773485793485853485933485993486033486073486133486213486273486313486363486423486503486563486613486613486673486753486813486863486933486993487073487133487183487263487323487403487463487523487523487583487663487723487783487793487853487933487993488053488113488173488253488313488383488413488473488553488613488683488723488783488863488923489003489003489063489143489203489283489293489353489433489493489573489633489693489773489833489923489953490013490093490153490243490293490353490433490493490583490633490693490773490833490923490983491043491123491193491193491203491263491343491413491413491493491553491633491703491713491713491773491853491923491933491963492023492103492173492183492223492283492363492433492443492533492593492673492743492763492823492883492963493033493053493133493193493273493343493373493383493443493523493593493623493643493703493783493853493883493953494013494093494163494203494243494303494383494453494493494563494623494703494773494813494883494943495023495093495133495213495273495353495423495473495503495563495643495713495773495773495833495913495983496043496073496133496213496283496343496413496473496553496623496683496763496823496903496973497043497073497133497213497283497363497363497423497503497573497653497683497743497823497893497983497983498043498123498193498283498293498353498433498503498593498653498713498793498873498873498903498963499043499123499123499183499243499323499403499413499453499513499593499673499683499733499793499873499953499973499973500033500113500193500213500283500343500423500503500533500533500593500673500753500783500873500933501013501093501133501133501193501273501353501393501443501503501583501663501713501733501793501873501953502003502063502123502203502283502333502423502483502563502643502703502703502763502843502923502983503033503093503173503253503323503343503403503483503563503633503693503753503833503913503993504013504073504153504233504313504343504403504483504563504643504723504783504863504943505033505083505143505223505303505393505483505543505623505713505713505773505833505913506003506003506073506133506213506303506313506333506393506473506563506573506663506723506803506893506913506943507003507083507173507203507223507283507363507453507483507513507573507653507743507773507853507913507993508083508123508173508233508313508403508453508453508513508593508683508733508763508823508903508993509043509083509143509223509313509363509453509513509593509683509743509803509863509943510033510103510113510173510253510343510413510483510543510623510713510783510863510923511003511093511173511203511263511343511433511523511523511583511663511753511843511893511953512043512043512043512063512123512213512213512213512243512303512393512393512393512473512533512623512623512633512683512743512833512833512853512863512923513013513013513033513053513113513203513203513223513253513313513403513403513423513503513563513653513653513683513733513793513883513883513923513933513993514083514083514123514183514243514333514333514373514443514503514593514593514643514663514723514813514813514863514953515013515103515103515163515213515273515363515363515433515463515523515613515613515683515723515783515873515873515943516033516093516183516183516263516323516383516473516473516563516583516643516733516743516743516753516813516903516913516913516933516993517083517093517093517163517223517313517323517333517373517433517523517533517553517563517623517713517723517743517813517873517963517973517993518073518133518223518233518263518293518353518443518453518493518493518553518643518653518693518773518833518923518933518973519053519113519203519213519253519343519403519493519503519553519593519653519743519753519813519823519883519973519983520043520133520193520283520293520363520383520443520533520543520613520643520703520793520803520873520953521013521103521113521193521243521303521393521403521493521523521583521673521683521773521853521913522003522013522103522193522253522343522363522363522403522463522553522573522583522593522653522743522763522773522863522923523013523033523053523123523183523273523293523313523393523453523543523563523593523623523683523773523793523833523833523893523983524003524043524133524193524283524303524353524363524423524513524533524583524603524663524753524773524823524893524953525043525063525123525163525223525313525333525403525433525493525583525603525673525753525813525903525923525993526083526143526233526253526333526373526433526523526543526633526643526703526793526823526823526823526883526973527003527003527073527133527223527253527253527333527393527483527513527523527553527613527703527733527753527763527823527913527943527963527973528033528123528153528173528193528253528343528373528393528423528483528573528603528623528703528763528853528883528913528973529033529123529153529183529243529303529393529423529463529473529533529623529653529693529713529773529863529893529933530003530063530153530183530233530283530343530433530463530513530563530623530713530743530803530833530893530983531013531073531113531173531263531293531353531443531503531593531623531693531763531823531913531943532013532093532153532243532273532343532423532483532573532603532673532763532823532913532943533023533063533123533213533243533333533353533413533503533533533623533653533713533803533833533923534013534073534163534203534203534203534263534353534393534393534443534503534593534633534643534673534733534823534863534873534923534983535073535113535123535173535233535323535363535373535433535493535583535623535643535653535713535803535843535863535953536013536103536143536173536183536243536333536373536403536443536503536593536633536663536713536773536863536903536943536943537003537093537133537173537253537313537403537443537493537493537553537643537683537733537793537853537943537983538033538103538163538253538293538353538373538433538523538563538633538633538693538783538823538893538913538973539063539103539173539253539313539403539443539513539603539663539753539793539873539913539973540063540103540193540213540273540363540403540493540543540603540693540733540823540873540933541023541063541153541213541273541363541413541413541423541483541573541623541623541713541773541863541913541923541943542003542093542143542153542203542263542353542403542413542473542533542623542673542693542703542763542853542903542923543013543073543163543213543243543263543323543413543463543493543573543633543723543773543803543893543953544043544093544133544173544233544323544373544423544443544503544593544643544693544743544803544893544943545003545013545073545163545213545273545293545353545443545493545553545623545683545773545823545893545943546003546093546143546213546303546363546453546503546573546663546723546813546863546943546943547003547093547143547223547273547333547423547473547563547593547653547743547793547883547953548013548103548163548163548163548223548313548373548373548383548443548533548593548593548653548713548803548863548873548913548973549063549123549133549213549273549363549423549443549483549543549633549693549713549763549823549913549973550003550003550063550153550213550243550323550383550473550533550573550593550653550743550803550843550933550993551083551143551193551193551253551343551403551453551503551563551653551713551773551803551863551953552013552073552153552213552303552363552423552513552573552663552723552793552793552853552943553003553073553123553183553273553333553413553443553503553593553653553733553813553873553963554023554113554133554193554283554343554433554463554523554613554673554763554843554903554993555063555063555123555183555273555343555353555363555423555513555583555593555673555733555823555893555903555993556053556143556213556233556273556333556423556493556523556543556603556693556763556793556873556933557023557093557123557203557263557353557423557453557543557603557693557763557803557843557903557993558063558113558133558193558283558353558403558483558543558633558703558763558783558843558933559003559063559093559153559243559313559373559453559513559603559673559743559803559863559953560023560103560123560183560273560343560423560513560573560663560733560823560823560883560973561043561133561183561243561333561413561413561443561503561593561673561683561683561743561833561913561923561923561983562073562153562163562173562233562323562403562413562473562533562623562703562723562763562823562913562993563023563033563093563183563263563293563373563433563523563603563633563723563783563873563953563993564033564093564183564263564313564333564393564483564563564623564623564683564773564853564913564923564983565073565153565213565233565293565383565463565523565593565653565743565823565893565943566003566093566173566253566283566343566433566513566593566663566723566813566893566973567053567113567203567283567373567403567463567553567643567643567653567713567803567893567893567983568043568133568223568233568303568363568453568543568553568633568693568783568873568893568923568983569073569163569193569203569263569353569443569473569563569623569713569803569843569923569983570073570163570203570293570353570443570533570583570623570683570773570863570923570943571003571093571183571253571263571323571413571503571573571613571673571763571853571923571973572033572123572213572293572293572353572443572533572613572693572753572843572933573023573093573163573163573163573163573193573263573263573263573263573303573373573373573373573373573463573533573533573533573543573623573693573693573693573703573783573853573853573853573863573943574013574013574013574023574113574183574183574183574203574243574313574313574313574343574373574443574443574443574473574503574573574573574573574603574653574723574723574723574753574813574883574883574883574923574933575003575003575003575053575053575123575123575123575173575173575243575243575243575293575353575423575423575423575473575543575613575613575613575673575693575763575763575763575833575843575913575913575913575983575993576063576063576063576143576143576213576213576213576293576303576373576373576373576453576513576583576583576583576673576723576793576793576793576883576943577013577013577013577103577193577263577263577273577273577273577343577343577353577353577403577473577473577483577493577533577603577603577613577623577673577743577743577753577773577793577863577863577873577893577923577993577993578003578023578103578173578173578183578213578283578353578353578363578393578483578553578553578563578603578603578673578673578683578723578733578803578803578813578853578913578983578983578993579043579093579163579163579173579223579293579363579363579373579433579443579513579513579523579583579603579673579673579683579743579813579883579883579893579963580023580093580093580103580173580253580323580323580333580413580473580543580543580553580633580703580773580773580783580873580893580963580963580983580983580993581063581063581083581083581123581193581193581213581223581223581293581293581313581323581333581403581403581423581433581493581563581563581583581603581653581723581723581743581763581853581923581923581943581963582053582123582123582143582173582173582243582243582263582293582343582413582413582433582473582513582583582583582603582643582723582793582793582813582863582873582943582943582963583013583033583103583103583123583173583243583313583313583333583393583453583523583523583543583613583613583683583683583703583773583853583923583923583943584013584103584173584173584193584273584313584383584383584403584493584523584593584593584613584703584783584853584853584883584883584903584973584973585003585003585033585103585103585133585133585213585283585283585313585323585393585463585463585493585513585533585603585603585633585663585663585733585733585763585793585803585873585873585903585933585993586063586063586093586133586183586253586253586283586333586343586413586413586443586493586513586583586583586613586663586693586763586763586793586843586923586993586993587023587083587153587223587223587253587323587353587423587423587453587523587613587683587683587713587793587793587863587863587893587973588023588093588093588123588213588253588323588323588363588363588373588443588443588483588483588523588593588593588633588633588683588753588753588793588803588803588873588873588913588923589013589083589083589123589143589203589273589273589313589343589373589443589443589483589513589553589623589623589663589693589783589853589853589893589933590013590083590083590123590173590233590303590303590343590393590453590523590523590563590613590683590753590753590793590853590873590943590943590983591053591063591133591133591173591243591333591403591403591443591523591563591633591633591673591753591803591873591873591913592003592003592073592073592113592203592293592363592363592413592413592493592563592563592613592623592643592713592713592763592773592803592873592873592923592933593013593083593083593133593153593223593293593293593343593373593433593503593503593553593593593633593703593703593753593793593843593913593913593963594013594023594093594093594143594193594203594273594273594323594373594383594453594453594503594553594573594643594643594693594743594773594843594843594893594943595033595103595103595153595203595293595363595363595413595463595553595623595623595673595733595793595863595863595913595973596043596113596113596163596233596263596333596333596383596453596483596553596553596603596673596713596783596783596833596903596953597023597023597073597143597203597273597273597323597403597423597493597493597543597623597643597713597713597763597843597873597943597943597993598073598153598223598223598273598353598443598513598513598563598653598703598773598773598823598913598963599033599033599083599173599233599303599303599363599363599403599473599473599533599533599583599653599653599713599723599733599803599803599863599873599883599953599953600013600023600053600123600123600183600193600263600333600333600393600403600483600553600553600613600633600673600743600743600803600823600863600933600933600993601013601083601153601153601213601233601303601373601373601433601453601533601603601603601663601693601733601803601803601863601893601933602003602003602063602093602163602233602233602293602333602343602413602413602473602513602533602603602603602663602703602783602853602853602913602953603033603103603103603163603213603223603293603293603353603403603483603553603553603613603663603753603823603823603883603943603993604063604063604123604183604233604303604303604363604423604513604583604583604643604713604733604803604803604863604933604963605033605033605093605163605253605323605323605383605453605543605613605613605673605753605793605863605863605923606003606043606113606113606173606253606303606373606373606433606523606533606603606603606663606753606763606833606833606893606983607043607113607113607183607183607183607253607253607323607323607333607403607403607473607473607543607613607613607683607683607753607823607823607893607903607923607993607993608063608073608163608233608233608303608323608323608393608393608463608483608543608613608613608683608703608763608833608833608903608933608953609023609023609093609123609173609243609243609313609343609403609473609473609543609583609603609673609673609743609783609803609873609873609943609983610073610143610143610213610263610273610343610343610413610463610483610553610553610623610673610753610823610823610893610943611023611093611093611163611223611273611343611343611413611483611493611563611563611633611703611723611793611793611863611933612013612083612083612153612223612303612373612373612443612523612573612643612643612713612803612843612913612913612983613073613123613193613193613273613273613283613353613353613433613433613443613513613513613593613593613683613753613753613833613843613893613963613963614043614053614113614183614183614263614283614303614373614373614453614473614493614563614563614643614673614683614753614753614833614863614873614943614943615023615053615073615143615143615223615253615333615403615403615483615513615593615663615663615743615783615853615923615923616003616053616063616133616133616213616263616283616353616353616433616483616563616633616633616713616763616843616913616913616993617053617123617193617193617273617343617383617453617453617533617603617653617723617723617803617883617893617963617963618043618123618143618213618213618293618373618393618463618463618543618623618693618763618763618843618923619003619073619073619153619243619283619353619353619433619523619573619643619643619723619813619863619933619933620023620023620023620093620093620183620183620193620263620263620353620353620423620493620493620583620583620663620733620733620823620823620903620973620973621063621073621143621213621213621303621313621393621463621463621553621573621613621683621683621773621793621843621913621913622003622023622083622153622153622243622263622343622413622413622503622523622613622683622683622773622803622853622923622923623013623043623103623173623173623263623293623373623443623443623533623563623643623713623713623803623833623923623993623993624083624123624173624243624243624333624373624433624503624503624593624633624713624783624783624873624913625003625073625073625163625213625213625283625283625373625423625483625553625553625643625693625763625833625833625923625973626063626133626133626223626283626323626393626393626483626543626593626663626663626753626823626833626903626903626993627063627083627153627153627243627313627353627423627423627513627593627613627683627683627773627853627883627953627953628043628123628213628283628283628373628463628463628533628533628623628713628743628813628813628903628993629083629153629163629163629163629163629233629243629243629243629303629373629383629383629383629453629523629533629533629543629543629613629623629623629633629723629793629803629803629823629823629893629903629903629923629983630053630063630063630083630153630223630233630233630263630273630343630353630353630383630423630493630503630503630533630583630653630663630663630703630713630783630793630793630833630853630923630933630933630973631033631103631113631113631163631183631253631263631263631313631343631413631423631423631473631563631633631643631643631703631703631773631783631783631843631893631963631973631973632033632123632193632203632203632273632273632343632353632353632423632483632553632563632563632633632703632773632783632783632863632893632963632973632973633053633113633183633193633193633273633343633413633423633423633513633543633613633623633623633713633753633823633833633843633843633843633913633923633933633933634003634073634083634093634093634173634243634253634263634273634313634383634393634403634413634463634533634543634553634573634593634663634673634683634703634723634793634803634813634833634863634933634943634953634973635063635133635143635153635183635183635253635263635273635303635373635443635453635463635503635563635633635643635653635693635763635833635843635853635903635933636003636013636023636073636113636183636193636203636263636283636353636363636373636433636463636533636543636553636613636653636723636733636743636813636813636883636893636903636973636983637053637063637073637143637233637303637313637323637403637443637513637523637533637613637663637733637743637753637843637853637923637933637943638033638053638123638133638153638153638153638223638233638253638253638333638403638413638433638433638523638593638603638623638633638683638753638763638783638793638853638923638933638953638973639023639093639103639123639153639173639243639253639273639303639333639403639413639433639463639553639623639633639653639693639703639773639783639803639843639853639923639933639953639993640003640073640083640103640143640163640233640243640263640303640383640453640463640483640533640533640603640613640633640683640683640753640763640783640833640873640943640953640973641023641073641143641153641173641233641243641313641323641343641403641433641503641513641533641593641623641693641703641723641793641793641863641873641893641963641973642043642053642073642143642213642283642293642313642383642473642543642553642573642653642653642723642733642753642833642893642963642973642993643073643143643213643223643243643333643363643433643443643463643553643603643673643683643703643793643863643933643943643963644053644133644203644213644233644323644413644483644493644523644523644573644643644653644683644683644753644823644833644863644863644953645023645033645063645073645113645183645193645223645233645283645353645363645393645413645423645493645503645533645553645583645653645663645693645713645763645833645843645873645903645943646013646023646053646083646133646203646213646243646283646293646363646373646403646443646473646543646553646583646623646673646743646753646783646833646873646943646953646983647033647083647153647163647193647253647263647333647343647373647433647463647533647543647573647633647693647763647773647803647863647923647993648003648033648093648163648233648243648273648343648373648443648453648483648553648603648673648683648713648783648863648933648943648973649053649073649143649153649183649263649293649363649373649403649483649573649643649653649683649773649783649853649863649893649983650023650093650103650143650143650163650233650243650283650283650313650383650393650433650433650523650593650603650643650653650663650733650743650783650793650833650903650913650953650973650993651063651073651113651133651163651233651243651283651303651393651463651473651513651543651553651623651633651673651703651753651823651833651873651913651923651993652003652043652083652103652173652183652223652263652343652413652423652463652513652513652583652593652633652683652733652803652813652853652903652953653023653033653073653123653183653253653263653303653363653383653453653463653503653563653603653673653683653723653783653873653943653953653993654063654093654163654173654213654283654323654393654403654443654523654523654593654603654643654723654743654813654823654863654943655013655083655093655133655223655233655303655313655353655443655463655533655543655583655673655753655823655833655883655883655883655953655963656013656013656073656143656153656203656203656293656363656373656423656433656433656503656513656563656573656633656703656713656763656773656853656923656933656983657003657043657113657123657173657203657213657283657293657343657373657393657463657473657523657553657633657703657713657763657803657803657873657883657933657973658043658113658123658173658213658293658363658373658423658463658553658623658633658683658733658783658853658863658913658963659033659103659113659163659223659263659333659343659393659453659513659583659593659643659703659773659843659853659903659973660003660073660083660133660203660253660323660333660383660463660483660553660563660613660693660743660813660823660873660953661013661083661093661143661233661253661323661333661383661473661513661583661593661653661653661663661733661743661803661803661883661953661963662023662023662113662183662193662253662263662313662383662393662453662463662533662603662613662673662693662743662813662823662883662903662963663033663043663103663123663193663263663273663333663363663393663463663473663533663563663613663683663693663753663793663823663893663903663963664003664053664123664133664193664233664293664363664373664433664483664503664573664583664643664693664733664803664813664873664933664963665033665043665103665163665193665263665273665333665393665433665503665513665573665643665643665713665723665783665853665873665943665953666013666093666103666173666183666243666323666373666443666453666513666593666653666723666733666793666883666903666973666983667043667133667173667243667253667323667323667353667423667433667503667513667523667593667603667673667683667703667773667783667853667863667943668013668023668093668113668123668193668203668273668293668303668373668383668453668473668483668553668563668633668653668673668743668753668823668843668923668993669003669073669103669113669183669193669263669293669303669373669383669453669483669493669563669573669643669673669693669763669773669843669873669953670023670033670103670143670153670223670233670303670343670353670423670433670503670543670593670663670673670743670783670843670913670923670993671043671063671133671143671213671263671313671383671393671463671513671563671633671643671713671773671803671873671883671953672013672053672123672133672203672273672273672343672353672423672493672523672593672603672673672743672783672853672863672933673003673043673113673123673193673263673313673383673393673463673543673553673623673633673703673783673823673893673903673973674053674103674173674183674253674333674393674463674473674543674623674693674763674773674843674933674963675033675043675113675203675263675333675343675413675503675573675643675653675733675733675753675823675833675913675913675943676013676023676103676103676193676263676273676353676363676383676453676463676543676553676583676653676663676743676763676783676853676863676943676963676993677063677073677153677173677263677333677343677423677453677473677543677553677633677663677703677773677783677863677893677943678013678023678103678133678193678263678273678353678393678413678483678493678573678613678663678733678743678823678863678933679003679013679093679143679153679223679233679313679363679383679453679463679543679593679673679743679753679833679893679903679973679983680063680123680153680223680233680313680383680393680463680473680553680623680643680713680723680803680873680953681023681033681113681193681203681273681283681363681443681483681553681563681643681723681783681853681863681943682023682093682163682173682253682343682373682443682453682533682623682683682753682763682843682933683023683093683103683193683193683233683303683313683403683403683453683523683533683623683633683643683713683723683813683823683863683933683943684033684043684113684183684193684283684303684323684393684403684493684513684543684613684623684713684733684823684893684903684993685023685043685113685123685213685243685293685363685373685463685503685543685613685623685713685753685803685873685883685973686023686033686103686113686203686253686293686363686373686463686513686593686663686673686763686823686833686903686913687003687063687083687153687163687253687313687393687463687473687563687633687643687713687723687813687883687933688003688013688103688183688193688263688273688363688443688463688533688543688633688713688793688863688873688963689053689063689133689143689233689323689373689443689463689463689463689493689563689583689583689583689623689693689713689713689723689723689793689813689813689823689853689923689943689943689953690033690103690123690123690143690143690213690233690233690253690263690333690353690353690373690443690513690533690533690563690563690633690653690653690683690733690803690823690823690863690873690943690963690963691003691023691093691113691113691153691233691303691323691323691373691383691453691473691473691523691583691653691673691673691733691783691853691873691873691933691993692063692083692083692153692173692243692263692263692333692383692453692473692473692553692563692633692653692653692733692763692833692853692853692933692973693043693063693063693153693153693223693243693243693333693363693433693453693453693543693633693703693723693733693733693783693853693873693883693883693943694013694033694043694053694073694143694163694173694183694233694303694323694333694353694373694443694463694473694493694513694583694603694613694633694663694733694753694763694783694873694943694963694973695003695023695093695113695123695153695243695313695333695343695383695403695473695493695503695543695573695643695663695673695713695803695873695893695903695953695973696043696063696073696123696213696283696303696313696373696443696513696533696543696603696683696753696773696783696853696893696963696983696993697063697133697203697223697233697313697363697433697453697463697543697613697683697703697713697793697873697943697963697973698063698103698173698193698203698293698363698433698453698473698473698523698593698613698633698643698653698723698743698763698773698793698863698883698903698913698993699063699083699103699123699133699203699223699243699273699273699343699363699383699413699413699483699503699523699553699563699633699653699673699703699773699843699863699883699923699923699993700013700033700073700163700233700253700273700323700333700403700423700443700493700513700583700603700623700673700753700823700843700863700923700933701003701023701043701113701113701183701203701223701293701353701423701443701463701533701603701673701693701713701793701823701893701913701933702013702083702153702173702193702273702343702413702433702453702533702603702673702693702713702793702873702943702963702983703073703113703183703203703223703313703393703463703483703503703593703673703743703763703793703793703813703883703903703933703933703963704033704053704083704083704173704243704263704293704303704333704403704423704453704463704503704573704593704623704633704693704763704783704813704823704893704963704983705013705033705063705133705153705183705203705273705343705363705393705413705493705563705583705613705643705683705753705773705803705833705883705953705973706003706043706053706123706143706173706213706263706333706353706383706423706493706563706583706613706653706723706793706813706843706883706963707033707053707083707133707173707243707263707293707343707423707493707513707543707603707603707673707693707723707783707823707893707913707943708003708053708123708143708173708243708253708323708343708373708443708493708563708583708613708683708763708833708853708883708963708973709043709063709093709173709193709263709283709313709393709473709543709563709593709683709703709773709793709823709913709963710033710053710093710093710113710183710203710243710243710273710343710363710403710403710493710563710583710623710633710663710733710753710793710803710873710943710963711003711013711093711163711183711223711233711323711393711413711453711473711523711593711613711653711673711763711833711853711893711923711953712023712043712083712113712203712273712293712333712373712373712443712463712503712543712603712673712693712733712783712783712853712873712913712963713003713073713093713133713193713203713273713293713333713393713413713483713503713543713603713683713753713773713813713883713903713973713993714033714103714173714243714263714303714373714453714523714543714583714653714743714813714833714873714953715003715073715093715133715213715303715373715393715433715523715563715633715653715693715783715873715943715963716013716013716013716083716103716153716153716213716283716303716353716363716363716433716453716503716513716573716643716663716713716723716783716853716873716923716933717003717073717093717143717163717193717263717283717333717353717423717493717513717563717593717623717693717713717763717803717823717893717913717963718003718033718103718123718173718213718303718373718393718443718493718523718593718613718663718723718723718793718813718863718923718953719023719043719093719153719193719263719283719333719403719403719473719493719543719613719653719723719743719793719873719883719953719973720023720103720183720253720273720323720403720493720563720583720633720723720773720843720863720913721003721093721163721183721243721243721313721383721403721463721473721473721543721563721623721633721643721713721733721793721803721873721943721963722023722043722053722123722143722203722223722313722383722403722463722493722513722583722603722663722693722723722793722813722873722903722993723063723083723143723183723213723283723303723363723413723423723493723513723573723623723703723773723793723853723903723993724063724083724143724203724253724323724343724403724463724553724623724643724703724773724853724923724943725003725073725163725233725253725313725393725393725463725483725543725623725683725753725773725833725923725923725993726013726073726163726253726323726343726413726413726473726543726563726633726633726703726773726793726863726873726903726973726993727063727073727143727213727233727303727323727383727453727473727543727573727613727683727703727773727803727853727923727943728013728053728063728133728153728223728263728323728393728413728483728523728583728653728673728743728783728863728933728953729023729063729153729223729243729313729363729413729483729503729573729633729633729703729723729793729853729853729923729943730013730073730133730203730223730293730353730423730493730513730583730653730683730753730773730843730913730993731063731083731153731223731313731383731403731473731553731563731633731653731723731803731823731893731913731983732063732143732213732233732303732393732423732493732513732583732673732713732783732803732873732963733053733123733143733223733223733223733293733313733393733393733453733523733543733623733633733643733713733733733813733823733843733913733933734013734033734043734113734133734213734233734253734323734343734423734443734523734593734613734693734723734753734823734843734923734953735003735073735093735173735203735283735353735373735453735483735573735643735663735743735783735833735903735923736003736053736053736123736143736223736273736303736373736393736473736523736553736623736643736723736773736813736883736903736983737043737043737113737133737213737273737323737393737413737493737553737633737703737723737803737863737953738023738043738123738193738193738263738283738363738433738493738563738583738663738743738753738823738843738923739003739043739113739133739213739293739383739453739473739553739643739643739713739733739813739903739963740033740053740143740143740153740223740243740333740333740373740443740463740553740563740593740663740683740773740783740823740893740913741003741023741023741093741113741203741223741273741343741363741453741473741563741633741653741743741773741823741893741913742003742033742093742163742183742273742313742333742403742423742513742553742623742693742713742803742853742873742943742963743053743103743123743193743213743303743353743383743453743473743563743613743703743773743793743883743943743983744053744073744163744223744313744383744403744493744563744593744663744683744773744843744883744953744973745063745143745143745213745233745323745403745453745523745543745633745723745723745793745813745903745993746073746143746163746253746343746433746503746533746533746533746583746653746683746683746693746693746763746793746793746803746863746933746963746963746983746993747063747093747093747113747133747203747233747233747253747333747403747433747433747463747493747563747593747593747633747633747703747733747733747773747773747843747873747873747913747923747993748023748023748063748133748203748233748233748283748303748373748403748403748453748543748613748643748643748703748733748803748833748833748893748933749003749033749033749103749103749173749203749203749273749323749393749423749423749503749523749593749623749623749713749713749783749813749813749903749913749983750013750013750103750173750243750273750283750283750303750373750403750413750423750423750493750523750533750543750593750663750693750703750713750773750843750873750883750903750923750993751023751033751053751123751193751223751233751263751323751393751423751433751463751543751613751643751653751683751773751843751873751883751923751973752043752073752083752133752133752203752233752243752293752383752453752483752493752553752603752673752703752713752773752833752903752933752943753013753033753103753133753143753213753293753363753393753403753473753553753623753653753663753733753813753883753913753923753993754083754153754183754193754273754323754393754423754433754523754533754603754633754643754733754743754813754843754853754943755033755103755133755153755153755153755223755253755273755273755333755403755433755453755463755483755553755583755603755613755643755713755743755763755773755833755903755933755953755963756033756103756133756153756173756203756273756303756323756343756433756503756533756553756583756583756653756683756703756733756803756873756903756923756953757033757103757133757153757193757233757303757333757353757403757403757473757503757523757573757593757663757693757713757763757793757863757893757913757963758003758073758103758123758183758183758253758283758303758363758423758493758523758543758603758693758763758793758813758873758963759033759063759083759153759153759223759253759273759343759403759473759503759523759603759623759693759723759743759823759873759943759973759993760073760143760213760243760263760343760423760493760523760543760633760673760743760773760803760803760803760873760903760933760933760963761033761063761093761093761183761253761283761313761323761323761393761423761453761463761523761593761623761653761673761693761763761793761823761843761903761973762003762033762053762113762183762213762243762263762333762403762433762463762493762523762593762623762653762683762773762843762873762903762943762973763043763073763103763153763173763243763273763303763353763383763453763483763513763563763653763723763753763783763843763893763963763993764023764093764093764163764193764223764293764313764383764413764443764513764543764613764643764673764743764833764903764933764963765043765093765163765193765223765313765313765383765413765443765533765593765663765693765723765813765883765953765983766023766023766053766123766153766193766193766283766353766383766423766433766483766553766583766623766633766683766753766783766823766833766893766963766993767033767053767073767143767173767213767233767313767383767413767453767483767523767593767623767663767703767733767803767833767873767913767953768023768053768093768143768143768213768243768283768333768393768463768493768533768593768623768693768723768763768823768893768963768993769033769093769173769243769273769313769383769423769493769523769563769643769643769713769743769783769863769933770003770033770073770163770213770283770313770353770443770503770573770603770653770653770673770743770773770823770823770903770973771003771053771063771123771193771223771273771283771373771443771473771523771543771543771613771643771693771713771773771843771873771923771953771973772043772073772123772163772163772233772263772313772353772383772453772483772533772573772613772683772713772763772813772813772883772913772963773013773073773143773173773223773283773323773393773423773473773543773553773623773653773703773773773793773863773893773943774013774093774163774193774243774323774363774433774463774513774603774633774703774733774783774873774913774983775013775063775153775203775273775303775363775363775373775443775473775533775533775603775673775703775763775773775833775903775933775993776013776033776103776133776193776213776243776313776343776403776423776513776583776613776673776703776753776823776853776913776953776993777063777093777153777203777203777273777303777363777413777423777493777523777583777633777703777773777803777863777923777963778033778063778123778183778223778293778323778383778443778503778573778603778663778723778793778863778893778953779023779053779123779153779213779293779293779363779393779453779533779533779603779633779693779773779833779903779933779993780073780143780213780243780303780393780423780493780523780593780593780593780663780693780763780763780773780843780873780943780943780963781033781063781133781133781163781233781263781333781333781423781493781523781593781603781663781733781763781833781843781913781983782013782083782093782173782243782273782343782353782443782513782543782613782633782683782753782783782853782883782903782973783003783073783103783133783203783233783303783343783353783423783453783523783563783583783653783683783753783793783873783943783973784043784093784143784213784243784313784363784433784503784533784603784653784743784813784843784913784973784973785043785073785143785203785263785333785363785433785503785533785603785633785703785773785823785893785923785993786073786093786163786193786263786343786373786443786473786543786623786713786783786813786883786973787033787103787133787203787293787373787443787473787553787553787603787673787703787783787783787843787913787943788023788033788053788123788153788233788243788333788403788433788513788533788553788623788653788733788753788833788903788933789013789033789123789193789223789303789333789383789453789483789563789603789623789693789723789803789843789903789973790003790083790123790183790253790283790363790403790473790543790573790653790703790733790803790833790913790973790973791043791073791153791213791253791323791353791433791493791583791653791683791763791833791833791903791933792013792083792143792213792243792323792403792433792503792533792613792693792763792833792863792943793033793063793133793163793243793333793373793443793473793563793563793563793633793663793753793753793823793893793923794013794023794043794113794143794233794243794303794373794403794493794503794573794643794673794763794783794813794883794913795003795033795033795103795133795223795253795303795373795403795493795533795563795633795663795753795793795833795903795933796023796073796073796143796173796263796313796383796453796483796573796633796663796733796763796853796913796973797043797073797163797223797293797363797393797483797553797583797653797683797773797853797853797923797953798043798123798183798253798283798373798463798473798543798573798663798753798773798843798873798963799053799133799203799243799243799243799293799363799403799403799413799433799503799543799543799553799573799643799683799683799693799723799793799833799833799843799933800003800043800043800063800123800193800233800233800263800293800363800403800403800433800503800573800613800613800643800723800793800833800833800873800913800983801023801023801073801083801153801193801193801243801323801393801433801433801493801563801633801673801673801733801813801883801923801923801993802033802103802143802143802223802233802303802343802343802423802513802583802623802623802713802713802783802823802823802913802923802993803033803033803123803193803263803303803313803313803353803423803463803473803483803503803573803613803623803633803723803793803833803843803863803863803933803973803983804003804063804133804173804183804213804243804313804353804363804403804423804493804533804543804583804613804683804723804733804773804813804883804923804933804983804983805053805093805103805153805223805293805333805343805403805463805533805573805583805653805673805743805783805793805863805893805963806003806013806083806173806243806283806293806373806433806503806543806553806643806693806763806803806823806823806853806923806963806983806983807023807093807133807153807163807163807233807273807293807303807383807453807493807513807523807603807673807713807733807753807803807873807913807933807953808013808083808123808143808173808193808263808303808323808363808363808433808473808493808533808543808613808653808673808713808733808803808843808863808903808933809003809043809063809103809193809263809303809323809373809443809513809553809573809623809703809773809813809833809893809933810003810043810063810123810173810243810283810303810373810383810453810493810513810583810673810743810783810803810883810883810953810993811013811093811173811243811283811303811383811473811543811583811603811693811743811813811853811883811883811913811983812023812053812053812103812173812213812243812253812273812343812383812413812423812453812523812563812593812603812693812763812803812833812853812923812993813033813063813093813093813163813203813233813263813273813343813383813413813443813463813533813573813603813633813713813783813823813853813893813953814023814063814093814133814223814293814333814363814413814463814533814573814603814653814713814783814823814853814913814933815003815043815073815143815143815213815253815283815353815383815453815493815523815603815623815693815733815763815843815873815943815983816013816093816183816253816293816323816413816483816553816593816633816633816633816703816743816783816783816873816943816983817023817033817033817103817143817183817193817253817323817363817403817423817463817533817573817613817633817713817783817823817863817893817903817973818013818053818083818103818173818213818253818283818363818433818473818513818553818613818683818723818763818813818813818883818923818963819013819093819163819203819243819293819383819453819493819533819593819643819713819753819793819863819893819963820003820043820113820193820263820303820343820413820503820573820613820653820733820733820803820843820883820963821023821093821133821173821263821303821373821413821453821543821633821703821743821793821793821803821873821913821963821963821983822053822093822143822143822223822293822333822383822393822453822523822563822613822633822643822713822753822803822823822893822963823003823053823073823153823223823263823313823343823383823453823493823543823583823603823673823713823763823803823883823953823993824043824083824173824243824283824333824383824383824453824493824543824593824653824723824763824813824873824913824983825023825073825143825143825213825253825303825373825413825483825523825573825643825693825763825803825853825933825943826013826053826103826183826273826343826383826433826523826573826643826683826743826743826773826843826883826943826943826983827053827093827153827163827163827233827273827333827343827423827493827533827593827613827663827733827773827833827853827923827993828033828093828113828193828263828303828363828393828433828503828543828603828643828663828733828773828833828873828963829033829073829133829183829243829313829353829413829463829533829603829643829703829763829793829863829903829963830033830043830113830153830213830283830373830443830483830543830613830703830773830813830873830953830953831023831063831123831203831263831333831373831433831523831563831633831673831743831743831763831833831873831943831943832003832073832113832183832183832253832323832363832433832443832473832543832583832653832673832683832753832793832863832883832973833043833083833153833183833253833323833363833433833463833543833613833653833723833763833803833873833913833983834033834053834123834163834233834293834303834373834413834483834543834583834653834693834763834823834873834943834983835053835123835133835203835243835313835383835473835543835583835653835733835813835883835923835993836083836133836203836243836313836403836463836533836573836653836653836673836743836783836863836873836873836943836983837063837073837163837233837273837353837373837433837503837543837623837643837713837783837823837903837933837963838033838073838153838193838213838283838323838403838443838463838533838573838653838693838723838793838833838913838953838993839063839103839183839233839233839303839343839423839473839563839633839673839753839803839893839963840003840083840143840193840263840303840383840443840503840573840613840693840763840783840853840893840973841053841063841133841173841253841333841353841423841463841543841623841643841713841753841833841913841943842013842053842133842213842303842373842413842493842583842663842733842773842853842943843033843103843143843233843233843233843303843343843433843433843443843513843553843643843643843713843783843823843913843923843983844053844093844183844193844263844333844373844463844483844503844573844613844703844723844753844823844863844953844973845063845133845173845263845293845373845443845483845573845613845613845683845723845813845853845853845923845963846053846093846103846173846213846303846343846413846483846523846613846663846723846793846833846923846973847053847123847163847253847313847333847403847443847533847593847623847693847733847823847883847973848043848083848173848243848323848393848433848523848603848603848673848713848803848883848963849033849073849163849243849333849403849443849533849623849673849743849793849793849793849833849903849953849953849953850023850093850143850143850143850233850303850353850353850363850363850433850483850483850493850553850623850673850673850693850743850813850863850863850883850963851033851083851083851113851163851233851283851283851313851373851443851493851493851533851553851623851673851673851723851733851803851853851853851903851953852023852073852073852123852183852253852303852303852353852423852493852543852543852603852633852703852753852753852823852843852913852963852963853033853093853163853213853213853293853313853383853433853433853513853543853613853663853663853743853833853903853953853953854043854123854193854243854253854253854283854353854403854413854413854443854513854563854573854573854613854683854733854743854753854753854823854873854883854893854983855053855103855113855133855173855243855293855303855323855413855483855533855543855573855573855643855693855703855733855793855863855913855923855963856013856083856133856143856193856193856263856313856323856373856463856533856583856593856653856653856723856773856783856843856903856973857023857033857103857153857223857273857283857363857373857443857493857503857583857673857743857793857803857893857893857963858013858023858113858173858243858293858313858313858363858433858483858503858513858533858603858653858673858683858723858793858843858863858873858923858993859043859063859083859093859163859213859233859263859263859333859383859403859433859503859573859623859643859683859723859793859843859863859903859953860023860073860093860143860153860223860273860293860353860353860423860473860493860553860633860703860753860773860843860843860913860963860983861053861063861133861183861203861273861343861413861463861483861563861623861693861743861763861853861893861963862013862033862123862183862253862303862323862413862483862553862603862633862633862663862733862783862813862823862843862913862963862993863013863013863083863133863163863183863243863313863363863393863413863483863553863603863633863663863693863763863813863843863883863903863973864023864053864103864113864183864233864263864313864333864403864453864483864533864563864633864683864713864763864853864923864973865003865063865143865213865263865293865363865433865503865553865583865663865693865763865813865843865923865963866033866083866113866203866203866273866323866353866443866533866603866653866693866693866773866843866893866933866943867013867083867133867173867183867263867333867383867423867443867493867563867613867653867673867723867793867843867883867903867953868023868073868113868133868213868283868333868373868393868483868553868603868643868673868733868803868853868893868923868983869053869103869143869173869233869303869353869393869433869473869543869593869633869673869723869793869843869883869933869953870023870073870113870163870183870253870303870343870393870423870493870543870583870633870693870763870813870853870903870973871043871093871133871193871233871303871353871393871453871493871563871613871653871713871763871833871883871923871993872013872083872133872173872243872273872343872393872433872513872513872583872633872673872753872753872823872873872913872993873013873083873133873173873253873283873353873403873443873523873563873633873683873723873813873823873893873943873983874073874083874153874203874243874333874363874433874483874523874613874703874773874823874873874873874873874943874993875043875043875113875183875233875283875283875353875423875473875523875533875533875603875653875703875713875733875803875853875903875913875943876013876063876113876133876133876203876253876303876323876323876393876443876493876513876543876613876663876713876733876803876873876923876973876993877073877143877193877243877273877323877393877443877493877523877573877643877693877743877773877853877923877973878023878063878123878193878243878293878333878403878473878523878573878623878663878733878783878833878883878923878993879043879093879143879223879293879343879393879453879463879533879583879633879693879713879783879833879883879943880033880103880153880203880263880353880423880473880523880593880623880693880743880793880873880893880963881013881063881143881173881243881293881343881433881433881503881553881603881693881693881763881813881863881953882003882073882123882173882263882333882403882453882503882593882673882743882793882853882853882903882973883023883083883083883133883203883253883313883323883323883393883443883503883513883573883643883693883753883763883833883903883953884013884033884073884143884193884253884273884313884383884433884493884523884523884593884643884703884733884743884813884863884923884953884973885043885093885153885183885273885343885393885453885483885573885643885693885753885793885843885913885963886023886073886093886163886213886273886323886353886423886473886533886593886593886663886713886773886833886833886903886953887013887073887143887213887263887323887393887393887463887513887573887643887653887723887773887833887903887983888053888103888163888233888313888383888433888493888573888623888693888743888803888893888913888983889033889093889183889213889283889333889403889403889403889473889523889593889593889593889663889713889783889783889863889933889983890053890063890063890133890183890253890263890273890343890393890463890473890553890623890673890743890753890833890903890953891023891043891103891173891223891293891323891363891433891483891553891583891633891703891753891823891863891883891953892003892073892113892133892203892253892323892373892383892453892503892573892623892693892763892813892883892933893013893083893133893203893263893313893383893433893503893563893623893693893743893813893873893933894003894053894123894183894243894313894363894433894493894563894633894683894753894823894863894933894983895053895123895173895243895293895363895433895483895553895603895673895753895753895823895873895943896023896033896103896153896223896303896383896453896503896573896653896743896813896863896933897023897023897093897143897213897303897323897393897443897513897603897633897703897753897833897833897833897903897953898033898033898043898113898163898243898243898263898333898383898463898463898523898593898643898723898723898793898863898913898993899003899043899113899163899243899253899303899373899423899503899513899573899643899693899773899793899833899903899953900033900053900103900173900223900303900333900353900423900473900553900583900613900683900733900813900843900893900963901013901093901123901203901273901323901403901433901523901593901643901723901763901823901893901943902023902063902133902203902253902333902383902383902453902503902583902633902633902703902753902833902883902893902963903013903093903143903223903293903343903423903473903563903633903683903763903823903843903913903963904043904103904153904223904273904353904413904473904543904593904673904743904773904843904893904973905043905083905153905203905283905353905423905493905543905623905703905743905813905863905943906023906073906143906193906273906363906383906453906503906583906673906703906773906823906903906993907063907133907183907263907353907443907513907563907653907653907653907723907773907863907863907933908003908053908143908143908223908293908343908433908443908463908533908583908673908693908703908773908823908913908933908953909023909073909163909183909273909343909393909483909513909513909583909633909723909753909803909873909923910013910053910053910123910173910263910303910313910383910433910523910563910643910713910763910853910893910983911053911103911193911243911283911353911403911493911553911583911653911703911793911853911893911963912013912103912173912183912253912303912393912463912483912553912603912693912763912843912913912963913053913133913153913223913273913363913443913473913543913593913683913773913773913843913893913983914073914083914153914203914293914383914463914533914583914673914763914853914923914983914983914983914983915053915113915113915113915183915253915313915313915313915393915463915523915523915533915583915653915713915713915733915773915843915903915903915923915973916043916103916103916133916153916223916283916283916313916343916413916473916473916513916523916593916653916653916693916733916803916863916863916903916953917023917083917083917133917153917223917283917283917333917363917433917493917493917553917563917633917693917693917753917843917913917973917973918043918043918113918173918173918243918313918383918443918443918513918593918663918723918723918803918873918943919003919003919093919123919193919253919253919343919383919453919513919523919523919533919603919663919673919673919693919763919823919833919843919853919923919983919993920003920093920163920223920233920253920253920323920383920393920413920483920553920613920623920643920733920803920863920873920893920983921053921113921123921153921163921233921293921303921333921353921423921483921493921523921613921683921743921753921793921803921873921933921943921983921993922063922123922133922173922253922323922383922393922433922523922593922653922663922713922773922843922903922913922963923043923113923173923183923233923323923393923453923463923523923563923633923693923703923763923813923883923943923953924023924043924113924173924183924253924293924363924423924433924503924553924623924683924693924773924803924873924933924943925023925063925133925193925203925293925303925373925433925443925533925563925633925693925703925793925843925913925973925983926073926143926213926273926283926373926453926523926583926603926603926653926723926783926803926803926873926943927003927023927023927113927183927243927263927273927333927403927463927483927493927563927633927693927713927733927773927843927903927923927943928003928073928133928153928173928263928333928393928413928443928483928553928613928633928663928713928783928843928863928903928923928993929053929073929113929153929223929283929303929343929423929493929553929573929613929703929773929833929853929903929903929973930033930053930103930173930243930303930323930373930463930533930593930613930673930703930773930833930853930913930993931063931123931143931203931293931363931423931443931513931573931643931703931723931793931873931943932003932023932103932133932203932263932283932363932393932463932523932543932623932663932733932793932813932903932913932983933043933063933153933183933253933313933333933423933503933573933633933663933663933723933793933853933883933883933953934023934083934113934123934163934233934293934323934333934393934463934523934553934573934593934663934723934753934773934853934923934983935013935033935123935193935253935283935313935373935443935503935533935563935643935713935773935803935843935893935963936023936053936093936143936213936273936303936343936403936473936533936563936613936643936713936773936803936853936903936973937033937063937123937143937213937273937303937363937433937503937563937593937653937733937803937863937893937963938013938083938143938173938243938313938383938443938473938553938603938673938733938763938843938933939003939063939093939183939183939253939313939343939433939503939573939633939663939753939843939913939973940013940013940093940163940223940263940263940343940413940473940513940513940603940673940733940773940783940843940913940973941013941023941103941173941233941273941293941363941433941493941533941563941573941643941703941743941773941793941863941923941963941993942083942153942213942253942293942303942373942433942473942523942523942593942653942693942743942833942903942963943003943063943063943133943193943233943293943363943433943493943533943603943603943673943733943773943843943843943913943973944013944083944163944233944293944333944403944493944563944623944663944743944803944873944933944973945053945143945213945273945313945403945403945473945533945573945663945713945783945843945883945973946033946103946163946213946213946243946313946373946423946423946483946553946613946663946663946733946803946863946913946923946983947053947113947163947173947243947313947373947423947443947483947553947613947663947683947753947823947883947933947953948043948113948173948223948253948293948363948423948473948503948553948623948683948733948773948793948863948923948973949013949063949133949193949243949283949353949423949483949533949583949603949673949733949783949833949863949933949993950043950103950103950173950233950283950343950373950443950503950553950613950663950733950793950843950913950913950983951043951093951163951173951243951303951353951423951503951573951633951683951763951773951843951903951953952033952063952133952193952243952333952353952423952483952533952623952653952723952783952843952843952843952913952973953033953033953063953133953193953253953253953313953383953443953503953513953523953593953653953713953723953743953813953873953933953943954033954103954163954223954243954263954333954393954453954473954523954593954653954713954743954743954813954873954933954963954973955043955103955163955193955273955343955403955463955503955513955583955643955703955743955783955853955913955973956023956043956113956173956233956283956313956383956443956503956563956563956633956693956753956813956843956913956973957033957093957163957233957293957353957413957503957573957633957693957763957763957833957893957953958023958093958163958223958283958363958363958433958493958553958633958673958743958803958863958953958973959043959103959163959253959283959353959413959483959483959483959553959613959683959683959713959783959843959913959913959983960053960113960183960193960243960313960373960443960453960513960583960643960713960733960763960833960893960963960983961043961113961173961243961273961283961353961413961483961513961573961643961703961773961803961873961943962003962073962113962153962223962283962353962393962463962533962593962663962713962733962803962863962933962993963003963073963133963203963263963283963353963413963483963543963633963703963763963833963903963923963993964053964123964193964273964343964403964473964553964583964653964713964783964863964903964973965033965103965193965203965273965333965403965493965533965603965663965743965743965743965813965873965953965953966003966073966133966213966213966273966343966403966483966493966523966593966653966733966743966803966873966933967013967033967063967133967193967273967293967353967423967483967563967583967653967723967783967863967893967933968003968063968143968173968243968313968373968453968493968533968603968663968743968793968803968873968933969013969063969083969153969213969293969343969433969503969563969643969703969723969793969853969933970003970003970073970133970213970283970313970383970443970523970593970633970703970763970843970923970933971003971063971143971223971263971333971393971473971563971583971653971713971793971883971943972013972073972153972243972313972383972443972533972533972573972643972703972793972793972863972933972993973083973093973143973213973273973363973383973383973453973513973603973623973633973703973763973853973873973953974023974083974173974203974213974283974343974433974463974553974623974683974773974813974893974963975023975113975153975243975313975373975463975513975573975643975703975793975843975933976003976063976153976213976293976363976423976513976583976613976683976743976833976903976943977013977073977163977243977253977323977383977473977553977593977663977723977813977903977933978003978063978153978243978333978403978473978473978473978473978543978613978613978613978683978753978823978823978833978843978913978983978983978993979003979073979143979143979153979163979233979303979303979313979333979403979473979473979483979573979643979713979713979733979763979833979903979903979923979953980023980093980093980113980183980253980323980323980343980423980493980563980563980593980643980713980783980783980813980903980973981043981043981083981083981153981223981223981263981263981333981403981403981443981453981523981593981593981633981713981783981853981853981903981923981993982063982063982113982143982213982283982283982333982383982453982523982523982573982633982703982773982773982833982863982933983003983003983063983133983203983273983273983333983413983483983553983553983623983633983703983773983773983843983863983933984003984003984073984163984233984303984303984383984413984483984553984553984633984673984743984813984813984903984913984983985053985053985143985163985233985303985303985393985483985553985623985633985633985663985733985803985813985813985863985933986003986013986013986093986163986233986243986243986333986403986473986483986493986553986623986693986703986723986723986793986863986873986893986913986983987053987063987083987153987223987293987303987323987403987473987543987553987583987633987703987773987783987813987903987973988043988053988093988103988173988243988253988293988373988443988513988523988563988653988723988793988803988853988913988983989053989063989123989123989193989263989273989333989363989433989503989513989573989613989683989753989763989823989873989943990013990023990093990113990183990253990263990333990393990463990533990543990613990703990773990843990853990933990993991063991133991143991223991293991363991433991443991533991573991643991713991723991813991893991963992033992053992053992063992133992203992223992233992233992303992373992393992403992413992483992553992573992583992663992733992803992823992843992863992933993003993023993043993103993173993243993263993293993293993363993433993453993483993493993563993633993653993683993763993833993903993923993963993983994053994123994143994183994243994313994383994403994453994493994563994633994653994703994753994823994893994913994973994993995063995133995153995213995273995343995413995433995503995513995583995653995673995743995793995863995933995953996023996083996153996223996243996323996353996423996493996513996593996663996733996803996823996913996933997003997073997093997183997263997333997403997423997513997603997673997743997773997773997833997903997973998003998013998013998083998153998183998193998253998323998393998423998443998453998523998593998623998643998663998733998803998833998853998943999013999083999113999143999173999243999313999343999373999463999533999603999633999673999753999823999893999923999964000054000124000194000224000274000334000404000474000504000564000564000634000704000734000794000864000934001004001034001104001124001194001264001294001364001394001464001534001564001644001644001714001784001814001894001934002004002074002104002194002204002274002344002374002464002554002624002694002734002734002734002804002874002914002914002984003054003124003164003174003184003254003324003364003374003454003524003594003634003654003714003784003854003894003914003984004054004124004164004194004234004304004374004414004444004524004594004664004704004744004804004874004944004984005024005104005174005244005284005324005414005484005554005594005644005704005774005844005884005944005944006014006084006124006184006264006334006404006444006514006574006644006714006754006824006894006964007034007074007154007194007264007334007374007454007534007604007674007714007804007874007944008014008054008144008224008294008364008404008494008584008654008724008774008774008834008904008974009024009034009034009104009174009224009234009324009394009464009514009534009544009614009684009734009754009774009844009914009964009984010074010144010214010264010294010324010394010464010514010554010574010644010714010764010804010884010954011024011074011114011204011274011344011394011444011504011574011644011694011754011764011834011904011954012014012024012094012164012214012274012304012374012444012494012554012594012664012734012784012854012864012934013004013054013124013184013254013324013374013444013504013574013644013694013774013784013854013924013974014054014074014144014214014264014344014434014504014574014624014714014754014824014894014944015034015074015144015214015274015274015304015374015444015504015504015544015614015684015744015754015764015834015904015964015974016034016104016174016234016244016314016384016454016514016534016534016604016674016734016754016764016834016904016964016984017064017134017204017264017294017324017394017464017524017554017594017664017734017794017834017864017934018004018064018104018144018214018284018344018394018404018474018544018604018654018714018784018854018914018964019044019114019184019244019304019304019374019444019504019564019574019644019714019774019834019914019984020054020114020184020214020284020354020414020484020544020614020684020744020814020874020944021014021074021144021214021284021354021414021494021534021604021674021734021814021904021974022044022104022194022214022284022354022414022504022564022634022704022764022854022924022994023064023134023134023174023244023314023384023384023474023544023614023684023694023724023794023864023934023944023974024044024114024184024194024234024304024374024444024464024474024544024614024684024704024764024834024904024974025004025004025074025144025214025244025284025354025424025494025524025574025644025714025784025824025844025914025984026054026094026164026234026304026374026424026434026504026574026644026704026704026774026844026914026974026984027054027124027194027254027334027404027474027544027614027644027714027784027854027924028004028074028144028214028294028304028374028444028514028594028614028684028754028824028904028994029064029134029204029294029334029404029474029544029634029724029794029864029944029944030024030094030164030244030244030334030404030474030554030564030624030694030764030844030864030874030944031014031094031114031184031254031324031404031434031434031504031574031654031684031694031764031834031914031944032024032094032164032244032284032314032384032454032534032574032664032734032804032884032934033014033084033154033234033284033374033444033514033594033654033714033784033854033934034004034014034084034154034234034304034384034454034524034604034684034694034764034834034914034994035014035084035154035234035314035404035474035544035624035714035754035824035894035984035984035994036064036134036224036234036234036304036374036464036474036484036554036624036714036724036804036874036944037034037054037084037154037224037314037344037354037424037494037584037614037654037724037794037884037914037964038034038104038194038234038254038324038394038484038524038594038664038734038824038874038934039004039074039164039214039294039364039434039524039574039664039734039804039894039954040014040084040154040244040314040324040394040464040554040634040634040704040774040864040944041004041074041144041234041314041384041454041524041614041704041744041814041894041894041894041894041964042044042044042044042044042114042194042194042194042214042284042364042364042364042394042464042544042544042554042554042624042704042704042714042774042844042924042924042934042994043064043144043144043164043194043264043344043344043364043404043474043554043554043584043594043664043744043744043774043844043914043994043994044024044104044174044254044254044284044374044444044524044524044564044564044634044714044714044754044824044894044974044974045024045054045124045204045204045254045294045364045444045444045494045584045654045734045734045794045794045864045944045944046004046074046144046224046224046294046324046394046474046474046544046594046664046744046744046814046874046944047024047024047094047164047234047314047314047394047434047504047584047584047674047674047744047824047824047914047934048004048084048084048174048254048324048404048404048494048584048654048734048744048744048804048874048954048964048974048994049064049144049154049164049214049284049364049374049384049474049544049624049634049654049654049724049804049814049834049904049974050054050064050094050124050194050274050284050314050374050444050524050534050574050614050684050764050774050814050864050934051014051024051074051094051164051244051254051304051384051454051534051544051604051624051694051774051784051844051904051974052054052064052124052194052264052344052354052424052464052534052614052624052704052704052774052854052864052944052984053054053134053144053234053264053334053414053424053514053554053624053704053724053724053734053804053884053904053904053974054044054124054144054154054174054244054324054344054364054364054434054514054534054554054564054634054714054734054754054834054904054984055004055034055074055144055224055244055284055284055354055434055454055494055514055584055664055684055724055754055824055904055924055974055974056044056124056144056194056254056324056404056424056484056504056574056654056674056744056744056814056894056914056984056994057064057144057164057234057314057384057464057484057564057604057674057754057774057864057874057944058024058044058134058184058254058334058354058444058504058574058654058684058684058714058784058864058894058894058984059054059134059164059174059234059304059384059414059434059454059524059604059634059654059684059754059834059864059894059894059964060044060074060104060164060234060314060344060384060424060494060574060604060644060684060754060834060864060904060954061024061104061134061184061204061274061354061384061434061514061584061664061694061754061814061884061964061994062064062084062154062234062264062334062364062434062514062544062624062624062694062774062804062884062944063014063094063124063214063264063334063414063444063534063604063674063754063784063874063954064024064104064144064144064194064264064344064384064394064404064474064554064594064614064614064684064764064804064824064914064984065064065104065134065134065204065284065324065354065424065494065574065614065654065694065764065844065884065924065964066034066114066154066194066264066334066414066454066494066574066644066724066764066814066864066934067014067054067114067134067204067284067324067384067404067474067554067594067664067674067744067824067864067934067954068024068104068144068214068304068374068454068494068574068634068704068784068824068904068974069044069124069164069254069284069354069434069474069564069604069674069754069804069804069814069884069964070014070014070094070164070244070294070304070304070374070454070504070514070524070594070674070724070734070754070824070904070954070964071054071124071204071254071274071334071404071484071534071554071634071704071784071834071864071894071964072044072094072124072164072234072314072364072404072414072484072564072614072654072734072804072884072934072984072994073064073144073194073244073264073334073414073464073514073544073614073694073744073804073804073874073954074004074064074134074204074284074334074404074404074474074554074604074674074754074824074904074954075024075114075184075264075314075394075454075524075604075654075744075774075844075924075974076064076134076204076284076344076344076354076424076504076564076564076584076654076734076794076794076884076954077034077094077104077164077234077314077374077394077394077464077544077604077624077704077774077854077914077934078024078094078174078234078264078324078394078474078534078574078604078674078754078814078854078934079004079084079144079194079214079284079364079424079474079504079574079654079714079774079774079844079924079984080044080114080184080264080324080394080424080494080574080634080704080744080814080894080954081024081074081144081224081284081364081384081454081534081594081674081764081834081914081974082064082124082194082274082334082424082484082554082634082694082784082854082924083004083074083074083114083184083264083334083344083354083424083504083574083584083664083734083814083884083904083924083994084074084144084164084194084264084344084414084444084444084514084594084664084694084764084834084914084984085024085074085144085224085294085334085384085454085534085604085644085704085774085854085924085974086004086074086154086224086284086284086354086434086504086564086644086714086794086864086934086994087064087144087214087284087354087424087504087574087654087694087764087844087914088004088014088084088164088244088244088244088314088394088474088474088504088574088654088734088734088774088844088924089004089014089024089094089174089254089264089344089414089494089574089594089664089734089814089894089924089964090034090114090194090224090274090344090424090504090544090564090634090714090794090844090844090914090994091074091124091124091194091274091354091404091434091504091584091664091714091754091824091904091984092044092054092124092204092284092344092434092504092584092664092734092734092804092884092964093034093044093114093194093274093344093364093434093514093594093664093754093824093904093984094064094134094204094284094364094444094534094604094684094764094844094934095004095084095164095254095254095324095404095484095574095644095714095794095884095884095934096004096084096174096174096244096314096394096484096494096504096574096654096744096754096774096844096924097014097024097114097184097264097354097374097444097514097594097684097714097714097784097864097954097984097984098054098134098224098254098264098334098414098504098534098614098684098764098854098894098954099024099104099194099234099324099394099474099564099614099694099764099844099934099984100074100144100224100314100374100434100504100584100674100744100784100854100934101024101094101164101234101314101404101484101544101614101694101784101864101934102004102084102174102264102304102374102464102464102464102484102554102644102644102644102704102774102864102864102864102954103024103114103114103124103124103194103284103284103294103364103434103524103524103544103594103664103754103754103774103864103934104024104024104054104134104204104294104294104324104414104484104574104574104614104674104744104834104834104884104924104994105084105084105134105224105294105384105384105444105514105584105674105674105734105814105884105974105974106044106094106164106254106254106334106364106434106524106524106604106694106764106854106854106944106944107014107104107104107194107204107274107364107364107454107534107604107694107704107704107764107834107924107934107944107964108034108124108134108144108214108284108374108384108394108474108544108634108644108664108714108784108874108884108914108944109014109104109114109154109154109224109314109324109364109384109454109544109554109594109624109694109784109794109844109844109914110004110014110064110144110214110304110314110374110424110494110584110594110654110724110794110884110894110954111034111104111194111204111274111324111394111484111494111574111604111674111764111774111864111864111934112024112034112124112144112214112304112314112404112434112504112594112614112614112614112684112774112794112794112874112944113034113054113064113114113184113274113294113314113324113394113484113504113524113544113614113704113724113744113834113904113994114014114044114114114184114274114294114334114384114454114544114564114604114684114754114844114864114904114994115064115154115174115224115284115354115444115464115524115564115634115724115744115814115834115904115994116014116084116134116204116294116314116384116444116514116604116624116704116734116804116894116914117004117014117084117174117194117284117374117444117534117564117564117614117684117774117804117804117864117934118024118054118064118094118164118254118284118304118314118384118474118504118534118534118604118694118724118754118754118824118914118944118974118984119054119144119174119204119284119354119444119474119514119574119644119734119764119814119864119934120024120054120114120134120204120294120324120384120414120484120574120604120674120674120744120834120864120934121014121084121174121204121284121354121424121514121544121634121674121744121834121864121954122004122074122164122204122204122224122294122384122424122434122444122514122604122644122654122664122734122824122864122874122894122964123054123094123104123134123204123294123334123354123354123424123514123554123574123664123734123824123864123884123974124044124134124174124204124244124314124404124444124474124524124594124684124724124764124784124854124944124984125034125044125114125204125244125294125314125384125474125514125564125604125674125764125804125854125904125974126064126104126164126184126254126344126384126454126464126534126624126664126734126754126824126914126954127024127064127134127224127264127334127384127454127544127584127664127684127754127844127884127974127984128054128144128184128274128294128364128454128504128504128514128584128674128724128724128744128814128904128954128954129044129114129204129254129264129344129414129504129554129574129574129644129734129784129804129834129904129994130044130064130104130174130264130314130344130354130424130514130564130604130604130674130764130814130854130884130954131044131094131134131164131234131324131374131414131454131524131614131664131714131724131794131884131934131994131994132064132154132204132264132294132364132454132504132564132604132674132764132814132874132924132994133084133134133204133224133294133384133434133514133524133594133684133734133814133854133924134014134064134144134234134304134394134444134534134534134604134694134744134834134904134974135064135124135124135184135254135344135404135404135494135564135654135714135724135804135874135964136024136034136124136194136284136344136364136424136494136584136644136674136724136794136884136944136974137064137134137224137284137324137374137444137534137594137634137694137764137854137914137964137994138064138154138214138274138294138364138454138514138574138634138704138794138854138924138964139034139124139184139254139304139374139464139524139604139624139694139784139844139934139944140014140104140164140254140304140374140464140534140534140574140644140734140804140804140854140924141014141084141094141114141184141274141344141364141374141444141534141604141624141684141754141844141914141934142024142094142184142254142284142284142354142444142514142544142614142684142774142844142884142944143014143104143174143224143244143314143404143474143524143544143614143704143774143824143854143924144014144084144144144144144214144304144374144434144524144594144684144754144824144874144944145034145104145174145244145314145404145474145544145624145694145784145854145934145984146054146144146214146304146344146414146504146584146584146584146654146744146824146824146864146934147024147104147104147154147224147314147394147404147424147494147584147664147684147694147764147854147934147954148024148094148184148264148294148344148414148504148584148614148674148744148834148914148954148984149054149144149224149274149294149364149454149534149584149674149744149834149914149974150014150084150174150254150314150364150434150524150604150674150694150764150854150934151014151024151094151184151264151344151424151494151584151664151754151804151874151964152044152134152194152264152354152444152444152474152544152634152724152734152754152824152914153004153024153024153094153184153274153294153314153384153474153564153584153614153684153774153864153894153894153964154054154144154174154264154334154424154514154554154624154694154784154874154924154954155024155114155204155254155294155364155454155544155604155614155684155774155864155934155934156004156094156184156254156344156414156504156594156674156694156764156854156944157024157054157124157214157304157394157394157464157554157644157734157824157904157904157904157904157984158064158064158064158074158114158194158194158194158204158254158334158334158334158354158374158454158454158454158484158494158574158574158574158614158614158694158694158694158734158824158904158904158904158954158954159034159034159034159084159164159244159244159244159294159374159454159454159454159504159584159664159664159664159724159734159814159814159814159874159894159974159974159974160044160044160124160124160124160194160194160274160274160274160344160354160434160434160434160504160514160594160594160594160664160684160764160764160764160844160844160924160924160924161004161004161084161084161084161164161174161254161254161254161334161374161454161454161454161534161584161664161664161664161754161784161864161864161864161954161984162064162064162064162154162204162284162284162284162374162424162504162504162504162594162654162734162734162744162744162784162864162864162874162874162914162994162994163004163004163064163144163144163154163164163164163244163244163254163264163274163354163354163364163374163464163544163544163554163564163654163734163734163744163764163784163864163864163874163894163924164004164004164014164034164074164154164154164164164194164214164294164294164304164334164354164434164434164444164474164524164604164604164614164644164734164814164814164824164864164864164944164944164954164994165074165154165154165164165204165284165364165364165374165424165444165524165524165534165584165624165704165704165714165764165814165894165894165904165964165994166074166074166084166144166174166254166254166264166324166394166474166474166484166554166584166664166664166674166744166784166864166864166874166954166974167054167054167064167144167164167244167244167254167334167404167484167484167494167584167584167664167664167674167764167774167854167854167864167954168044168124168124168134168224168314168394168394168414168414168454168534168534168554168564168574168654168654168674168684168704168784168784168804168824168824168904168904168924168944168944169024169024169044169064169114169194169194169214169244169274169354169354169374169404169444169524169524169544169584169604169684169684169704169744169764169844169844169864169904169984170064170064170084170134170134170214170214170234170284170294170374170374170394170444170534170614170614170634170684170774170854170854170874170934170984171064171064171084171154171194171274171274171294171364171414171494171494171514171594171624171704171704171724171804171834171914171914171934172024172024172104172104172124172214172244172324172324172344172434172474172554172554172584172584172604172684172684172714172714172734172814172814172844172854172854172934172934172964172974172994173074173074173104173114173144173224173224173254173274173284173364173364173394173414173424173504173504173534173554173644173724173724173754173784173834173914173914173944173974174034174114174114174144174184174224174304174304174334174374174414174494174494174524174574174604174684174684174714174764174824174904174904174934174984175054175134175134175164175224175274175354175354175384175444175494175574175574175604175674175714175794175794175824175904175924176004176004176034176114176144176224176224176254176344176354176434176434176464176554176574176654176654176684176774176794176874176874176904176994177044177124177124177154177244177304177384177384177424177424177464177544177544177584177584177634177714177714177754177754177804177884177884177924177934177954178034178034178074178084178114178194178194178234178254178264178344178344178384178404178424178504178504178544178564178594178674178674178714178734178804178884178884178924178944179024179104179104179144179174179234179314179314179354179384179454179534179534179574179604179684179764179764179804179844179914179994179994180034180074180154180234180234180274180324180384180464180464180504180554180624180704180704180744180794180884180964180964181004181064181104181184181184181224181284181334181414181414181454181524181554181634181634181674181744181784181864181864181904181974182034182114182114182154182234182284182364182364182404182484182544182624182624182664182754182794182874182874182914183004183054183134183134183174183264183344183424183424183474183474183514183594183594183644183644183694183774183774183824183834183864183944183944183994184004184044184124184124184174184184184264184344184344184394184404184494184574184574184624184644184644184724184724184774184794184874184954184954185004185024185114185194185194185244185274185314185394185394185444185474185514185594185594185644185674185724185804185804185854185894185924186004186004186054186094186134186214186214186264186304186394186474186474186524186574186604186684186684186734186784186824186904186904186954187014187034187114187114187164187224187254187334187334187384187444187534187614187614187664187734187734187814187814187864187934187944188024188024188074188144188234188314188314188364188444188444188524188524188574188654188714188794188794188844188934188964189044189044189094189184189224189304189304189364189364189384189464189464189524189524189554189634189634189694189704189704189784189784189844189854189904189984189984190044190054190114190194190194190254190274190314190394190394190454190474190524190604190604190664190694190714190794190794190854190894190904190984190984191044191084191104191184191184191244191294191294191374191374191434191484191494191574191574191634191684191774191854191854191914191974192024192104192104192164192224192284192364192364192424192494192534192614192614192674192744192794192874192874192934193014193054193134193134193194193274193334193414193414193474193554193624193704193704193764193854193904193984193984194044194134194204194284194284194344194434194504194584194584194644194734194804194884194884194944195034195114195194195194195264195264195324195404195404195474195474195554195634195634195704195704195784195864195864195934195944195964196044196044196114196124196154196234196234196304196324196334196414196414196484196504196534196614196614196684196704196744196824196824196894196914196964197044197044197114197134197194197274197274197344197374197414197494197494197564197594197654197734197734197804197834197904197984197984198054198094198134198214198214198284198324198374198454198454198524198574198604198684198684198754198804198854198934198934199004199054199124199204199204199274199334199364199444199444199514199574199614199694199694199764199834199854199934199934200004200074200114200194200194200264200334200404200484200484200554200624200694200774200774200844200914200994201074201074201144201224201284201364201364201434201514201594201674201674201744201834201844201924201924201994202084202164202244202244202314202404202494202574202574202654202654202724202804202804202884202884202974203054203054203134203144203174203254203254203334203344203414203494203494203574203584203664203744203744203824203844203904203984203984204064204084204164204244204244204324204354204374204454204454204534204564204644204724204724204804204834204924205004205004205084205124205194205274205274205354205394205484205564205564205644205694205734205814205814205894205944205984206064206064206144206194206244206324206324206404206464206494206574206574206654206714206764206844206844206924206994206994207074207074207154207224207294207374207374207454207524207604207684207684207764207844207904207984207984208064208144208224208304208304208384208474208514208594208594208674208764208854208934208934209024209024209024209104209104209194209194209274209354209354209444209454209454209534209534209624209634209694209774209774209864209884209904209984209984210074210094210124210204210204210294210324210334210414210414210504210534210564210644210644210734210774210774210854210854210944210984210984211064211064211154211194211204211284211284211374211414211504211584211584211674211724211734211814211814211904211954212034212114212114212204212264212314212394212394212484212544212604212684212684212774212844212884212964212964213054213124213184213264213264213354213434213474213554213554213644213724213814213894213894213984214074214074214154214154214244214334214414214494214504214504214504214504214584214594214594214594214684214764214774214774214784214804214884214894214894214904214934215014215024215024215044215054215134215144215144215164215194215274215284215284215314215334215414215424215424215454215544215624215634215634215674215674215754215764215764215804215884215964215974215974216024216034216114216124216124216174216184216264216274216274216324216374216454216464216464216514216574216654216664216664216724216764216844216854216854216914216984217064217074217074217134217214217294217304217304217374217374217454217464217464217534217544217624217634217634217704217794217874217884217884217964217984218064218074218074218154218194218274218284218284218364218414218494218504218504218584218644218724218734218734218824218864218944218954218954219044219114219194219204219204219294219384219464219474219484219484219524219604219614219624219624219674219754219764219774219784219814219894219904219914219924219984220064220074220084220094220184220264220274220284220304220314220394220404220414220434220454220534220544220554220584220584220664220674220684220714220744220824220834220844220874220944221024221034221044221074221154221234221244221254221284221374221454221464221474221514221584221664221674221684221734221734221814221824221834221884221924222004222014222024222074222154222234222244222254222304222394222474222484222494222554222624222704222714222724222794222794222874222884222894222964223004223084223094223104223184223204223284223294223304223384223414223494223504223514223604223614223694223704223714223804223844223924223934223944224034224124224204224214224234224234224274224354224364224384224384224434224514224524224544224554224584224664224674224694224704224764224844224854224874224894224914224994225004225024225044225104225184225194225214225234225304225384225394225414225444225494225574225584225604225634225714225794225804225824225864225904225984225994226014226064226074226154226164226184226234226254226334226344226364226424226424226504226514226534226594226624226704226714226734226804226804226884226894226914226984226994227074227084227104227174227194227274227284227304227384227384227464227474227494227574227604227684227694227714227804227804227884227894227914228004228084228164228174228194228284228374228454228464228494228494228564228644228654228684228694228694228774228784228814228824228904228984228994229024229044229094229174229184229214229234229294229374229384229414229444229484229564229574229604229634229704229784229794229824229864229924230004230014230044230094230094230174230184230214230264230274230354230364230394230444230534230614230624230654230714230734230814230824230854230924230934231014231024231054231124231214231294231304231334231414231414231494231504231534231614231694231774231784231814231904231924232004232014232044232134232154232234232244232274232364232434232514232524232554232644232724232804232814232854232854232914232994233004233044233054233054233134233144233184233194233204233284233294233334233344233394233474233484233524233534233594233674233684233724233744233784233864233874233914233934234014234094234104234144234174234174234254234264234304234334234354234434234444234484234514234544234624234634234674234714234724234804234814234854234894234944235024235034235074235114235184235264235274235314235364235394235474235484235524235574235614235694235704235744235804235824235904235914235954236014236074236154236164236204236264236354236434236444236484236554236584236664236674236714236784236824236904236914236954237034237054237134237144237184237264237324237404237414237454237534237624237704237714237754237844237874237954237964238004238094238134238214238224238274238274238294238374238384238434238434238494238574238584238634238634238724238804238814238864238874238924239004239014239064239074239134239214239224239274239294239334239414239424239474239494239574239654239664239714239744239764239844239854239904239934239954240034240044240094240124240154240234240244240294240334240344240424240434240484240524240574240654240664240714240754240844240924240934240984241034241104241184241194241244241294241374241454241464241514241574241634241714241724241774241844241844241924241934241984242054242094242174242184242234242314242334242414242424242474242554242584242664242674242724242814242824242904242914242964243054243104243184243194243254243254243254243334243344243404243404243404243484243494243554243554243564243644243654243714243714243804243884243894243954243964243994244074244084244144244154244234244314244324244384244404244424244504244514244574244594244624244704244714244774244804244814244894244904244964244994245044245124245134245194245234245244245324245334245394245434245464245544245554245614245654245694245774245784245844245894245914245994246004246064246114246174246254246264246324246384246404246484246494246554246614246664246744246754246814246874246934247014247024247084247154247194247274247284247344247414247494247574247584247644247724247764247844247854247914247994248064248144248154248214248294248374248454248464248524248614248674248754248764248834248834248834248914248924248994248994249054249134249144249214249224249254249334249344249414249424249464249544249554249624249644249664249744249754249824249844249904249984249994250064250094250124250204250214250284250314250394250474250484250554250584250674250754250764250834250874250944251024251034251104251154251164251244251254251324251374251454251534251544251614251674251714251794251804251874251934251984252064252074252144252214252244252324252334252404252474252544252624252634252704252784252824252904252914252984253074253084253164253174253244253334253354253434253444253524253524253524253604253614253694253694253734253814253824253904253914253934254014254024254104254114254144254224254234254314254324254364254444254454254534254554254574254654254664254744254764254824254904254914254994255024255064255144255154255234255274255304255384255394255474255514255554255634255644255724255774255794255874255884255964256014256074256154256164256244256304256354256434256444256524256584256634256714256724256804256864256924257004257014257094257164257204257284257294257374257444257524257604257614257694257774257844257924257934258014258104258124258204258214258294258384258414258494258504258594258594258604258684258694258784258784258834258914258924259014259024259064259144259154259244259264259294259374259384259474259494259534259614259624259714259744259764259844259854259944259974260044260124260134260224260254260324260404260414260504260544260584260664260674260764260804260854260934260944261034261084261114261194261204261294261344261424261504261514261604261654261734261814261824261914261974262034262114262124262214262274262344262424262434262524262594262644262724262734262824262904262904262984262994263084263164263174263254263264263354263434263484263564263574263664263744263804263884263894263984264074264114264194264204264294264384264474264554264574264574264574264574264654264674264674264674264754264834264854264854264854264944265024265044265044265054265124265204265224265224265244265264265344265364265364265384265424265504265524265524265554265554265634265654265654265684265694265774265794265794265824265914265994266014266014266054266094266174266194266194266234266294266374266394266394266444266484266564266584266584266634266684266764266784266784266844266874266954266974266974267034267114267194267214267214267284267284267364267384267384267454267544267624267644267644267724267724267804267824267824267904267984268064268084268084268174268204268284268304268304268394268454268534268554268554268644268734268814268834268844268844268844268924268944268954268954269034269114269134269144269154269184269264269284269294269304269374269454269474269484269494269574269654269674269684269694269784269864269884269894269914269984270064270084270094270124270144270224270244270254270284270344270424270444270454270484270574270654270674270684270724270724270804270824270834270874270954271034271054271064271114271144271224271244271254271304271374271454271474271484271544271564271644271664271674271734271764271844271864271874271944271954272034272054272064272134272194272274272294272304272384272384272464272484272494272574272664272744272764272774272864272864272944272964272974273064273144273224273244273264273264273294273374273394273414273414273494273574273594273614273624273674273754273774273794273804273864273944273964273984274004274044274124274144274164274184274274274354274374274394274424274464274544274564274584274624274654274734274754274774274814274854274934274954274974275024275044275124275144275164275214275284275364275384275404275464275494275574275594275614275674275754275834275854275874275934276024276104276124276144276214276284276364276384276404276484276504276584276604276624276704276784276864276884276904276994277064277144277164277184277274277354277434277454277484277484277544277624277644277674277684277694277774277794277824277834277914277994278014278044278064278114278194278214278244278264278324278404278424278454278484278524278604278624278654278684278774278854278874278904278944279004279084279104279134279184279234279314279334279364279414279474279554279574279604279664279704279784279804279834279894279984280064280084280114280184280254280334280354280384280464280504280584280604280634280714280764280844280864280894280984281014281094281114281144281234281314281394281414281454281454281524281604281624281664281664281744281824281844281884281884281974282054282074282114282124282194282274282294282334282354282374282454282474282514282544282554282634282654282694282734282734282814282834282874282914282924283004283024283064283104283194283274283294283334283384283434283514283534283574283624283674283754283774283814283864283934284014284034284074284124284204284284284304284344284404284464284544284564284604284674284694284774284794284834284904284924285004285024285064285134285194285274285294285334285404285474285554285574285614285694285744285824285844285884285974285984286064286084286124286214286224286304286324286364286454286544286624286644286694286694286694286774286794286844286844286924287004287024287074287084287124287204287224287274287284287334287414287434287484287504287514287594287614287664287684287704287784287804287854287884287884287964287984288034288064288124288204288224288274288304288374288454288474288524288564288624288704288724288774288814288884288964288984289034289084289134289214289234289284289344289354289434289454289504289564289594289674289694289744289804289854289934289954290004290064290124290204290224290274290344290384290464290484290534290614290614290694290714290764290844290864290944290964291014291094291174291254291274291324291404291494291574291594291644291734291804291884291904291964291964291994292074292094292154292154292214292294292314292374292384292384292464292484292544292554292564292644292664292724292734292824292904292924292984293004293054293134293154293214293234293314293394293414293474293504293554293634293654293714293744293804293884293904293964294004294044294124294144294204294254294254294334294354294414294464294504294584294604294664294714294794294874294894294954295004295094295174295194295254295314295384295464295484295544295614295644295724295744295804295874295944296024296044296104296184296234296314296334296394296474296534296614296634296694296784296824296904296924296994296994296994297074297094297164297164297214297294297314297384297394297404297484297504297574297584297604297684297704297774297794297794297874297894297964297984298044298124298144298214298244298254298334298354298424298464298464298544298564298634298674298684298764298784298854298894298984299064299084299154299204299254299334299354299424299484299494299574299594299664299724299814299894299914299984300054300054300134300154300224300294300374300454300474300544300624300664300744300764300834300924300934301014301034301104301194301224301304301324301394301484301524301604301624301704301704301724301804301824301904301904301984302064302084302164302174302234302314302334302414302424302484302564302584302664302674302744302824302844302924302944302994303074303094303174303204303214303294303314303394303424303514303594303614303694303734303764303844303864303944303984304024304104304124304204304254304274304354304374304454304504304584304664304684304764304824304894304974304994305074305134305214305294305314305394305454305544305624305644305724305794305864305944305964306044306124306154306234306254306334306424306444306524306544306624306714306784306864306884306964307054307134307214307234307324307324307384307464307484307574307584307614307694307714307804307814307844307924307944308034308044308104308184308204308294308304308374308454308474308564308584308634308714308734308824308854308874308954308974309064309094309114309194309214309304309334309424309504309524309614309654309654309734309754309844309884309964310044310064310154310204310254310334310354310444310494310554310634310654310744310804310814310894310914311004311064311084311164311184311274311344311344311424311444311534311604311674311754311774311864311934312014312094312114312204312284312354312434312454312544312624312704312784312804312894312984313044313124313154313154313154313184313264313294313294313294313344313424313454313454313464313484313564313594313594313604313634313714313744313744313764313774313854313884313884313904313984314064314094314094314124314134314214314244314244314274314304314384314414314414314444314484314564314594314594314634314654314734314764314764314804314894314974315004315004315054315074315154315184315184315234315294315374315404315404315454315524315604315634315634315694315744315824315854315854315924315944316024316054316054316124316174316254316284316284316364316394316474316504316504316584316624316704316734316734316824316844316924316954316954317044317134317214317244317254317254317284317364317394317404317404317494317574317604317614317624317624317704317734317744317754317834317914317944317954317974318024318104318134318144318174318174318254318284318294318324318334318414318444318454318484318504318584318614318624318664318664318744318774318784318824318894318974319004319014319064319084319164319194319204319254319334319414319444319454319504319594319674319704319714319774319844319924319954319964320034320074320154320184320194320274320274320354320384320394320474320474320554320584320594320674320684320764320794320804320884320974321054321084321094321184321244321324321354321374321374321394321474321504321524321534321534321614321644321664321674321684321764321794321814321824321914321994322024322044322064322124322204322234322254322284322314322394322424322444322474322544322624322654322674322704322784322864322894322914322954323014323094323124323144323194323224323304323334323354323414323414323494323524323544323604323654323734323764323784323844323904323984324014324034324104324144324224324254324274324354324364324444324474324494324574324654324734324764324784324874324944325024325054325074325164325244325324325354325384325384325444325524325554325584325594325624325704325734325764325784325794325874325904325934325954326034326114326144326174326194326284326364326394326424326454326524326604326634326664326704326744326824326854326884326934326964327044327074327104327154327214327294327324327354327404327474327554327584327614327674327724327804327834327864327934327954328034328064328094328174328184328264328294328324328404328464328544328574328604328684328754328834328864328894328984329034329114329144329184329184329204329284329314329354329364329374329454329484329524329544329544329624329654329694329714329724329804329834329874329894329984330064330094330134330164330234330314330344330384330414330484330564330594330634330674330714330794330824330864330904330954331034331064331104331154331184331264331294331334331394331404331484331514331554331614331634331714331744331784331844331894331974332004332044332104332164332244332274332314332384332424332504332534332574332654332674332754332784332824332904332934333014333044333084333174333194333274333304333344333434333464333544333574333624333624333634333714333744333794333794333884333964333994334044334054334064334144334174334224334234334274334354334384334434334444334494334574334604334654334674334704334784334814334864334894334904334984335014335064335094335134335214335244335294335324335374335454335484335534335564335624335704335734335784335824335864335944335974336024336074336094336174336204336254336304336354336434336464336514336574336594336674336704336754336814336844336924336954337004337074337084337164337194337244337314337404337484337514337564337644337674337754337784337834337914338004338084338114338164338254338254338334338364338414338504338584338664338694338754338754338814338894338924338984338994339004339084339114339174339184339194339274339304339364339374339394339474339504339564339584339584339664339694339754339774339854339934339964340024340054340084340164340194340254340294340304340384340414340474340514340534340614340644340704340754340754340834340864340924340974341054341134341164341224341284341324341404341434341494341554341644341724341754341814341884341884341964341994342054342124342204342284342314342374342454342514342594342624342684342774342804342884342914342974343064343114343194343224343284343374343434343514343544343614343614343654343734343764343834343844343864343944343974344044344054344144344224344254344324344344344394344474344504344574344594344654344734344764344834344864344904344984345014345084345124345144345224345254345324345374345374345454345484345554345604345644345724345754345824345874345924346004346034346104346164346194346274346304346374346444346454346534346564346634346714346714346794346824346894346974346984347064347094347164347244347264347344347374347444347534347534347614347644347714347804347884347964347994348074348074348144348224348254348334348344348404348484348514348594348604348674348754348784348864348884348934349014349044349124349154349194349274349304349384349414349454349534349564349644349674349744349824349854349934349964350044350124350154350234350274350334350414350444350524350574350624350704350734350814350864350924351004351034351114351164351234351314351344351424351474351554351634351664351744351804351864351944351974352054352124352174352254352284352364352434352494352574352604352684352764352814352894352924353004353084353144353224353254353334353424353464353544353574353664353664353694353774353804353894353894353944354024354054354144354144354204354284354314354404354404354474354554354584354674354684354734354814354844354934354954354994355074355104355194355214355274355354355384355474355504355514355594355624355714355744355764355844355874355964356004356004356084356114356204356244356334356414356444356534356584356604356684356714356804356854356904356984357014357104357154357214357294357324357414357474357514357594357624357714357784357814357894357924358014358084358154358234358264358354358424358504358584358614358704358774358864358944358974359064359144359214359294359324359414359504359564359644359684359684359684359684359764359804359804359804359874359954359994359994359994360074360154360194360194360204360264360344360384360384360404360454360534360574360574360604360604360684360724360724360754360764360844360884360884360914360934361014361054361054361094361094361174361214361214361254361344361424361464361464361514361554361634361674361674361734361764361844361884361884361944361984362064362104362104362174362194362274362314362314362394362404362484362524362524362604362674362754362794362794362884362924363004363044363044363134363184363264363304363314363314363344363424363464363474363484363504363584363624363634363644363734363814363854363864363884363924364004364044364054364074364124364204364244364254364284364314364394364434364444364484364504364584364624364634364674364764364844364884364894364944365024365104365144365154365204365294365374365414365424365484365554365634365674365684365754365814365894365934365944366024366064366144366184366194366284366294366374366414366424366514366534366614366654366674366674366674366754366794366814366814366904366984367024367044367054367134367214367254367274367294367324367404367444367464367484367524367604367644367664367694367724367804367844367864367894367924368004368044368064368094368124368204368244368264368294368364368444368484368504368534368614368694368734368754368794368864368944368984369004369044369114369194369234369254369294369364369444369484369504369554369604369684369724369744369794369854369934369974369994370054370104370184370224370244370304370354370434370474370494370554370614370694370734370754370824370844370924370964370984371054371084371164371204371224371304371324371404371444371464371544371564371644371684371704371784371824371904371944371964372044372134372214372254372274372364372364372444372484372504372594372684372764372804372824372914373004373084373124373154373154373164373244373284373314373314373404373484373524373554373564373564373644373684373714373724373814373894373934373964373974374064374144374184374214374234374254374334374374374404374424374464374544374584374614374634374684374764374804374834374864374904374984375024375054375084375124375204375244375274375304375384375464375504375534375564375644375724375764375794375824375914375994376034376064376104376184376264376304376334376374376454376534376574376604376654376674376754376794376824376884376894376974377014377044377104377124377204377244377274377344377354377434377474377504377574377584377664377704377734377804377864377944377984378014378094378124378204378244378274378354378394378474378514378544378634378664378744378784378814378904378934379014379054379084379174379264379344379384379424379424379424379504379544379584379584379594379674379714379754379764379764379844379884379924379934379934380014380054380094380104380164380244380284380324380344380394380474380514380554380574380634380714380754380794380824380874380954380994381034381064381114381194381234381274381314381334381414381454381494381544381544381624381664381704381754381764381844381884381924381984381984382064382104382144382204382204382284382324382364382424382504382584382624382664382734382774382854382894382934383004383054383134383174383214383294383334383414383454383494383574383614383694383734383774383864383894383974384014384054384144384174384254384294384334384424384464384544384584384634384634384664384744384784384834384834384864384944384984385034385044385064385144385184385234385254385254385334385374385424385444385454385534385574385624385654385654385734385774385824385854385864385944385984386034386064386074386154386194386244386274386354386434386474386524386554386644386724386764386814386854386934387014387054387104387144387234387314387354387404387454387454387534387574387624387674387734387814387854387904387954388024388104388144388194388254388314388394388434388484388544388614388694388734388784388844388934389014389054389104389164389254389334389374389424389494389494389574389614389664389734389824389904389944389994390074390074390154390194390244390324390344390424390464390514390604390614390694390734390784390874390894390974391014391074391074391084391164391204391264391264391284391364391404391464391464391504391584391624391684391694391724391804391844391904391914391954392034392074392134392154392184392264392304392364392384392424392504392544392604392624392694392774392814392874392894392984393064393104393164393194393194393274393314393374393404393494393574393614393674393714393714393794393834393894393934393964394044394084394144394184394274394354394394394454394504394504394584394624394684394734394824394904394944395004395064395064395144395184395244395304395344395424395464395524395584395674395754395794395854395924395924396004396044396104396174396264396344396384396444396524396524396604396644396704396784396824396904396944397004397084397174397254397294397354397444397444397524397564397624397714397804397884397924397994397994397994398074398114398184398184398234398314398354398424398424398504398584398624398694398694398784398864398904398974398984399064399144399184399254399264399354399434399474399544399564399604399684399724399794399824399834399914399954400024400054400074400154400194400264400304400314400394400434400504400544400564400644400684400754400794400874400954400994401064401114401154401234401274401344401394401444401524401564401634401694401734401814401854401924401984402034402114402154402224402294402304402384402424402494402564402644402724402764402834402904402994403074403114403184403264403344403424403464403534403614403704403784403824403894403984404044404124404164404234404324404414404494404534404614404614404614404694404734404814404814404904404984405024405104405114405114405194405234405314405324405394405474405514405594405614405654405734405774405854405874405924406004406044406124406154406194406274406314406394406424406474406554406594406674406714406744406824406864406944406984407074407154407194407274407324407324407404407444407524407574407664407744407784407864407924407924408004408044408124408184408264408344408384408464408534408584408664408704408784408854408914408994409034409114409194409244409324409364409444409524409584409664409704409784409874409924410004410044410124410214410304410384410424410514410514410514410594410634410724410724410814410894410934411024411034411034411114411154411244411254411344411424411464411554411574411644411724411764411854411874411954412034412074412164412194412264412344412384412474412504412594412674412714412804412834412924413004413044413134413174413234413314413354413444413484413554413634413674413764413814413874413954413994414084414134414214414294414334414424414474414554414634414674414764414824414894414974415014415104415164415244415324415364415454415524415594415674415714415804415874415964416044416084416174416254416254416334416374416464416544416544416624416664416754416834416844416924416964417054417144417144417224417264417354417444417464417544417584417674417764417794417874417914418004418094418164418244418284418374418464418544418624418674418674418674418744418824418874418874418874418964419044419094419094419104419114419194419244419244419254419294419374419424419424419434419484419564419614419614419634419674419754419804419804419824419884419964420014420014420034420114420194420244420244420274420304420384420434420434420464420504420584420634420634420674420704420784420834420834420874420924421004421054421054421094421174421254421304421304421354421354421434421484421484421534421544421624421674421674421734421734421814421864421864421924421944422024422074422074422134422184422264422314422314422384422394422474422524422524422594422614422694422744422744422824422834422914422964422964423044423074423154423204423204423284423354423434423484423484423574423594423674423724423724423814423844423924423974423984423984424004424084424134424144424144424184424264424314424324424324424404424484424534424544424554424604424684424734424744424754424814424894424944424954424974425024425104425154425164425184425254425334425384425394425424425444425524425574425584425614425694425774425824425834425864425954426034426084426094426134426214426294426344426354426404426404426484426534426544426594426654426734426784426794426844426904426984427034427044427094427164427244427294427304427364427424427504427554427564427624427704427784427834427844427914427954428034428084428094428174428204428284428334428344428424428464428544428594428604428694428724428804428854428864428954429004429084429134429154429154429174429254429304429324429324429364429444429494429514429514429564429644429694429714429724429764429844429894429914429924429984430064430114430134430154430184430264430314430334430354430404430484430534430554430574430634430714430764430784430814430864430944430994431014431044431114431194431244431264431304431344431424431474431494431544431544431624431674431694431744431754431834431884431904431964431964432044432094432114432174432194432274432324432344432414432414432494432544432564432634432684432764432814432834432904432964433044433094433114433194433244433324433374433394433474433544433624433674433694433784433834433914433964433994433994434024434104434154434184434184434224434304434354434384434394434424434504434554434584434594434644434724434774434804434824434864434944434994435024435044435104435184435234435264435284435354435434435484435514435544435604435684435734435764435794435874435954436004436034436074436144436224436274436304436354436384436464436514436544436594436634436714436764436794436854436884436964437014437044437104437164437244437294437324437384437444437524437574437604437674437684437764437814437844437914437934438014438064438094438174438184438264438314438344438424438464438544438594438624438704438744438824438874438904438994439024439104439154439184439274439314439394439444439484439484439514439594439644439684439684439744439824439874439914439914439984440064440114440154440154440224440304440354440394440394440474440554440604440644440654440724440804440854440894440914440914440994441044441084441104441114441194441244441284441304441354441434441484441524441544441604441684441734441774441804441854441934441984442024442054442134442214442264442304442344442344442424442474442514442554442584442664442714442754442794442834442914442964443004443054443084443164443214443254443304443364443444443494443534443584443664443744443794443834443894443944444024444074444114444174444234444314444364444404444474444524444604444654444694444764444844444924444974445014445094445094445174445224445264445344445434445514445564445604445694445694445774445824445864445954446044446124446174446224446224446244446324446374446424446424446474446554446604446654446654446734446814446864446914446914447004447084447134447184447194447274447354447404447454447474447484447564447614447664447684447734447814447864447914447934448004448084448134448184448204448284448364448414448464448494448564448644448694448744448784448784448864448914448964449004449044449124449174449224449274449274449354449404449454449504449514449594449644449694449754449754449834449884449934449994450024450104450154450204450264450334450414450464450514450584450644450724450774450824450894450964451044451094451144451224451284451364451414451464451544451634451714451764451814451904451944452024452074452124452214452284452364452414452464452554452634452714452764452824452824452894452974453024453084453094453094453174453224453284453294453354453434453484453544453554453634453714453764453824453834453924454004454054454114454134454214454294454344454404454434454444454524454574454634454664454734454814454864454924454964454994455074455124455184455224455264455344455394455454455504455534455614455664455724455774455834455914455964456024456084456114456194456244456304456364456424456504456554456614456674456744456824456874456934457004457064457144457194457254457324457414457494457544457604457684457744457824457874457934458024458054458134458184458244458334458374458454458504458574458574458604458684458734458804458804458864458944458994459064459074459114459194459244459314459334459334459414459464459534459554459564459644459694459764459794459794459874459924459994460024460054460134460184460254460294460314460394460444460514460554460584460664460714460784460824460864460944460994461064461114461144461224461274461344461394461454461534461584461654461714461764461844461894461964462034462034462114462164462234462304462314462394462444462514462594462594462674462724462794462874462904462984463034463104463194463214463294463344463424463424463434463514463564463644463644463664463744463794463874463884463894463974464024464104464114464164464244464294464374464384464434464514464564464644464664464694464774464824464904464924464964465044465094465174465204465234465314465364465444465474465544465624465674465754465784465864465944465994466074466114466124466204466254466334466374466394466474466524466604466654466664466744466794466874466924466974467054467104467184467234467294467374467424467504467564467604467684467734467814467874467924468004468054468134468204468244468324468374468454468524468604468684468734468814468894468894468974469024469104469184469204469284469334469414469494469524469604469654469734469824469844469924469974470054470144470204470284470334470414470504470594470674470724470814470814470814470894470944471034471034471044471124471174471264471274471274471354471404471494471504471544471624471674471764471774471844471924471974472064472084472114472194472244472334472354472394472474472524472614472644472674472754472804472894472924472994473074473124473214473254473264473344473394473484473524473554473634473684473774473814473854473934473984474074474124474154474234474284474374474424474494474574474624474714474774474784474864474914475004475064475134475214475264475354475414475494475574475624475714475784475854475934475984476074476154476164476244476294476384476464476524476604476654476744476834476844476924476974477064477154477174477254477314477314477314477324477404477464477464477464477514477594477654477654477664477674477754477814477814477824477844477924477984477984477994478024478104478164478164478184478204478284478344478344478364478424478504478564478564478594478614478694478754478754478784478814478894478954478954478984479024479104479164479164479204479234479314479374479374479414479484479564479624479624479674479704479784479844479844479894479974480054480114480114480164480254480334480394480394480454480534480614480674480674480744480764480844480904480904480974481064481144481204481204481284481314481394481454481454481534481574481654481714481714481804481834481914481974481974482064482134482214482274482284482284482334482414482474482484482484482534482614482674482684482684482744482824482884482894482904482954483034483094483104483114483204483284483344483354483374483444483524483584483594483624483664483744483804483814483844483894483974484034484044484084484124484204484264484274484314484394484474484534484544484594484664484744484804484814484864484944485024485084485094485144485234485314485374485384485444485524485604485664485674485744485774485854485914485924485994486024486104486164486174486244486274486354486414486424486494486534486614486674486684486764486794486874486934486944487024487104487184487244487254487334487414487494487554487564487654487704487784487844487854487944488004488084488144488164488164488214488294488354488374488384488384488464488524488544488554488554488634488694488714488724488814488894488954488974488994488994489074489134489154489174489264489344489404489424489454489494489574489634489654489684489734489814489874489894489924490004490084490144490164490194490284490364490424490444490484490564490644490704490724490774490804490884490944490964491014491064491144491204491224491274491344491424491484491504491554491634491714491774491794491854491924492004492064492084492154492174492254492314492334492404492444492524492584492604492684492714492794492854492874492954492994493074493134493154493244493274493354493414493434493524493604493684493744493774493774493784493864493924493954493954493984494064494124494154494154494194494274494334494364494374494404494484494544494574494584494664494744494804494834494854494864494944495004495034495054495124495204495264495294495314495394495474495534495564495594495664495744495804495834495874495894495974496034496064496104496164496244496304496334496384496394496474496534496564496614496634496714496774496804496864496874496954497014497044497104497164497244497304497334497404497414497494497554497584497654497684497764497824497854497924497964498044498104498134498214498244498324498384498414498494498574498654498714498744498834498864498944499004499044499044499064499144499204499244499244499274499354499414499454499464499484499564499624499664499674499744499824499884499924499944499974500054500114500154500174500234500314500374500414500434500504500584500644500684500714500774500854500914500954500994501004501084501144501184501224501304501384501444501484501534501534501614501674501714501764501774501854501914501954502014502014502094502154502194502254502304502384502444502484502554502584502664502724502764502834502864502944503004503044503114503154503234503294503334503414503444503524503584503624503704503784503864503924503964504054504114504194504254504304504304504314504394504454504504504504504524504604504664504714504724504734504814504874504924504934504994505074505134505184505204505244505324505384505434505464505494505574505634505684505714505754505834505894505944505984506014506094506154506204506244506324506404506464506514506564506634506714506774506824506884506934507014507074507124507184507244507324507384507434507504507554507634507694507744507824507834507914507974508024508104508114508194508254508304508384508454508534508594508644508724508804508884508944508994509084509154509234509294509354509354509384509464509524509584509584509624509704509764509824509824509914509994510054510114510124510124510204510264510324510334510424510504510564510624510644510694510774510834510894510914510974511054511114511174511204511254511334511394511454511484511544511624511684511744511784511834511914511974512034512084512094512174512234512294512344512374512454512514512574512634512644512724512784512844512904512924513004513064513124513194513204513284513344513404513474513544513624513684513744513824513824513904513964514024514104514174514254514314514374514454514534514614514674514734514824514894514974515034515104515104515134515214515274515344515344515404515484515544515614515624515654515734515794515864515874515914515994516054516124516144516174516254516314516384516404516494516574516634516704516734516764516844516904516974517004517044517124517184517254517284517334517414517474517544517584517624517704517764517834517884517884517964518024518094518144518194518274518334518404518454518504518584518644518714518764518824518904518964519034519094519144519224519284519354519424519434519514519574519644519714519774519854519914519984520064520114520194520254520324520404520464520544520604520674520764520814520894520954521034521034521044521124521184521264521264521334521414521474521554521564521564521644521704521784521794521804521884521944522024522044522044522124522184522264522284522344522424522484522564522594522614522694522754522834522874522874522954523014523094523134523144523224523284523364523414523414523494523554523634523684523744523824523884523964524024524044524124524184524264524334524334524414524474524554524624524634524714524774524854524934524934525014525074525154525234525294525374525434525514525604525624525704525764525854525854525854525934525994526084526084526094526174526234526324526334526334526414526474526564526574526634526714526774526864526884526914526994527054527144527164527194527274527334527424527444527484527564527624527714527744527774527854527914528004528034528124528204528264528354528394528454528534528594528684528734528744528824528884528974529024529044529124529184529274529334529344529424529484529574529634529704529784529844529934530004530044530124530184530274530344530434530514530574530664530744530744530824530884530974531054531144531224531284531374531464531514531594531664531664531664531684531764531834531834531834531904531984532054532054532054532134532214532284532284532294532364532444532514532514532534532564532644532714532714532744532754532834532904532904532934532984533064533134533134533164533224533304533374533374533414533464533544533614533614533664533674533754533824533824533874533964534044534114534114534174534254534334534404534404534464534554534634534704534704534774534854534934535004535004535084535124535204535274535274535364535384535464535534535544535544535554535634535704535714535714535734535814535884535894535904535914535994536064536074536084536154536234536304536314536334536394536474536544536554536574536634536714536784536794536814536884536964537034537044537074537134537214537284537294537334537354537434537504537514537564537574537654537724537734537784537794537874537944537954538004538024538104538174538184538244538254538334538404538414538474538544538624538694538704538774538834538914538984538994539074539084539164539234539244539324539344539424539494539504539594539604539684539754539764539854539924540004540074540094540094540154540234540304540324540334540344540424540494540514540524540544540624540694540714540734540744540824540894540914540934541004541084541154541174541204541264541344541414541434541474541494541574541644541664541704541734541814541884541904541954541974542054542124542144542194542284542364542434542454542504542594542674542744542764542814542904542984543054543074543134543134543214543284543304543364543454543534543604543624543694543754543834543904543924543994544054544134544204544224544304544314544394544464544484544564544584544664544734544754544844544854544934545004545024545114545194545274545344545364545454545534545614545684545714545714545744545824545894545924545924545964546044546114546144546154546184546264546334546364546384546384546464546534546564546584546584546664546734546764546784546854546934547004547034547054547134547214547284547314547344547414547494547564547594547634547674547754547824547854547894547944548024548094548124548164548214548294548364548394548434548494548574548644548674548724548774548854548924548954549014549034549114549184549214549274549304549384549454549484549544549624549704549774549804549864549954550034550104550134550204550284550364550434550464550544550594550674550744550774550854550914550994551064551094551184551194551274551344551374551464551484551564551634551674551674551684551764551834551874551874551954552034552104552144552144552234552314552384552424552434552494552574552644552684552694552764552844552914552954552974553034553114553184553224553254553284553364553434553474553504553554553634553704553744553774553834553914553984554024554054554124554204554274554314554354554414554494554564554604554654554684554764554834554874554924554974555054555124555164555224555234555314555384555424555484555504555584555654555694555764555774555854555924555964556034556114556194556264556304556384556384556464556534556574556654556714556794556864556904556984557054557134557204557244557334557394557474557544557594557594557624557704557774557824557824557874557954558024558074558084558114558194558264558314558324558364558444558514558564558584558614558694558764558814558844558844558924558994559044559074559104559184559254559304559334559394559474559544559594559624559694559774559844559894559934559994560074560144560194560244560274560354560424560474560524560584560664560734560784560844560884560964561034561084561144561194561274561344561394561464561504561584561654561704561784561794561874561944561994562074562114562194562264562314562404562424562504562574562624562714562744562824562894562954562954562974563054563124563184563184563274563354563424563484563494563524563604563674563734563744563784563864563934563994564004564054564134564204564264564284564324564404564474564534564564564574564654564724564784564814564864564944565014565074565104565164565244565314565374565404565474565554565624565684565724565784565864565934565994566044566074566154566224566284566334566404566484566554566614566674566704566784566854566914566974567014567094567164567224567294567324567404567474567534567614567614567694567764567824567904567944568024568094568154568244568244568324568394568454568544568554568634568704568774568774568774568854568924568994568994569064569144569214569284569294569304569384569454569524569544569544569624569694569764569784569794569874569944570014570044570044570124570194570264570294570364570444570514570584570624570634570714570784570854570904570904570984571054571124571174571184571264571334571404571464571464571544571614571684571744571814571894571964572034572104572124572204572274572344572414572474572554572624572694572764572834572914572984573054573134573194573274573344573414573504573534573614573684573754573844573924574004574074574154574154574174574254574324574404574404574434574514574584574664574674574694574774574844574924574934575024575104575174575254575274575314575394575464575544575574575584575664575734575814575844575864575944576014576094576134576144576224576294576374576414576494576574576644576724576774576804576884576954577034577094577094577174577244577324577384577394577474577544577624577694577694577774577844577924577994578064578144578214578294578374578404578484578554578634578714578764578844578914578994579074579134579214579284579364579454579504579584579654579744579744579764579844579914580004580004580084580164580234580324580334580334580414580484580574580584580594580674580744580834580854580854580934581004581094581114581184581264581334581424581454581484581564581634581724581754581834581914581984582074582104582194582274582344582434582474582554582634582704582794582844582894582974583044583134583194583204583284583354583444583504583574583654583724583814583874583954584034584104584194584264584334584414584484584574584654584694584774584844584934585024585034585114585184585274585364585384585464585534585624585714585744585824585904585904585904585924586004586084586084586084586174586254586334586334586344586404586484586564586564586574586644586724586804586804586814586894586974587054587054587074587144587224587304587304587334587374587454587534587534587574587584587664587744587744587784587834587914587994587994588034588094588174588254588254588304588354588434588514588514588574588594588674588754588754588824588824588904588984588984589054589054589134589214589214589284589294589374589454589454589534589534589614589694589694589774589844589924590004590004590094590144590224590304590314590314590314590394590474590484590484590494590574590654590664590674590674590754590834590844590854590924591004591084591094591114591164591244591324591334591364591364591444591524591534591564591574591654591734591744591784591784591864591944591954591994592064592144592224592234592284592334592414592494592504592564592594592674592754592764592824592864592944593024593034593104593134593214593294593304593384593384593464593544593554593634593724593804593884593894593984594014594094594174594184594274594314594394594474594494594494594524594604594684594704594714594714594794594874594894594904594994595074595154595174595194595274595354595434595454595474595564595644595724595744595774595854595934596014596034596074596124596204596284596304596354596394596474596554596574596634596664596744596824596844596904596944597024597104597124597194597224597304597384597404597484597494597574597654597674597754597764597844597924597944598024598064598144598224598244598324598374598454598534598554598644598684598764598844598874598874598894598974599054599084599084599104599184599264599294599304599304599384599464599494599504599514599594599674599704599724599724599804599884599914599934600014600094600174600204600224600314600394600474600504600534600554600634600714600744600774600804600884600964600994601034601054601134601214601244601294601294601374601454601484601534601544601624601704601734601784601824601904601984602014602064602114602194602274602304602364602404602484602564602594602664602684602764602844602874602944602974603054603134603164603244603244603324603404603434603514603524603604603684603714603804603804603884603964603994604084604164604244604324604364604364604364604444604524604564604564604594604674604754604794604794604834604914604994605034605044605074605154605234605274605294605304605384605464605504605524605554605634605714605754605784605794605874605954605994606024606044606124606204606244606284606294606374606454606494606534606624606704606784606824606874606884606964607044607084607134607224607304607384607424607484607484607564607644607684607744607834607914607994608034608104608174608254608334608374608454608454608534608614608654608734608764608844608924608964609044609084609164609244609284609374609404609484609564609614609614609624609704609784609834609834609874609954610034610084610084610164610244610324610374610374610464610544610624610674610684610764610844610924610974610994611054611134611214611264611284611374611454611534611584611614611694611774611854611904611934612024612104612184612234612274612354612434612514612564612614612674612754612834612884612934613024613104613184613234613294613374613454613534613584613644613734613814613894613944614014614094614174614254614304614384614444614524614604614654614744614744614824614904614954615044615084615164615244615294615384615434615514615594615654615654615694615774615854615914615924615944616024616104616164616174616234616314616394616454616474616494616574616654616714616734616764616844616924616984617014617034617114617194617254617294617294617374617454617514617554617604617684617764617824617864617924618004618084618144618184618254618334618414618474618524618584618664618744618804618864618904618984619064619124619184619274619354619434619494619564619564619644619724619784619854619864619944620024620084620164620164620244620324620384620464620544620624620704620764620854620884620964621044621104621194621284621364621444621514621514621514621594621674621744621744621834621914621994622064622074622144622224622304622374622394622424622504622584622654622674622724622804622884622954622974623034623114623194623264623294623344623424623504623574623614623644623724623804623874623914624004624084624164624234624284624344624424624504624574624624624694624774624854624924624984625044625124625204625274625344625384625464625544625614625694625694625774625854625924626004626074626154626234626304626384626464626544626624626694626784626854626934627014627094627094627144627224627304627384627394627414627494627574627654627664627704627784627864627944627954628004628084628164628244628264628304628384628464628544628574628594628674628754628834628864628954629034629114629194629234629314629394629474629554629594629684629764629844629924629974630054630134630214630294630354630414630494630574630654630724630764630844630924631004631074631154631234631314631394631464631554631634631714631794631874631954632034632114632194632284632344632424632504632594632594632634632714632794632884632884632964633044633124633214633214633304633384633464633554633564633644633724633804633894633914633974634054634134634224634254634304634384634464634554634584634634634714634794634884634914634974635054635134635224635264635314635394635474635564635614635644635724635804635894635954635974636054636134636224636284636324636404636484636574636634636684636764636844636934637004637044637124637204637294637374637394637474637554637644637734637744637824637904637994638084638164638244638324638414638504638594638674638764638764638764638844638924639014639014639024639084639164639254639254639274639324639404639494639494639524639544639624639714639714639744639774639854639944639944639984640004640084640174640174640224640234640314640404640404640454640464640544640634640634640684640724640804640894640894640944640994641074641164641164641224641264641344641434641434641504641534641614641704641704641774641804641884641974641974642044642134642214642304642304642384642384642464642554642554642634642724642804642894642894642984643064643144643234643234643324643414643494643584643594643594643594643674643764643774643774643784643864643954643964643974643974644054644144644154644164644254644334644424644434644454644454644534644624644634644654644664644744644834644844644864644884644964645054645064645094645104645184645274645284645324645324645404645494645504645544645554645634645724645734645774645854645934646024646034646074646164646244646334646344646394646474646554646644646654646714646784646864646954646964647024647114647194647284647294647364647394647474647564647574647644647684647764647854647864647944647974648054648144648154648244648264648344648434648444648534648574648654648744648764648764648794648874648964648984648984649024649104649194649214649224649254649334649424649444649464649484649564649654649674649694649734649814649904649924649954649984650064650154650174650204650244650324650414650434650474650504650584650674650694650744650764650844650934650954651004651054651134651224651244651304651304651384651474651494651554651564651644651734651754651824651824651904651994652014652084652174652254652344652364652444652474652554652644652664652744652804652884652974652994653074653144653224653314653334653424653484653564653654653684653684653734653814653904653934653934654024654104654194654224654234654304654384654474654504654514654594654674654764654794654814654884654964655054655084655114655174655254655344655374655414655414655494655584655614655654655734655814655904655934655974656064656144656234656264656314656394656474656564656594656654656724656804656894656924656994657014657094657184657214657284657354657434657524657554657624657704657784657874657904657984658054658134658224658254658344658404658484658574658614658614658624658704658794658834658834658924659004659094659134659144659144659224659314659354659364659454659534659624659664659684659764659844659934659974660004660044660124660214660254660284660354660434660524660564660594660674660754660844660884660924660994661074661164661204661254661314661394661484661524661584661604661684661774661814661874661924662004662094662134662194662254662334662424662464662534662584662664662754662794662874662914662994663084663124663214663224663304663394663434663524663534663614663704663744663834663854663934664024664074664074664084664164664254664304664314664314664394664484664534664544664614664694664784664834664854664864664944665034665084665104665124665204665294665344665374665384665464665554665604665644665644665724665814665864665904665974666054666144666194666244666304666384666474666524666574666644666724666814666864666924666984667064667154667204667274667324667404667494667544667624667644667724667814667864667954667964668044668134668184668274668294668374668464668524668524668534668614668704668764668774668774668854668944669004669014669094669174669264669324669344669384669464669554669614669634669684669764669854669914669944669984670064670154670214670254670284670364670454670514670564670584670664670754670814670864670934671014671104671164671214671304671384671474671534671584671674671754671844671904671954672044672124672214672274672324672414672494672584672644672694672784672864672954673014673074673084673164673254673314673374673384673464673554673614673674673684673764673854673914673974673984674064674154674214674274674284674364674454674514674574674604674684674774674834674894674924675004675094675154675214675244675324675414675474675534675564675644675734675794675864675874675954676044676104676174676204676284676374676434676504676534676614676704676764676834676864676944677034677094677164677194677274677364677424677504677514677594677684677744677824677854677934678024678084678164678194678274678364678424678504678534678614678704678764678844678884678964679054679114679194679264679344679434679494679574679664679744679834679894679974680064680144680234680294680374680464680544680634680694680784680784680864680954681014681104681134681214681304681364681454681504681584681674681734681824681874681954682044682104682194682244682324682414682474682564682634682714682804682864682954683034683114683204683274683274683274683354683444683514683514683514683594683684683754683754683754683834683924683994683994684014684094684184684254684254684334684414684504684574684584684584684664684754684824684834684834684914685004685074685084685084685164685254685324685334685364685444685534685604685614685654685734685824685894685904685964686044686134686204686214686274686354686444686514686524686584686664686754686824686834686924687004687094687164687184687184687264687354687424687444687464687544687634687704687724687744687824687914687984688004688024688104688194688264688284688334688414688504688574688604688644688724688814688884688914688974689054689144689214689244689304689384689474689544689574689634689714689804689874689914689914689994690084690154690194690254690334690424690494690534690614690694690784690854690894690974691054691144691214691254691334691414691504691574691624691654691734691824691894691944691984692064692154692224692274692334692414692504692574692624692684692764692854692924692974693034693114693204693274693334693344693424693514693584693644693664693744693834693904693964694004694084694174694244694304694344694424694514694584694644694684694764694854694924694984695074695154695244695314695384695464695544695634695704695784695784695864695954696024696104696104696184696274696344696424696424696504696594696664696744696804696884696974697044697134697154697234697324697394697484697524697604697694697764697854697894697974698064698134698224698264698344698434698514698514698524698604698694698774698774698794698874698964699044699044699084699164699254699334699334699374699454699544699624699624699664699744699834699914699924699934700014700104700184700194700214700294700384700464700474700514700594700684700764700774700814700894700984701064701074701114701194701284701364701384701394701474701564701644701674701674701754701844701924701954701974702054702144702224702254702274702354702444702524702554702574702654702744702824702864702864702944703034703114703154703224703304703394703474703514703604703684703774703854703894703984704064704154704234704274704364704444704534704614704664704744704824704914704994705054705054705134705224705304705364705384705464705554705634705694705714705794705884705964706024706044706124706214706294706364706374706454706544706624706694706724706804706894706974707044707094707174707264707344707414707464707544707634707714707784707844707924708014708094708164708224708304708394708474708544708614708694708784708864708934709024709104709194709274709344709434709514709604709684709764709764709844709934710014710094710094710174710264710344710424710464710544710634710714710794710854710934711024711104711184711244711324711414711494711574711644711724711814711894711974712044712124712214712294712384712444712524712614712694712784712864712944713034713114713204713284713364713454713534713624713714713794713884713964714054714144714224714314714404714404714484714564714654714744714754714754714834714924715014715024715024715104715194715284715294715304715384715474715564715574715594715674715764715854715874715874715954716044716134716154716174716254716344716434716454716474716554716644716734716754716784716864716954717044717064717114717194717284717374717394717474717554717644717734717764717764717844717934718024718054718054718134718224718314718344718354718434718524718614718644718674718754718844718934718974718984719064719154719244719284719314719394719484719574719614719644719724719814719904719944719984720064720154720244720284720344720424720514720604720654720694720774720864720954721004721064721144721234721324721374721434721514721604721694721744721814721894721984722074722134722134722214722304722394722454722524722604722694722784722844722934723014723104723194723254723344723424723514723604723674723674723754723844723934724004724044724124724214724304724374724434724514724604724694724764724844724924725014725104725174725254725334725424725514725584725674725754725844725934726014726044726124726214726304726394726394726474726564726654726744726764726844726934727024727114727134727214727304727394727484727514727594727684727774727864727934728024728024728024728024728064728154728154728154728154728214728304728304728304728304728364728454728454728454728454728524728614728614728614728624728644728734728734728734728744728824728914728914728914728934728934729024729024729024729044729044729134729134729134729154729164729254729254729254729274729344729434729434729434729454729544729634729634729634729664729674729764729764729764729794729804729894729894729894729924729944730034730034730034730064730144730234730234730234730274730324730414730414730414730454730524730614730614730614730654730724730814730814730814730854730934731024731024731024731074731114731204731204731204731264731284731374731374731374731434731474731564731564731564731624731664731754731754731754731814731864731954731954731954732024732034732124732124732124732194732284732374732374732374732454732464732554732554732554732634732644732734732734732734732814732834732924732924732924733004733084733174733174733174733264733334733424733424733424733514733604733694733694733694733784733874733964733964733974733974733974734064734064734074734074734144734234734234734244734254734264734354734354734364734374734404734494734494734504734514734544734634734634734644734654734694734784734784734794734814734824734914734914734924734944735004735094735094735104735124735204735294735294735304735324735404735494735494735504735524735614735704735704735714735744735804735894735894735904735944735954736044736044736054736094736124736214736214736224736264736294736384736384736394736434736474736564736564736574736624736634736724736724736734736784736874736964736964736974737034737044737134737134737144737204737214737304737304737314737374737394737484737484737494737564737564737654737654737664737734737764737854737854737864737934737984738074738074738084738154738204738294738294738304738374738434738524738524738534738614738654738744738744738754738834738914739004739004739014739104739104739194739194739204739294739294739384739384739394739484739494739584739584739594739684739774739864739864739884739884739914740004740004740024740024740074740164740164740184740184740234740324740324740344740344740404740494740494740514740524740574740664740664740684740694740754740844740844740864740874740954741044741044741064741074741154741244741244741264741274741364741454741454741474741494741574741664741664741684741714741754741844741844741864741894741954742044742044742064742094742154742244742244742264742294742364742454742454742474742514742574742664742664742684742734742764742854742854742874742924742974743064743064743084743134743184743274743274743294743344743404743494743494743514743574743624743714743714743734743804743824743914743914743934744004744044744134744134744154744224744264744354744354744374744444744504744594744594744614744684744744744834744834744854744934744944745034745034745054745134745164745254745254745274745354745384745474745474745494745574745624745714745714745734745814745874745964745964745984746064746124746214746214746234746314746394746484746484746504746584746664746754746754746774746864746864746954746954746974747064747074747164747164747184747274747294747384747384747404747494747534747624747624747644747734747774747864747864747884747974748034748124748124748144748234748304748394748394748414748504748594748684748684748714748714748724748814748814748844748844748854748944748944748974748974749004749094749094749124749124749164749254749254749284749284749374749464749464749494749504749514749604749604749634749644749654749744749744749774749784749814749904749904749934749944749994750084750084750114750124750174750264750264750294750304750374750464750464750494750504750574750664750664750694750704750794750884750884750914750934750944751034751034751064751084751104751194751194751224751244751284751374751374751404751424751464751554751554751584751604751664751754751754751784751804751884751974751974752004752034752034752124752124752154752184752204752294752294752324752354752374752464752464752494752524752564752654752654752684752714752774752864752864752894752934752964753054753054753084753124753174753264753264753294753334753384753474753474753504753544753614753704753704753734753784753784753874753874753904753954753974754064754064754094754144754184754274754274754304754354754394754484754484754514754564754624754714754714754744754794754884754974754974755004755064755084755174755174755204755264755304755394755394755424755484755524755614755614755644755704755764755854755854755884755944756034756124756124756154756224756264756354756354756384756454756514756604756604756634756704756764756854756854756884756954757034757124757124757154757234757244757334757334757364757454757454757544757544757574757664757684757774757774757804757894757914758004758004758034758124758164758254758254758284758374758454758544758544758584758584758604758694758694758734758734758774758864758864758904758904758944759034759034759074759074759134759224759224759264759274759274759364759364759404759414759464759554759554759594759604759674759764759764759804759814759884759974759974760014760024760114760204760204760244760264760294760384760384760424760454760454760544760544760584760614760634760724760724760764760794760814760904760904760944760974761014761104761104761144761174761264761354761354761394761434761444761534761534761574761614761644761734761734761774761814761844761934761934761974762014762064762154762154762194762244762244762334762334762374762424762494762584762584762624762674762764762854762854762894762944763034763124763124763164763224763234763324763324763364763424763484763574763574763614763684763724763814763814763854763924763984764074764074764114764184764244764334764334764374764444764524764614764614764654764734764774764864764864764904764984765034765124765124765164765244765314765404765404765444765524765594765684765684765724765804765894765984765984766024766114766164766254766254766294766384766444766534766534766574766664766744766834766834766874766964767044767134767134767184767184767184767274767274767324767324767384767474767474767524767534767554767644767644767694767704767744767834767834767884767894767934768024768024768074768084768144768234768234768284768304768324768414768414768464768484768574768664768664768714768744768754768844768844768894768924768934769024769024769074769104769134769224769224769274769314769314769404769404769454769494769494769584769584769634769674769694769784769784769834769874769894769984769984770034770074770114770204770204770254770304770314770404770404770454770504770544770634770634770684770734770794770884770884770934770984771044771134771134771184771234771314771404771404771454771514771564771654771654771704771774771804771894771894771944772014772064772154772154772204772274772324772414772414772464772534772604772694772694772744772824772864772954772954773004773094773124773214773214773264773354773404773494773494773544773634773684773774773774773824773914773984774074774074774134774134774184774274774274774334774334774404774494774494774554774554774644774734774734774794774794774884774974774974775034775044775054775144775144775204775214775304775394775394775454775474775514775604775604775664775684775744775834775834775894775914775974776064776064776124776144776224776314776314776374776404776474776564776564776624776654776724776814776814776874776904776994777084777084777144777174777264777354777354777414777454777464777554777554777614777664777664777754777754777814777864777874777964777964778024778074778104778194778194778254778304778334778424778424778484778534778584778674778674778734778794778834778924778924778984779044779124779214779214779274779344779344779434779434779494779564779564779654779654779714779784779804779894779894779954780034780044780134780134780194780274780364780454780454780514780604780614780704780704780764780854780864780954780954781014781104781144781234781234781294781384781424781514781514781574781664781734781824781824781884781974782064782154782154782214782304782394782484782484782554782554782574782664782664782734782734782754782844782844782914782914782974783064783064783134783134783214783304783304783374783374783454783544783544783614783624783634783724783724783794783804783814783904783904783974783984784064784154784154784224784244784244784334784334784404784424784424784514784514784584784604784634784724784724784794784814784854784944784944785014785044785044785134785134785204785234785254785344785344785414785444785464785554785554785624785654785704785794785794785864785894785964786054786054786124786154786234786324786324786394786434786434786524786524786594786634786634786724786724786794786834786864786954786954787024787064787114787204787204787274787314787384787474787474787544787584787674787764787764787834787874787964788054788054788124788174788194788284788284788354788404788444788534788534788604788664788664788754788754788824788884788904788994788994789064789124789144789234789234789304789364789414789504789504789574789634789704789794789794789864789934789984790074790074790144790214790284790374790374790444790514790584790674790674790744790824790824790914790914790984791064791094791184791184791254791334791394791484791484791554791634791714791804791804791874791954792034792124792124792194792284792294792384792384792454792544792584792674792674792744792834792914793004793004793084793084793084793174793174793254793254793254793344793344793424793424793454793544793544793624793624793684793774793774793854793864793904793994793994794074794084794144794234794234794314794324794384794474794474794554794564794654794744794744794824794844794874794964794964795044795064795104795194795194795274795294795354795444795444795524795544795604795694795694795774795794795884795974795974796054796084796114796204796204796284796314796404796494796494796574796614796624796714796714796794796834796844796934796934797014797054797094797184797184797264797304797384797474797474797554797604797654797744797744797824797874797944798034798034798114798164798234798324798324798404798464798464798554798554798634798694798744798834798834798914798974799034799124799124799204799264799344799434799434799514799574799654799744799744799824799894799904799994799994800074800144800204800294800294800374800454800464800554800554800634800714800744800834800834800914800994801024801114801114801194801274801334801424801424801504801594801614801704801704801784801874801894801984801984802064802154802194802284802284802364802454802494802584802584802664802754802824802914802914803004803004803034803124803124803214803214803254803344803344803434803434803494803584803584803674803674803734803824803824803914803914804004804094804094804184804194804244804334804334804424804444804444804534804534804624804644804664804754804754804844804864804884804974804974805064805084805134805224805224805314805344805364805454805454805544805574805634805724805724805814805844805924806014806014806104806134806214806304806304806394806434806444806534806534806624806664806744806834806834806924806974807044807134807134807224807274807364807454807454807544807594807684807774807774807864807924807944808034808034808124808194808194808284808284808374808444808444808534808534808624808694808714808804808804808894808964808984809074809074809164809234809284809374809374809464809544809574809664809664809754809834809914810004810004810094810184810184810274810274810364810454810454810544810544810634810724810754810844810854810854810854810864810954810964810964810964811044811134811144811144811154811154811244811254811254811264811264811354811364811364811374811404811494811504811504811524811544811634811644811644811664811704811794811804811804811824811884811974811984811984812004812064812154812164812164812184812274812364812374812374812404812484812574812584812584812624812634812724812734812734812774812804812894812904812904812944812974813064813074813074813114813174813264813274813274813324813374813464813474813474813534813564813654813664813664813724813774813864813874813874813934813984814074814084814084814144814234814324814334814334814394814484814574814584814584814654814704814794814804814804814874814944815034815044815044815114815184815274815284815284815364815374815464815474815474815554815574815664815674815674815754815784815874815884815884815964816014816104816114816114816194816244816334816344816344816424816514816604816614816614816704816704816794816804816804816894816914817004817014817014817104817144817234817244817244817334817374817464817474817474817564817644817734817744817744817834817924818014818024818034818034818094818184818194818204818204818284818374818384818394818394818474818564818574818584818594818614818704818714818724818734818774818864818874818884818904818904818994819004819014819034819054819144819154819164819184819204819294819304819314819334819394819484819494819504819524819614819704819714819724819754819754819844819854819864819894819914820004820014820024820054820074820164820174820184820214820274820364820374820384820414820504820594820604820614820654820664820754820764820774820814820844820934820944820954820994821024821114821124821134821174821244821334821344821354821404821404821494821504821514821564821644821734821744821754821814821814821904821914821924821984821984822074822084822094822154822194822284822294822304822364822444822534822544822554822624822624822714822724822734822804822824822914822924822934823004823024823114823124823134823204823264823354823364823374823454823454823544823554823564823644823714823804823814823824823904823994824084824094824104824184824274824364824374824384824474824504824594824604824614824704824774824864824874824894824894824944825034825044825064825064825134825224825234825254825254825324825414825424825444825454825464825554825564825584825594825654825744825754825774825794825794825884825894825914825934825954826044826054826074826094826114826204826214826234826254826314826404826414826434826464826484826574826584826604826634826664826754826764826784826814826864826954826964826984827014827064827154827164827184827214827304827394827404827424827464827514827604827614827634827684827694827784827794827814827864827894827984827994828014828064828094828184828194828214828264828334828424828434828454828514828544828634828644828664828734828734828824828834828854828924828944829034829044829064829134829154829244829254829274829344829404829494829504829524829604829634829724829734829754829834829904829994830004830024830104830194830284830294830314830394830484830574830584830604830694830724830814830824830854830854830854830944830954830984830984831064831154831164831194831204831204831294831304831334831344831344831434831444831474831484831524831614831624831654831674831694831784831794831824831844831894831984831994832024832044832114832204832214832244832264832334832424832434832464832494832504832594832604832634832664832754832844832854832884832924832954833044833054833084833124833174833264833274833304833344833394833484833494833524833564833654833744833754833784833834833914834004834014834044834094834184834274834284834314834374834384834474834484834514834574834584834674834684834714834774834824834914834924834954835024835064835154835164835194835274835274835364835374835404835484835504835594835604835634835714835734835824835834835864835944836014836104836114836144836224836294836384836394836424836504836584836674836684836714836804836804836894836904836934837024837024837114837124837154837244837294837384837394837424837514837564837654837664837694837784837854837944837954837984838074838164838254838264838294838384838474838564838574838614838614838654838744838754838794838794838844838934838944838984838984839034839124839134839174839174839244839334839344839384839384839454839544839554839594839604839624839714839724839764839774839804839894839904839944839954839984840074840084840124840134840184840274840284840324840334840384840474840484840524840544840544840634840644840684840704840714840804840814840854840874840934841024841034841074841094841174841264841274841314841334841414841504841514841554841584841614841704841714841754841784841824841914841924841964842004842004842094842104842144842184842204842294842304842344842384842404842494842504842544842584842654842744842754842794842834842924843014843024843064843114843144843234843244843284843334843384843474843484843524843574843624843714843724843764843824843824843914843924843964844024844044844134844144844184844254844254844344844354844394844464844484844574844584844624844694844714844804844814844854844924844994845084845094845134845214845214845304845314845354845434845464845554845564845604845684845734845824845834845874845954846004846094846104846144846234846234846324846334846374846464846494846584846594846634846724846794846884846894846934847024847114847204847214847254847344847434847524847534847584847584847624847714847724847774847774847854847944847954848004848014848014848104848114848164848174848194848284848294848344848354848374848464848474848524848534848604848694848704848754848774848784848874848884848934848954849024849114849124849174849194849284849374849384849434849454849544849634849644849694849724849764849854849864849914849944850034850124850134850184850224850224850314850324850374850414850434850524850534850584850624850644850734850744850794850834850904850994851004851054851104851124851214851224851274851324851364851454851464851514851564851624851714851724851774851824851884851974851984852034852094852104852194852204852254852314852384852474852484852534852594852664852754852764852814852874852964853054853064853114853174853264853354853364853414853484853524853614853624853674853754853754853844853854853904853984854034854124854134854184854264854334854424854434854484854564854634854724854734854784854874854894854984854994855044855134855224855314855324855374855464855554855644855654855714855714855724855814855824855884855884855894855984855994856054856054856114856204856214856274856284856314856404856414856474856484856524856614856624856684856694856754856844856854856914856924856984857074857084857144857164857174857264857274857334857354857444857534857544857604857624857714857804857814857874857904857914858004858014858074858104858114858204858214858274858304858364858454858464858524858564858604858694858704858764858804858844858934858944859004859044859104859194859204859264859304859364859454859464859524859574859584859674859684859744859794859884859974859984860044860104860144860234860244860304860364860424860514860524860584860644860704860794860804860864860934860944861034861044861104861174861264861354861364861424861504861554861644861654861714861794861864861954861964862024862104862174862264862274862334862424862444862534862544862614862614862624862714862724862794862794862854862944862954863024863024863104863194863204863274863274863354863444863454863524863534863564863654863664863734863754863774863864863874863944863974863984864074864084864154864184864214864304864314864384864414864444864534864544864614864644864734864824864834864904864934865024865114865124865194865234865264865354865364865434865474865524865614865624865694865734865784865874865884865954866004866014866104866114866184866234866244866334866344866414866464866524866614866624866694866744866824866914866924866994867044867124867214867224867294867354867394867484867494867564867624867674867764867774867844867904867994868084868094868164868234868244868334868344868414868484868494868584868594868664868734868804868894868904868974869044869134869224869234869304869384869404869494869504869574869654869694869784869794869864869944869984870074870084870154870244870244870334870344870414870504870524870614870624870704870704870704870794870804870884870884870904870994871004871084871084871104871194871204871284871284871364871454871464871544871554871564871654871664871744871754871764871854871864871944871954871984872074872084872164872174872204872294872304872384872394872484872574872584872664872684872704872794872804872884872904872924873014873024873104873124873164873254873264873344873364873404873494873504873584873614873614873704873714873794873824873854873944873954874034874064874094874184874194874274874304874354874444874454874534874564874614874704874714874794874834874844874934874944875024875064875104875194875204875284875324875414875504875514875594875644875654875744875754875834875884875894875984875994876074876124876194876284876294876374876434876434876524876534876614876674876744876834876844876924876984877074877164877174877254877314877404877494877504877584877654877704877794877804877884877954878034878124878134878214878294878344878434878444878524878604878674878764878774878854878934879004879094879104879184879274879304879394879404879484879574879644879734879744879824879914880004880094880104880194880194880204880294880304880394880394880404880494880504880594880594880664880754880764880854880864880874880964880974881064881074881154881244881254881344881364881364881454881464881554881574881574881664881674881764881784881844881934881944882034882064882064882154882164882254882284882374882464882474882564882604882614882704882714882804882844882854882944882954883044883084883154883244883254883344883394883404883494883504883594883654883654883744883754883844883904883924884014884024884114884174884194884284884294884384884444884524884614884624884714884784884814884904884914885004885084885094885184885194885284885364885394885484885494885584885664885694885784885794885884885964886054886144886154886244886334886384886474886484886574886664886744886834886854886854886854886854886944886964886964886964886964887054887074887074887074887134887224887244887244887254887274887364887384887384887394887464887554887574887574887584887674887764887784887784887794887884887974887994887994888014888064888154888174888174888204888214888304888324888324888354888424888514888534888534888564888654888744888764888764888794888884888974888994888994889034889084889174889194889194889244889264889354889374889374889424889454889544889564889564889614889664889754889774889774889824889874889964889984889984890044890054890144890164890164890224890304890394890414890414890484890524890614890634890634890704890764890854890874890874890944891004891094891114891114891194891214891304891324891324891404891494891584891604891604891694891764891854891874891874891964892054892144892164892164892254892344892434892454892464892464892514892604892624892634892644892664892754892774892784892804892814892904892924892934892954892984893074893094893104893124893154893244893264893274893294893384893474893494893504893534893604893694893714893724893764893784893874893894893904893944893984894074894094894104894144894184894274894294894304894354894354894444894464894474894524894614894704894724894734894784894874894964894984894994895054895064895154895174895184895244895254895344895364895374895434895504895594895614895624895694895754895844895864895874895944896024896114896134896144896224896224896314896334896344896424896424896514896534896544896624896684896774896794896804896894896944897034897054897064897154897244897334897354897374897374897384897474897494897514897514897524897614897634897654897654897724897814897834897854897864897924898014898034898054898074898084898174898194898214898234898264898354898374898394898414898444898534898554898574898604898604898694898714898734898764898764898854898874898894898924898924899014899034899054899084899104899194899214899234899264899284899374899394899414899444899534899624899644899664899694899784899874899894899914899954899964900054900074900094900134900164900254900274900294900334900364900454900474900494900544900544900634900654900674900724900724900814900834900854900904900944901034901054901074901124901184901274901294901314901364901424901514901534901554901614901644901734901754901774901834901874901964901984902004902064902104902194902214902234902294902354902444902464902484902544902604902694902714902734902804902834902924902944902964903034903074903164903184903204903274903364903454903474903494903574903584903674903694903714903794903804903894903914903934904014904094904184904204904224904304904394904484904504904524904614904674904764904784904804904894904974905064905084905104905194905274905364905384905414905414905464905554905574905604905604905664905754905774905804905814905864905954905974906004906014906084906174906194906224906234906304906394906414906444906464906504906594906614906644906664906724906814906834906864906894906924907014907034907064907094907144907234907254907284907314907364907454907474907504907544907564907654907674907704907744907794907884907904907934907974908044908134908154908184908224908314908404908424908454908494908584908674908694908724908774908834908924908944908974909024909114909204909224909254909314909344909434909454909484909544909594909684909704909734909794909844909934909954909984910054910074910164910184910214910284910334910424910444910474910554910564910654910674910704910784910814910904910924910954911034911064911154911174911204911294911294911384911404911434911524911564911654911674911704911794911884911974911994912034912034912044912134912154912194912194912204912294912314912354912354912434912524912544912584912594912624912714912734912774912784912814912904912924912964912974913024913114913134913174913184913234913324913344913384913404913424913514913534913574913594913664913754913774913814913834913924914014914034914074914104914114914204914224914264914294914304914394914414914454914484914564914654914674914714914754914784914874914894914934914974915054915144915164915204915254915254915344915364915404915454915454915544915564915604915654915724915814915834915874915934915954916044916064916104916174916184916274916294916334916404916434916524916544916584916654916684916774916794916834916914916914917004917024917064917144917204917294917314917354917444917444917534917554917594917684917704917794917814917854917944917964918054918074918114918204918294918384918404918454918454918504918594918614918664918674918684918774918794918844918854918884918974918994919044919054919084919174919194919244919264919264919354919374919424919444919504919594919614919664919694919744919834919854919904919934920004920094920114920164920194920264920354920374920424920464920504920594920614920664920714920724920814920834920884920934921024921114921134921184921244921254921344921364921414921474921484921574921594921644921704921784921874921894921944922014922074922164922184922234922304922394922484922504922554922634922644922734922754922804922884922894922984923004923054923134923214923304923324923374923464923524923614923634923694923694923704923794923814923874923874923904923994924014924074924074924104924194924214924274924284924284924374924394924454924464924544924634924654924714924734924804924894924914924974924994925084925174925194925254925274925364925454925474925534925564925624925714925734925794925834925884925974925994926054926104926104926194926214926274926324926344926434926454926514926564926584926674926694926754926814926814926904926924926984927044927044927134927154927214927274927274927364927384927444927504927524927614927634927694927754927774927864927884927944928014928014928104928124928184928254928254928344928364928424928494928514928604928624928684928754928794928884928904928964929034929074929164929184929244929324929344929434929454929514929594929614929704929724929784929864929944930034930054930114930204930204930294930314930374930464930464930554930574930634930724930804930894930914930974931064931154931244931264931334931334931354931444931464931534931534931574931664931684931754931754931794931884931904931974931984932004932094932114932184932194932224932314932334932404932424932434932524932544932614932634932664932754932774932844932864932894932984933004933074933104933114933204933224933294933324933354933444933464933534933564933594933684933704933774933804933854933944933964934034934064934114934204934224934294934334934364934454934474934544934584934634934724934744934814934864934864934954934974935044935094935114935204935224935294935344935364935454935474935544935604935604935694935714935784935844935864935954935974936044936104936194936284936304936374936444936454936544936564936634936704936714936804936824936894936964937054937144937164937234937314937334937424937444937514937594937634937724937744937814937894937954938044938064938134938214938274938364938384938454938544938584938674938694938764938854938924939014939034939114939114939124939214939234939314939314939344939434939454939534939534939564939654939674939754939764939774939864939884939964939974940014940104940124940204940224940254940344940364940444940464940514940604940624940704940724940774940864940884940964940994941024941114941134941214941244941314941404941424941504941544941574941664941684941764941804941854941944941964942044942084942134942224942244942324942374942404942494942514942594942644942724942814942834942914942964943054943144943164943244943304943314943404943424943504943564943574943664943684943764943824943914944004944024944104944174944214944304944324944404944474944544944634944654944734944804944894944984945004945084945154945244945334945354945434945514945584945674945694945774945864945884945974945994946084946084946094946184946204946294946294946324946414946434946524946524946554946644946664946754946764946774946864946884946974946984947054947144947164947254947274947294947384947404947494947514947554947644947664947754947774947814947904947924948014948044948064948154948174948264948294948384948474948494948584948614948704948794948814948904948944948954949044949064949154949194949204949294949314949404949444949534949624949644949734949784949844949934949954950044950094950174950264950284950374950434950434950524950544950634950694950694950784950804950894950954951034951124951144951234951304951354951444951464951554951634951664951754951774951864951944951994952084952104952194952274952324952414952434952524952614952644952734952764952764952764952774952864952894952894952894952954953044953074953074953074953154953244953274953274953274953354953444953474953474953484953544953634953664953664953684953734953824953854953854953874953924954014954044954044954064954134954224954254954254954274954344954434954464954464954494954544954634954664954664954704954744954834954864954864954904954964955054955084955084955124955204955294955324955324955364955444955534955564955564955614955674955764955794955794955854955904955994956024956024956094956134956224956254956254956324956384956474956504956504956574956634956724956754956754956834956884956974957004957004957084957134957224957254957254957334957394957484957514957514957594957674957764957794957794957874957954958044958074958074958164958234958324958354958354958444958514958604958634958644958644958674958764958794958804958804958854958944958974958984958984959034959124959154959164959174959214959304959334959344959354959394959484959514959524959544959564959654959684959694959714959754959844959874959884959904959944960034960064960074960104960134960224960254960264960294960334960424960454960464960494960584960674960704960714960754960764960854960884960894960934960944961034961064961074961124961124961214961244961254961304961324961414961444961454961504961554961644961674961684961734961804961894961924961934961984962054962144962174962184962244962304962394962424962434962494962574962664962694962704962774962834962924962954962964963034963114963204963234963244963314963394963484963514963524963604963674963764963794963804963894963894963984964014964024964114964114964204964234964244964334964354964444964474964484964574964594964684964714964734964734964744964834964864964884964884964924965014965044965064965074965094965184965214965234965244965284965374965404965424965434965474965564965594965614965634965664965754965784965804965824965884965974966004966024966054966104966194966224966244966274966344966434966464966484966514966584966674966704966724966764966824966914966944966964967014967014967104967134967154967204967244967334967364967384967434967494967584967614967634967684967744967834967864967884967944967994968084968114968134968194968284968374968404968424968494968544968634968664968684968754968824968914968944968964969034969104969194969224969244969324969384969474969504969524969614969624969714969744969764969854969904969994970024970044970134970204970294970324970344970434970504970594970624970654970654970714970804970834970864970874970884970974971004971034971044971114971204971234971264971274971364971454971484971514971524971614971704971734971764971784971864971954971984972014972044972084972174972204972234972264972314972404972434972464972494972564972654972684972714972744972814972904972934972964973004973064973154973184973214973264973284973374973404973434973484973534973624973654973684973734973804973894973924973954974004974074974164974194974224974284974344974434974464974494974564974594974684974714974744974814974854974944974974975004975074975134975224975254975284975354975414975504975534975564975644975694975784975814975844975934975954976044976074976114976114976114976204976234976274976274976294976384976414976454976454976474976564976594976634976644976654976744976774976814976824976914977004977034977074977094977114977204977234977274977294977334977424977454977494977514977554977644977674977714977744977774977864977894977934977974977984978074978104978144978184978244978334978364978404978444978524978614978644978684978724978804978894978924978964979014979084979174979204979244979304979364979454979484979524979594979594979684979714979754979824979844979934979964980004980074980094980184980214980254980334980344980434980464980504980594980594980684980714980754980844980914981004981034981074981164981254981344981374981424981424981424981514981544981594981594981594981684981714981764981764981764981854981884981934981934981954982044982074982124982124982164982254982284982334982334982384982474982504982554982554982604982694982724982774982774982824982914982944982994983004983004983094983124983174983184983204983294983324983374983384983414983504983534983584983594983624983714983744983794983804983834983924983954984004984014984094984184984214984264984284984284984374984404984454984474984484984574984604984654984674984684984774984804984854984874984884984974985004985054985074985144985234985264985314985334985424985514985544985594985624985624985714985744985794985824985824985914985944985994986024986034986124986154986204986234986254986344986374986424986454986494986584986614986664986694986744986834986864986914986944986994987084987114987164987194987254987344987374987424987464987464987554987584987634987674987694987784987814987864987904987934988024988054988104988144988174988264988294988344988384988424988514988544988594988634988714988804988834988884988934988934989024989054989104989154989164989254989284989334989384989394989484989514989564989614989634989724989754989804989854989934990024990054990104990164990164990254990284990334990394990404990494990524990574990634990644990734990764990814990874990904990994991024991074991134991174991264991294991344991404991464991554991584991634991694991764991854991884991934991994992064992154992184992234992294992384992474992504992554992624992654992744992774992824992894992944993034993064993114993184993244993334993364993414993484993544993634993664993714993784993864993954993984994034994114994134994224994254994304994384994424994514994544994594994674994724994814994844994894994974995024995114995144995194995274995354995444995474995524995604995694995784995814995864995954995964996054996084996134996224996244996334996364996414996504996524996614996644996694996784996834996924996954997014997014997024997114997144997204997204997234997324997354997414997414997454997544997574997634997634997674997764997794997854997854997924998014998044998104998114998174998264998294998354998364998444998534998564998624998634998724998814998844998904998914999004999094999124999184999204999234999324999354999414999434999464999554999584999644999664999714999804999834999894999914999975000065000095000155000175000235000325000355000415000445000445000535000565000625000655000695000785000815000875000905000965001055001085001145001175001245001335001365001425001455001525001615001645001705001745001755001845001875001935001985001985002075002105002165002215002235002325002355002415002465002495002585002615002675002725002755002845002875002935002985003065003155003185003245003305003305003395003425003485003545003565003655003685003745003805003835003925003955004015004075004105004195004225004285004345004425004515004545004605004675004685004775004805004865004935004965005055005085005145005215005255005345005375005435005505005545005635005665005725005795005885005975006005006065006145006205006295006325006385006465006545006635006665006725006805006895006985007015007075007155007245007335007365007425007515007565007655007685007745007835007905007995008025008085008175008265008355008385008455008455008455008545008575008645008645008645008735008765008835008835008895008985009015009085009095009105009195009225009295009305009335009425009455009525009535009575009665009695009765009775009815009905009935010005010025010025010115010145010215010235010295010385010415010485010505010585010675010705010775010795010885010975011005011075011095011185011275011305011375011405011465011555011585011655011685011755011845011875011945011975012065012155012185012255012295012295012385012415012485012525012525012615012645012715012755012825012915012945013015013065013095013185013215013285013335013385013475013505013575013625013685013775013805013875013925013985014075014105014175014235014265014355014385014455014525014545014635014665014735014805014845014935014965015035015105015155015245015275015345015415015465015555015585015655015735015765015855015885015955016035016075016165016195016265016345016405016495016525016595016675016745016835016865016935017015017085017175017205017275017365017415017505017535017605017695017755017845017875017945018035018115018205018235018305018395018485018575018605018675018765018855018945018975019055019055019125019215019245019325019335019365019455019485019565019575019625019715019745019825019835019895019985020015020095020105020165020255020285020365020385020425020515020545020625020655020685020775020805020885020915020965021055021085021165021195021255021345021375021455021485021545021635021665021745021785021835021925021955022035022075022135022225022255022335022375022455022545022575022655022695022785022875022905022985023025023115023205023235023315023365023445023535023565023645023705023765023855023885023965024025024105024195024225024305024365024455024545024575024655024725024725024815024845024925024995024995025085025115025195025265025295025385025415025495025565025615025705025735025815025885025945026035026065026145026215026285026375026405026485026555026625026715026745026825026905026935027025027055027135027215027265027355027385027465027545027605027695027725027805027885027955028045028075028155028235028305028395028425028505028595028655028745028775028855028945029025029115029145029225029315029405029495029525029615029615029615029705029735029825029825029835029925029955030045030045030075030165030195030285030285030335030425030455030545030545030605030695030725030815030815030885030975031005031095031095031175031265031295031385031395031445031535031565031655031665031735031825031855031945031955032035032125032155032245032255032345032435032465032555032575032585032675032705032795032815032825032915032945033035033055033085033175033205033295033315033355033445033475033565033585033635033725033755033845033865033935034025034055034145034175034175034265034295034385034415034435034525034555034645034675034705034795034825034915034945034985035075035105035195035225035285035375035405035495035535035565035655035685035775035815035865035955035985036075036115036175036265036295036385036425036495036585036615036705036755036755036845036875036965037015037035037125037155037245037295037335037425037455037545037595037645037735037765037855037905037965038055038085038175038225038315038405038435038525038585038625038715038745038835038895038955039045039075039165039225039295039385039415039505039565039645039735039765039855039925039935040025040055040145040215040305040395040425040515040595040605040695040725040815040895040915041005041035041125041205041235041325041355041445041525041595041685041715041805041895041935042025042055042145042235042295042385042415042505042595042665042755042785042875042965043045043135043175043175043175043205043295043335043335043335043385043475043515043515043515043585043675043715043715043715043795043885043925043925043925044015044105044145044145044155044195044285044325044325044335044425044515044555044555044575044585044675044715044715044735044755044845044885044885044905044935045025045065045065045085045165045255045295045295045325045395045485045525045525045555045645045735045775045775045815045815045905045945045945045985045995046085046125046125046165046235046325046365046365046415046445046535046575046575046625046675046765046805046805046855046915047005047045047045047095047165047255047295047295047355047395047485047525047525047585047635047725047765047765047825047895047985048025048025048085048165048255048295048295048355048445048535048575048575048645048705048795048835048835048915048915049005049045049045049125049145049235049275049275049355049385049475049515049515049595049635049725049765049765049855049865049955049995049995050085050175050265050305050315050315050325050415050455050465050465050485050575050615050625050625050655050745050785050795050805050815050905050945050955050965051035051125051165051175051185051275051365051405051415051435051435051525051565051575051595051605051695051735051745051775051775051865051905051915051945051955052045052085052095052125052155052245052285052295052325052365052455052495052505052535052585052675052715052725052765052805052895052935052945052985053065053155053195053205053255053255053345053385053395053445053455053545053585053595053645053665053755053795053805053865053875053965054005054015054075054165054255054295054305054375054385054475054515054525054595054615054705054745054755054825054865054955054995055005055075055115055205055245055255055335055345055435055475055485055565055595055685055725055735055815055855055945055985055995056075056135056225056265056275056355056425056515056555056565056645056735056825056865056875056965056975057065057105057115057205057225057315057355057365057455057495057585057625057635057725057775057865057905057925057925057925058015058055058075058075058095058185058225058245058245058275058365058405058425058425058475058565058605058625058625058695058785058825058845058845058915059005059045059065059065059155059245059285059305059315059315059405059445059465059475059495059585059625059645059655059695059785059825059845059855059935060025060065060085060105060105060195060235060255060275060285060375060415060435060455060485060575060615060635060655060705060795060835060855060885060925061015061055061075061105061165061255061295061315061345061415061505061545061565061595061685061775061815061835061875061895061985062025062045062085062125062215062255062275062315062375062465062505062525062565062635062725062765062785062825062915063005063045063065063115063135063225063265063285063345063345063435063475063495063555063575063665063705063725063785063815063905063945063965064025064075064165064205064225064285064375064465064505064525064585064675064765064805064825064895064905064995065035065055065125065145065235065275065295065365065405065495065535065555065625065705065795065835065855065935065965066055066095066115066195066245066335066375066395066475066535066625066665066685066765066845066935066975066995067085067105067195067235067265067265067265067355067395067425067425067445067535067575067605067605067635067725067765067795067795067845067935067975068005068015068015068105068145068175068185068225068315068355068385068395068455068545068585068615068625068695068785068825068855068865068955069045069085069115069135069185069275069315069345069365069415069505069545069575069595069665069755069795069825069845069925070015070055070085070115070115070205070245070275070305070365070455070495070525070565070575070665070705070735070775070805070895070935070965071005071045071135071175071205071245071305071395071435071465071515071535071625071665071695071755071755071845071885071915071975071995072085072125072155072215072245072335072375072405072465072515072605072645072675072745072765072855072895072925072995073055073145073185073215073285073365073455073495073525073595073685073775073815073845073925073935074025074065074095074175074265074355074395074425074515074515074605074645074675074765074785074875074915074945075035075065075155075195075225075315075365075455075495075535075535075565075655075695075735075735075825075915075955075995076005076015076105076145076185076195076215076305076345076385076395076435076525076565076605076625076645076735076775076815076845076855076945076985077025077055077085077175077215077255077285077325077415077455077495077525077585077675077715077755077795077845077935077975078015078065078075078165078205078245078295078325078415078455078495078545078585078675078715078755078805078865078955078995079035079095079145079235079275079315079385079415079505079545079585079655079705079795079835079875079945080005080095080135080175080245080335080425080465080505080575080665080755080795080835080915080935081025081065081105081185081225081315081355081395081475081525081615081655081695081775081855081945081985082025082105082185082275082315082355082445082485082575082615082655082745082805082895082935082975083065083135083225083265083315083315083315083405083445083495083495083505083595083635083685083685083735083825083865083915083915083985084075084115084165084165084245084335084375084425084435084445084535084575084625084635084655084745084785084835084845084905084995085035085085085095085175085265085305085355085365085455085545085585085635085655085675085765085805085855085875085905085995086035086085086115086135086225086265086315086345086385086475086515086565086595086645086735086775086825086855086935087025087065087115087155087155087245087285087335087375087395087485087525087575087615087655087745087785087835087875087925088015088055088105088145088225088315088355088405088455088465088555088595088645088695088705088795088835088885088935088965089055089095089145089195089235089325089365089415089465089535089625089665089715089775089775089865089905089955090015090055090145090185090235090295090355090445090485090535090595090665090755090795090845090915090915091005091045091095091165091195091285091325091375091455091475091565091605091655091735091775091865091905091955092035092085092175092215092265092345092425092515092555092605092695092715092805092845092895092985093025093115093155093205093295093355093445093485093535093625093695093785093825093885093885093885093975094015094075094075094125094215094255094315094315094365094455094495094555094555094625094715094755094815094815094895094985095025095085095095095105095195095235095295095305095365095455095495095555095575095585095675095715095775095795095825095915095955096015096035096075096165096205096265096285096355096445096485096545096575096605096695096735096795096825096855096945096985097045097075097125097215097255097315097345097405097495097535097595097625097715097805097845097905097945097995098085098125098185098225098305098395098435098495098545098545098635098675098735098785098795098885098925098985099035099075099165099205099265099325099335099425099465099525099585099615099705099745099805099865099915100005100045100105100165100225100315100355100415100475100565100655100695100755100825100885100975101015101075101145101225101315101355101415101495101495101585101625101685101765101775101865101905101965102045102085102175102215102275102365102375102465102505102565102655102735102825102865102935102935102935103025103065103135103135103145103235103275103345103345103385103475103515103585103595103615103705103745103815103825103845103935103975104045104055104095104185104225104295104305104355104445104485104555104565104645104735104775104845104865104925105015105055105125105155105205105295105335105405105435105505105595105635105705105735105815105905105945106015106055106065106155106195106265106315106315106405106445106515106565106635106725106765106835106885106975107065107105107175107235107235107325107365107435107495107535107625107665107735107795107835107925107965108035108095108155108245108285108355108415108495108585108625108695108755108845108935108975109045109115109145109235109275109345109415109445109535109575109645109715109805109895109935110005110085110095110185110225110295110375110395110485110525110595110675110735110825110865110935111015111075111165111205111275111365111385111475111515111585111675111715111805111845111915112005112055112145112185112255112345112435112525112565112645112645112645112735112775112855112855112885112975113015113095113095113145113235113275113355113355113415113505113545113625113635113635113725113765113845113855113865113955113995114075114085114175114265114305114385114405114415114505114545114625114645114665114755114795114875114895114955115045115085115165115185115265115355115395115475115505115505115595115635115715115745115765115855115895115975116005116035116125116165116245116275116345116435116475116555116585116675116765116805116885116925116935117025117065117145117185117215117305117345117425117465117505117595117635117715117755117835117925117965118045118095118105118195118235118315118365118375118465118505118585118635118665118755118795118875118925118965119055119095119175119225119305119395119435119515119575119585119675119715119795119855119915120005120045120125120185120265120355120395120475120535120625120715120755120835120905120935121025121065121145121215121275121365121405121485121565121615121705121745121825121905121975122065122105122185122265122345122435122475122555122645122665122755122795122875122965123025123115123155123235123325123385123475123515123595123685123765123855123895123975124065124155124245124285124375124375124405124495124535124625124625124695124785124825124915124925124925125015125055125145125155125175125265125305125395125405125435125525125565125655125665125735125825125865125955125975125985126075126115126205126225126315126405126445126535126565126575126665126705126795126825126845126935126975127065127095127155127245127285127375127415127425127515127555127645127685127715127805127845127935127975128025128115128155128245128285128345128435128475128565128615128615128705128745128835128885128935129025129065129155129205129295129385129425129515129575129585129675129715129805129865129885129975130015130105130165130225130315130355130445130515130525130615130655130745130815130885130975131015131105131175131265131355131395131485131565131565131655131695131785131865131905131995132035132125132215132215132305132345132435132525132535132625132665132755132845132875132965133005133095133185133225133315133355133445133535133615133705133755133755133755133795133885133935133935133935134025134115134165134165134175134185134275134325134325134335134355134445134495134495134505134565134655134705134705134725134745134835134885134885134905134995135085135135135135135165135175135265135315135315135345135365135455135505135505135535135595135685135735135735135775135805135895135945135945135985136025136115136165136165136205136265136355136405136405136445136515136605136655136655136705136715136805136855136855136905136985137075137125137125137185137225137315137365137365137425137485137575137625137625137685137755137845137895137895137965137975138065138115138115138185138275138365138415138415138485138575138665138715138715138795138805138895138945138945139025139045139135139185139185139265139325139415139465139465139555139595139685139735139735139825139885139975140025140025140115140195140285140335140335140425140515140605140655140665140665140695140785140835140845140855140865140955141005141015141025141105141195141245141255141275141275141365141415141425141445141455141545141595141605141625141675141765141815141825141855141895141985142035142045142075142135142225142275142285142315142395142485142535142545142575142665142755142805142815142855142885142975143025143035143085143105143195143245143255143305143385143475143525143535143595143595143685143735143745143805143815143905143955143965144025144075144165144215144225144295144335144425144475144485144565144595144685144735144745144825144875144965145015145025145105145165145255145305145315145405145405145495145545145555145645145735145825145875145895145895145975146065146115146135146145146145146235146285146305146315146325146415146465146485146495146555146645146695146715146725146785146875146925146945146965146965147055147105147125147145147165147255147305147325147345147375147465147515147535147555147635147725147775147795147815147895147985148035148055148085148145148235148285148305148335148415148505148555148575148605148695148785148835148855148895148935149025149075149095149135149185149275149325149345149385149445149535149585149605149645149725149815149865149885149925150015150105150155150175150225150265150355150405150425150475150535150625150675150695150745150805150895150945150965151015151095151185151235151255151305151395151485151535151555151615151655151745151795151815151875151935152025152075152095152165152175152265152315152335152405152435152525152575152595152665152705152795152845152865152935153025153115153165153185153265153275153365153415153435153525153525153615153665153685153775153795153885153935153955154045154075154165154215154235154325154405154495154545154575154575154585154675154725154755154755154795154885154935154965154965155025155115155165155195155195155265155355155405155435155445155465155555155605155635155645155695155785155835155865155885155905155995156045156075156095156135156225156275156305156325156375156465156515156545156575156575156665156715156745156775156815156905156955156985157015157075157165157215157245157275157355157445157495157525157555157645157735157785157815157855157895157985158035158065158105158185158275158325158355158405158445158535158585158615158665158725158815158865158895158945159015159105159155159185159245159265159355159405159435159495159565159655159705159735159795159865159955160005160035160095160185160275160325160355160425160425160515160565160595160665160715160805160855160885160965160965161055161105161135161215161265161355161405161435161515161585161675161725161755161835161915162005162055162085162175162205162295162345162375162465162555162645162695162725162815162905162995163045163085163085163095163185163235163275163275163295163385163435163475163475163545163635163685163725163735163765163855163905163945163955164025164115164165164205164215164305164395164445164485164505164505164595164645164685164705164755164845164895164935164965164975165065165115165155165195165195165285165335165375165415165435165525165575165615165655165685165775165825165865165905165985166075166125166165166215166265166355166405166445166495166545166635166685166725166775166845166935166985167025167075167155167245167295167335167395167425167515167565167605167675167675167765167815167855167925167975168065168115168155168225168295168385168435168475168545168625168715168765168805168885168915169005169055169095169185169185169275169325169365169455169545169635169685169735169735169745169835169885169935169935169955170045170095170145170145170215170305170355170405170415170465170555170605170655170665170755170845170895170945170965170975171065171115171165171185171205171295171345171395171415171485171575171625171675171705171755171845171895171945171985171985172075172125172175172215172235172325172375172425172465172495172585172635172685172725172805172895172945172995173045173115173205173255173305173355173425173515173565173615173665173755173845173895173945174005174005174095174145174195174255174305174395174445174495174565174605174695174745174795174865174945175035175085175135175215175215175305175355175405175485175495175585175635175685175765175825175915175965176015176105176155176245176295176355176355176395176485176535176595176595176655176745176795176855176855176925177015177065177125177135177165177255177305177365177375177405177495177545177605177615177645177735177785177845177855177905177995178045178105178115178175178265178315178375178395178415178505178555178615178635178655178745178795178855178875178945179035179085179145179165179255179345179395179455179485179485179575179625179685179715179775179865179915179975180005180065180155180205180265180305180355180445180495180555180595180665180755180805180865180905180985181075181125181185181235181275181365181415181475181525181575181665181715181775181825181915182005182055182115182175182185182275182325182385182445182465182555182605182665182725182805182895182945183005183065183155183245183295183355183425183475183565183615183675183745183815183905183955184015184085184165184255184305184365184445184485184575184625184685184765184825184915184965185025185105185175185265185315185375185455185545185635185685185745185835185835185925185975186035186125186185186275186325186385186475186555186645186695186765186765186795186885186935187005187005187055187145187195187265187265187325187415187465187535187545187565187655187705187775187785187835187925187975188045188055188105188195188245188315188325188395188485188535188605188615188695188785188835188905188925188965189055189105189175189195189265189355189405189475189505189555189645189695189765189795189865189955190005190075190105190185190275190325190395190435190475190565190615190685190725190805190895190945191015191065191075191165191215191285191335191365191455191505191575191625191665191755191805191875191935191935192025192075192145192205192245192335192385192455192525192535192625192675192745192815192845192935192985193055193125193165193255193305193375193455193455193545193595193665193745193795193885193935194005194085194155194245194295194365194445194535194625194675194745194835194835194925194975195045195135195195195285195335195415195415195435195525195575195655195655195675195765195815195895195895195935196025196075196155196155196205196295196345196425196435196445196535196585196665196675196745196835196885196965196985197005197095197145197225197245197285197375197425197505197525197575197665197715197795197825197835197925197975198055198085198155198245198295198375198415198475198565198615198695198735198815198905198955199035199075199165199255199305199385199435199485199575199625199705199765199785199875199925200005200065200135200225200275200355200415200505200595200645200725200795200795200885200935201015201085201145201235201285201365201445201475201565201615201695201775201865201955202005202085202175202185202275202325202405202495202515202605202655202735202825202905202995203045203135203135203195203285203335203425203425203495203585203635203725203725203815203905203955204045204055204055204145204195204285204295204355204445204495204585204605204645204735204785204875204895204985205075205125205215205245205255205345205395205485205515205535205625205675205765205795205875205965206015206105206145206215206305206355206445206485206565206655206705206795206845206845206935206985207075207125207135207225207275207365207415207485207575207625207715207775207835207925207975208065208125208215208305208355208445208515208525208615208665208755208825208845208935208985209075209145209225209315209365209455209535209605209695209745209835209925209975210065210115210205210295210365210455210505210595210685210765210855210915210915210915210965211055211115211115211115211165211255211315211315211315211385211475211535211535211535211625211715211775211775211785211785211875211935211935211945212015212105212165212165212175212245212335212395212395212415212465212555212615212615212635212705212795212855212855212875212955213045213105213105213135213185213275213335213335213365213425213515213575213575213615213635213725213785213785213825213865213955214015214015214055214105214195214255214255214305214325214415214475214475214525214565214655214715214715214765214815214905214965214965215015215085215175215235215235215285215365215455215515215515215575215625215715215775215775215835215905215995216055216055216125216145216235216295216295216365216405216495216555216555216625216675216765216825216825216905216925217015217075217075217155217205217295217355217355217435217495217585217645217645217725217805217895217955217955218035218125218215218275218275218365218425218515218575218575218665218755218845218905218915218915218995219085219145219155219165219165219255219315219325219335219345219435219495219505219515219595219685219745219755219775219795219885219945219955219975220035220125220185220195220215220295220385220445220455220475220565220655220715220725220755220815220905220965220975221015221015221105221165221175221215221295221385221445221455221505221505221595221655221665221715221725221815221875221885221935222015222105222165222175222235222265222355222415222425222485222565222655222715222725222795222795222885222945222955223025223035223125223185223195223265223345223435223495223505223585223625223715223775223785223865223915224005224065224075224155224225224315224375224385224465224545224635224695224705224795224845224935224995225015225015225025225115225175225195225195225265225355225415225435225435225525225615225675225695225705225705225795225855225875225885225955226045226105226125226145226185226275226335226355226375226415226505226565226585226605226665226755226815226835226855226925227015227075227095227125227165227255227315227335227375227385227475227535227555227595227675227765227825227845227895227895227985228045228065228115228125228215228275228295228345228425228515228575228595228655228715228805228865228885228955228955229045229105229125229195229215229305229365229385229455229485229575229635229655229735229735229825229885229905229985230065230155230215230235230325230395230485230545230565230655230745230835230895230925230925230925231015231075231105231105231175231265231325231355231365231425231515231575231605231615231705231795231855231885231905231915232005232065232095232115232135232225232285232315232345232345232435232495232525232555232555232645232705232735232765232775232865232925232955232985233015233105233165233195233225233265233355233415233445233485233505233595233655233685233725233745233835233895233925233965234025234115234175234205234245234325234415234475234505234545234635234725234785234815234865234935235025235085235115235165235235235325235385235415235475235535235625235685235715235775235855235945236005236035236095236185236275236335236365236435236505236595236655236685236755236835236925236985237015237095237105237195237255237285237365237395237485237545237575237655237695237785237845237875237965237985238075238135238165238255238295238385238445238475238565238615238705238765238795238885238955239045239105239135239225239305239395239455239495239495239555239645239705239745239745239825239915239975240015240025240055240145240205240245240255240305240395240455240495240505240565240655240715240755240775240815240905240965241005241025241095241185241245241285241305241375241465241525241565241585241675241765241825241865241895241895241985242045242085242115242195242285242345242385242425242435242525242585242625242665242715242805242865242905242945243015243105243165243205243245243325243415243475243515243565243625243715243775243815243875243875243965244025244065244125244145244235244295244335244395244435244525244585244625244685244735244825244885244925244995245025245115245175245215245285245355245445245505245545245625245685245775245835245875245955246035246125246185246225246305246395246485246545246585246675246745246835246895246945246945246965247055247115247165247165247225247315247375247425247425247505247595247655247705247705247795247885247945247995248005248075248165248225248275248295248315248405248465248515248545248545248635248695248745248775248795248885248945248995249025249055249145249205249255249295249305249395249455249505249545249615249705249765249815249865249895249985250045250095250145250195250285250345250395250445250505250595250655250705250765250805250895250955251005251075251085251175251235251285251355251405251495251555251605251675251745251835251895251945252015252095252185252245252295252375252435252525252585252635252725252755252845252905252965252965252985253075253135253195253195253235253325253385253445253445253495253585253645253705253715253745253835253895253955253975253985254075254135254195254215254255254345254405254465254485254545254635254695254755254775254845254935254995255055255085255135255225255285255345255385255425255515255575255635255675255735255825255885255945255985256065256155256215256275256315256405256495256555256615256665256735256825256885256945257005257065257155257215257275257345257365257455257515257575257645257685257775257835257895257965258015258105258165258225258305258345258435258495258555258635258675258765258825258885258965259015259105259165259225259305259375259465259525259585259665259745259835259895259955260045260115260205260265260325260415260485260575260635260705260705260725260815260875260945260945260985261075261135261205261205261255261345261405261475261485261525261615261675261745261755261805261895261955262025262035262125262215262275262345262365262375262465262525262595262615262635262725262785262855262885262895262985263045263115263145263165263255263315263385263425263435263525263585263655263695263725263815263875263945263985264025264115264175264245264295264325264415264475264545264595264645264735264795264865264915265005265095265155265225265285265295265385265445265515265575265595265685265745265815265885265895265985266045266115266185266215266305266365266435266515266535266625266685266755266835266875266965267025267095267175267225267315267375267445267535267575267665267725267795267885267945268035268095268175268175268225268315268375268455268455268525268615268675268755268755268835268925268985269065269075269145269235269295269375269395269395269485269545269625269645269645269735269795269875269895269915270005270065270145270165270195270285270345270425270455270475270565270625270705270735270785270875270935271015271055271055271145271205271285271325271345271435271495271575271615271645271735271795271875271925271945272035272095272175272225272285272375272435272515272565272625272715272775272855272905272985273075273135273215273265273355273445273505273585273645273725273815273875273955274025274045274135274195274275274345274365274455274515274595274665274705274795274855274935275005275055275145275205275285275365275405275495275555275635275715275795275885275945276025276115276115276205276265276345276435276455276545276605276685276775276805276895276955277045277045277065277155277215277305277305277365277455277515277605277615277645277735277795277885277895277945278035278095278185278195278255278345278405278495278515278565278655278715278805278835278835278925278985279075279105279125279215279275279365279395279435279525279585279675279705279755279845279905279995280035280075280165280225280315280355280445280535280595280685280735280745280835280895280985281035281065281155281215281305281355281395281485281545281635281695281725281815281875281965282025282115282205282265282355282415282505282595282655282745282815282825282915282975283065283135283155283245283305283395283475283485283575283635283725283805283875283965284025284115284205284225284315284375284465284555284595284685284745284835284925284975285065285135285135285135285175285265285335285335285345285355285445285515285515285525285535285625285695285695285705285735285825285895285895285905285945286035286105286105286125286155286245286315286315286345286345286435286505286505286535286545286635286705286705286735286765286855286925286925286955286995287085287155287155287195287225287315287385287385287435287435287525287595287595287645287655287745287815287815287865287895287985288055288055288105288145288235288305288305288365288395288485288555288555288625288625288715288785288785288855288915289005289075289075289145289225289315289385289385289455289545289635289705289705289785289865289955290025290025290115290175290265290335290335290425290495290585290655290655290745290835290925290995291005291005291005291095291165291175291175291265291355291425291435291445291515291605291675291685291695291785291875291945291955291975291985292075292145292155292175292195292285292355292365292395292405292495292565292575292605292695292785292855292865292905292965293055293125293135293175293255293345293415293425293465293555293645293715293725293775293855293945294015294025294085294155294245294315294325294385294475294565294635294645294715294725294815294885294895294965294985295075295145295155295235295245295335295405295415295505295505295595295665295675295765295835295925295995296005296095296185296275296345296365296365296365296455296525296545296545296635296725296795296815296825296905296995297065297085297105297165297255297325297345297365297445297535297605297625297655297655297745297815297835297865297865297955298025298045298075298075298165298235298255298285298325298415298485298505298535298595298685298755298775298805298885298975299045299065299095299175299265299335299355299385299465299555299625299645299685299755299845299915299935299975300065300155300225300245300295300305300395300465300485300535300545300635300705300725300775300795300885300955300975301025301085301175301245301265301315301395301485301555301575301635301635301725301795301815301875301875301965302035302055302115302125302215302285302305302365302435302525302595302615302675302765302855302925302945303015303025303115303185303205303275303285303375303445303465303535303555303645303715303735303815303815303905303975303995304075304095304185304255304275304355304395304485304555304575304655304695304785304855304875304955305015305105305175305195305275305365305455305525305545305635305645305735305805305825305915305945306035306105306125306215306245306335306405306425306515306565306655306725306755306755306785306875306945306975306975307025307115307185307215307215307285307375307445307475307475307545307635307705307735307745307745307835307905307935307945307945308035308105308135308145308165308255308325308355308365308405308495308565308595308605308645308735308805308835308845308915309005309075309105309125309145309235309305309335309355309395309485309555309585309605309665309755309825309855309875309935310025310095310125310155310155310245310315310345310375310375310465310535310565310595310615310705310775310805310835310875310965311035311065311095311135311225311295311325311355311435311525311595311625311665311695311785311855311885311925311975312065312135312165312205312275312365312435312465312505312575312665312735312765312815312825312915312985313015313065313145313235313305313335313395313395313485313555313585313645313665313755313825313855313915313935314025314095314125314185314255314345314415314445314505314595314685314755314785314855314865314955315025315055315125315155315245315315315345315415315445315535315605315635315705315785315875315945315975316055316105316195316265316295316375316445316535316605316635316715316805316895316965316995317075317165317255317325317355317445317495317585317655317685317775317845317935318005318035318125318215318305318375318415318415318425318515318585318625318625318635318725318795318835318835318905318995319065319105319115319125319215319285319325319335319365319455319525319565319575319625319715319785319825319835319885319975320045320085320105320125320215320285320325320345320365320455320525320565320585320625320715320785320825320845320905320995321065321105321125321185321275321345321385321415321445321535321605321645321675321755321845321915321955321995321995322085322155322195322235322255322345322415322455322495322515322605322675322715322765322765322855322925322965323015323015323105323175323215323265323285323375323445323485323535323575323665323735323775323825323865323955324025324065324125324145324235324305324345324405324455324545324615324655324715324785324875324945324985325045325135325225325295325335325395325485325575325645325685325755325825325915325985326025326105326125326215326285326325326405326445326535326605326645326725326785326875326945326985327065327125327215327285327325327415327465327555327625327665327755327805327895327965328005328095328165328255328325328365328455328545328635328705328745328835328925329015329085329135329135329215329305329375329425329435329465329555329625329675329685329735329825329895329945329955330025330115330185330235330245330315330405330475330525330545330605330695330765330815330845330885330975331045331095331125331185331275331345331395331425331505331595331665331715331745331835331925331995332045332075332165332255332325332375332415332435332525332595332645332685332725332815332885332935332975333035333125333195333245333285333355333445333515333565333605333675333765333835333885333935333985334075334145334195334245334315334405334475334525334575334665334755334825334875334935334935335025335095335145335205335215335305335375335425335485335525335615335685335735335795335855335945336015336065336125336205336295336365336415336475336565336655336725336775336845336845336935337005337055337125337185337275337345337395337465337545337635337705337755337835337835337925337995338045338125338135338225338295338345338425338455338545338615338665338745338825338915338985339035339125339125339215339285339335339425339445339535339605339655339745339775339865339935339985340075340135340225340295340345340435340495340585340655340705340795340875340965341035341095341095341095341185341255341315341315341325341415341485341545341545341585341675341745341805341805341895341985342055342115342125342135342225342295342355342365342395342485342555342615342625342665342755342825342885342895342965343055343125343185343205343265343355343425343485343505343585343675343745343805343835343835343925343995344055344085344095344185344255344315344345344385344475344545344605344645344675344765344835344895344935344985345075345145345205345245345315345405345475345535345575345655345745345815345875345925345945346035346105346165346215346275346365346435346495346545346625346715346785346845346905346905346995347065347125347185347195347285347355347415347475347525347615347685347745347815347855347945348015348075348145348205348295348365348425348495348575348665348735348795348865348955349045349115349175349255349295349385349455349515349595349665349755349825349885349965350055350145350215350275350365350375350465350535350595350685350705350795350865350925351015351085351175351245351315351315351375351465351535351605351605351685351775351845351915351925351925352015352085352155352165352175352265352335352405352415352485352575352645352715352735352745352835352905352975352995353025353115353185353255353275353325353415353485353555353575353635353725353795353865353895353915354005354075354145354185354195354285354355354425354465354495354585354655354725354765354815354905354975355045355085355145355235355305355375355425355455355545355615355685355735355795355885355955356025356075356155356245356315356385356445356445356535356605356675356735356745356835356905356975357035357125357215357285357355357425357435357525357595357665357735357765357855357925357995358065358115358205358275358345358415358475358565358635358705358785358825358915358985359055359145359155359245359315359385359475359505359595359665359735359825359875359965360035360105360195360255360345360415360495360495360545360635360705360785360785360855360945361015361095361095361185361275361345361425361435361445361535361605361685361695361715361805361875361955361975361985362075362145362225362245362325362415362485362565362595362595362685362755362835362865362885362975363045363125363155363195363285363355363435363465363505363595363665363745363775363845363935364005364085364115364205364295364365364445364485364495364585364655364735364775364805364895364965365045365085365115365205365275365355365405365415365505365575365655365705365735365825365895365975366025366075366165366235366315366365366435366525366595366675366725366805366895366965367045367105367115367205367275367355367415367445367535367605367685367745367795367885367955368035368095368165368255368325368405368465368545368635368705368785368855368915369005369075369155369225369305369395369465369545369625369625369715369785369865369945369965370055370125370205370285370325370415370485370565370645370735370825370895370975371065371075371165371235371315371405371435371525371595371675371765371815371905371975372055372145372225372315372385372465372555372635372725372795372885372885372885372975373045373135373135373155373245373315373405373405373445373535373605373695373695373765373855373925374015374025374045374135374205374295374305374345374435374505374595374605374665374755374825374915374925375005375095375165375255375275375295375385375455375545375565375595375685375755375845375865375915376005376075376165376185376255376345376415376505376525376615376705376775376865376895376925377015377085377175377205377275377365377435377525377555377645377735377805377895377935377945378035378105378195378235378265378355378425378515378555378625378715378785378875378925378985379075379145379235379285379365379455379525379615379675379675379765379835379925379985380005380095380165380255380315380385380475380545380635380705380715380805380875380965381035381065381155381225381315381385381435381525381595381685381755381825381915381985382075382155382185382275382345382435382515382545382635382705382795382875382925383015383085383175383255383325383415383485383575383655383745383835383905383995384085384135384225384305384305384305384325384415384495384495384495384535384625384705384705384705384765384855384935384935384935385015385105385185385185385195385245385335385415385415385425385495385585385665385665385675385765385855385935385935385955385965386055386135386135386155386185386275386355386355386385386385386475386555386555386585386655386745386825386825386855386945387035387115387115387155387165387255387335387335387375387405387495387575387575387625387635387725387805387805387855387895387985388065388065388115388175388265388345388345388395388475388565388645388645388705388705388795388875388875388935389025389115389195389195389265389275389365389445389445389515389545389635389715389715389785389835389925390005390005390075390145390235390315390315390395390455390545390625390625390715390745390835390915390915391005391055391145391225391225391315391385391475391555391565391565391565391655391735391745391745391745391835391915391925391925391945392035392115392125392125392165392255392335392345392345392405392495392575392585392585392675392765392845392855392855392945393035393115393125393135393215393305393385393395393415393415393505393585393595393615393635393725393805393815393835393885393975394055394065394085394135394225394305394315394345394385394475394555394565394595394655394745394825394835394865394945395035395115395125395165395175395265395345395355395395395415395505395585395595395635395695395785395865395875395915395995396085396165396175396225396225396315396395396405396455396485396575396655396665396715396755396845396925396935396995397025397115397195397205397265397315397405397485397495397555397625397715397795397805397875397875397965398045398055398125398145398235398315398325398395398475398565398645398655398735398735398825398905398915398995399015399105399185399195399275399325399415399495399505399585399665399755399835399845399935399935400025400105400115400205400225400315400395400405400495400535400625400705400715400805400875400965401045401065401065401065401155401235401255401255401325401415401495401515401515401605401695401775401795401805401815401905401985402005402015402055402145402225402245402255402335402425402505402525402545402545402635402715402735402755402775402865402945402965402985403025403115403195403215403235403305403395403475403495403525403545403635403715403735403765403785403875403955403975404005404045404135404215404235404265404325404415404495404515404545404635404725404805404825404865404905404995405075405095405135405175405265405345405365405405405465405555405635405655405695405775405865405945405965406015406025406115406195406215406265406325406415406495406515406575406585406675406755406775406835406865406955407035407055407115407165407255407335407355407415407495407585407665407685407755407795407885407965407985408055408095408185408265408285408355408415408505408585408605408675408755408845408925408945409025409035409125409205409225409305409375409465409545409565409655409705409795409875409895409985410055410145410225410245410335410425410515410595410625410625410645410735410815410845410845410935411025411105411135411145411175411265411345411375411385411435411525411605411635411645411715411805411885411915411935411935412025412105412135412155412225412315412395412425412455412515412605412685412715412745412825412915412995413025413065413065413155413235413265413305413335413425413505413535413585413595413685413765413795413845413895413985414065414095414145414215414305414385414415414465414555414645414725414755414815414835414925415005415035415105415115415205415285415315415385415415415505415585415615415685415735415825415905415935416005416075416165416245416275416355416355416445416525416555416635416725416815416895416925417015417095417185417265417305417305417305417395417475417515417515417535417625417705417745417745417805417895417975418015418015418075418165418245418285418295418295418385418465418505418515418535418625418705418745418755418795418885418965419005419015419095419185419265419305419315419395419485419565419605419625419695419785419865419905419925420015420105420185420225420255420265420355420435420475420505420555420645420725420765420795420855420945421025421065421105421145421235421315421355421395421455421545421625421665421705421785421875421955421995422045422065422155422235422275422325422365422455422535422575422625422675422765422845422885422935423005423095423175423215423265423355423445423525423565423625423655423745423825423865423925423975424065424145424185424255424265424355424435424475424545424575424665424745424785424855424905424995425075425115425185425275425365425445425485425565425585425675425755425795425875425905425995426075426115426195426245426335426415426455426535426605426695426775426815426905426915427005427085427125427215427265427355427435427475427565427615427705427785427825427915427985428075428155428195428285428375428465428545428595428595428625428715428795428845428845428915429005429085429135429145429195429285429365429415429425429495429585429665429715429725429815429905429985430035430055430085430175430255430305430325430405430495430575430625430655430665430755430835430885430915430945431035431115431165431195431245431335431415431465431495431585431675431755431805431845431885431975432055432105432155432175432265432345432395432445432485432575432655432705432755432815432905432985433035433095433095433185433265433315433375433435433525433605433655433725433755433845433925433975434045434095434185434265434315434385434455434545434625434675434755434765434855434935434985435065435145435235435315435365435455435495435585435665435715435805435865435955436035436085436175436255436345436425436485436485436505436595436675436735436745436745436835436915436975436985436995437085437165437225437235437265437355437435437495437505437555437645437725437785437795437885437975438055438115438135438205438295438375438435438465438505438595438675438735438765438825438915438995439055439085439165439255439335439395439435439455439545439625439685439735439735439825439905439965440015440085440175440255440315440365440455440545440625440685440745440755440845440925440985441045441095441185441265441325441395441425441515441595441655441735441735441825441905441965442045442065442155442235442295442375442415442505442585442645442725442805442895442975443035443125443195443285443365443425443515443605443695443775443845443845443855443945444025444095444095444125444215444295444365444365444435444525444605444675444685444745444835444915444985445005445045445135445215445285445305445365445455445535445605445625445705445795445875445945445975445995446085446165446235446275446285446375446455446525446565446655446745446825446895446945446955447045447125447195447245447275447365447445447515447565447645447735447815447885447935448015448105448185448255448315448335448425448505448575448635448675448765448845448915448975449035449125449205449275449345449355449445449525449595449665449675449765449845449915449995449995450085450165450235450315450335450425450505450575450655450695450785450865450935451015451105451195451275451345451435451435451525451605451675451765451815451905451985452055452145452215452305452385452455452545452635452725452805452885452885452925453015453095453175453175453225453315453395453475453485453495453585453665453745453755453785453875453955454035454045454095454185454265454345454365454365454455454535454615454635454645454735454815454895454915454995455085455165455245455275455275455365455445455525455555455575455665455745455825455855455925456015456095456175456205456295456385456465456545456585456595456685456765456845456885456915457005457085457165457205457255457345457425457505457555457555457645457725457805457855457875457965458045458125458185458185458275458355458435458495458515458605458685458765458825458865458955459035459115459175459265459355459435459515459585459595459685459765459845459925459925460015460095460175460255460275460365460445460525460605460645460735460815460895460975461065461155461235461315461405461425461515461595461675461765461845461935462015462105462105462105462195462275462365462365462385462475462555462645462645462715462805462885462975462985462995463085463165463255463265463285463375463455463545463555463595463685463765463855463865463925464015464095464185464205464215464305464385464475464495464545464635464715464805464835464855464945465025465115465145465185465275465355465445465475465535465625465705465795465835465845465935466015466105466145466195466285466365466455466505466535466625466705466795466845466895466985467065467155467205467275467365467445467535467595467615467705467785467875467935468005468095468175468265468335468365468455468535468625468695468745468835468915469005469075469145469235469315469405469485469505469595469675469765469845469925470015470095470185470265470355470445470525470615470705470715470805470885470975471065471095471185471265471355471445471525471615471705471705471705471745471835471925471925471935471945472035472125472125472135472165472255472345472345472355472405472495472585472585472605472605472695472785472785472805472865472955473045473045473075473125473215473305473305473335473405473495473585473585473615473705473795473885473885473925473965474055474145474145474195474205474295474385474385474435474475474565474655474655474705474765474855474945474945474995475075475165475255475255475315475345475435475525475525475595475595475685475775475775475845475925476015476105476105476185476185476275476365476365476445476465476555476645476645476725476795476885476975476975477065477115477205477295477295477385477475477565477655477665477665477675477765477855477865477865477895477985478075478085478085478165478255478345478355478365478425478515478605478615478635478665478755478845478855478875478925479015479105479115479135479205479295479385479395479425479445479535479625479635479675479675479765479855479865479905479975480065480155480165480205480295480385480475480485480535480545480635480725480735480785480845480935481025481035481095481145481235481325481335481395481465481555481645481655481715481805481895481985481995482065482075482165482255482265482335482395482485482575482585482665482715482805482895482905482995483025483115483205483215483305483355483445483535483545483635483705483795483885483905483905483935484025484115484135484135484165484255484345484365484365484405484495484585484605484605484665484755484845484865484865484945485035485125485145485155485195485285485375485395485405485445485535485625485645485655485705485795485885485905485915485985486075486165486185486195486285486375486465486485486505486555486645486735486755486775486825486915487005487025487055487065487155487245487265487295487325487415487505487525487555487605487695487785487805487845487855487945488035488055488095488115488205488295488315488355488395488485488575488595488635488695488785488875488895488935489015489105489195489215489265489305489395489485489505489555489605489695489785489805489865489865489955490045490065490125490145490235490325490345490405490445490535490625490645490715490715490805490895490915490985490995491085491175491195491265491335491425491515491535491605491695491785491875491895491975491985492075492165492185492265492335492425492515492535492615492705492795492885492905492995492995493085493175493195493285493305493395493485493505493595493635493725493815493845493845493845493935494025494055494055494075494165494255494285494285494375494465494555494585494595494605494695494785494815494825494855494945495035495065495075495165495255495345495375495395495415495505495595495625495645495665495755495845495875495895495935496025496115496145496165496225496315496405496435496465496485496575496665496695496725496775496865496955496985497025497045497135497225497255497295497335497425497515497545497585497645497735497825497855497905497925498015498105498135498185498245498335498425498455498505498585498675498765498795498855498855498945499035499065499125499145499235499325499355499415499495499585499675499705499775499795499885499975500005500085500085500175500265500295500375500395500485500575500605500685500725500815500905500935501025501025501115501205501235501325501375501465501555501585501675501745501835501925501955502045502135502225502315502355502355502365502455502545502585502585502655502745502835502875502885502905502995503085503125503135503205503295503385503425503435503525503615503705503745503765503775503865503955503995504015504085504175504265504305504335504365504455504545504585504615504645504735504825504865504895504945505035505125505165505195505265505355505445505485505525505555505645505735505775505815505905505995506085506125506175506225506315506405506445506495506565506655506745506785506835506925507015507105507145507205507255507345507435507475507545507565507655507745507785507855507885507975508065508105508175508225508315508405508445508515508585508675508765508805508885508915509005509095509135509225509225509315509405509445509535509565509655509745509785509875509925510015510105510145510235510305510395510485510535510535510565510655510745510795510805510805510895510985511035511045511125511215511305511355511375511375511465511555511605511625511645511735511825511875511895511975512065512155512205512235512295512385512475512525512565512565512655512745512795512835512855512945513035513085513125513165513255513345513395513445513445513535513625513675513725513805513895513985514035514095514165514255514345514395514455514545514635514725514775514845514855514945515035515085515155515225515315515405515455515535515595515685515775515825515905515985516075516165516215516305516305516395516485516535516625516645516735516825516875516965517045517135517225517285517285517355517445517535517595517605517645517735517825517885517895517955518045518135518195518205518285518375518465518525518545518595518685518775518835518855518905518995519085519145519165519245519335519425519485519515519515519605519695519755519785519805519895519985520045520075520165520255520345520405520435520525520615520705520765520805520875520965521055521115521155521245521335521425521485521535521545521635521725521785521835521915522005522095522155522205522295522385522475522535522595522655522745522835522895522955523035523125523215523275523345523345523435523525523585523655523725523815523905523965524035524125524215524305524365524445524455524545524635524695524775524805524895524985525045525125525175525265525355525415525505525525525615525705525765525855525895525985526075526145526145526165526255526345526415526415526455526545526635526705526705526765526855526945527015527025527055527145527235527305527315527375527465527555527625527645527645527735527825527895527915527935528025528115528185528205528245528335528425528495528525528535528625528715528785528815528865528955529045529115529145529195529285529375529445529475529545529635529725529795529825529915530005530095530165530205530265530355530445530515530565530565530655530745530815530865530915531005531095531165531215531285531375531465531535531585531675531765531855531925531985532045532135532225532295532365532375532465532555532625532695532715532805532895532965533035533075533165533255533325533395533455533545533635533705533785533815533905533995534065534145534225534315534405534475534565534625534715534805534875534965535045535135535225535305535305535305535395535485535565535565535635535725535815535895535905535925536015536105536185536205536205536295536385536465536485536505536595536685536765536785536825536915537005537085537115537125537215537305537385537415537485537575537665537745537785537785537875537965538045538085538105538195538285538365538405538445538535538625538705538755538765538855538945539025539075539145539235539325539405539465539525539615539705539785539845539925540015540105540185540255540255540345540435540515540585540655540745540835540915540995541035541125541215541295541385541385541475541565541645541735541755541845541935542015542105542145542235542325542415542415542425542515542605542695542695542775542865542955543045543055543105543195543285543375543385543455543545543635543725543735543825543915544005544095544115544175544265544355544445544475544515544605544695544785544815544875544965545055545145545175545255545345545435545525545565545565545655545745545835545875545945546035546125546215546265546315546405546495546585546645546675546765546855546945547005547055547145547235547325547385547455547545547635547725547795547835547925548015548105548185548215548305548395548485548565548645548735548825548915549005549005549095549185549275549365549385549395549395549395549395549395549395549405549405549405549405549405549405549415549415549415549415549415549435549445549445549445549445549445549485549495549495549495549495549495549555549565549565549565549565549575549615549625549625549625549625549635549675549685549685549685549685549705549715549725549725549725549725549745549775549785549785549785549785549805549855549865549865549865549865549895549925549935549935549935549935549965550005550015550015550015550015550045550115550125550125550125550125550155550245550255550255550255550255550295550305550315550315550315550315550355550445550455550455550455550455550505550515550525550525550525550525550575550595550605550605550605550605550655550695550705550705550705550705550755550815550825550825550825550825550885550925550935550935550935550935550995551055551065551065551065551065551135551145551155551155551155551155551225551255551265551265551265551265551335551385551395551395551395551395551475551505551515551515551515551515551595551655551665551665551665551665551745551805551815551815551815551815551895551975551985551985551985551985552075552075552085552085552085552085552175552255552265552265552265552275552275552285552295552295552295552305552305552375552385552385552385552395552395552485552495552495552495552505552515552525552535552535552535552545552555552645552655552655552655552665552685552715552725552725552725552735552755552835552845552845552845552855552885552885552895552895552895552905552935552955552965552965552965552975553015553015553025553025553025553035553075553115553125553125553125553135553185553205553215553215553215553225553275553315553325553325553325553335553385553445553455553455553455553465553525553565553575553575553575553585553645553735553745553745553745553755553825553845553855553855553855553865553935553975553985553985553985553995554065554125554135554135554135554145554225554265554275554275554275554285554365554455554465554465554465554475554565554645554655554655554655554675554675554675554685554685554685554705554705554725554735554735554735554755554765554765554775554775554775554795554805554865554875554875554875554895554915554955554965554965554965554985555005555065555075555075555075555095555115555195555205555205555205555225555255555315555325555325555325555345555385555415555425555425555425555445555485555535555545555545555545555565555605555675555685555685555685555705555745555835555845555845555845555865555915555985555995555995555995556015556075556115556125556125556125556145556215556225556235556235556235556255556325556355556365556365556365556385556455556505556515556515556515556535556615556645556655556655556655556675556765556775556785556785556785556805556895556945556955556955556955556975557065557135557145557145557145557165557255557345557355557355557355557385557385557455557465557465557465557495557505557555557565557565557565557595557605557695557705557705557705557735557755557765557775557775557775557805557825557855557865557865557865557895557925557935557945557945557945557975558005558095558105558105558105558135558175558205558215558215558215558245558285558335558345558345558345558375558415558485558495558495558495558525558575558625558635558635558635558665558725558755558765558765558765558795558865558885558895558895558895558925558995559035559045559045559045559075559145559205559215559215559215559245559325559365559375559375559375559405559495559525559535559535559535559565559655559745559755559755559755559795559795559805559815559815559815559855559855559885559895559895559895559935559945559955559965559965559965560005560025560025560035560035560035560075560095560155560165560165560165560205560225560305560315560315560315560355560385560385560395560395560395560435560465560555560565560565560565560605560635560725560735560735560735560775560815560845560855560855560855560895560935560985560995560995560995561035561075561145561155561155561155561195561245561305561315561315561315561355561405561465561475561475561475561515561575561625561635561635561635561675561735561805561815561815561815561855561915562005562015562015562015562055562125562205562215562215562215562255562325562415562425562425562425562465562545562595562605562605562605562645562725562795562805562805562805562845562925563015563025563025563025563065563155563235563245563245563245563285563375563465563475563475563475563525563525563585563595563595563595563645563645563725563735563735563735563785563795563795563805563805563805563855563865563955563965563965563965564015564035564035564045564045564045564095564115564195564205564205564205564255564285564285564295564295564295564345564375564395564405564405564405564455564495564505564515564515564515564565564605564635564645564645564645564695564735564795564805564805564805564855564895564975564985564985564985565035565085565085565095565095565095565145565195565285565295565295565295565345565405565425565435565435565435565485565545565565565575565575565575565625565685565725565735565735565735565785565845565905565915565915565915565965566035566085566095566095566095566145566215566295566305566305566305566355566425566515566525566525566525566575566655566665566675566675566675566725566805566835566845566845566845566895566985567005567015567015567015567065567155567205567215567215567215567265567355567435567445567445567445567505567505567505567515567515567515567575567575567595567605567605567605567665567675567685567695567695567695567755567765567805567815567815567815567875567895567915567925567925567925567985568005568045568055568055568055568115568135568195568205568205568205568265568295568345568355568355568355568415568445568535568545568545568545568605568645568685568695568695568695568755568795568855568865568865568865568925568965569045569055569055569055569115569165569235569245569245569245569305569365569375569385569385569385569445569505569575569585569585569585569645569705569795569805569805569805569865569935569945569955569955569955570015570095570095570105570105570105570165570245570295570305570305570305570365570445570535570545570545570545570605570695570705570715570715570715570775570865570895570905570905570905570975570975570995571005571005571005571075571075571145571155571155571155571225571235571295571305571305571305571375571385571465571475571475571475571545571565571565571575571575571575571645571665571755571765571765571765571835571865571915571925571925571925571995572035572045572055572055572055572125572165572195572205572205572205572275572315572365572375572375572375572445572495572535572545572545572545572615572675572675572685572685572685572755572815572895572905572905572905572975573045573045573055573055573055573125573195573215573225573225573225573295573375573385573395573395573395573465573545573625573635573635573635573705573795573815573825573825573825573895573985574025574035574035574035574105574195574255574265574265574265574345574345574395574405574405574405574485574495574515574525574525574525574605574625574635574645574645574645574725574745574775574785574785574785574865574885574935574945574945574945575025575055575095575105575105575105575185575225575245575255575255575255575335575375575455575465575465575465575545575595575595575605575605575605575685575735575755575765575765575765575845575905575915575925575925575925576005576065576155576165576165576165576245576315576395576405576405576405576485576565576565576575576575576575576655576735576755576765576765576765576845576935576945576955576955576955577045577045577045577055577055577055577145577145577175577185577185577185577275577275577325577335577335577335577425577425577495577505577505577505577595577605577665577675577675577675577765577785577835577845577845577845577935577965577995578005578005578005578095578125578175578185578185578185578275578305578385578395578395578395578485578515578595578605578605578605578695578725578805578815578815578815578905578945578975578985578985578985579075579115579165579175579175579175579265579305579385579395579395579395579485579525579605579615579615579615579705579745579825579835579835579835579925579975580035580045580045580045580135580185580265580275580275580275580365580425580435580445580445580445580535580595580605580615580615580615580705580765580785580795580795580795580885580945580995581005581005581005581095581155581225581235581235581235581325581395581395581405581405581405581495581565581565581575581575581575581665581735581745581755581755581755581845581915582005582015582015582015582105582185582195582205582205582205582295582375582415582425582425582425582515582595582635582645582645582645582735582815582875582885582885582885582975583065583075583085583085583085583175583265583295583305583305583305583395583485583545583555583555583555583645583735583795583805583805583805583895583985584065584075584075584085584085584085584155584165584165584175584175584175584265584275584275584285584285584295584315584325584325584335584335584345584365584375584375584385584385584395584445584455584455584465584465584475584525584535584535584545584545584555584625584635584635584645584645584665584665584675584675584685584685584705584705584715584715584725584725584745584775584785584785584795584795584815584895584905584905584915584915584945584945584955584955584965584965584995585025585035585035585045585045585075585105585115585115585125585125585155585225585235585235585245585245585275585365585375585375585385585385585425585435585445585445585455585455585495585535585545585545585555585555585595585635585645585645585655585655585695585775585785585785585795585795585845585895585905585905585915585915585965586035586045586045586055586055586115586115586125586125586135586135586195586195586205586205586215586215586275586315586325586325586335586335586405586415586425586425586435586435586505586535586545586545586555586555586625586685586695586695586705586705586775586835586845586845586855586855586935586945586955586955586965586965587045587075587085587085587095587095587175587225587235587235587245587245587325587405587415587415587425587425587505587585587595587595587605587605587695587725587735587735587745587755587755587775587785587785587795587805587805587845587855587855587865587875587875587945587955587955587965587975587975588045588055588055588065588075588085588115588125588125588135588145588155588225588235588235588245588255588265588355588365588365588375588385588405588425588435588435588445588455588475588495588505588505588515588525588545588625588635588635588645588655588685588735588745588745588755588765588795588865588875588875588885588895588935588935588945588945588955588965589005589005589015589015589025589035589075589145589155589155589165589175589215589305589315589315589325589335589385589395589405589405589415589425589475589515589525589525589535589545589595589635589645589645589655589665589725589735589745589745589755589765589835589835589845589845589855589865589935589955589965589965589975589985590055590105590115590115590125590135590205590255590265590265590275590285590365590395590405590405590415590425590505590575590585590585590595590605590685590775590785590785590795590805590895590915590925590925590935590945591035591055591065591065591075591095591095591095591105591105591115591135591135591215591225591225591235591255591265591265591275591275591285591305591315591345591355591355591365591385591395591425591435591435591445591465591485591505591515591515591525591545591565591615591625591625591635591655591675591745591755591755591765591785591815591815591825591825591835591855591885591895591905591905591915591935591965591975591985591985591995592015592045592055592065592065592075592095592125592155592165592165592175592195592225592285592295592295592305592325592355592425592435592435592445592465592495592565592575592575592585592605592645592675592685592685592695592715592755592805592815592815592825592845592885592965592975592975592985593005593045593135593145593145593155593175593215593305593315593315593325593345593395593445593455593455593465593485593535593605593615593615593625593645593705593705593715593715593725593745593805593815593825593825593835593855593915593935593945593945593955593975594035594065594075594075594085594105594165594215594225594225594235594255594315594395594405594405594415594435594495594585594595594595594605594625594695594695594705594705594715594735594805594885594895594895594905594925595005595005595015595015595025595045595125595155595165595165595175595195595275595315595325595325595335595355595435595495595505595505595515595535595625595625595635595635595645595665595755595775595785595785595795595815595905595955595965595965595975595995596085596145596155596155596165596185596275596365596375596375596385596415596415596435596445596445596455596485596485596525596535596535596545596575596575596645596655596655596665596695596695596775596785596785596795596825596835596845596855596855596865596895596905596995597005597005597015597045597065597075597085597085597095597125597145597185597195597195597205597235597255597305597315597315597325597355597375597465597475597475597485597515597545597585597595597595597605597635597665597725597735597735597745597775597805597895597905597905597915597945597985597985597995597995598005598035598075598125598135598135598145598175598215598285598295598295598305598335598375598465598475598475598485598515598565598585598595598595598605598635598685598715598725598725598735598765598815598905598915598915598925598955599005599095599105599105599115599145599205599215599225599225599235599265599325599365599375599375599385599415599475599525599535599535599545599575599645599655599665599665599675599705599775599835599845599845599855599885599955600035600045600045600055600085600165600175600185600185600195600225600305600325600335600335600345600375600455600545600555600555600565600595600685600695600705600705600715600745600835600865600875600875600885600915601005601065601075601075601085601115601205601275601285601285601295601335601335601375601385601385601395601435601445601475601485601485601495601535601545601595601605601605601615601655601665601745601755601755601765601805601815601905601915601915601925601965601985602055602065602065602075602115602145602195602205602205602215602255602285602355602365602365602375602415602455602455602465602465602475602515602555602565602575602575602585602625602675602675602685602685602695602735602785602815602825602825602835602875602925602975602985602985602995603035603085603165603175603175603185603225603285603285603295603295603305603345603405603405603415603415603425603465603525603525603535603535603545603585603645603665603675603675603685603725603785603835603845603845603855603895603955604025604035604035604045604085604145604215604225604225604235604275604345604395604405604405604415604455604525604595604605604605604615604655604735604735604745604745604755604795604875604895604905604905604915604955605035605065605075605075605085605125605205605275605285605285605295605335605415605505605515605515605525605565605655605675605685605685605695605735605825605865605875605875605885605925606015606065606075606075606085606135606135606175606185606185606195606245606245606305606315606315606325606375606375606465606475606475606485606535606545606555606565606565606575606625606635606665606675606675606685606735606745606835606845606845606855606905606925606935606945606945606955607005607025607065607075607075607085607135607155607215607225607225607235607285607305607395607405607405607415607465607495607525607535607535607545607595607625607675607685607685607695607745607775607855607865607865607875607925607965607965607975607975607985608035608075608115608125608125608135608185608225608265608275608275608285608335608375608435608445608445608455608505608545608635608645608645608655608705608755608765608775608775608785608835608885608935608945608945608955609005609065609065609075609075609085609135609195609215609225609225609235609285609345609395609405609405609415609465609525609595609605609605609615609665609735609755609765609765609775609825609895609935609945609945609955610005610075610135610145610145610155610205610275610365610375610375610385610435610515610525610535610535610545610595610675610745610755610755610765610815610895610975610985610985610995611045611135611135611145611145611155611205611295611325611335611335611345611395611485611535611545611545611555611615611615611625611635611635611645611705611705611725611735611735611745611805611805611845611855611855611865611925611925611995612005612005612015612075612075612165612175612175612185612245612255612305612315612315612325612385612405612415612425612425612435612495612515612545612555612555612565612625612645612705612715612715612725612785612805612885612895612895612905612965612995613045613055613055613065613125613155613235613245613245613255613315613355613355613365613365613375613435613475613505613515613515613525613585613625613675613685613685613695613755613805613835613845613845613855613915613965614015614025614025614035614095614145614215614225614225614235614295614355614355614365614365614375614435614495614515614525614525614535614595614665614665614675614675614685614745614815614845614855614855614865614925614995615045615055615055615065615125615195615275615285615285615295615355615435615435615445615445615455615515615595615675615685615685615695615755615845615905615915615915615925615985616075616155616165616165616175616245616245616255616265616265616275616345616345616375616385616385616395616465616475616495616505616505616515616585616595616665616675616675616685616755616765616855616865616865616875616945616965616985616995616995617005617075617095617145617155617155617165617235617255617305617315617315617325617395617415617505617515617515617525617595617625617635617645617645617655617725617755617795617805617805617815617885617915617985617995617995618005618075618105618185618195618195618205618275618315618315618325618325618335618405618445618465618475618475618485618555618595618645618655618655618665618735618775618855618865618865618875618945618985619075619085619085619095619165619215619275619285619285619295619365619415619495619505619505619515619585619645619655619665619665619675619745619805619845619855619855619865619935619995620055620065620065620075620145620215620215620225620225620235620305620375620395620405620405620415620485620555620605620615620615620625620695620765620845620855620855620865620935621015621025621035621035621045621115621195621235621245621245621255621325621405621465621475621475621485621555621635621725621735621735621745621815621905621925621935621935621945622015622105622165622175622175622185622255622345622425622435622435622445622525622525622525622535622535622545622625622625622655622665622665622675622755622755622815622825622825622835622915622925622925622935622935622945623025623035623105623115623115623125623205623215623305623315623315623325623405623425623445623455623455623465623545623565623615623625623625623635623715623745623745623755623755623765623845623875623915623925623925623935624015624045624105624115624115624125624205624235624325624335624335624345624425624465624485624495624495624505624585624625624705624715624715624725624805624855624865624875624875624885624965625015625045625055625055625065625145625195625255625265625265625275625355625405625495625505625505625515625595625655625715625725625725625735625815625875625955625965625965625975626055626125626125626135626135626145626225626295626325626335626335626345626425626495626555626565626565626575626655626735626765626775626775626785626865626955626955626965626965626975627055627145627165627175627175627185627265627355627405627415627415627425627505627595627675627685627685627695627785627785627845627855627855627865627955627965627975627985627985627995628085628095628125628135628135628145628235628245628305628315628315628325628415628425628515628525628525628535628625628645628715628725628725628735628825628855628875628885628885628895628985629015629055629065629065629075629165629195629265629275629275629285629375629415629415629425629425629435629525629565629645629655629655629665629755629805629835629845629845629855629945629995630045630055630055630065630155630205630285630295630295630305630395630455630465630475630475630485630575630645630645630655630655630665630755630825630825630835630835630845630935631005631025631035631035631045631135631205631255631265631265631275631365631435631515631525631525631535631625631705631775631785631785631795631885631975632025632035632035632045632135632225632295632305632305632325632325632325632325632335632335632355632355632355632385632395632395632415632415632425632445632455632455632475632475632495632495632505632505632525632525632545632565632575632575632595632595632615632665632675632675632695632695632715632805632815632815632835632835632855632945632955632955632975632975633005633045633055633055633075633075633105633165633175633175633195633195633225633315633325633325633345633345633385633415633425633425633445633445633485633525633535633535633555633555633595633635633645633645633665633665633705633765633775633775633795633795633835633925633935633935633955633955634005634035634045634045634065634065634115634155634165634165634185634185634245634265634275634275634295634295634355634395634405634405634425634425634485634555634565634565634585634585634655634665634675634675634695634695634765634785634795634795634815634815634895634895634905634905634925634925635005635025635035635035635055635055635135635185635195635195635215635215635295635385635395635395635415635415635505635515635525635525635545635545635635635705635715635715635735635735635825635915635925635925635945635955635955635975635985635985636005636015636015636075636085636085636105636115636115636205636215636215636235636245636255636255636265636265636285636295636305636325636335636335636355636365636375636425636435636435636455636465636475636565636575636575636595636605636625636645636655636655636675636685636715636725636735636735636755636765636795636825636835636835636855636865636895636955636965636965636985636995637035637035637045637045637065637075637115637145637155637155637175637185637235637255637265637265637285637295637345637385637395637395637415637425637475637545637555637555637575637585637645637655637665637665637685637695637755637805637815637815637835637845637915637945637955637955637975637985638055638105638115638115638135638145638215638295638305638305638325638335638415638435638445638445638465638475638555638625638635638635638655638665638755638755638765638765638785638795638885638905638915638915638935638945639035639085639095639095639115639125639215639305639315639315639335639355639355639405639415639415639435639455639455639515639525639525639545639565639565639645639655639655639675639695639705639715639725639725639745639765639775639825639835639835639855639875639895639905639915639915639935639955639975640005640015640015640035640055640075640125640135640135640155640175640195640275640285640285640305640325640355640375640385640385640405640425640455640535640545640545640565640585640625640625640635640635640655640675640715640735640745640745640765640785640825640875640885640885640905640925640965641055641065641065641085641105641155641205641215641215641235641255641315641335641345641345641365641385641445641485641495641495641515641535641595641665641675641675641695641715641785641795641805641805641825641845641915641995642005642005642025642045642125642155642165642165642185642205642285642335642345642345642365642385642465642545642555642555642575642595642685642705642715642715642735642755642845642935642945642945642965642995642995643045643055643055643075643105643105643175643185643185643205643235643245643245643255643255643275643305643315643355643365643365643385643415643435643455643465643465643485643515643535643585643595643595643615643645643665643735643745643745643765643795643825643825643835643835643855643885643915643955643965643965643985644015644055644075644085644085644105644135644185644185644195644195644215644245644295644315644325644325644345644375644425644475644485644485644505644535644585644675644685644685644705644735644795644875644885644885644905644935645005645045645055645055645075645105645175645235645245645245645265645295645365645455645465645465645485645515645595645625645635645635645655645685645775645795645805645805645825645855645945646035646045646045646065646105646105646115646125646125646145646185646185646225646235646235646255646295646295646385646395646395646415646455646455646545646555646555646575646615646625646665646675646675646695646735646745646805646815646815646835646875646885646975646985646985647005647045647065647105647115647115647135647175647195647245647255647255647275647315647335647385647395647395647415647455647475647545647555647555647575647615647645647645647655647655647675647715647745647795647805647805647825647865647895647955647965647965647985648025648065648105648115648115648135648175648215648275648285648285648305648345648385648475648485648485648505648545648595648635648645648645648665648705648755648815648825648825648845648885648935648995649005649005649025649065649115649195649205649205649225649265649325649335649345649345649365649405649465649525649535649535649555649595649655649735649745649745649765649805649875649895649905649905649925649965650035650075650085650085650105650145650215650285650295650295650315650355650435650455650465650465650485650525650605650645650655650655650675650715650805650835650845650845650865650905650995651045651055651055651075651115651205651285651295651295651315651365651365651395651405651405651425651475651475651535651545651545651565651615651625651655651665651665651685651735651745651795651805651805651825651875651885651965651975651975651995652045652065652095652105652105652125652175652195652255652265652265652285652335652365652415652425652425652445652495652525652595652605652605652625652675652715652715652725652725652745652795652835652885652895652895652915652965653005653095653105653105653125653175653225653255653265653265653285653335653385653435653445653445653465653515653565653645653655653655653675653725653785653815653825653825653845653895653955654025654035654035654055654105654175654235654245654245654265654315654385654465654475654475654495654545654625654635654645654645654665654715654795654855654865654865654885654935655025655035655045655045655065655115655205655285655295655295655315655375655375655375655385655385655405655465655465655495655505655505655525655585655585655665655675655675655695655755655765655805655815655815655835655895655905655945655955655955655975656035656045656105656115656115656135656195656205656295656305656305656325656385656405656445656455656455656475656535656565656565656575656575656595656655656685656705656715656715656735656795656825656865656875656875656895656955656985657055657065657065657085657145657185657205657215657215657235657295657335657415657425657425657445657505657555657605657615657615657635657695657745657815657825657825657845657905657965657965657975657975657995658055658115658165658175658175658195658255658325658345658355658355658375658435658505658575658585658585658605658665658735658825658835658835658855658915658995659015659025659025659045659105659185659255659265659265659285659345659435659475659485659485659505659575659575659595659605659605659625659695659695659735659745659745659765659835659835659905659915659915659935660005660015660035660045660045660065660135660155660155660165660165660185660255660275660295660305660305660325660395660415660455660465660465660485660555660575660645660655660655660675660745660775660795660805660805660825660895660935660935660945660945660965661035661075661145661155661155661175661245661285661375661385661385661405661475661525661545661555661555661575661645661695661765661775661775661795661865661925661985661995661995662015662085662155662165662175662175662195662265662335662365662375662375662395662465662535662595662605662605662625662695662775662785662795662795662815662885662975662975662985662985663005663075663165663245663255663255663275663355663355663355663365663365663385663465663465663495663505663505663525663605663605663695663705663705663725663805663805663895663905663905663925664005664015664045664055664055664075664155664165664215664225664225664245664325664335664415664425664425664445664525664545664585664595664595664615664695664715664755664765664765664785664865664895664925664935664935664955665035665065665115665125665125665145665225665255665335665345665345665365665445665485665525665535665535665555665635665675665725665735665735665755665835665885665905665915665915665935666015666065666105666115666115666135666215666265666335666345666345666365666445666505666535666545666545666565666645666705666755666765666765666785666865666925666975666985666985667005667085667145667215667225667225667245667325667395667395667405667405667425667505667575667635667645667645667665667745667815667895667905667905667925668005668085668135668145668145668165668245668325668395668405668405668425668505668595668595668605668605668625668705668795668855668865668865668885668965669055669145669155669155669175669265669265669275669285669285669305669395669395669425669435669435669455669545669545669605669615669615669635669725669735669755669765669765669785669875669885669945669955669955669975670065670075670135670145670145670165670255670265670345670355670355670375670465670485670495670505670505670525670615670635670705670715670715670735670825670855670865670875670875670895670985671015671065671075671075671095671185671215671285671295671295671315671405671445671445671455671455671475671565671605671665671675671675671695671785671835671835671845671845671865671955672005672085672095672095672115672205672265672265672275672275672295672385672445672475672485672485672505672595672655672745672755672755672775672865672935672975672985672985673005673095673165673235673245673245673265673355673425673515673525673525673545673635673715673735673745673745673765673855673935674015674025674025674045674135674225674265674275674275674295674385674475674525674535674535674555674645674735674805674815674815674845674845674845674845674855674855674885674885674885674945674955674955674985674985674995675015675025675025675055675055675065675135675145675145675175675175675185675275675285675285675315675315675335675355675365675365675395675395675415675495675505675505675535675535675565675615675625675625675655675655675685675745675755675755675785675785675815675895675905675905675935675935675975675985675995675995676025676025676065676135676145676145676175676175676225676265676275676275676305676305676365676365676375676375676405676405676465676485676495676495676525676525676585676635676645676645676675676675676745676755676765676765676795676795676865676955676965676965676995676995677075677105677115677115677145677145677225677275677285677285677315677315677395677475677485677485677515677515677605677645677655677655677685677695677695677715677725677725677755677765677775677785677795677795677825677835677845677875677885677885677915677925677935677995678005678005678035678045678065678085678095678095678125678135678165678175678185678185678215678225678255678265678275678275678305678315678345678375678385678385678415678425678455678515678525678525678555678565678605678625678635678635678665678675678725678735678745678745678775678785678835678895678905678905678935678945678995679075679085679085679115679125679185679195679205679205679235679245679305679385679395679395679425679435679495679575679585679585679615679625679695679705679715679715679745679755679825679855679865679865679895679905679975680035680045680045680075680085680165680195680205680205680235680245680325680355680365680365680395680405680495680505680515680515680545680555680645680675680685680685680715680725680815680875680885680885680915680935680935680965680975680975681005681025681025681065681075681075681105681125681125681165681175681175681205681225681225681285681295681295681325681345681345681435681445681445681475681495681505681565681575681575681605681625681635681705681715681715681745681765681785681805681815681815681845681865681885681925681935681935681965681985682005682075682085682085682115682135682165682205682215682215682245682265682295682355682365682365682395682415682445682535682545682545682575682595682635682645682655682655682685682705682745682785682795682795682825682845682895682905682915682915682945682965683015683045683055683055683085683105683165683175683185683185683215683235683295683325683335683335683365683385683445683505683515683515683545683565683635683665683675683675683705683725683795683855683865683865683895683915683995684025684035684035684065684085684165684215684225684225684255684275684355684435684445684445684475684495684585684635684645684645684675684695684785684875684885684885684915684945684945684955684965684965684995685025685025685055685065685065685095685125685125685185685195685195685225685255685265685295685305685305685335685365685375685455685465685465685495685525685535685615685625685625685655685685685705685705685715685715685745685775685795685825685835685835685865685895685925685925685935685935685965685995686025686075686085686085686115686145686185686195686205686205686235686265686305686335686345686345686375686405686445686505686515686515686545686575686625686655686665686665686695686725686775686855686865686865686895686925686985687045687055687055687085687115687175687255687265687265687295687325687395687405687415687415687445687475687545687625687635687635687665687695687775687815687825687825687855687885687965688035688045688045688075688105688185688275688285688285688315688345688435688455688465688465688495688525688615688705688715688715688745688785688785688845688855688855688885688925688925688995689005689005689035689075689075689165689175689175689205689245689255689275689285689285689315689355689365689455689465689465689495689535689555689615689625689625689655689695689725689755689765689765689795689835689865689915689925689925689955689995690025690105690115690115690145690185690225690275690285690285690315690355690405690425690435690435690465690505690565690575690585690585690615690655690715690745690755690755690785690825690885690945690955690955690985691025691095691125691135691135691165691205691285691295691305691305691335691375691455691505691515691515691545691585691665691735691745691745691775691815691905691905691915691915691945691985692075692145692155692155692185692235692235692295692305692305692335692385692385692465692475692475692505692555692565692565692575692575692605692655692665692695692705692705692735692785692805692805692815692815692845692895692915693005693015693015693045693095693125693195693205693205693235693285693315693405693415693415693445693495693535693555693565693565693595693645693695693695693705693705693735693785693835693835693845693845693875693925693975693985693995693995694025694075694125694155694165694165694195694245694295694355694365694365694395694445694505694545694555694555694585694635694695694735694745694745694775694825694895694895694905694905694935694985695055695075695085695085695115695165695235695285695295695295695325695375695455695485695495695495695525695575695655695695695705695705695735695785695865695945695955695955695985696035696125696125696135696135696165696215696305696335696345696345696375696435696435696445696455696455696485696545696545696575696585696585696615696675696675696715696725696725696755696815696815696875696885696885696915696975696975697065697075697075697105697165697175697245697255697255697285697345697355697445697455697455697485697545697565697565697575697575697605697665697685697705697715697715697745697805697825697875697885697885697915697975698005698035698045698045698075698135698165698215698225698225698255698315698355698365698375698375698405698465698505698535698545698545698575698635698675698735698745698745698775698835698885698925698935698935698965699025699075699145699155699155699185699245699305699315699325699325699355699415699475699505699515699515699545699605699665699725699735699735699765699825699895699935699945699945699975700035700105700185700195700195700225700285700355700445700455700455700485700545700625700635700645700645700675700735700815700855700865700865700895700955701045701065701075701075701105701165701255701315701325701325701355701425701425701425701435701435701465701535701535701555701565701565701595701665701665701715701725701725701755701825701835701865701875701875701905701975701985702055702065702065702095702165702185702245702255702255702285702355702375702455702465702465702495702565702595702605702615702615702645702715702745702835702845702845702875702945702985703025703035703035703065703135703185703195703205703205703235703305703355703385703395703395703425703495703545703605703615703615703645703715703775703815703825703825703855703925703995703995704005704005704035704105704175704215704225704225704255704325704395704455704465704465704495704565704635704725704735704735704765704835704915704985704995704995705025705095705185705225705235705235705265705335705425705495705505705505705535705605705695705785705795705795705825705905705905705925705935705935705965706045706055706055706065706065706095706175706185706255706265706265706295706375706395706445706455706455706485706565706585706655706665706665706695706775706805706805706815706815706845706925706955707035707045707045707075707155707195707255707265707265707295707375707425707445707455707455707485707565707615707655707665707665707695707775707825707895707905707905707935708015708075708125708135708135708165708245708315708355708365708365708395708475708545708625708635708635708665708745708825708825708835708835708865708945709025709055709065709065709095709175709265709275709285709285709315709405709405709405709415709415709445709535709535709575709585709585709615709705709705709765709775709775709805709895709895709985709995709995710025710115710125710195710205710205710235710325710345710405710415710415710445710535710565710615710625710625710655710745710775710845710855710855710885710975711015711015711025711025711055711145711185711275711285711285711315711405711445711535711545711545711575711665711715711775711785711785711815711905711955712035712045712045712075712165712225712235712245712245712275712365712435712435712445712445712475712565712635712645712655712655712685712775712845712905712915712915712945713035713105713185713195713195713225713315713395713405713415713415713445713535713625713625713635713635713665713755713845713865713875713875713905713995714085714125714135714135714165714255714345714405714415714415714445714535714625714715714725714725714765714765714765714845714855714855714895714895714905714905714915714915714955714955714965715035715045715045715085715085715095715185715195715195715235715235715255715275715285715285715325715325715355715365715375715375715415715415715445715485715495715495715535715535715565715655715665715665715705715705715745715755715765715765715805715805715845715885715895715895715935715935715985716015716025716025716065716065716115716185716195716195716235716235716295716305716315716315716355716355716415716445716455716455716495716495716555716615716625716625716665716665716735716785716795716795716835716835716905716995717005717005717045717045717125717165717175717175717215717215717295717355717365717365717405717405717485717575717585717585717625717625717715717795717805717805717845717855717855717885717895717895717935717945717945717975717985717985718025718035718035718085718095718095718135718145718145718225718235718235718275718285718295718365718375718375718415718425718445718465718475718475718515718525718555718555718565718565718605718615718645718665718675718675718715718725718755718805718815718815718855718865718905718945718955718955718995719005719055719055719065719065719105719115719165719235719245719245719285719295719345719435719445719445719485719495719555719575719585719585719625719635719705719715719725719725719765719775719845719915719925719925719965719975720055720115720125720125720165720175720255720335720345720345720385720395720485720495720505720505720545720565720565720565720575720575720615720635720635720705720715720715720755720775720785720795720805720805720845720865720875720905720915720915720955720975720985721045721055721055721095721115721135721185721195721195721235721255721285721315721325721325721365721385721415721465721475721475721515721535721565721635721645721645721685721705721745721745721755721755721795721815721855721945721955721955721995722015722065722145722155722155722195722215722265722355722365722365722405722425722485722495722505722505722545722565722625722665722675722675722715722735722805722835722845722845722885722905722985723005723015723015723055723075723155723215723225723225723265723285723365723445723455723455723495723515723605723615723625723625723665723695723695723695723705723705723745723775723775723865723875723875723915723945723955724035724045724045724085724115724135724135724145724145724185724215724235724275724285724285724325724355724375724415724425724425724465724495724515724555724565724565724605724635724665724685724695724695724735724765724795724835724845724845724885724915724945725025725035725035725075725105725135725215725225725225725265725295725325725405725415725415725455725485725525725585725595725595725635725665725705725785725795725795725835725865725915725935725945725945725985726015726065726085726095726095726135726165726215726235726245726245726285726315726375726375726385726385726425726455726515726535726545726545726585726615726675726735726745726745726785726815726875726935726945726945726985727015727075727145727155727155727195727225727295727295727305727305727345727375727445727465727475727475727515727545727615727675727685727685727725727755727825727885727895727895727935727965728035728115728125728125728165728195728275728275728285728285728325728355728435728455728465728465728505728535728615728675728685728685728725728755728835728895728905728905728945728975729055729135729145729145729185729215729305729305729315729315729355729385729475729495729505729505729545729575729665729725729735729735729775729805729895729955729965729965730005730035730125730205730215730215730255730295730295730335730345730345730385730425730425730485730495730495730535730575730585730585730595730595730635730675730685730685730695730695730735730775730785730815730825730825730865730905730915730955730965730965731005731045731055731115731125731125731165731205731225731225731235731235731275731315731335731335731345731345731385731425731445731485731495731495731535731575731595731635731645731645731685731725731745731805731815731815731855731895731925731925731935731935731975732015732045732045732055732055732095732135732165732205732215732215732255732295732325732375732385732385732425732465732495732565732575732575732615732655732695732705732715732715732755732795732835732845732855732855732895732935732975733025733035733035733075733115733155733215733225733225733265733305733345733425733435733435733475733515733565733585733595733595733635733675733725733745733755733755733795733835733885733945733955733955733995734035734095734115734125734125734165734205734265734305734315734315734355734395734455734535734545734545734585734625734685734765734775734775734815734855734925734955734965734965735005735045735115735195735205735205735245735285735365735365735375735375735415735455735535735575735585735585735625735665735745735785735795735795735835735875735955736045736055736055736095736135736225736275736285736285736325736365736455736525736535736535736575736625736625736635736645736645736685736735736735736745736755736755736795736845736845736905736915736915736955737005737015737045737055737055737095737145737155737205737215737215737255737305737315737405737415737415737455737505737515737605737615737615737655737705737725737775737785737785737825737875737895737965737975737975738015738065738085738175738185738185738225738275738305738335738345738345738385738435738465738495738505738505738545738595738635738635738645738645738685738735738775738785738795738795738835738885738925738955738965738965739005739055739095739165739175739175739215739265739305739375739385739385739425739475739525739565739575739575739615739665739715739775739785739785739825739875739925740005740015740015740055740105740165740185740195740195740235740285740345740365740375740375740415740465740535740535740545740545740585740635740705740705740715740715740755740805740875740895740905740905740945740995741065741125741135741135741175741225741295741355741365741365741405741455741535741575741585741585741625741675741755741845741855741855741895741945742035742045742055742055742095742145742235742285742295742295742335742385742475742525742535742535742575742635742635742675742685742685742725742785742785742865742875742875742915742975742985742985742995742995743035743095743105743145743155743155743195743255743265743305743315743315743355743415743435743465743475743475743515743575743595743685743695743695743735743795743825743835743845743845743885743945743975744025744035744035744075744135744165744215744225744225744265744325744365744405744415744415744455744515744565744595744605744605744645744705744755744805744815744815744855744915744965745055745065745065745105745165745225745225745235745235745275745335745395745395745405745405745445745505745565745605745615745615745655745715745775745835745845745845745885745945746015746015746025746025746065746125746195746205746215746215746255746315746385746405746415746415746455746515746585746635746645746645746685746745746815746885746895746895746935746995747075747085747095747095747135747195747275747295747305747305747345747405747485747515747525747525747565747625747705747785747795747795747835747895747985747985747995747995748035748095748185748225748235748235748275748335748425748475748485748485748525748585748675748745748755748755748795748855748945749025749035749035749075749145749145749145749155749155749195749265749265749305749315749315749355749425749425749475749485749485749525749595749595749665749675749675749715749785749795749825749835749835749875749945749955750005750015750015750055750125750135750225750235750235750275750345750365750365750375750375750415750485750505750535750545750545750585750655750675750755750765750765750805750875750905750905750915750915750955751025751055751095751105751105751145751215751245751295751305751305751345751415751445751525751535751535751575751645751685751735751745751745751785751855751895751965751975751975752015752085752135752145752155752155752195752265752315752335752345752345752385752455752505752565752575752575752615752685752745752745752755752755752795752865752925752945752955752955752995753065753125753185753195753195753235753305753365753435753445753445753485753555753625753635753645753645753685753755753835753835753845753845753885753955754035754055754065754065754105754175754255754315754325754325754365754435754515754585754595754595754635754705754795754815754825754825754865754945754945754945754955754955754995755075755075755095755105755105755145755225755225755285755295755295755335755415755415755485755495755495755535755615755625755655755665755665755705755785755795755835755845755845755885755965755975756035756045756045756085756165756185756185756195756195756235756315756335756345756355756355756395756475756495756565756575756575756615756695756725756745756755756755756795756875756905756945756955756955756995757075757105757185757195757195757235757315757345757435757445757445757485757565757605757665757675757675757715757795757835757895757905757905757945758025758065758145758155758155758195758275758325758345758355758355758395758475758525758555758565758565758605758685758745758745758755758755758795758875758935759025759035759035759075759155759225759235759245759245759285759365759435759485759495759495759535759615759685759745759755759755759795759875759955759995760005760005760045760125760205760265760275760275760315760395760475760555760565760565760605760685760775760795760805760805760845760925761015761045761055761055761095761185761185761205761215761215761255761345761345761375761385761385761425761515761515761565761575761575761615761705761705761795761805761805761845761935761945761945761955761955761995762085762095762185762195762195762235762325762345762395762405762405762445762535762555762625762635762635762675762765762795762805762815762815762855762945762975763005763015763015763055763145763175763205763215763215763255763345763375763455763465763465763505763595763635763635763645763645763685763775763815763855763865763865763905763995764035764095764105764105764145764235764275764335764345764345764385764475764525764575764585764585764625764715764765764835764845764845764885764975765035765045765055765055765095765185765245765275765285765285765325765415765475765515765525765525765565765655765715765765765775765775765815765905765965766035766045766045766085766175766245766255766265766265766305766395766465766495766505766505766545766635766705766745766755766755766795766885766965766965766975766975767015767105767185767205767215767215767255767345767425767485767495767495767535767625767705767785767795767795767835767925768015768015768025768025768065768155768245768295768305768305768345768435768525768595768605768605768655768655768655768665768675768675768725768725768725768755768765768765768815768815768815768865768875768875768925768925768935768975768985768985769035769035769045769105769115769115769165769165769185769185769195769195769245769245769265769285769295769295769345769345769365769415769425769425769475769475769495769565769575769575769625769625769645769735769745769745769795769795769825769855769865769865769915769915769945769995770005770005770055770055770085770165770175770175770225770225770265770315770325770325770375770375770415770485770495770495770545770545770595770605770615770615770665770665770715770745770755770755770805770805770855770925770935770935770985770985771045771075771085771085771135771135771195771245771255771255771305771305771365771455771465771465771515771515771585771595771605771605771655771655771725771785771795771795771845771845771915771985771995771995772045772045772115772205772215772215772265772265772345772375772385772385772435772435772515772565772575772575772625772625772715772715772725772725772775772775772865772875772885772885772935772935773025773055773065773065773115773115773205773275773285773285773335773335773425773515773525773525773575773585773585773625773635773635773685773695773705773705773715773715773765773775773785773805773815773815773865773875773885773945773955773955774005774015774025774105774115774115774165774175774195774235774245774245774295774305774325774415774425774425774475774485774515774525774535774535774585774595774625774675774685774685774735774745774775774845774855774855774905774915774955774995775005775005775055775065775105775145775155775155775205775215775255775315775325775325775375775385775435775435775445775445775495775505775555775575775585775585775635775645775695775785775795775795775845775855775915775955775965775965776015776025776085776145776155776155776205776215776285776285776295776295776345776355776425776445776455776455776505776515776595776595776605776605776655776665776745776745776755776755776805776815776895776915776925776925776975776985777065777125777135777135777185777195777275777355777365777365777415777425777515777575777585777585777635777655777655777705777715777715777765777785777785777855777865777865777915777935777945777955777965777965778015778035778045778075778085778085778135778155778175778195778205778205778255778275778295778365778375778375778425778445778465778555778565778565778615778635778665778695778705778705778755778775778805778855778865778865778915778935778975779015779025779025779075779095779145779165779175779175779225779245779295779335779345779345779395779415779465779545779555779555779605779625779685779695779705779705779755779775779835779845779855779855779905779925779985780025780035780035780085780105780165780225780235780235780285780305780375780375780385780385780435780455780525780555780565780565780615780635780705780745780755780755780805780825780895780955780965780965781015781035781105781185781195781195781245781265781345781365781375781375781425781445781525781575781585781585781635781655781735781795781805781805781855781875781965782005782015782015782065782085782175782235782245782245782295782325782325782325782335782335782385782415782415782445782455782455782505782535782535782585782595782595782645782675782675782745782755782755782805782835782835782925782935782935782985783015783025783055783065783065783115783145783155783215783225783225783275783305783315783395783405783405783455783485783505783555783565783565783615783645783665783735783745783745783795783825783855783865783875783875783925783955783985784025784035784035784085784115784145784215784225784225784275784305784345784375784385784385784435784465784505784555784565784565784615784645784685784775784785784785784835784865784915784935784945784945784995785025785075785135785145785145785195785225785275785365785375785375785425785455785515785525785535785535785585785615785675785725785735785735785785785815785875785955785965785965786015786045786115786135786145786145786195786225786295786355786365786365786415786445786515786595786605786605786655786685786765786785786795786795786845786875786955787005787015787015787065787095787175787265787275787275787325787355787445787525787535787535787585787625787625787625787635787635787685787725787725787765787775787775787825787865787865787935787945787945787995788035788045788065788075788075788125788165788185788185788195788195788245788285788305788325788335788335788385788425788445788505788515788515788565788605788625788715788725788725788775788815788845788895788905788905788955788995789035789035789045789045789095789135789175789195789205789205789255789295789335789395789405789405789455789495789535789625789635789635789685789725789775789835789845789845789895789935789985790065790075790075790125790165790225790225790235790235790285790325790385790425790435790435790485790525790585790655790665790665790715790755790825790865790875790875790925790965791045791055791065791065791115791155791235791265791275791275791325791365791445791515791525791525791575791615791705791705791715791715791765791805791895791975791985791985792035792085792085792125792135792135792185792235792235792295792305792305792355792405792415792415792425792425792475792525792535792565792575792575792625792675792695792715792725792725792775792825792845792905792915792915792965793015793035793115793125793125793175793225793255793275793285793285793335793385793415793465793475793475793525793575793615793655793665793665793715793765793815793815793825793825793875793925793975793995794005794005794055794105794155794215794225794225794275794325794385794385794395794395794445794495794555794555794565794565794615794665794725794735794745794745794795794845794905794935794945794945794995795045795105795175795185795185795235795285795355795365795375795375795425795475795545795565795575795575795625795675795745795765795775795775795825795875795945795985795995795995796045796095796165796245796255796255796305796355796435796455796465796465796515796565796645796675796685796685796735796785796875796885796895796895796945796995797085797115797125797125797175797225797315797385797395797395797445797505797505797515797525797525797575797635797635797665797675797675797725797785797785797825797835797835797885797945797945798005798015798015798065798125798135798135798145798145798195798255798265798305798315798315798365798425798435798495798505798505798555798615798635798655798665798665798715798775798795798835798845798845798895798955798975799055799065799065799115799175799205799225799235799235799285799345799375799425799435799435799485799545799585799585799595799595799645799705799745799765799775799775799825799885799925799985799995799995800045800105800155800155800165800165800215800275800325800365800375800375800425800485800535800615800625800625800675800735800795800795800805800805800855800915800975801015801025801025801075801135801195801275801285801285801335801395801465801485801495801495801545801605801675801735801745801745801795801855801925802005802015802015802065802125802205802225802235802235802285802345802425802485802495802495802545802605802695802695802705802705802755802815802905802995803005803005803055803125803125803135803145803145803195803265803265803315803325803325803375803445803445803535803545803545803595803665803675803715803725803725803775803845803865803885803895803895803945804015804035804075804085804085804135804205804225804305804315804315804365804435804465804485804495804495804545804615804645804725804735804735804785804855804895804945804955804955805005805075805115805185805195805195805245805315805365805375805385805385805435805505805555805605805615805615805665805735805795805815805825805825805875805945806005806055806065806065806115806185806245806315806325806325806375806445806515806525806535806535806585806655806725806775806785806785806835806905806985807005807015807015807065807135807225807235807245807245807295807365807455807485807495807495807545807615807705807775807785807785807835807915807915807925807935807935807985808065808065808145808155808155808205808285808295808365808375808375808425808505808515808605808615808615808665808745808765808795808805808805808855808935808955809025809035809035809085809165809195809235809245809245809295809375809415809445809455809455809505809585809625809675809685809685809735809815809855809945809955809955810005810085810135810165810175810175810225810305810365810375810385810385810435810515810575810615810625810625810675810755810815810875810885810885810935811015811085811085811095811095811145811225811295811335811345811345811395811475811555811575811585811585811635811715811805811815811825811825811875811955812045812075812085812085812135812215812305812375812385812385812435812525812525812535812545812545812595812685812685812775812785812785812835812925812935813015813025813025813075813165813185813185813195813195813245813335813355813395813405813405813455813545813565813645813655813655813705813795813825813885813895813895813945814035814075814125814135814135814185814275814315814385814395814395814445814535814585814595814605814605814655814745814795814845814855814855814905814995815055815095815105815105815155815245815305815385815395815395815445815535815605815605815615815615815665815755815825815865815875815875815925816015816085816175816185816185816235816325816395816485816495816495816545816635816705816795816805816805816855816945817025817035817045817045817095817185817265817315817325817325817375817465817555817555817565817565817615817705817795817795817805817805817855817945818035818035818045818045818095818185818275818295818305818305818355818445818535818595818605818605818665818665818665818675818685818685818745818745818745818755818765818765818825818825818825818845818855818855818915818915818915818955818965818965819025819025819025819105819115819115819175819175819185819215819225819225819285819285819295819325819335819335819395819395819405819465819475819475819535819535819545819625819635819635819695819695819715819735819745819745819805819805819825819895819905819905819965819965819985820055820065820065820125820125820155820215820225820225820285820285820315820395820405820405820465820465820505820525820535820535820595820595820635820705820715820715820775820775820815820885820895820895820955820955821005821065821075821075821135821135821185821265821275821275821335821335821395821415821425821425821485821485821545821615821625821625821685821685821745821825821835821835821895821895821955822035822045822045822105822105822175822175822185822185822245822245822315822355822365822365822425822425822495822585822595822595822655822655822735822735822745822745822805822805822885822975822985822985823045823045823135823145823155823155823215823215823305823355823365823365823425823435823435823435823445823445823505823515823515823535823545823545823605823615823615823685823695823695823755823765823765823855823865823865823925823935823945823975823985823985824045824055824065824145824155824155824215824225824245824245824255824255824315824325824345824395824405824405824465824475824495824565824575824575824635824645824675824685824695824695824755824765824795824855824865824865824925824935824965825045825055825055825115825125825165825215825225825225825285825295825335825405825415825415825475825485825535825545825555825555825615825625825675825735825745825745825805825815825865825945825955825955826015826025826085826155826165826165826225826235826295826385826395826395826455826465826535826565826575826575826635826645826715826795826805826805826865826875826955826965826975826975827035827045827125827185827195827195827255827265827345827425827435827435827495827505827595827615827625827625827685827695827785827855827865827865827925827945827945827945827955827955828015828035828035828085828095828095828155828175828175828245828255828255828315828335828345828355828365828365828425828445828455828515828525828525828585828605828615828705828715828715828775828795828815828875828885828885828945828965828985829065829075829075829135829155829185829205829215829215829275829295829325829395829405829405829465829485829525829535829545829545829605829625829665829675829685829685829745829765829805829835829845829845829905829925829965830035830045830045830105830125830175830195830205830205830265830285830335830395830405830405830465830485830545830565830575830575830635830655830715830755830765830765830825830845830905830985830995830995831055831075831145831175831185831185831245831265831335831405831415831415831475831495831575831605831615831615831675831695831775831825831835831835831895831915831995832085832095832095832155832175832265832305832315832315832375832395832485832565832575832575832635832665832665832735832745832745832805832835832835832925832935832935832995833025833035833065833075833075833135833165833175833255833265833265833325833355833375833395833405833405833465833495833525833535833545833545833605833635833665833695833705833705833765833795833825833895833905833905833965833995834035834055834065834065834125834155834195834265834275834275834335834365834415834435834445834445834505834535834585834625834635834635834695834725834775834855834865834865834925834955835015835045835055835055835115835145835205835285835295835295835355835385835455835485835495835495835555835585835655835705835715835715835775835805835875835965835975835975836035836065836145836185836195836195836255836285836365836455836465836465836525836555836645836715836725836725836785836815836905836995837005837005837065837105837105837135837145837145837205837245837245837325837335837335837395837435837445837485837495837495837555837595837615837615837625837625837685837725837745837765837775837775837835837875837895837955837965837965838025838065838095838105838115838115838175838215838245838325838335838335838395838435838475838475838485838485838545838585838625838645838655838655838715838755838795838855838865838865838925838965839015839025839035839035839095839135839185839265839275839275839335839375839435839435839445839445839505839545839605839625839635839635839695839735839795839855839865839865839925839965840035840045840055840055840115840155840225840305840315840315840375840415840495840525840535840535840595840635840715840765840775840775840835840875840955841045841055841055841115841155841245841285841295841295841355841405841405841425841435841435841495841545841545841595841605841605841665841715841715841785841795841795841855841905841915841925841935841935841995842045842055842115842125842125842185842235842255842295842305842305842365842415842445842475842485842485842545842595842625842675842685842685842745842795842825842915842925842925842985843035843075843115843125843125843185843235843285843305843315843315843375843425843485843495843505843505843565843615843675843705843715843715843775843825843885843955843965843965844025844075844145844165844175844175844235844285844365844375844385844385844445844495844575844605844615844615844675844725844805844855844865844865844925844975845055845145845155845155845215845265845355845405845415845415845475845525845615845665845675845675845735845785845875845935845945845945846005846055846145846225846235846235846295846355846355846375846385846385846445846505846505846585846595846595846655846715846715846795846805846805846865846925846935846985846995846995847055847115847125847195847205847205847265847325847345847355847365847365847425847485847505847575847585847585847645847705847725847795847805847805847865847925847955847995848005848005848065848125848155848215848225848225848285848345848385848385848395848395848455848515848555848615848625848625848685848745848785848855848865848865848925848985849025849105849115849115849175849235849285849285849295849295849355849415849465849505849515849515849575849635849695849695849705849705849765849825849885849895849905849905849965850025850085850165850175850175850235850295850365850365850375850375850435850495850565850605850615850615850675850735850815850815850825850825850885850945851025851045851055851055851115851175851255851305851315851315851375851435851515851585851595851595851655851715851805851815851825851825851885851945852035852105852115852115852175852235852325852415852425852425852485852555852555852575852585852585852645852715852715852755852765852765852825852895852895852975852985852985853045853115853125853165853175853175853235853305853315853375853385853385853445853515853535853575853585853585853645853715853735853795853805853805853865853935853965853965853975853975854035854105854135854195854205854205854265854335854365854455854465854465854525854595854635854645854655854655854715854785854825854855854865854865854925854995855035855105855115855115855175855245855295855325855335855335855395855465855515855575855585855585855645855715855775855815855825855825855885855955856015856075856085856085856145856215856285856285856295856295856355856425856495856555856565856565856625856695856765856855856865856865856925856995857075857145857155857155857215857285857365857455857465857465857525857595857685857715857725857725857785857855857945858035858045858045858105858185858185858215858225858225858285858365858365858425858435858435858495858575858575858655858665858665858725858805858815858835858845858845858905858985858995859075859085859085859145859225859245859275859285859285859345859425859445859495859505859505859565859645859665859735859745859745859805859885859915859925859935859935859995860075860105860175860185860185860245860325860365860385860395860395860455860535860585860585860595860595860655860735860785860805860815860815860875860955861005861065861075861075861135861215861275861295861305861305861365861445861505861575861585861585861645861725861795861845861855861855861915861995862065862135862145862145862205862285862365862375862385862385862445862525862605862675862685862685862745862825862915862945862955862955863015863095863185863255863265863265863325863405863495863585863595863595863655863745863745863775863785863785863845863935863935864025864035864035864095864185864195864245864255864255864315864405864415864505864515864515864575864665864685864695864705864705864765864855864875864925864935864935864995865085865115865125865135865135865195865285865315865395865405865405865465865555865585865665865675865675865735865825865865865865865875865875865935866025866065866105866115866115866175866265866315866315866325866325866385866475866525866595866605866605866665866755866805866875866885866885866945867035867085867175867185867185867245867335867395867425867435867435867495867585867645867735867745867745867805867895867965868025868035868035868095868185868265868285868295868295868355868445868525868565868575868575868635868725868805868885868895868895868955869045869135869175869185869185869255869255869255869275869285869285869355869355869355869405869415869415869485869485869485869555869565869565869635869635869645869655869665869665869735869735869745869815869825869825869895869895869915869965869975869975870045870045870075870115870125870125870195870195870225870285870295870295870365870365870405870405870415870415870485870485870525870585870595870595870665870665870715870755870765870765870835870835870895870925870935870935871005871005871065871115871125871125871195871195871255871345871355871355871425871425871495871545871555871555871625871625871705871745871755871755871825871825871915871915871925871925871995871995872085872105872115872115872185872185872275872335872345872345872415872425872425872455872465872465872535872545872545872575872585872585872655872665872665872715872725872725872795872805872805872875872885872885872955872965872975872985872995872995873065873075873085873165873175873175873245873255873265873345873355873355873425873435873455873515873525873525873595873605873625873705873715873715873785873795873825873845873855873855873925873935873965874055874065874065874135874145874175874265874275874275874345874355874395874465874475874475874545874555874595874685874695874695874765874775874825874855874865874865874935874945875005875005875015875015875085875095875155875165875175875175875245875255875315875375875385875385875455875465875525875605875615875615875685875695875765875785875795875795875865875875875945876035876045876045876115876125876205876215876225876225876295876305876385876405876415876415876485876495876575876615876625876625876695876705876785876865876875876875876945876955877045877095877105877105877175877185877275877345877355877355877425877445877445877485877495877495877565877585877585877645877655877655877725877745877755877755877765877765877835877855877865877935877945877945878015878035878045878135878145878145878215878235878255878315878325878325878395878415878435878515878525878525878595878615878645878665878675878675878745878765878795878885878895878895878965878985879025879045879055879055879125879145879185879245879255879255879325879345879385879465879475879475879545879565879615879635879645879645879715879735879785879875879885879885879955879975880035880065880075880075880145880165880225880265880275880275880345880365880425880485880495880495880565880585880655880655880665880665880735880755880825880895880905880905880975880995881075881085881095881095881165881185881265881345881355881355881425881445881535881535881545881545881615881635881725881765881775881775881845881875881875881885881895881895881965881995881995882045882055882055882125882155882165882185882195882195882265882295882305882345882355882355882425882455882465882545882555882555882625882655882675882725882735882735882805882835882865882865882875882875882945882975883005883055883065883065883135883165883195883265883275883275883345883375883415883425883435883435883505883535883575883655883665883665883735883765883815883845883855883855883925883955884015884035884045884045884115884145884205884245884255884255884325884355884415884495884505884505884575884605884675884725884735884735884805884835884915884925884935884935885005885035885115885175885185885185885255885285885365885445885455885455885525885555885645885665885675885675885745885775885865885955885965885965886035886075886075886125886135886135886205886245886255886255886265886265886335886375886385886405886415886415886485886525886535886595886605886605886675886715886735886765886775886775886845886885886915886915886925886925886995887035887065887105887115887115887185887225887255887315887325887325887395887435887475887475887485887485887555887595887635887705887715887715887785887825887875887915887925887925887995888035888095888105888115888115888185888225888285888315888325888325888395888435888495888565888575888575888645888685888755888795888805888805888875888915888995889015889025889025889095889135889215889265889275889275889345889385889465889535889545889545889615889655889745889755889765889765889835889875889965890045890055890055890125890175890175890235890245890245890315890365890375890375890385890385890455890505890515890535890545890545890615890665890675890735890745890745890815890865890885890915890925890925890995891045891075891085891095891095891165891215891245891295891305891305891375891425891455891525891535891535891605891655891695891705891715891715891785891835891875891955891965891965892035892085892135892195892205892205892275892325892385892395892405892405892475892525892585892615892625892625892695892745892805892875892885892885892955893005893075893115893125893125893195893245893325893355893365893365893435893485893565893605893615893615893685893735893815893875893885893885893955894005894095894095894105894105894175894225894315894385894395894395894465894525894525894585894595894595894665894725894725894805894815894815894885894945894955894955894965894965895035895095895105895145895155895155895225895285895305895315895325895325895395895455895485895485895495895495895565895625895655895675895685895685895755895815895845895885895895895895895965896025896055896135896145896145896215896275896315896365896375896375896445896505896555896595896605896605896675896735896785896865896875896875896945897005897065897065897075897075897145897205897265897305897315897315897385897445897515897535897545897545897615897675897745897765897775897775897845897905897975897995898005898005898075898135898205898245898255898255898325898385898455898535898545898545898615898675898755898815898825898825898895898955899035899095899105899105899175899235899315899385899395899395899465899525899605899695899705899705899775899835899925899955899965899965900035900105900105900115900125900125900195900265900265900275900285900285900355900425900425900445900455900455900525900595900595900635900645900645900715900785900785900865900875900875900945901015901025901085901095901095901165901235901245901315901325901325901395901465901475901545901555901555901625901695901705901795901805901805901875901945901965901995902005902005902075902145902175902185902195902195902265902335902365902385902395902395902465902535902565902645902655902655902725902795902835902835902845902845902915902985903025903065903075903075903145903215903265903285903295903295903365903435903485903515903525903525903595903665903725903725903735903735903805903875903935903955903965903965904035904105904165904225904235904235904305904375904445904485904495904495904565904635904705904755904765904765904835904905904985905015905025905025905095905165905245905295905305905305905375905445905525905615905625905625905695905765905855905925905935905935906005906075906165906255906265906265906335906415906415906465906475906475906545906625906625906695906705906705906775906855906865906875906885906885906955907035907045907135907145907145907215907295907315907335907345907345907415907495907515907555907565907565907635907715907735907795907805907805907875907955907985907985907995907995908065908145908175908255908265908265908335908415908455908465908475908475908545908625908665908705908715908715908785908865908905908965908975908975909045909125909175909175909185909185909255909335909385909465909475909475909545909625909685909695909705909705909775909855909915909975909985909985910055910135910195910275910285910285910355910435910505910525910535910535910605910685910765910765910775910775910845910925911005911045911055911055911125911205911285911335911345911345911415911495911575911645911655911655911725911805911895911905911915911915911985912065912155912245912255912255912325912415912415912445912455912455912525912615912625912625912635912635912705912795912805912825912835912835912905912995913005913065913075913075913145913235913255913295913305913305913375913465913485913565913575913575913645913735913765913825913835913835913905913995914025914105914115914115914185914275914315914335914345914345914415914505914555914555914565914565914635914725914775914825914835914835914905914995915045915095915105915105915175915265915315915385915395915395915465915555915615915625915635915635915705915795915855915945915955915955916025916115916185916225916235916235916305916395916475916485916495916495916565916655916735916765916775916775916845916935917015917085917095917095917165917255917345917395917405917405917485917485917485917495917505917505917585917585917585917625917635917635917715917715917715917775917785917785917865917865917875917875917885917885917965917965917975918055918065918065918145918145918165918205918215918215918295918295918315918395918405918405918485918485918515918515918525918525918605918605918635918675918685918685918765918765918805918825918835918835918915918915918955919035919045919045919125919125919175919225919235919235919315919315919365919435919445919445919525919525919585919595919605919605919685919685919745919835919845919845919925919925919995920055920065920065920145920145920215920295920305920305920385920385920465920465920475920475920555920555920635920675920685920685920765920765920855920875920885920885920965920965921055921145921155921155921235921245921245921315921325921325921405921415921415921505921515921515921595921605921615921645921655921655921735921745921765921775921785921785921865921875921895921975921985921985922065922075922105922175922185922185922265922275922305922395922405922405922485922495922535922565922575922575922655922665922715922725922735922735922815922825922875922965922975922975923055923065923125923135923145923145923225923235923295923325923335923335923415923425923485923555923565923565923645923655923725923775923785923785923865923875923955923985923995923995924075924085924175924175924185924185924265924275924365924385924395924395924475924485924575924635924645924645924725924745924745924785924795924795924875924895924905924935924945924945925025925045925055925115925125925125925205925225925235925315925325925325925405925425925445925465925475925475925555925575925605925605925615925615925695925715925745925835925845925845925925925945925985926015926025926025926105926125926165926215926225926225926305926325926365926455926465926465926545926565926615926685926695926695926775926795926855926915926925926925927005927025927095927125927135927135927215927235927305927355927365927365927445927465927535927625927635927635927715927735927815927895927905927905927985928005928085928165928175928175928255928275928365928395928405928405928485928505928595928645928655928655928735928755928845928935928945928945929025929055929055929135929145929145929225929255929255929345929355929355929435929465929475929475929485929485929565929595929605929625929635929635929715929745929755929815929825929825929905929935929955930005930015930015930095930125930145930205930215930215930295930325930345930425930435930435930515930545930575930575930585930585930665930695930725930765930775930775930855930885930925930955930965930965931045931075931115931155931165931165931245931275931315931405931415931415931495931525931575931585931595931595931675931705931755931805931815931815931895931925931985932025932035932035932115932145932205932265932275932275932355932385932455932455932465932465932545932575932645932665932675932675932755932785932855932915932925932925933005933035933115933165933175933175933255933285933365933445933455933455933535933565933645933725933735933735933815933845933935933935933945933945934025934055934145934185934195934195934275934315934315934345934355934355934435934475934475934535934545934545934625934665934665934735934745934745934825934865934865934955934965934965935045935085935095935125935135935135935215935255935275935295935305935305935385935425935445935495935505935505935585935625935655935655935665935665935745935785935815935835935845935845935925935965935995936055936065936065936145936185936225936275936285936285936365936405936445936535936545936545936625936665936715936725936735936735936815936855936905936935936945936945937025937065937115937185937195937195937275937315937375937435937445937445937525937565937635937635937645937645937725937765937835937915937925937925938005938045938125938125938135938135938215938255938335938375938385938385938465938505938595938625938635938635938715938755938845938915938925938925939005939055939055939115939125939125939205939255939255939335939345939345939425939475939485939505939515939515939595939645939665939675939685939685939765939815939835939895939905939905939985940035940055940145940155940155940235940285940315940325940335940335940415940465940495940545940555940555940635940685940725940765940775940775940855940905940955940955940965940965941045941095941145941155941165941165941245941295941345941375941385941385941465941515941565941635941645941645941725941775941835941895941905941905941985942035942105942125942135942135942215942265942335942425942435942435942515942565942645942655942665942665942745942795942875942925942935942935943015943065943155943195943205943205943285943345943345943345943355943355943435943495943495943575943585943585943665943725943735943735943745943745943825943885943895943935943945943945944025944085944105944135944145944145944225944285944315944315944325944325944405944465944495944515944525944525944605944665944695944735944745944745944825944885944915944995945005945005945085945145945185945255945265945265945345945405945455945505945515945515945595945655945705945765945775945775945855945915945965946045946055946055946135946195946255946275946285946285946365946425946495946505946515946515946595946655946725946815946825946825946905946965947045947105947115947115947195947255947335947415947425947425947505947565947655947675947685947685947765947835947835947845947855947855947935948005948005948095948105948105948185948255948265948335948345948345948425948495948505948595948605948605948685948755948775948805948815948815948895948965948995949015949025949025949105949175949215949225949235949235949315949385949425949465949475949475949555949625949665949725949735949735949815949885949935949935949945949945950025950095950145950235950245950245950325950395950455950535950545950545950625950695950765950775950785950785950865950935951005951035951045951045951125951195951265951335951345951345951425951495951575951635951645951645951725951795951885951935951945951945952025952105952105952145952155952155952235952315952315952375952385952385952465952545952555952565952575952575952655952735952745952755952765952765952845952925952935952945952955952955953035953115953125953135953145953145953225953305953315953345953355953355953435953515953525953605953615953615953695953775953785953865953875953875953955954035954045954125954135954135954215954295954315954345954355954355954435954515954535954585954595954595954675954755954785954785954795954795954875954955954985954985954995954995955075955155955185955195955205955205955285955365955395955435955445955445955525955605955635955695955705955705955785955865955905955915955925955925956005956085956125956135956145956145956225956305956345956365956375956375956455956535956585956595956605956605956685956765956815956845956855956855956935957015957065957145957155957155957235957315957365957445957455957455957535957615957675957675957685957685957765957845957905957905957915957915957995958075958135958155958165958165958245958325958385958455958465958465958545958625958685958755958765958765958845958925958985959075959085959085959165959245959315959355959365959365959445959525959595959655959665959665959745959825959905959915959925959925960005960085960165960175960185960185960265960345960425960465960475960475960555960635960715960795960805960805960885960965961055961055961065961065961145961225961315961365961375961375961455961535961625961675961685961685961765961845961935962025962035962035962115962195962285962375962385962385962465962555962555962565962575962575962655962745962745962805962815962815962895962985962985963045963055963055963135963225963235963235963245963245963325963415963425963435963445963445963525963615963625963655963665963665963745963835963845963925963935963935964015964105964115964195964205964205964285964375964395964415964425964425964505964595964615964705964715964715964795964885964915964925964935964935965015965105965135965195965205965205965285965375965405965465965475965475965555965645965685965695965705965705965785965875965915965945965955965955966035966125966165966215966225966225966305966395966445966445966455966455966535966625966675966675966685966685966765966855966905966955966965966965967045967135967195967225967235967235967315967405967465967515967525967525967605967695967765967765967775967775967855967945968015968015968025968025968105968195968265968315968325968325968405968495968575968615968625968625968705968795968875968935968945968945969025969115969205969215969225969225969305969395969485969495969505969505969585969675969765969835969845969845969935969935969935969955969965969965970055970055970055970095970105970105970195970195970195970285970295970295970385970385970385970475970485970485970575970575970585970645970655970655970745970745970755970825970835970835970925970925970935971025971035971035971125971125971145971185971195971195971285971285971305971345971355971355971445971445971475971485971495971495971585971585971615971695971705971705971795971795971835971835971845971845971935971935971975972025972035972035972125972125972165972215972225972225972315972315972365972385972395972395972485972485972545972545972555972555972645972645972705972725972735972735972825972825972885972955972965972965973055973055973115973185973195973195973285973285973355973405973415973415973505973505973585973585973595973595973685973685973765973785973795973795973885973885973965974035974045974045974135974135974215974285974295974295974385974385974475974525974535974535974625974635974635974675974685974685974775974785974785974845974855974855974945974955974965974975974985974985975075975085975095975105975115975115975205975215975235975235975245975245975335975345975365975415975425975425975515975525975545975615975625975625975715975725975755975775975785975785975875975885975915975935975945975945976035976045976085976095976105976105976195976205976245976315976325976325976415976425976465976555976565976565976655976665976715976755976765976765976855976865976915976965976975976975977065977075977125977175977185977185977275977285977335977415977425977425977515977525977585977585977595977595977685977695977755977805977815977815977905977915977975978035978045978045978135978145978205978265978275978275978365978375978445978495978505978505978595978605978675978745978755978755978845978855978935978955978965978965979055979065979145979175979185979185979275979285979365979405979415979415979505979515979595979685979695979695979785979795979885979895979905979905979995980005980095980155980165980165980255980265980355980425980435980435980525980535980625980705980715980715980805980825980825980865980875980875980965980985980985981045981055981055981145981165981175981185981195981195981285981305981315981335981345981345981435981455981465981505981515981515981605981625981635981705981715981715981805981825981835981925981935981935982025982045982065982105982115982115982205982225982245982295982305982305982395982415982435982515982525982525982615982635982655982735982745982745982835982855982885982885982895982895982985983005983035983085983095983095983185983205983235983295983305983305983395983415983445983535983545983545983635983655983695983745983755983755983845983865983905983975983985983985984075984095984145984165984175984175984265984285984335984365984375984375984465984485984535984595984605984605984695984715984775984805984815984815984905984925984985985035985045985045985135985155985225985225985235985235985325985345985415985425985435985435985525985545985615985665985675985675985765985785985855985945985955985955986045986065986145986155986165986165986255986275986355986415986425986425986515986535986615986685986695986695986785986805986895986915986925986925987015987035987125987165987175987175987265987285987375987435987445987445987535987565987565987575987585987585987675987705987705987725987735987735987825987855987855987925987935987935988025988055988065988115988125988125988215988245988255988325988335988335988425988455988475988495988505988505988595988625988645988675988685988685988775988805988825988905988915988915989005989035989065989135989145989145989235989265989295989385989395989395989485989515989555989595989605989605989695989725989765989815989825989825989915989945989995990005990015990015990105990135990185990265990275990275990365990395990455990455990465990465990555990585990645990695990705990705990795990825990885990945990955990955991045991075991145991175991185991185991275991305991375991435991445991445991535991565991635991715991725991725991815991845991925991955991965991965992055992085992165992205992215992215992305992335992425992435992445992445992535992575992575992575992585992585992675992715992715992735992745992745992835992875992875992945992955992955993045993085993085993165993175993175993265993305993315993375993385993385993475993515993525993585993595993595993685993725993735993815993825993825993915993955993975994005994015994015994105994145994165994205994215994215994305994345994375994395994405994405994495994535994575994575994585994585994675994715994755994775994785994785994875994915994955995025995035995035995125995165995205995285995295995295995385995425995475995545995555995555995645995685995745995775995785995785995875995915995975996025996035996035996125996165996235996235996245996245996335996375996445996465996475996475996565996605996675996695996705996705996795996835996905996945996955996955997045997085997155997215997225997225997315997355997435997445997455997455997545997585997665997695997705997705997795997835997915997945997955997955998045998085998165998225998235998235998325998365998445998525998535998535998625998665998755998785998795998795998885998925999015999065999075999075999165999205999295999355999365999365999455999495999585999665999675999675999765999815999815999815999825999825999915999965999966000016000026000026000116000166000166000236000246000246000336000386000386000466000476000476000566000616000626000696000706000706000796000846000856000946000956000956001046001096001116001156001166001166001256001306001326001386001396001396001486001536001556001636001646001646001736001786001816001846001856001856001946001996002026002076002086002086002176002226002266002266002276002276002366002416002456002476002486002486002576002626002666002706002716002716002806002856002906002906002916002916003006003056003106003126003136003136003226003276003326003396003406003406003496003546003596003686003696003696003786003836003896003916003926003926004016004066004126004196004206004206004296004346004406004496004506004506004596004646004716004756004766004766004856004906004976005036005046005046005136005186005266005266005276005276005366005416005496005526005536005536005626005676005756005806005816005816005906005956006046006046006056006056006146006196006286006306006316006316006406006456006546006606006616006616006706006766006766006816006826006826006916006976006976007046007056007056007146007206007216007236007246007246007336007396007406007446007456007456007546007606007616007706007716007716007806007866007886007886007896007896007986008046008066008086008096008096008186008246008266008336008346008346008436008496008516008606008616008616008706008766008796008836008846008846008936008996009026009076009086009086009176009236009266009336009346009346009436009496009536009556009566009566009656009716009756009796009806009806009896009956009996010086010096010096010186010246010296010356010366010366010456010516010566010646010656010656010746010806010866010896010906010906010996011056011116011166011176011176011266011326011396011406011416011416011506011566011636011676011686011686011776011836011906011966011976011976012066012126012206012216012226012226012316012376012456012486012496012496012586012646012726012816012826012826012916012976013066013106013116013116013206013266013356013416013426013426013516013586013586013596013606013606013696013766013766013796013806013806013896013966013966014056014066014066014156014226014236014276014286014286014376014446014456014516014526014526014616014686014706014716014726014726014816014886014906014936014946014946015036015106015136015136015146015146015236015306015336015376015386015386015476015546015576015636015646015646015736015806015846015856015866015866015956016026016066016096016106016106016196016266016316016326016336016336016426016496016546016556016566016566016656016726016776016806016816016816016906016976017026017106017116017116017206017276017336017336017346017346017436017506017566017646017656017656017746017816017886017886017896017896017986018056018126018146018156018156018246018316018386018456018466018466018556018626018696018786018796018796018886018956019036019106019116019116019206019276019366019366019376019376019466019536019626019646019656019656019746019816019906019976019986019986020076020146020236020326020336020336020426020506020506020576020586020586020676020756020766020816020826020826020916020996021006021076021086021086021176021256021276021296021306021306021396021476021496021536021546021546021636021716021746021776021786021786021876021956021986022056022066022066022156022236022266022356022366022366022456022536022576022616022626022626022716022796022836022896022906022906022996023076023126023176023186023186023276023356023416023426023436023436023526023606023666023696023706023706023796023876023936024016024026024026024116024196024266024266024276024276024366024446024516024606024616024616024706024786024866024926024936024936025026025106025186025266025276025276025366025446025536025566025576025576025666025746025836025896025906025906025996026076026166026226026236026236026326026406026496026586026596026596026686026776026776026786026796026796026886026976026976027036027046027046027136027226027226027316027326027326027416027506027506027596027606027606027696027786027796027876027886027886027976028066028086028086028096028096028186028276028296028346028356028356028446028536028556028636028646028646028736028826028846028936028946028946029036029126029156029156029166029166029256029346029376029396029406029406029496029586029616029686029696029696029786029876029916029916029926029926030016030106030146030156030166030166030256030346030386030426030436030436030526030616030656030716030726030726030816030906030956030966030976030976031066031156031206031246031256031256031346031436031486031536031546031546031636031726031786031806031816031816031906031996032056032096032106032106032196032286032346032436032446032446032536032626032696032716032726032726032816032906032976033016033026033026033116033206033276033346033356033356033446033536033606033696033706033706033796033886033966034006034016034016034106034196034276034346034356034356034446034536034616034706034716034716034806034896034986035026035036035036035126035216035306035366035376035386035386035386035386035396035406035416035416035416035416035456035466035476035476035476035476035536035546035556035556035556035566035596035606035616035616035616035626035676035686035696035696035696035716035716035726035736035736035736035756035786035796035806035806035806035826035886035896035906035906035906035936035946035956035966035966035966035996036026036036036046036046036046036076036156036166036176036176036176036216036226036236036246036246036246036286036336036346036356036356036356036396036456036466036476036476036476036516036596036606036616036616036616036666036696036706036716036716036716036766036826036836036846036846036846036906036906036916036926036926036926036986037016037026037036037036037036037096037146037156037166037166037166037236037236037246037256037256037256037326037356037366037376037376037376037446037516037526037536037536037536037616037636037646037656037656037656037736037776037786037796037796037796037876037966037976037986037986037986038076038096038106038116038116038116038206038276038286038296038296038306038306038316038326038336038336038346038346038376038386038396038396038406038406038486038496038506038506038516038526038536038546038556038556038566038576038646038656038666038666038676038686038756038766038776038776038786038796038886038896038906038906038916038936038976038986038996038996039006039026039096039106039116039116039126039156039186039196039206039206039216039246039296039306039316039316039326039356039426039436039446039446039456039496039516039526039536039536039546039586039636039646039656039656039666039716039726039736039746039746039756039806039866039876039886039886039896039946040026040036040046040046040056040116040146040156040166040166040176040236040296040306040316040316040326040396040416040426040436040436040446040516040586040596040606040606040616040686040776040786040796040796040806040886040926040936040946040946040956041036041106041116041126041126041136041226041266041276041286041286041296041386041436041446041456041456041466041556041626041636041646041646041666041666041686041696041706041706041726041726041776041786041796041796041816041826041846041856041866041866041886041896041946041956041966041966041986041996042066042076042086042086042106042126042146042156042166042166042186042206042256042266042276042276042296042326042346042356042366042366042386042416042496042506042516042516042536042576042576042586042596042596042616042656042706042716042726042726042746042786042866042876042886042886042906042956043016043026043036043036043056043116043116043126043136043136043156043216043236043246043256043256043276043336043406043416043426043426043446043516043516043526043536043536043556043626043716043726043736043736043756043826043916043926043936043936043956044036044046044056044066044066044086044166044226044236044246044246044266044346044436044446044456044456044476044566044646044656044666044666044696044696044696044706044716044716044746044746044766044776044786044786044816044816044886044896044906044906044936044946044946044956044966044966044996045006045096045106045116045116045146045166045216045226045236045236045266045286045356045366045376045376045406045436045456045466045476045476045506045536045586045596045606045606045636045676045716045726045736045736045766045816045846045856045866045866045896045946045996046006046016046016046046046106046106046116046126046126046156046216046256046266046276046276046306046366046406046416046426046426046456046516046606046616046626046626046656046726046736046746046756046756046786046856046916046926046936046936046966047046047046047056047066047066047096047176047176047186047196047196047226047306047376047386047396047396047426047506047596047606047616047616047646047736047776047786047796047796047826047916047996048006048016048016048046048136048226048236048246048246048286048286048286048296048306048306048346048346048366048376048386048386048426048426048496048506048516048516048556048566048576048586048596048596048636048646048666048676048686048686048726048736048796048806048816048816048856048866048946048956048966048966049006049026049056049066049076049076049116049136049206049216049226049226049266049286049376049386049396049396049436049456049546049556049566049566049606049636049646049656049666049666049706049736049796049806049816049816049856049896049896049906049916049916049956049996050016050026050036050036050076050116050156050166050176050176050216050256050316050326050336050336050376050426050436050446050456050456050496050546050596050606050616050616050656050706050776050786050796050796050836050896050926050936050946050946050986051046051096051106051116051116051156051226051226051236051246051246051286051356051396051406051416051416051456051526051596051606051616051616051656051726051796051806051816051816051856051926052016052026052036052036052076052156052196052206052216052216052256052336052416052426052436052436052476052566052576052586052596052596052636052726052796052806052816052816052856052946053036053046053056053056053106053106053146053156053166053166053216053216053296053306053316053316053366053376053386053396053406053406053456053466053556053566053576053576053626053646053656053666053676053676053726053746053806053816053826053826053876053906053906053916053926053926053976054006054046054056054066054066054116054146054216054226054236054236054286054316054406054416054426054426054476054516054556054566054576054576054626054666054746054756054766054766054816054866054886054896054906054906054956055006055076055086055096055096055146055196055286055296055306055306055356055416055456055466055476055476055526055586055666055676055686055686055736055806055836055846055856055856055906055976056016056026056036056036056086056156056216056226056236056236056286056366056376056386056396056396056446056526056576056586056596056596056646056736056736056746056756056756056806056896056926056936056946056946056996057086057136057146057156057156057216057216057216057226057236057236057296057296057336057346057356057356057416057416057506057516057526057526057586057596057666057676057686057686057746057756057846057856057866057866057926057946057986057996058006058006058066058086058166058176058186058186058246058276058316058326058336058336058396058426058516058526058536058536058596058636058646058656058666058666058726058766058826058836058846058846058906058956058956058966058976058976059036059086059156059166059176059176059236059286059366059376059386059386059446059506059506059516059526059526059586059646059696059706059716059716059776059836059926059936059946059946060006060076060136060146060156060156060216060286060376060386060396060396060456060536060546060556060566060566060626060706060766060776060786060786060846060936060936060946060956060956061016061106061176061186061196061196061266061266061316061326061336061336061406061406061476061486061496061496061566061576061596061606061616061616061686061696061756061766061776061776061846061866061906061916061926061926061996062026062036062046062056062056062126062156062186062196062206062206062276062306062386062396062406062406062476062516062536062546062556062556062626062676062686062696062706062706062776062826062866062876062886062886062956063006063066063076063086063086063156063216063226063236063246063246063316063376063426063436063446063446063516063586063626063636063646063646063716063786063876063886063896063896063966064046064056064066064076064076064146064226064286064296064306064306064376064466064476064486064496064496064566064656064666064676064686064686064756064846064866064876064886064886064956065046065086065096065106065106065176065266065356065366065376065376065456065456065496065506065516065516065596065596065636065646065656065656065736065736065786065796065806065806065886065886065956065966065976065976066056066066066086066096066106066106066186066196066266066276066286066286066366066376066446066456066466066466066546066566066606066616066626066626066706066726066786066796066806066806066886066916066926066936066946066946067026067056067116067126067136067136067216067246067306067316067326067326067406067446067496067506067516067516067596067636067706067716067726067726067806067856067876067886067896067896067976068026068096068106068116068116068196068246068326068336068346068346068426068486068516068526068536068536068616068676068726068736068746068746068826068896068896068906068916068916068996069066069116069126069136069136069216069286069356069366069376069376069456069536069536069546069556069556069636069716069736069746069756069756069836069916069986069996070006070006070086070176070196070206070216070216070296070386070426070436070446070446070536070536070566070576070586070586070676070676070726070736070746070746070836070846070846070856070866070866070956070966071016071026071036071036071126071136071216071226071236071236071326071336071426071436071446071446071536071556071566071576071586071586071676071696071756071766071776071776071866071896071906071916071926071926072016072046072086072096072106072106072196072236072256072266072276072276072366072406072446072456072466072466072556072596072686072696072706072706072796072846072886072896072906072906072996073046073126073136073146073146073236073286073376073386073396073396073486073546073556073566073576073576073666073726073786073796073806073806073896073966073976073986073996073996074086074156074206074216074226074226074316074396074416074426074436074436074526074606074646074656074666074666074756074836074926074936074946074946075036075126075166075176075186075186075276075366075446075456075466075476075476075476075546075556075566075576075576075576075666075676075686075696075696075706075746075756075766075776075776075786075876075886075896075906075906075926075966075976075986075996075996076026076036076046076056076066076066076096076126076136076146076156076156076186076266076276076286076296076296076336076366076376076386076396076396076436076516076526076536076546076546076596076646076656076666076676076676076726076796076806076816076826076826076886076906076916076926076936076936076996077066077076077086077096077096077166077196077206077216077226077226077296077356077366077376077386077386077456077536077546077556077566077566077646077676077686077696077706077706077786077866077876077886077896077896077986078026078036078046078056078056078146078236078246078256078266078276078276078286078296078306078316078326078326078386078396078406078416078426078436078446078456078466078476078486078496078576078586078596078606078616078636078646078656078666078676078686078706078736078746078756078766078776078796078876078886078896078906078916078946078976078986078996079006079016079056079056079066079076079086079096079136079176079186079196079206079216079256079316079326079336079346079356079406079416079426079436079446079456079506079566079576079586079596079606079666079706079716079726079736079746079806079846079856079866079876079886079946080006080016080026080036080046080116080126080136080146080156080166080236080296080306080316080326080336080416080456080466080476080486080496080576080636080646080656080666080676080756080836080846080856080866080876080966080996081006081016081026081036081126081206081216081226081236081256081256081326081336081346081356081376081376081446081456081466081476081496081496081586081596081606081616081636081646081686081696081706081716081736081746081836081846081856081866081886081906081986081996082006082016082036082066082136082146082156082166082186082216082306082316082326082336082356082396082436082446082456082466082486082536082536082546082556082566082586082636082636082646082656082666082686082736082786082796082806082816082836082886082956082966082976082986083006083066083086083096083106083116083136083196083276083286083296083306083326083386083466083476083486083496083516083586083636083646083656083666083686083756083826083836083846083856083876083956083976083986083996084006084026084106084186084196084206084216084236084316084406084416084426084436084456084546084596084606084616084626084646084736084806084816084826084836084866084866084886084896084906084916084946084946085026085036085046085056085086085096085096085106085116085126085156085166085176085186085196085206085236085246085276085286085296085306085336085346085426085436085446085456085486085506085546085556085566085576085606085626085686085696085706085716085746085776085806085816085826085836085866085896085946085956085966085976086006086046086046086056086066086076086106086146086206086216086226086236086266086306086396086406086416086426086456086496086586086596086606086616086646086696086706086716086726086736086766086816086876086886086896086906086936086996087016087026087036087046087076087136087186087196087206087216087246087306087356087366087376087386087416087476087546087556087566087576087606087676087696087706087716087726087756087826087906087916087926087936087966088046088056088066088076088086088116088196088216088226088236088246088276088356088396088406088416088426088456088536088626088636088646088656088686088776088826088836088846088856088886088976089056089066089076089086089126089126089176089186089196089206089246089246089316089326089336089346089386089396089416089426089436089446089486089496089576089586089596089606089646089666089686089696089706089716089756089776089796089806089816089826089866089886089926089936089946089956089996090016090106090116090126090136090176090206090256090266090276090286090326090356090446090456090466090476090516090546090636090646090656090666090706090746090756090766090776090786090826090866090926090936090946090956090996091046091066091076091086091096091136091186091246091256091266091276091316091366091446091456091466091476091516091576091576091586091596091606091646091706091756091766091776091786091826091896091906091916091926091936091976092046092096092106092116092126092166092246092276092286092296092306092346092426092476092486092496092506092546092636092636092646092656092666092706092796092856092866092876092886092936092936092946092956092966092976093026093026093046093056093066093076093126093126093166093176093186093196093246093246093336093346093356093366093416093426093476093486093496093506093556093576093576093586093596093606093656093676093696093706093716093726093776093796093836093846093856093866093916093936094026094036094046094056094106094136094186094196094206094216094266094306094306094316094326094336094386094426094446094456094466094476094526094566094606094616094626094636094686094726094816094826094836094846094896094946094996095006095016095026095076095136095136095146095156095166095216095276095356095366095376095386095436095506095506095516095526095536095586095656095706095716095726095736095786095866095876095886095896095906095956096036096106096116096126096136096186096266096346096356096366096376096426096516096516096526096536096546096596096686096736096746096756096766096826096826096836096846096856096866096926096926096996097006097016097026097086097086097176097186097196097206097266097276097286097296097306097316097376097386097446097456097466097476097536097556097576097586097596097606097666097686097766097776097786097796097856097886097956097966097976097986098046098076098166098176098186098196098256098296098336098346098356098366098426098476098476098486098496098506098566098616098686098696098706098716098776098836098856098866098876098886098946099006099046099056099066099076099136099196099286099296099306099316099376099446099496099506099516099526099586099666099686099696099706099716099776099866099866099876099886099896099956100046100066100076100086100096100156100246100316100326100336100346100416100416100446100456100466100476100546100556100566100576100586100596100666100676100686100696100706100716100786100796100826100836100846100856100926100936101016101026101036101046101116101136101176101186101196101206101276101306101326101336101346101356101426101456101496101506101516101526101596101626101686101696101706101716101786101826101836101846101856101866101936101976102046102056102066102076102146102196102246102256102266102276102346102406102436102446102456102466102536102596102646102656102666102676102746102816102816102826102836102846102916102986103046103056103066103076103146103226103276103286103296103306103376103456103516103526103536103546103616103696103776103786103796103806103876103966103996104006104016104026104096104186104276104286104296104306104386104386104466104476104486104496104576104586104596104606104616104626104706104716104746104756104766104776104856104866104946104956104966104976105056105076105116105126105136105146105226105256105286105296105306105316105396105426105516105526105536105546105626105666105676105686105696105706105786105826105886105896105906105916105996106046106076106086106096106106106186106236106266106276106286106296106376106426106476106486106496106506106586106636106706106716106726106736106816106876106896106906106916106926107006107066107156107166107176107186107266107326107416107426107436107446107526107596107636107646107656107666107746107816107876107886107896107906107986108066108076108086108096108106108186108266108346108356108366108376108456108536108616108626108636108646108726108816108876108886108896108906108986109076109156109166109176109186109276109276109306109316109326109336109426109436109436109446109456109466109556109566109566109576109586109596109686109696109786109796109806109816109906109926109936109946109956109966110056110076110136110146110156110166110256110286110316110326110336110346110436110466110506110516110526110536110626110656110746110756110766110776110866110906110916110926110936110946111036111076111136111146111156111166111256111306111336111346111356111366111456111506111546111556111566111576111666111726111746111756111766111776111866111926111966111976111986111996112086112146112236112246112256112266112356112426112486112496112506112516112606112676112756112766112776112786112876112946113036113046113056113066113156113236113246113256113266113276113366113446113506113516113526113536113626113716113746113756113766113776113866113956114016114026114036114046114136114226114286114296114306114316114406114496114576114586114596114616114616114616114646114656114666114686114686114696114696114706114716114736114736114746114776114786114796114816114816114826114916114926114936114956114956114976114986114996115006115026115026115046115106115116115126115146115146115176115206115216115226115246115246115276115336115346115356115376115376115416115466115476115486115506115506115546115616115626115636115656115656115706115726115736115746115766115766115816115906115916115926115946115946116006116036116046116056116076116076116136116196116206116216116236116236116296116376116386116396116416116416116486116516116526116536116556116556116636116636116646116656116676116676116756116796116806116816116836116836116916116986116996117006117026117026117106117196117206117216117236117236117326117366117376117386117406117416117416117426117436117446117466117476117476117526117536117546117566117576117586117626117636117646117666117676117686117746117756117766117786117796117816117826117836117846117866117876117896117976117986117996118016118026118056118086118096118106118126118136118166118216118226118236118256118266118296118366118376118386118406118416118456118476118486118496118516118526118566118656118666118676118696118706118756118796118806118816118836118846118906118906118916118926118946118956119016119036119046119056119076119086119146119216119226119236119256119266119336119376119386119396119416119426119496119586119596119606119626119636119716119776119786119796119816119826119906119986119996120006120026120036120126120156120166120176120196120216120216120216120226120236120256120276120276120336120346120356120376120396120396120486120496120506120526120546120556120566120576120586120606120626120636120696120706120716120736120756120776120806120816120826120846120866120886120976120986120996121016121036121066121116121126121136121156121176121206121276121286121296121316121336121376121396121406121416121436121456121496121586121596121606121626121646121696121756121766121776121796121816121866121926121936121946121966121986122036122116122126122136122156122176122236122266122276122286122306122326122396122396122406122416122436122456122526122596122606122616122636122656122736122796122806122816122836122856122936123016123026123036123056123076123166123196123206123216123236123266123266123266123276123286123306123336123336123416123426123436123456123486123496123526123536123546123566123596123606123656123666123676123696123726123746123746123756123766123786123816123836123906123916123926123946123976124006124056124066124076124096124126124166124196124206124216124236124266124306124356124366124376124396124426124476124476124486124496124516124546124596124666124676124686124706124736124796124856124866124876124896124926124986125076125086125096125116125146125216125226125236125246125266125296125366125426125436125446125466125496125576125616125626125636125656125686125766125806125816125826125846125876125956125996126006126016126036126066126146126206126216126226126246126276126366126376126386126396126416126446126536126626126636126646126666126696126786126876126886126896126916126956126956127006127016127026127046127086127086127156127166127176127196127236127246127266127276127286127306127346127366127366127376127386127406127446127466127466127476127486127506127546127566127656127666127676127696127736127766127776127786127796127816127856127886127946127956127966127986128026128066128106128116128126128146128186128226128276128286128296128316128356128396128486128496128506128526128566128616128626128636128646128666128706128756128816128826128836128856128896128956128996129006129016129036129076129136129196129206129216129236129276129336129416129426129436129456129496129566129566129576129586129606129646129716129766129776129786129806129846129926129956129966129976129996130036130116130166130176130186130206130246130336130366130376130386130406130446130536130586130596130606130626130676130676130676130686130696130716130766130766130846130856130866130886130936130946130956130966130976130996131046131056131076131086131096131116131166131176131216131226131236131256131306131316131406131416131426131446131496131516131586131596131606131626131676131706131706131716131726131746131796131826131886131896131906131926131976132006132086132096132106132126132176132216132246132256132266132286132336132386132396132406132416132436132486132536132586132596132606132626132676132736132736132746132756132776132826132886132906132916132926132946132996133056133126133136133146133166133216133286133336133346133356133376133426133506133506133516133526133546133596133676133686133696133706133726133776133856133886133896133906133926133976134056134136134146134156134176134226134316134376134386134396134416134476134476134486134496134506134526134586134586134636134646134656134676134736134736134806134816134826134846134906134916134936134946134956134976135036135056135056135066135076135096135156135176135236135246135256135276135336135356135416135426135436135456135516135536135616135626135636135656135716135746135776135786135796135816135876135916135926135936135946135966136026136066136136136146136156136176136236136286136326136336136346136366136426136476136536136546136556136576136636136696136706136716136726136746136806136866136956136966136976136996137056137126137186137196137206137226137286137356137446137456137466137486137546137626137636137646137656137676137736137816137876137886137896137916137976138066138106138116138126138146138216138216138226138236138246138266138336138336138406138416138426138446138516138516138606138616138626138646138716138726138766138776138786138806138876138896138916138926138936138956139026139056139056139066139076139096139166139196139226139236139246139266139336139366139416139426139436139456139526139566139566139576139586139606139676139716139796139806139816139836139906139956140016140026140036140056140126140186140226140236140246140266140336140396140456140466140476140496140566140636140646140656140666140686140756140826140916140926140936140956141026141106141186141196141206141226141296141386141406141416141426141446141516141606141646141656141666141686141756141846141936141946141956141976142056142056142126142136142146142166142246142256142316142326142336142356142436142456142486142496142506142526142606142626142676142686142696142716142796142826142826142836142846142866142946142976143066143076143086143106143186143216143306143316143326143346143426143466143496143506143516143536143616143656143706143716143726143746143826143876143876143886143896143916143996144046144136144146144156144176144256144316144316144326144336144356144436144496144506144516144526144546144626144686144716144726144736144756144836144896144976144986144996145016145096145166145236145246145256145276145356145426145506145516145526145546145626145706145756145766145776145796145876145956146026146036146046146066146146146236146256146266146276146296146386146386146396146406146416146436146526146526146556146566146576146596146686146686146716146726146736146756146846146846146896146906146916146936147026147036147036147046147056147076147166147176147266147276147286147306147396147416147426147436147446147466147556147576147656147666147676147696147786147816147816147826147836147856147946147976148026148036148046148066148156148196148236148246148256148276148366148406148476148486148496148516148606148656148676148686148696148716148806148856148896148906148916148936149026149076149166149176149186149206149296149356149436149446149456149476149566149636149656149666149676149696149786149856149886149896149906149926150016150086150136150146150156150176150266150346150346150356150366150386150476150556150646150656150666150686150776150866150896150906150916150936151026151116151186151196151206151226151316151406151496151506151516151546151546151546151586151596151606151636151636151646151676151686151696151726151726151736151816151826151836151866151866151886151886151896151906151936151936151956151976151986151996152026152026152046152116152126152136152166152166152196152256152266152276152306152306152346152356152366152376152406152406152446152536152546152556152586152586152636152646152656152666152696152696152746152806152816152826152856152856152916152966152976152986153016153016153086153096153106153116153146153146153216153266153276153286153316153316153386153456153466153476153506153506153586153606153616153626153656153656153746153756153766153776153806153806153896153966153976153986154016154026154026154066154076154086154116154126154126154186154196154206154236154246154256154266154276154286154316154326154346154346154356154366154396154406154426154496154506154516154546154556154586154616154626154636154666154676154706154756154766154776154806154816154856154856154866154876154906154916154956155046155056155066155096155106155156155226155236155246155276155286155336155406155416155426155456155466155516155606155616155626155656155666155726155766155776155786155816155826155896155926155936155946155976155986156066156076156086156096156126156136156216156286156296156306156336156346156426156516156526156536156566156576156666156706156716156726156756156776156776156806156816156826156856156876156886156906156916156926156956156976156986157006157016157026157056157076157086157126157136157146157176157196157206157296157306157316157346157366157386157466157476157486157516157536157566157636157646157656157686157706157736157806157816157826157856157876157906157996158006158016158046158066158106158146158156158166158196158216158266158296158306158316158346158366158426158446158456158466158496158516158576158616158626158636158666158686158746158806158816158826158856158876158946158956158966158976159006159026159106159106159116159126159156159176159256159346159356159366159396159416159506159576159586159596159626159646159736159826159836159846159876159906159906159956159966159976160006160036160036160086160096160106160136160166160166160216160226160236160266160296160296160366160376160386160416160446160446160536160546160556160586160616160626160676160686160696160726160756160766160816160826160836160866160896160906160956160966160976161006161036161046161116161126161136161166161196161206161296161306161316161346161376161396161446161456161466161496161526161546161596161606161616161646161676161696161746161756161766161796161826161856161856161866161876161906161936161966161986161996162006162036162066162096162176162186162196162226162256162286162366162376162386162416162446162476162566162576162586162616162646162686162686162696162706162736162766162806162826162836162846162876162906162946163026163036163046163076163106163146163226163236163246163276163306163346163436163446163456163486163516163566163606163616163626163656163686163736163796163806163816163846163876163936163956163966163976164006164036164096164116164126164136164166164196164256164286164296164306164336164366164426164516164526164536164566164596164666164676164686164696164726164756164826164896164906164916164946164976165046165116165126165136165166165196165266165346165356165366165396165426165506165556165566165576165606165636165716165786165796165806165836165866165956165986165996166006166036166066166156166186166196166206166236166266166356166406166416166426166456166486166576166656166666166676166706166746166746166746166756166766166796166836166836166896166906166916166946166986166986167046167056167066167096167136167136167216167226167236167266167306167316167366167376167386167416167456167466167536167546167556167586167626167646167676167686167696167726167766167786167816167826167836167866167906167926167976167986167996168026168066168096168126168136168146168176168216168246168296168306168316168346168386168426168436168446168456168486168526168566168576168586168596168626168666168706168746168756168766168796168836168886168896168906168916168946168986169036169066169076169086169116169156169206169296169306169316169346169386169436169526169536169546169576169616169676169706169716169726169756169796169856169916169926169936169966170006170066170146170156170166170196170236170306170346170356170366170396170436170506170546170556170566170596170636170706170786170796170806170836170876170956171006171016171026171056171096171176171246171256171266171296171336171426171456171466171476171506171546171636171666171676171686171716171756171846171916171926171936171966172016172016172076172086172096172126172176172176172256172266172276172306172356172366172406172416172426172456172506172516172556172566172576172606172656172666172756172766172776172806172856172876172926172936172946172976173026173046173116173126173136173166173216173246173276173286173296173326173376173406173436173446173456173486173536173566173656173666173676173706173756173796173806173816173826173856173906173946173976173986173996174026174076174116174206174216174226174256174306174346174436174446174456174486174536174586174636174646174656174686174736174796174806174816174826174856174906174966174996175006175016175046175096175156175246175256175266175296175346175406175496175506175516175546175596175666175716175726175736175766175816175896175926175936175946175976176026176106176156176166176176176206176256176346176356176366176376176406176456176546176556176566176576176606176656176746176826176836176846176876176936176936176976176986176996177026177086177086177146177156177166177196177256177266177286177296177306177336177396177406177426177436177446177476177536177556177556177566177576177606177666177686177706177716177726177756177816177836177876177886177896177926177986178016178016178026178036178066178126178156178156178166178176178206178266178296178376178386178396178426178486178526178566178576178586178616178676178716178776178786178796178826178886178936178956178966178976179006179066179116179136179146179156179186179246179306179306179316179326179356179416179476179566179576179586179616179676179746179756179766179776179806179866179936180006180016180026180056180116180186180256180266180276180306180366180446180506180516180526180556180616180706180716180726180736180766180826180916180946180956180966180996181056181146181236181246181256181286181356181356181356181366181376181406181476181476181476181486181496181526181596181596181606181616181626181656181726181726181756181766181776181806181876181876181966181976181986182016182086182096182096182106182116182146182216182226182226182236182246182276182346182356182406182416182426182456182526182536182606182616182626182656182726182746182776182786182796182826182896182916182956182966182976183006183076183096183136183146183156183186183256183286183316183326183336183366183436183466183516183526183536183566183636183676183686183696183706183736183806183846183866183876183886183916183986184026184056184066184076184106184176184216184286184296184306184336184406184446184536184546184556184586184656184706184756184766184776184806184876184926184986184996185006185036185106185156185236185246185256185286185356185406185486185496185506185536185606185666185666185676185686185716185786185846185906185916185926185956186026186086186156186166186176186206186276186336186426186436186446186476186546186616186646186656186666186696186766186836186886186896186906186936187006187086187096187106187116187146187216187296187316187326187336187366187436187516187556187566187576187606187676187766187786187796187806187836187906187996188036188046188056188086188166188166188166188176188186188216188296188296188306188316188326188356188436188436188476188486188496188526188606188616188626188636188646188676188756188766188796188806188816188846188926188936189026189036189046189076189156189176189176189186189196189226189306189326189366189376189386189416189496189516189586189596189606189636189716189736189826189836189846189876189956189986190036190046190056190086190166190196190256190266190276190306190386190426190426190436190446190476190556190596190666190676190686190716190796190836190926190936190946190976191056191106191156191166191176191206191286191336191396191406191416191446191526191586191596191606191616191646191726191786191816191826191836191866191946192006192056192066192076192106192186192256192266192276192286192316192396192466192486192496192506192536192616192686192756192766192776192806192886192956193046193056193066193096193176193256193266193276193286193316193396193476193546193556193566193596193676193756193836193846193856193886193966194056194086194096194106194136194226194226194236194246194256194286194376194376194406194416194426194456194546194546194636194646194656194686194776194786194786194796194806194836194926194936194996195006195016195046195136195146195226195236195246195276195366195386195386195396195406195436195526195546195606195616195626195656195746195766195836195846195856195886195976196006196036196046196056196086196176196216196216196226196236196266196356196396196416196426196436196466196556196596196676196686196696196726196816196856196946196956196966196996197086197136197196197206197216197246197336197396197416197426197436197466197556197616197656197666197676197706197796197866197866197876197886197916198006198076198086198096198106198136198226198296198386198396198406198436198526198606198616198626198636198666198756198836198866198876198886198916199006199086199176199186199196199226199316199406199406199416199426199456199546199636199716199726199736199776199776199776199816199826199836199876199876199876199936199946199956199996199996200006200026200036200046200086200086200096200126200136200146200186200186200206200226200236200246200286200286200306200336200346200356200396200396200416200466200476200486200526200526200556200566200576200586200626200626200656200686200696200706200746200746200776200806200816200826200866200866200896200926200936200946200986200986201016201066201076201086201126201126201166201176201186201196201236201236201276201306201316201326201366201366201406201436201446201456201496201496201536201626201636201646201686201686201736201746201756201766201806201806201856201926201936201946201986201986202036202126202136202146202186202186202246202246202256202266202306202306202366202366202376202386202426202426202486202506202516202526202566202566202626202706202716202726202766202766202836202836202846202856202896202896202966202976202986202996203036203036203106203166203176203186203226203226203296203376203386203396203436203436203516203556203566203576203616203616203696203756203766203776203816203816203896203976203986203996204036204036204126204146204156204166204206204206204296204336204346204356204396204406204406204406204416204426204466204476204476204496204506204516204556204566204566204616204626204636204676204686204686204736204746204756204796204806204806204876204886204896204936204946204956204986204996205006205046205056205066205116205126205136205176205186205196205276205286205296205336205346205366205386205396205406205446205456205476205516205526205536205576205586205616205616205626205636205676205686205716205736205746205756205796205806205836205896205906205916205956205966205996206056206066206076206116206126206156206236206246206256206296206306206346206386206396206406206446206456206496206556206566206576206616206626206676206676206686206696206736206746206796206796206806206816206856206866206916206936206946206956206996207006207056207136207146207156207196207206207266207266207276207286207326207336207396207436207446207456207496207506207576207576207586207596207636207646207716207736207746207756207796207806207876207956207966207976208016208026208106208106208116208126208166208176208256208306208316208326208366208376208456208506208516208526208566208576208656208726208736208746208786208796208886208916208926208936208976208986209076209126209136209146209186209206209206209206209216209226209266209286209286209346209356209366209406209426209426209506209516209526209566209586209596209636209646209656209696209716209726209786209796209806209846209866209886209906209916209926209966209986210006210076210086210096210136210156210176210266210276210286210326210346210376210426210436210446210486210506210536210606210616210626210666210686210726210766210776210786210826210846210886210936210946210956210996211016211056211126211136211146211186211206211256211286211296211306211346211366211416211466211476211486211526211546211606211626211636211646211686211706211766211836211846211856211896211916211976212066212076212086212126212146212216212266212276212286212326212346212416212486212496212506212546212566212646212696212706212716212756212776212856212916212926212936212976212996213076213156213166213176213216213236213326213366213376213386213426213446213536213596213606213616213656213686213686213736213746213756213796213826213826213876213886213896213936213966213966214036214046214056214096214126214136214166214176214186214226214256214266214316214326214336214376214406214426214466214476214486214526214556214586214586214596214606214646214676214706214726214736214746214786214816214846214926214936214946214986215016215056215066215076215086215126215156215196215206215216215226215266215296215336215346215356215366215406215436215476215506215516215526215566215596215636215726215736215746215786215816215866215886215896215906215946215976216026216046216056216066216106216136216186216276216286216296216336216366216426216436216446216456216496216526216586216656216666216676216716216746216816216816216826216836216876216906216976216976216986216996217036217066217136217206217216217226217266217296217366217456217466217476217516217546217626217676217686217696217736217766217846217926217936217946217986218016218096218186218196218206218246218276218366218386218396218406218446218476218566218606218616218626218666218706218706218706218716218726218766218806218806218836218846218856218896218936218936218976218986218996219036219076219086219096219106219116219156219196219206219236219246219256219296219336219346219436219446219456219496219536219556219576219586219596219636219676219696219736219746219756219796219836219856219936219946219956219996220036220066220066220076220086220126220166220196220256220266220276220316220356220386220476220486220496220536220576220616220626220636220646220686220726220766220826220836220846220886220926220966221046221056221066221106221146221196221236221246221256221296221336221386221456221466221476221516221556221616221616221626221636221676221716221776221786221796221806221846221886221946221976221986221996222036222076222136222226222236222246222286222326222396222416222426222436222476222516222586222636222646222656222696222736222816222816222826222836222876222916222996223016223026223036223076223116223196223276223286223296223336223376223466223476223486223496223536223576223666223716223726223736223776223816223906223986223996224006224046224096224096224096224106224116224156224206224206224266224276224286224326224376224376224466224476224486224526224576224586224616224626224636224676224726224736224796224806224816224856224906224916224996225006225016225056225106225126225166225176225186225226225276225296225366225376225386225426225476225506225516225526225536225576225626225666225666225676225686225726225776225816225836225846225856225896225946225986226066226076226086226126226176226226226236226246226256226296226346226396226456226466226476226516226566226616226706226716226726226766226816226876226886226896226906226946226996227056227126227136227146227186227236227306227306227316227326227366227416227486227546227556227566227606227656227726227796227806227816227856227906227976228066228076228086228126228176228256228306228316228326228366228416228496228576228586228596228636228686228776228816228826228836228876228926229016229066229076229086229126229176229266229336229346229356229396229456229456229486229496229506229546229606229606229666229676229686229726229786229796229816229826229836229876229936229946230036230046230056230096230156230176230186230196230206230246230306230326230396230406230416230456230516230546230546230556230566230606230666230696230766230776230786230826230886230916230996231006231016231056231116231156231156231166231176231216231276231316231376231386231396231436231496231536231626231636231646231686231746231796231856231866231876231916231976232036232086232096232106232146232206232266232336232346232356232396232456232526232556232566232576232616232676232746232806232816232826232866232926233006233046233056233066233106233166233246233326233336233346233386233446233536233536233546233556233596233656233746233806233816233826233866233926234016234106234116234126234166234236234236234316234326234336234376234446234446234526234536234546234586234656234666234666234676234686234726234796234806234866234876234886234926234996235006235096235106235116235156235226235246235326235336235346235386235456235486235506235516235526235566235636235666235706235716235726235766235836235876235876235886235896235936236006236046236086236096236106236146236216236256236296236306236316236356236426236466236526236536236546236586236656236696236776236786236796236836236906236956236996237006237016237056237126237176237256237266237276237316237386237436237516237526237536237576237646237706237766237776237786237826237896237956238036238046238056238096238166238236238276238286238296238336238406238476238556238566238576238616238686238756238846238856238866238906238976239056239086239096239106239146239216239296239346239356239366239406239476239566239576239586239596239636239706239796239846239856239866239906239976240066240126240136240146240186240266240266240306240316240326240366240446240446240506240516240526240566240646240656240676240686240696240736240816240826240886240896240906240946241026241036241116241126241136241176241256241276241326241336241346241386241466241486241556241566241576241616241696241726241756241766241776241816241896241926241996242006242016242056242136242176242176242186242196242236242316242356242376242386242396242436242516242556242596242606242616242656242736242786242786242796242806242846242926242976243016243026243036243076243156243206243276243286243296243336243416243476243526243536243546243586243666243726243796243806243816243856243936244006244036244046244056244096244176244246244316244326244336244376244456244536244546244556244566244606244686244766244796244806244816244856244936245016245066245076245086245126245206245296245306245316245326245366245446245536245586245596245606245646245736245736245736245746245756245796245886245886245896245906245916245956246046246046246076246086246096246136246226246226246316246326246336246376246466246476246506246516246526246566246656246666246746246756246766246806246896246916246966246976246986247026247116247136247206247216247226247266247356247386247416247426247436247476247566247596247666247676247686247726247816247856247886247896247906247946248036248076248136248146248156248196248286248326248406248416248426248466248556248606248646248656248666248706248796248846248926248936248946248986249076249136249176249186249196249236249326249396249406249416249426249466249556249626249656249666249676249716249806249876249966249976249986250026250116250196250226250236250246250286250376250466250466250476250486250526250616250706250766250776250786250826250916251006251086251096251106251156251156251156251196251206251216251266251266251266251346251356251366251416251416251426251486251496251506251556251556251566251656251666251676251726251726251746251756251766251776251826251826251846251916251926251936251986251986252016252026252036252046252096252096252126252216252226252236252286252286252326252406252416252426252476252476252526252526252536252546252596252596252646252706252716252726252776252776252836252836252846252856252906252906252966253056253066253076253126253126253196253216253226253236253286253286253356253396253406253416253466253466253546253546253556253566253616253616253696253746253756253766253816253816253896253946253956253966254016254016254096254166254176254186254236254236254316254406254416254426254476254476254566254616254626254636254686254696254696254696254706254716254766254776254776254786254796254806254856254866254866254876254886254896254946254956254956254986254996255006255056255066255066255156255166255176255226255236255246255286255296255306255356255366255376255426255436255446255496255506255526255536255546255556255606255616255636255666255676255686255736255746255766255856255866255876255926255936255966256006256016256026256076256086256116256176256186256196256246256256256286256356256366256376256426256436256466256556256566256576256626256636256676256726256736256746256796256806256856256856256866256876256926256936256986257006257016257026257076257086257136257166257176257186257236257246257296257346257356257366257416257426257486257496257506257516257566257576257636257696257706257716257766257776257836257916257926257936257986257996258066258126258136258146258196258206258276258356258366258376258426258436258516258556258566258576258626258636258716258806258816258826258876258886258976258996259006259016259066259076259166259226259236259246259296259306259396259476259486259496259546259566259566259606259616259626259676259696259696259786259796259806259856259876259886259906259916259926259976259996260016260026260036260046260096260116260136260166260176260186260236260256260276260366260376260386260436260456260486260526260536260546260596260616260646260716260726260736260786260806260846260906260916260926260976260996261036261116261126261136261186261206261256261296261306261316261366261386261436261526261536261546261596261616261676261706261716261726261776261796261866261866261876261886261936261956262026262046262056262066262116262136262206262286262296262306262356262376262456262486262496262506262556262576262656262736262746262756262806262826262916262926262936262946262996263016263106263136263146263156263206263226263316263406263416263426263476263506263506263546263556263566263616263646263646263736263746263756263806263836263846263916263926263936263986264016264026264116264126264136264186264216264236264286264296264306264356264386264416264416264426264436264486264516264546264596264606264616264666264696264736264776264786264796264846264876264916264976264986264996265046265076265126265146265156265166265216265246265296265366265376265386265436265466265526265546265556265566265616265646265716265726265736265746265796265826265896265926265936265946265996266026266096266186266196266206266256266286266366266406266416266426266476266506266596266596266606266616266666266696266786266836266846266856266906266936267026267096267106267116267166267206267206267236267246267256267306267346267346267426267436267446267496267536267546267596267606267616267666267706267716267766267776267786267836267876267886267956267966267976268026268066268086268116268126268136268186268226268246268326268336268346268396268436268466268516268526268536268586268626268656268716268726268736268786268826268856268936268946268956269006269046269086269126269136269146269196269236269276269366269376269386269436269476269526269586269596269606269656269696269746269826269836269846269896269936269996269996270006270016270066270106270166270226270236270246270296270336270406270416270426270436270486270526270596270676270686270696270746270786270866270926270936270946270996271036271116271196271206271216271266271306271396271436271446271456271506271546271636271726271736271746271796271846271846271916271926271936271986272036272046272046272056272066272116272166272176272196272206272216272266272316272326272406272416272426272476272526272546272576272586272596272646272696272726272736272746272756272806272856272886272946272956272966273016273066273096273176273186273196273246273296273336273376273386273396273446273496273536273626273636273646273696273746273796273866273876273886273936273986274046274066274076274086274136274186274246274286274296274306274356274406274476274476274486274496274546274596274666274716274726274736274786274836274916274956274966274976275026275076275156275206275216275226275276275326275406275476275486275496275546275596275686275716275726275736275786275836275926276006276016276026276076276136276136276206276216276226276276276336276346276376276386276396276446276506276516276566276576276586276636276696276716276726276736276746276796276856276876276936276946276956277006277066277096277146277156277166277216277276277316277346277356277366277416277476277516277566277576277586277636277696277746277756277766277776277826277886277936277996278006278016278066278126278186278236278246278256278306278366278436278476278486278496278546278606278676278736278746278756278806278866278946278966278976278986279036279096279176279256279266279276279326279386279466279546279556279566279616279676279766279796279806279816279866279926280016280066280076280086280136280206280206280216280226280236280286280356280356280426280436280446280496280566280566280646280656280666280716280786280786280866280876280886280936281006281016281016281026281036281086281156281166281226281236281246281296281366281386281406281416281426281476281546281566281596281606281616281666281736281756281806281816281826281876281946281966282036282046282056282106282176282206282236282246282256282306282376282406282496282506282516282566282636282676282686282696282706282756282826282866282886282896282906282956283026283066283106283116283126283176283246283296283296283306283316283366283436283486283546283556283566283616283686283736283816283826283836283886283956284016284066284076284086284136284206284266284336284346284356284406284476284546284576284586284596284646284716284786284876284886284896284946285016285096285116285126285136285186285256285336285376285386285396285446285516285596285656285666285676285726285796285886285906285916285926285976286046286136286216286226286236286286286366286366286376286386286396286446286526286526286586286596286606286656286736286736286816286826286836286886286966286976287016287026287036287086287166287186287186287196287206287256287336287356287386287396287406287456287536287556287636287646287656287706287786287816287816287826287836287886287966287996288056288066288076288126288206288246288266288276288286288336288416288456288516288526288536288586288666288706288776288786288796288846288926288966289056289066289076289126289206289256289306289316289326289376289456289516289526289536289546289596289676289736289786289796289806289856289936290006290016290026290036290086290166290236290266290276290286290336290416290486290576290586290596290646290726290806290856290866290876290926291006291086291176291186291196291246291326291416291496291506291516291566291656291656291656291666291676291726291816291816291876291886291896291946292036292046292066292076292086292136292226292236292306292316292326292376292466292486292536292546292556292606292696292716292786292796292806292856292946292976293006293016293026293076293166293196293286293296293306293356293446293486293536293546293556293606293696293736293826293836293846293896293986294036294046294056294066294116294206294256294326294336294346294396294486294546294576294586294596294646294736294796294886294896294906294956295046295116295196295206295216295266295356295436295436295446295456295506295596295676295736295746295756295806295896295986296006296016296026296076296166296256296346296356296366296426296426296426296446296456296466296526296526296526296566296576296586296646296646296656296656296666296676296736296736296746296806296816296826296886296886296906296936296946296956297016297016297036297106297116297126297186297186297206297296297306297316297376297376297406297456297466297476297536297536297576297586297596297606297666297666297706297796297806297816297876297876297916298006298016298026298086298086298136298146298156298166298226298226298276298346298356298366298426298426298486298516298526298536298596298596298666298676298686298696298756298756298826298886298896298906298966298966299036299116299126299136299196299196299276299316299326299336299396299396299486299486299496299506299566299566299656299736299746299756299816299826299826299896299906299916299976299986299986300076300086300096300156300166300176300226300236300246300306300316300336300346300356300366300426300436300466300466300476300486300546300556300586300626300636300646300706300716300746300806300816300826300886300896300936300956300966300976301036301046301086301176301186301196301256301266301306301396301406301416301476301486301526301616301626301636301696301706301756301766301776301786301846301856301906301976301986301996302056302066302126302166302176302186302246302256302316302356302366302376302436302446302506302596302606302616302676302686302756302766302776302786302846302856302926302996303006303016303076303086303166303206303216303226303286303296303376303416303426303436303496303506303596303626303636303646303706303716303806303856303866303876303936303956303956303966303976303986304046304066304066304146304156304166304226304246304246304336304346304356304416304436304446304486304496304506304566304586304596304656304666304676304736304756304776304796304806304816304876304896304916305006305016305026305086305106305136305146305156305166305226305246305276305296305306305316305376305396305426305466305476305486305546305566305606305606305616305626305686305706305746305816305826305836305896305916305956306046306056306066306126306146306196306246306256306266306326306346306396306466306476306486306546306566306626306656306666306676306736306756306826306826306836306846306906306926306996307026307036307046307106307126307196307236307246307256307316307336307406307466307476307486307546307566307646307666307676307686307746307766307846307936307946307956308016308036308126308146308156308166308226308246308336308416308426308436308496308526308526308526308536308546308606308636308636308696308706308716308776308806308816308846308856308866308926308956308966309036309046309056309116309146309156309246309256309266309326309356309376309386309396309406309466309496309516309586309596309606309666309696309726309766309776309786309846309876309906309986309996310006310066310096310136310186310196310206310266310296310336310406310416310426310486310516310566310596310606310616310676310706310766310766310776310786310846310876310936310986310996311006311066311096311156311226311236311246311306311336311396311486311496311506311566311596311666311716311726311736311796311826311906311926311936311946312006312036312116312186312196312206312266312296312386312446312456312466312526312556312646312726312736312746312806312846312846312886312896312906312966313006313016313026313036313046313106313146313156313226313236313246313306313346313366313386313396313406313466313506313526313566313576313586313646313686313716313716313726313736313796313836313866313936313946313956314016314056314096314136314146314156314216314256314296314336314346314356314416314456314496314556314566314576314636314676314726314746314756314766314826314866314916315006315016315026315086315126315186315246315256315266315326315366315436315456315466315476315536315576315646315686315696315706315766315806315886315886315896315906315966316006316086316156316166316176316236316276316366316406316416316426316486316536316536316566316576316586316646316696316696316746316756316766316826316876316886316896316906316916316976317026317036317116317126317136317196317246317266317326317336317346317406317456317486317496317506317516317576317626317656317686317696317706317766317816317846317936317946317956318016318066318106318166318176318186318246318296318346318396318406318416318476318526318576318626318636318646318706318756318806318876318886318896318956319006319066319096319106319116319176319226319296319296319306319316319376319426319496319586319596319606319666319716319796319846319856319866319926319976320056320126320136320146320206320256320346320376320386320396320456320516320516320526320536320546320606320666320666320676320686320696320756320816320816320826320836320846320906320966320966320996321006321016321076321136321136321226321236321246321306321366321376321446321456321466321526321586321596321666321676321686321746321806321826321856321866321876321936321996322016322066322076322086322146322206322236322246322256322266322326322386322416322506322516322526322586322646322686322686322696322706322766322826322866322876322886322896322956323016323056323086323096323106323166323226323266323356323366323376323436323496323546323616323626323636323696323756323806323886323896323906323966324026324086324146324156324166324226324286324346324426324436324446324506324566324636324676324686324696324756324816324896324916324926324936324996325056325136325176325186325196325256325316325396325446325456325466325526325586325666325736325746325756325816325876325966325996326006326016326076326146326146326156326166326176326236326306326306326336326346326356326416326486326496326496326506326516326576326646326656326676326686326696326756326826326836326916326926326936326996327066327086327146327156327166327226327296327316327406327416327426327486327556327586327596327606327616327676327746327776327806327816327826327886327956327986328076328086328096328156328226328266328336328346328356328416328486328536328536328546328556328616328686328736328826328836328846328906328976329036329046329056329066329126329196329256329326329336329346329406329476329546329596329606329616329676329746329816329906329916329926329986330056330136330166330176330186330246330316330396330446330456330466330526330596330686330696330706330716330776330846330936331026331036331046331106331186331186331226331236331246331306331386331386331426331436331446331506331586331586331646331656331666331726331806331816331836331846331856331916331996332016332016332026332036332096332176332196332246332256332266332326332406332436332436332446332456332516332596332626332646332656332666332726332806332836332916332926332936332996333076333116333176333186333196333256333336333386333406333416333426333486333566333616333666333676333686333746333826333876333946333956333966334026334106334166334196334206334216334276334356334426334436334446334456334516334596334666334736334746334756334816334896334976335006335016335026335086335166335246335296335306335316335376335456335546335556335566335576335636335716335806335896335906335916335976336066336066336126336136336146336206336296336296336376336386336396336456336546336556336556336566336576336636336726336736336796336806336816336876336966336986337026337036337046337106337196337226337236337246337256337316337406337436337516337526337536337596337686337726337726337736337746337806337896337936337996338006338016338076338166338216338256338266338276338336338426338486338506338516338526338586338676338736338806338816338826338886338976339036339126339136339146339206339296339366339416339426339436339496339586339666339696339706339716339776339866339956339966339976339986340056340056340056340056340066340076340146340146340146340166340176340186340256340256340256340336340346340356340426340426340436340496340506340516340586340586340606340656340666340676340746340746340776340776340786340796340866340866340896340916340926340936341006341006341036341116341126341136341206341206341246341316341326341336341406341406341446341516341526341536341606341606341646341716341726341736341806341806341846341936341946341956342026342026342076342126342136342146342216342216342276342316342326342336342406342406342466342506342516342526342596342596342666342696342706342716342786342786342856342906342916342926342996342996343076343086343096343106343176343176343266343266343276343286343356343356343446343456343466343476343546343546343636343666343676343686343756343756343846343896343906343916343986343996343996344006344016344026344096344106344116344116344126344136344206344216344226344236344246344256344326344336344346344436344446344456344526344536344556344566344576344586344656344666344686344756344766344776344846344856344886344946344956344966345036345046345076345156345166345176345246345256345296345306345316345326345396345406345446345476345486345496345566345576345616345706345716345726345796345806345856345936345946345956346026346036346096346106346116346126346196346206346266346296346306346316346386346396346456346506346516346526346596346606346676346686346696346706346776346786346866346866346876346886346956346966347046347076347086347096347166347176347266347276347286347296347366347376347466347496347506347516347586347596347686347776347786347796347866347886347886347966347976347986348056348076348086348106348116348126348196348216348226348286348296348306348376348396348406348486348496348506348576348596348616348656348666348676348746348766348796348826348836348846348916348936348966349046349056349066349136349156349186349266349276349286349356349376349416349416349426349436349506349526349566349626349636349646349716349736349786349836349846349856349926349946350006350006350016350026350096350116350176350176350186350196350266350286350346350366350376350386350456350476350536350616350626350636350706350726350796350866350876350886350956350976351056351076351086351096351166351186351266351286351296351306351376351396351476351516351526351536351606351626351716351716351726351736351806351826351916352006352016352026352096352126352126352166352176352186352256352286352296352296352306352316352386352416352426352446352456352466352536352566352576352656352666352676352746352776352796352866352876352886352956352986353016353046353056353066353136353166353196353246353256353266353336353366353396353466353476353486353556353586353626353656353666353676353746353776353826353846353856353866353936353966354016354096354106354116354186354216354276354276354286354296354366354396354456354476354486354496354566354596354656354736354746354756354826354856354926354996355006355016355086355116355196355226355236355246355316355346355426355486355496355506355576355606355686355766355776355786355856355886355976356016356026356036356106356146356146356176356186356196356266356306356306356396356406356416356486356526356536356616356626356636356706356746356766356766356776356786356856356896356916356976356986356996357066357106357136357186357196357206357276357316357356357376357386357396357466357506357546357616357626357636357706357746357786357876357886357896357966358006358056358106358116358126358196358236358296358336358346358356358426358466358536358546358556358566358636358676358746358816358826358836358906358946359016359106359116359126359196359236359316359366359376359386359456359496359586359626359636359646359716359766359766359776359786359796359866359916359916359986359996360006360076360126360126360216360226360236360306360356360366360416360426360436360506360556360576360616360626360636360706360756360786360806360816360826360896360946360976361016361026361036361106361156361186361246361256361266361336361386361426361446361456361466361536361586361636361646361656361666361736361786361836361926361936361946362016362066362126362196362206362216362286362336362396362486362496362506362576362626362696362746362756362766362836362886362966363006363016363026363096363146363236363256363266363276363346363406363406363416363426363436363506363566363566363596363606363616363686363746363746363836363846363856363926363986363996364076364086364096364166364226364246364316364326364336364406364466364486364576364586364596364666364726364756364766364776364786364856364916364946365016365026365036365106365166365206365266365276365286365356365416365466365516365526365536365606365666365726365756365766365776365846365906365966366016366026366036366106366166366236366256366266366276366346366406366476366496366506366516366586366646366716366736366746366756366826366886366956367016367026367036367106367166367236367316367326367336367406367466367546367596367606367616367686367746367826367876367886367896367966368026368106368156368166368176368246368306368396368396368406368416368486368546368636368656368666368676368746368806368896368986368996369006369076369136369226369316369326369336369406369476369476369476369486369496369566369636369636369676369686369696369766369836369836369896369906369916369986370056370066370096370106370116370186370256370266370296370306370316370386370456370466370516370526370536370606370676370686370736370746370756370826370896370906370976370986370996371066371136371156371196371206371216371286371356371376371416371426371436371506371576371596371656371666371676371746371816371846371866371876371886371956372026372056372096372106372116372186372256372296372306372316372326372396372466372506372516372526372536372606372676372716372746372756372766372836372906372956372966372976372986373056373126373176373206373216373226373296373366373426373426373436373446373516373586373646373646373656373666373736373806373866373886373896373906373976374046374116374116374126374136374206374276374346374366374376374386374456374526374596374686374696374706374776374846374916375006375016375026375096375166375246375266375276375286375356375426375506375566375576375586375656375726375806375886375896375906375976376046376136376186376196376206376276376346376436376486376496376506376576376646376736376826376836376846376916376986377076377166377176377186377256377336377336377346377356377366377436377516377516377596377606377616377686377766377766377846377856377866377936378016378026378046378056378066378136378216378226378266378276378286378356378436378446378506378516378526378596378676378696378726378736378746378816378896378916378946378956378966379036379116379136379216379226379236379306379386379406379496379506379516379586379666379696379706379716379726379796379876379906379986379996380006380076380156380186380266380276380286380356380436380476380506380516380526380596380676380726380726380736380746380816380896380946380966380976380986381056381136381186381276381286381296381366381446381496381586381596381606381676381756381816381866381876381886381956382036382096382176382186382196382266382346382416382416382426382436382506382586382656382726382736382746382816382896382966383036383046383056383126383206383286383316383326383336383406383486383566383656383666383676383746383826383916383926383936383946384016384096384186384266384276384286384356384436384526384606384616384626384696384786384786384826384836384846384916385006385016385036385046385056385126385216385226385266385276385286385356385446385466385476385486385496385566385656385676385686385696385706385776385866385886385966385976385986386056386146386176386196386206386216386286386376386406386446386456386466386536386626386666386676386686386696386766386856386896386906386916386926386996387086387126387216387226387236387306387396387436387526387536387546387616387706387756387766387776387786387856387946387996388076388086388096388166388256388306388386388396388406388476388566388626388686388696388706388776388866388936388936388946388956389026389116389186389206389216389226389296389386389456389546389556389566389636389726389796389886389896389906389976390066390146390216390226390236390306390396390486390496390506390516390586390676390766390796390806390816390896390896390896390896390906390916390996390996390996390996391006391016391096391096391096391186391196391206391286391286391286391376391386391396391476391476391486391496391506391516391596391596391606391686391696391706391786391786391796391876391886391896391976391976391996392066392076392086392166392166392196392226392236392246392326392326392356392406392416392426392506392506392546392566392576392586392666392666392706392736392746392756392836392836392876392906392916392926393006393006393046393076393086393096393176393176393216393266393276393286393366393366393416393436393446393456393536393536393586393616393626393636393716393716393766393796393806393816393896393896393946393986393996394006394086394086394136394196394206394216394296394296394356394386394396394406394486394486394546394586394596394606394686394686394746394786394796394806394886394886394956394966394976394986395066395066395136395166395176395186395266395266395346395346395356395366395446395446395526395536395546395556395636395636395716395736395746395756395836395836395916395966395976395986396066396066396146396216396226396236396316396316396406396446396456396466396546396546396636396686396696396706396786396786396876396936396946396956397036397046397046397086397096397106397186397196397196397256397266397276397356397366397376397406397416397426397506397516397526397566397576397586397666397676397686397736397746397756397836397846397866397896397906397916397996398006398026398076398086398096398176398186398216398236398246398256398336398346398376398406398416398426398506398516398546398596398606398616398696398706398736398826398836398846398926398936398976398986398996399006399086399096399136399216399226399236399316399326399366399456399466399476399556399566399616399636399646399656399736399746399796399816399826399836399916399926399976400016400026400036400116400126400186400196400206400216400296400306400366400386400396400406400486400496400556400606400616400626400706400716400786400786400796400806400886400896400966400986400996401006401086401096401166401256401266401276401356401366401446401446401456401466401546401556401636401666401676401686401766401776401866401886401896401906401986401996402086402126402136402146402226402246402246402256402266402276402356402376402376402396402406402416402496402516402516402576402586402596402676402696402706402716402726402736402816402836402846402876402886402896402976402996403016403016403026403036403116403136403156403166403176403186403266403286403306403366403376403386403466403486403506403576403586403596403676403696403716403806403816403826403906403926403956404016404026404036404116404136404166404236404246404256404336404356404396404416404426404436404516404536404576404656404666404676404756404776404826404826404836404846404926404946404996405066405076405086405166405186405236405316405326405336405416405436405496405536405546405556405636405656405716405796405806405816405896405916405986405986405996406006406086406106406176406246406256406266406346406366406436406516406526406536406616406636406716406766406776406786406866406886406966407016407026407036407116407136407216407286407296407306407386407406407496407536407546407556407636407656407746407796407806407816407896407926407926407946407956407966408046408076408076408156408166408176408256408286408296408296408306408316408396408426408436408506408516408526408606408636408646408726408736408746408826408856408876408936408946408956409036409066409086409156409166409176409256409286409306409396409406409416409496409526409556409616409626409636409716409746409776409846409856409866409946409976410016410076410086410096410176410206410246410306410316410326410406410436410476410556410566410576410656410686410736410786410796410806410886410916410966411026411036411046411126411156411216411266411276411286411366411396411466411476411486411496411576411606411676411706411716411726411806411836411916411916411926411936412016412046412126412146412156412166412246412276412356412376412386412396412476412506412586412626412636412646412726412756412836412896412906412916412996413026413116413146413156413166413246413276413366413416413426413436413516413546413636413686413696413706413786413826413826413856413866413876413956413996413996414046414056414066414146414186414196414216414226414236414316414356414366414406414416414426414506414546414556414606414616414626414706414746414766414776414786414796414876414916414936414966414976414986415066415106415136415136415146415156415236415276415306415326415336415346415426415466415496415536415546415556415636415676415706415766415776415786415866415906415936416016416026416036416116416156416196416246416256416266416346416386416426416496416506416516416596416636416676416766416776416786416866416906416956417026417036417046417126417166417216417306417316417326417406417446417506417566417576417586417666417706417766417846417856417866417946417986418056418066418076418086418166418206418276418336418346418356418436418476418546418626418636418646418726418766418846418896418906418916418996419036419116419186419196419206419286419326419416419416419426419436419516419556419646419716419726419736419816419856419946420036420046420056420136420186420186420246420256420266420346420396420396420476420486420496420576420626420636420656420666420676420756420806420816420866420876420886420966421016421026421096421106421116421196421246421266421306421316421326421406421456421476421536421546421556421636421686421716421716421726421736421816421866421896421986421996422006422086422136422176422186422196422206422286422336422376422456422466422476422556422606422656422656422666422676422756422806422856422906422916422926423006423056423116423126423136423146423226423276423336423366423376423386423466423516423586423586423596423606423686423736423806423826423836423846423926423976424046424126424136424146424226424276424356424376424386424396424476424526424606424646424656424666424746424796424886424896424906424916424996425046425136425166425176425186425266425326425326425326425336425346425426425486425486425486425496425506425586425646425646425666425676425686425766425826425826425916425926425936426016426076426086426096426106426116426196426256426266426346426356426366426446426506426526426566426576426586426666426726426746426806426816426826426906426966426996427026427036427046427126427186427216427266427276427286427366427426427466427496427506427516427596427656427696427756427766427776427856427916427956428036428046428056428136428196428246428296428306428316428396428456428506428576428586428596428676428736428796428856428866428876428956429016429076429156429166429176429256429316429386429386429396429406429486429546429616429686429696429706429786429846429916430006430016430026430106430166430246430326430336430346430426430486430576430636430646430656430736430796430886430966430976430986431066431136431136431186431196431206431286431356431356431436431446431456431536431606431606431686431696431706431786431856431866431886431896431906431986432056432066432106432116432126432206432276432296432306432316432326432406432476432496432536432546432556432636432706432726432776432786432796432876432946432966433036433046433056433136433206433226433316433326433336433416433486433516433576433586433596433676433746433776433866433876433886433966434036434076434086434096434106434186434256434296434306434316434326434406434476434516434546434556434566434646434716434766434766434776434786434866434936434986435016435026435036435116435186435236435286435296435306435386435456435516435526435536435546435626435696435756435786435796435806435886435956436026436026436036436046436126436196436266436296436306436316436396436466436536436596436606436616436696436766436836436916436926436936437016437086437166437166437176437186437266437336437416437486437496437506437586437656437746437746437756437766437846437916438006438046438056438066438146438216438306438356438366438376438456438526438616438686438696438706438786438866438866438906438916438926439006439086439086439156439166439176439256439336439346439356439366439376439456439536439546439596439606439616439696439776439786439856439866439876439956440036440056440096440106440116440196440276440296440366440376440386440466440546440576440596440606440616440696440776440806440826440836440846440926441006441036441076441086441096441176441256441296441306441316441326441406441486441526441566441576441586441666441746441786441876441886441896441976442056442106442156442166442176442256442336442386442456442466442476442556442636442696442736442746442756442836442916442976443046443056443066443146443226443296443326443336443346443426443506443576443656443666443676443756443836443916443916443926443936444016444096444176444246444256444266444346444426444516444516444526444536444616444696444786444846444856444866444946445036445036445076445086445096445176445266445266445326445336445346445426445516445526445556445566445576445656445746445756445816445826445836445916446006446026446056446066446076446156446246446266446336446346446356446436446526446546446636446646446656446736446826446856446916446926446936447016447106447136447226447236447246447326447416447456447526447536447546447626447716447756447826447836447846447926448016448056448146448156448166448246448336448386448446448456448466448546448636448686448776448786448796448876448966449026449096449106449116449196449286449356449416449426449436449516449606449676449756449766449776449856449946450026450076450086450096450176450266450346450426450436450446450526450616450706450776450786450796450886450886450886450886450896450906450996450996450996451016451026451036451126451126451126451216451226451236451326451326451336451356451366451376451466451466451486451496451506451516451606451606451636451636451646451656451746451746451776451796451806451816451906451906451936452026452036452046452136452136452176452206452216452226452316452316452356452386452396452406452496452496452536452626452636452646452736452736452786452796452806452816452906452906452956453036453046453056453146453146453206453226453236453246453336453336453396453416453426453436453526453526453586453666453676453686453776453776453846453846453856453866453956453956454026454096454106454116454206454206454286454296454306454316454406454406454486454496454506454516454606454606454696454696454706454716454806454806454896454916454926454936455026455026455116455206455216455226455316455326455326455356455366455376455466455476455476455516455526455536455626455636455636455726455736455746455836455846455856455866455876455886455976455986455996456076456086456096456186456196456216456236456246456256456346456356456376456416456426456436456526456536456556456616456626456636456726456736456756456836456846456856456946456956456986457036457046457056457146457156457186457276457286457296457386457396457436457446457456457466457556457566457606457636457646457656457746457756457796457846457856457866457956457966458016458036458046458056458146458156458206458266458276458286458376458386458436458526458536458546458636458646458696458786458796458806458896458906458966458976458986458996459086459096459156459236459246459256459346459356459426459446459456459466459556459566459636459686459696459706459796459806459886459896459906459916460006460016460096460126460136460146460236460246460336460336460346460356460446460456460546460586460596460606460696460706460796460876460886460896460986461006461006461016461026461036461126461146461146461176461186461196461286461306461316461316461326461336461426461446461456461496461506461516461606461626461636461716461726461736461826461846461866461886461896461906461996462016462036462076462086462096462186462206462236462246462256462266462356462376462406462456462466462476462566462586462616462706462716462726462816462836462876462946462956462966463056463076463116463206463216463226463316463336463386463446463456463466463556463576463636463636463646463656463746463766463826463876463886463896463986464006464066464156464166464176464266464286464356464366464376464386464476464496464566464646464656464666464756464776464856464876464886464896464986465006465086465166465176465186465276465296465376465466465476465486465576465596465686465696465706465716465806465826465916465996466006466016466106466136466136466156466166466176466266466296466296466376466386466396466486466516466526466526466536466546466636466666466676466696466706466716466806466836466846466936466946466956467046467076467096467126467136467146467236467266467286467376467386467396467486467516467546467606467616467626467716467746467776467856467866467876467966467996468036468086468096468106468196468226468266468356468366468376468466468496468546468606468616468626468716468746468796468886468896468906468996469026469086469096469106469116469206469236469296469376469386469396469486469516469586469606469616469626469716469746469826469826469836469846469936469966470046470046470056470066470156470186470266470286470296470306470396470426470506470596470606470616470706470736470826470856470866470876470966471006471006471016471026471036471126471166471166471196471206471216471306471346471346471396471406471416471506471546471556471576471586471596471686471726471736471796471806471816471906471946471966472006472016472026472116472156472186472186472196472206472296472336472366472386472396472406472496472536472566472656472666472676472766472806472846472876472886472896472986473026473076473096473106473116473206473246473296473336473346473356473446473486473536473596473606473616473706473746473806473836473846473856473946473986474046474116474126474136474226474266474336474396474406474416474506474546474626474676474686474696474786474826474906474976474986474996475086475126475216475256475266475276475366475406475496475586475596475606475696475736475826475916475926475936476026476076476076476076476086476096476186476236476236476256476266476276476366476416476416476506476516476526476616476666476676476716476726476736476826476876476886476936476946476956477046477096477106477156477166477176477266477316477326477396477406477416477506477556477576477616477626477636477726477776477796477886477896477906477996478046478076478076478086478096478186478236478266478326478336478346478436478486478516478596478606478616478706478756478796478846478856478866478956479006479056479056479066479076479166479216479266479286479296479306479396479446479496479546479556479566479656479706479756479826479836479846479936479986480046480086480096480106480196480246480306480396480406480416480506480556480626480636480646480656480746480796480866480936480946480956481046481096481166481256481266481276481366481416481496481556481566481576481666481716481806481816481826481836481926481976482066482106482116482126482216482266482356482436482446482456482546482606482606482606482616482626482716482776482776482846482856482866482956483016483026483046483056483066483156483216483226483286483296483306483396483456483466483526483536483546483636483696483706483786483796483806483896483956483976484026484036484046484136484196484226484226484236484246484336484396484426484466484476484486484576484636484676484686484696484706484796484856484896484926484936484946485036485096485146485146485156485166485256485316485366485416485426485436485526485586485646485646485656485666485756485816485876485876485886485896485986486046486106486126486136486146486236486296486356486446486456486466486556486616486686486726486736486746486836486896486966487056487066487076487166487226487306487386487396487406487496487556487646487646487656487666487756487816487906487976487986487996488086488156488156488176488186488196488286488356488356488436488446488456488546488616488626488656488666488676488766488836488846488896488906488916489006489076489096489116489126489136489226489296489316489386489396489406489496489566489596489636489646489656489746489816489846489906489916489926490016490086490116490196490206490216490306490376490416490466490476490486490576490646490696490696490706490716490806490876490926490996491006491016491106491176491236491266491276491286491376491446491506491556491566491576491666491736491806491826491836491846491936492006492076492146492156492166492256492326492406492456492466492476492566492636492716492806492816492826492916492986493076493086493096493106493196493266493356493436493446493456493546493626493626493656493666493676493766493846493856493876493886493896493986494066494076494096494106494116494206494286494296494336494346494356494446494526494546494556494566494576494666494746494766494826494836494846494936495016495046495096495106495116495206495286495326495346495356495366495456495536495576495616495626495636495726495806495856495866495876495886495976496056496106496176496186496196496286496366496416496486496496496506496596496676496726496816496826496836496926497006497066497076497086497096497186497266497326497406497416497426497516497596497666497706497716497726497816497896497966498006498016498026498116498196498266498356498366498376498466498546498626498636498646498656498746498826498906498986498996499006499096499176499266499306499316499326499416499496499586499636499646499656499746499826499916499976499986499996500086500166500256500336500346500356500446500536500536500586500596500606500696500786500796500806500816500826500916501006501016501036501046501056501146501236501256501256501266501276501366501456501476501496501506501516501606501696501716501806501816501826501916502006502036502086502096502106502196502286502316502386502396502406502496502586502626502636502646502656502746502836502876502906502916502926503016503106503156503156503166503176503266503356503406503466503476503486503576503666503716503796503806503816503906503996504056504096504106504116504206504296504356504416504426504436504526504616504686504716504726504736504826504916504986505076505086505096505186505276505356505376505386505396505486505576505656505696505706505716505806505896505976506036506046506056506146506236506326506356506366506376506466506556506646506736506746506766506766506766506766506786506796506816506816506816506826506836506846506866506866506866506876506906506916506936506936506936506956506956506966506986506986506986507006507066507076507096507096507096507126507126507136507156507156507156507186507236507246507266507266507266507296507366507376507396507396507396507436507476507486507506507506507506507556507556507566507586507586507586507636507676507686507706507706507706507766507786507796507816507816507816507876507916507926507946507946507946508016508026508036508056508056508056508126508196508206508226508226508226508306508326508336508356508356508356508436508496508506508526508526508526508606508686508696508716508716508716508806508856508866508886508886508896508896508906508916508936508936508946508946509016509026509046509046509056509056509136509146509166509166509176509186509186509196509216509216509226509236509306509316509336509336509346509366509396509406509426509426509436509456509546509556509576509576509586509616509686509696509716509716509726509756509846509856509876509876509886509926509986509996510016510016510026510076510096510106510126510126510136510186510276510286510306510306510316510366510456510466510486510486510496510556510566510576510596510596510606510666510746510756510776510776510786510856510896510906510926510926510936511016511026511036511056511056511066511146511216511226511246511246511256511336511426511436511456511456511466511556511616511626511646511646511666511666511686511696511716511716511736511746511746511756511776511776511796511806511836511846511866511866511886511896511946511956511976511976511996512016512036512046512066512066512086512106512186512196512216512216512236512266512336512346512366512366512386512416512486512496512516512516512536512566512656512666512686512686512706512746512806512816512836512836512856512906512926512936512956512956512976513036513046513056513076513076513096513156513246513256513276513276513296513366513376513386513406513406513426513496513576513586513606513606513626513706513756513766513786513786513806513886513936513946513966513966513986514066514156514166514186514186514206514296514306514316514336514336514356514446514526514536514556514556514586514586514636514646514666514666514696514696514756514766514786514786514816514816514886514896514916514916514946514946515036515046515066515066515096515106515166515176515196515196515226515246515276515286515306515306515336515356515396515406515426515426515456515486515516515526515546515546515576515606515656515666515686515686515716515756515776515786515806515806515836515876515966515976515996515996516026516076516086516096516116516116516146516196516226516236516256516256516286516336516386516396516416516416516446516506516526516536516556516556516586516646516736516746516766516766516796516866516876516886516906516906516936517006517096517106517126517126517156517236517246517256517276517276517306517386517466517476517496517496517526517616517666517676517696517696517726517816517896517906517926517926517966517966517996518006518026518026518066518066518116518126518146518146518186518196518216518226518246518246518286518296518386518396518416518416518456518476518506518516518536518536518576518596518656518666518686518686518726518746518826518836518856518856518896518926518976518986519006519006519046519086519106519116519136519136519176519216519276519286519306519306519346519396519426519436519456519456519496519546519596519606519626519626519666519726519746519756519776519776519816519876519966519976519996519996520036520106520146520156520176520176520216520286520356520366520386520386520426520496520586520596520616520616520656520736520796520806520826520826520866520956520986520996521016521016521056521146521236521246521266521266521306521396521486521496521516521516521566521566521576521586521606521606521656521656521736521746521766521766521816521826521876521886521906521906521956521976521986521996522016522016522066522096522096522106522126522126522176522206522226522236522256522256522306522336522426522436522456522456522506522546522606522616522636522636522686522736522766522776522796522796522846522896522946522956522976522976523026523076523146523156523176523176523226523286523326523336523356523356523406523476523486523496523516523516523566523636523716523726523746523746523796523876523936523946523966523966524016524096524176524186524206524206524256524346524396524406524426524426524486524486524506524516524536524536524596524606524606524616524636524636524696524706524756524766524786524786524846524856524926524936524956524956525016525036525076525086525106525106525166525196525206525216525236525236525296525336525336525346525366525366525426525466525506525516525536525536525596525636525696525706525726525726525786525836525866525876525896525896525956526016526026526036526056526056526116526176526186526196526216526216526276526336526376526386526406526406526466526526526586526596526616526616526676526746526776526786526806526806526866526946526956526966526986526986527046527126527136527146527166527166527226527316527316527326527346527346527406527496527516527526527546527546527606527696527786527796527816527816527886527886527956527966527986527986528056528056528136528146528166528166528236528246528296528306528326528326528396528406528476528486528506528506528576528596528636528646528666528666528736528766528786528796528816528816528886528916528946528956528976528976529046529086529086529096529116529116529186529226529246529256529276529276529346529386529476529486529506529506529576529626529696529706529726529726529796529846529936529946529966529966530036530096530126530136530156530156530226530286530336530346530366530366530436530506530526530536530556530556530626530706530706530716530736530736530806530886530916530926530946530946531016531096531126531136531156531156531226531306531356531366531386531386531456531546531566531576531596531596531676531676531676531686531706531706531786531786531816531826531846531846531926531936531946531956531976531976532056532066532096532106532126532126532206532226532226532236532256532256532336532356532436532446532466532466532546532576532586532596532616532616532696532726532816532826532846532846532926532966532976532986533006533006533086533126533206533216533236533236533316533366533426533436533456533456533536533596533596533606533626533626533706533766533826533836533856533856533936533996534076534086534106534106534186534256534306534316534336534336534416534496534526534536534556534556534636534716534796534806534826534826534906534996534996535006535026535026535106535196535216535226535246535246535326535416535506535516535536535536535626535626535696535706535726535726535816535826535856535866535886535886535976535986536016536026536046536046536136536146536196536206536226536226536316536336536356536366536386536386536476536506536506536516536536536536536626536656536716536726536746536746536836536866536936536946536966536966537056537086537176537186537206537206537296537336537396537406537426537426537516537566537606537616537636537636537726537786537786537796537816537816537906537966538046538056538076538076538166538236538236538246538266538266538356538426538496538506538526538526538616538696538746538756538776538776538866538956538976538986539006539006539096539186539246539256539276539276539366539456539536539546539566539576539576539576539626539636539656539666539666539676539706539716539736539746539746539766539776539786539806539816539816539836539866539876539896539906539906539926539976539986540006540016540016540046540066540076540096540106540106540146540146540156540176540186540186540226540306540316540336540346540346540396540416540426540446540456540456540506540546540556540576540586540586540646540656540666540686540696540696540756540846540856540876540886540886540956541026541036541056541066541066541146541196541206541226541236541236541316541386541396541416541426541426541516541556541566541586541596541606541606541626541636541656541666541676541686541696541706541726541736541746541756541806541816541836541846541856541866541936541946541966541976541986542006542046542056542076542086542096542126542156542166542186542196542206542236542266542276542296542306542316542346542396542406542426542436542446542476542546542556542576542586542596542636542676542686542706542716542726542776542806542816542836542846542856542906542936542946542966542976542986543036543106543116543136543146543156543206543296543306543326543336543346543406543466543476543496543506543516543586543636543646543666543676543686543756543816543826543846543856543866543936544026544036544056544066544076544156544166544176544196544206544216544296544376544386544406544416544426544516544586544596544616544626544636544726544806544816544836544846544866544866544936544946544966544976544996544996545086545096545116545126545146545156545216545226545246545256545276545296545346545356545376545386545406545426545496545506545526545536545556545586545626545636545656545666545686545716545776545786545806545816545836545876545906545916545936545946545966546016546036546046546066546076546096546146546196546206546226546236546256546306546356546366546386546396546416546466546536546546546566546576546596546656546696546706546726546736546756546826546856546866546886546896546916546986547046547056547076547086547106547176547236547246547266547276547296547366547446547456547476547486547506547586547636547646547666547676547696547786547826547836547856547866547886547976548046548056548076548086548116548116548146548156548176548186548216548216548266548276548296548306548336548346548366548376548396548406548436548456548466548476548496548506548536548556548606548616548636548646548676548696548786548796548816548826548856548886548896548906548926548936548966548996549076549086549106549116549146549186549256549266549286549296549326549376549386549396549416549426549456549506549586549596549616549626549656549716549716549726549746549756549786549846549916549926549946549956549986550056550116550126550146550156550186550266550276550286550306550316550346550426550496550506550526550536550566550646550736550746550766550776550806550896550956550966550986550996551036551036551086551096551116551126551166551176551186551196551216551226551266551276551306551316551336551346551386551396551446551456551476551486551526551546551566551576551596551606551646551676551686551696551716551726551766551796551876551886551906551916551956551986552066552076552096552106552146552186552186552196552216552226552266552306552376552386552406552416552456552506552566552576552596552606552646552706552736552746552766552776552816552876552946552956552976552986553026553086553176553186553206553216553256553326553386553396553416553426553466553546553596553606553626553636553676553766553796553806553826553836553876553966554006554016554036554046554086554176554236554246554266554276554326554326554356554366554386554396554446554456554476554486554506554516554566554586554586554596554616554626554676554696554766554776554796554806554856554876554966554976554996555006555056555086555146555156555176555186555236555276555326555336555356555366555416555466555506555516555536555546555596555646555736555746555766555776555826555886555896555906555926555936555986556046556126556136556156556166556216556286556356556366556386556396556446556526556586556596556616556626556676556766556816556826556846556856556906556996557066557076557096557106557166557166557216557226557246557256557316557316557366557376557396557406557466557466557516557526557546557556557616557626557646557656557676557686557746557756557796557806557826557836557896557916557936557946557966557976558036558056558076558086558106558116558176558196558226558236558256558266558326558346558406558416558436558446558506558526558606558616558636558646558706558736558796558806558826558836558896558926558986558996559016559026559086559116559196559206559226559236559296559326559416559426559446559456559516559556559566559576559596559606559666559706559796559806559826559836559896559936560026560036560056560066560126560176560186560196560216560226560286560336560396560406560426560436560496560546560626560636560656560666560726560786560846560856560876560886560946561006561066561076561096561106561166561226561316561326561346561356561416561486561516561526561546561556561616561686561736561746561766561776561836561916561946561956561976561986562046562126562156562166562186562196562256562336562406562416562436562446562506562586562656562666562686562696562756562836562926562936562956562966563026563116563186563196563216563226563286563376563446563456563476563486563556563556563566563576563596563606563676563676563766563776563796563806563876563886563896563906563926563936564006564016564106564116564136564146564216564226564316564326564346564356564426564446564486564496564516564526564596564616564686564696564716564726564796564816564906564916564936564946565016565046565116565126565146565156565226565256565326565336565356565366565436565476565506565516565536565546565616565656565696565706565726565736565806565846565906565916565936565946566016566066566106566116566136566146566216566266566306566316566336566346566416566476566476566486566506566516566586566646566716566726566746566756566826566886566976566986567006567016567086567156567226567236567256567266567336567406567476567486567506567516567586567666567706567716567736567746567816567896567986567996568016568026568096568186568196568206568226568236568306568396568486568496568516568526568596568686568776568786568806568816568896568896568966568976568996569006569086569086569166569176569196569206569286569296569296569306569326569336569416569426569506569516569536569546569626569636569716569726569746569756569836569856569916569926569946569956570036570066570096570106570126570136570216570246570296570306570326570336570416570456570486570496570516570526570606570646570676570686570706570716570796570846570866570876570896570906570986571036571086571096571116571126571206571256571326571336571356571366571446571506571556571566571586571596571676571736571796571806571826571836571916571976572036572046572066572076572156572216572286572296572316572326572406572466572556572566572586572596572676572746572816572826572846572856572936573006573086573096573116573126573206573276573356573366573386573396573476573556573616573626573646573656573736573816573896573906573926573936574016574106574166574176574196574206574286574376574446574456574476574486574566574656574726574736574756574766574856574856574906574916574936574946575036575036575106575116575136575146575236575246575296575306575326575336575426575436575496575506575526575536575626575636575706575716575736575746575836575856575866575876575896575906575996576016576046576056576076576086576176576206576216576226576246576256576346576376576396576406576426576436576526576556576596576606576626576636576726576756576816576826576846576856576946576976577056577066577086577096577186577226577286577296577316577326577416577456577526577536577556577566577656577696577786577796577816577826577916577966578046578056578076578086578176578236578236578246578266578276578366578426578506578516578536578546578636578696578786578796578816578826578916578986579006579016579036579046579136579206579226579236579256579266579356579426579466579476579496579506579596579676579696579706579726579736579826579906579936579946579966579976580066580146580206580216580236580246580336580426580446580456580476580486580576580666580706580716580736580756580756580756580776580786580806580826580826580826580856580866580886580906580906580906580976580986581006581026581026581036581046581056581076581096581096581106581136581146581166581186581186581206581216581226581246581266581266581286581306581316581336581356581356581376581446581456581476581496581496581516581606581616581636581656581656581686581696581706581726581746581746581776581866581876581896581916581916581956581956581966581986582006582006582046582096582106582126582146582146582186582256582266582286582306582306582346582436582446582466582486582486582536582606582616582636582656582656582706582786582796582816582836582836582896582926582936582956582976582976583046583056583066583086583106583106583176583206583216583236583256583256583336583346583356583376583396583396583476583496583506583526583546583546583626583706583716583736583756583756583846583886583896583916583936583936584026584086584096584116584136584146584146584186584196584216584236584246584246584296584306584326584346584356584366584386584396584416584436584446584456584516584526584546584566584576584586584666584676584696584716584726584746584806584816584836584856584866584886584956584966584986585006585016585046585096585106585126585146585156585186585266585276585296585316585326585366585366585376585396585416585426585466585546585556585576585596585606585646585736585746585766585786585796585846585916585926585946585966585976586036586096586106586126586146586156586216586296586306586326586346586356586426586486586496586516586536586546586616586686586696586716586736586746586826586886586896586916586936586946587036587066587076587096587116587126587216587266587276587296587316587336587336587366587376587396587416587436587436587486587496587516587536587556587556587606587616587636587656587676587686587696587706587726587746587766587776587806587816587836587856587876587896587906587916587936587956587976587996588026588036588056588076588096588116588146588156588176588196588216588246588256588266588286588306588326588356588386588396588416588436588456588496588506588516588536588556588576588616588646588656588676588696588716588756588796588806588826588846588866588906588986588996589016589036589056589106589106589116589136589156589176589226589306589316589336589356589376589436589436589446589466589486589506589566589586589596589616589636589656589716589756589766589786589806589826589886589946589956589976589996590016590086590126590136590156590176590196590266590326590336590356590376590396590466590556590566590586590606590626590706590706590716590736590756590776590856590876590886590906590926590946591036591036591046591066591086591106591196591216591226591246591266591286591376591426591436591456591476591496591586591676591686591706591726591756591756591766591776591796591816591846591846591936591946591966591986592016592026592036592046592066592086592116592126592176592186592206592226592256592266592316592326592346592366592396592406592476592486592506592526592556592576592626592636592656592676592706592726592796592806592826592846592876592906592916592926592946592966592996593036593036593046593066593086593116593156593176593186593206593226593256593306593306593316593336593356593386593436593456593466593486593506593536593586593646593656593676593696593726593786593836593846593866593886593916593976594046594056594076594096594126594196594246594256594276594296594326594396594466594476594496594516594546594626594646594656594676594696594726594806594836594846594866594886594916594996595046595056595076595096595126595216595246595256595276595296595326595416595466595476595496595516595556595556595556595566595586595606595646595646595716595726595746595766595806595806595896595906595926595946595986595996596066596076596096596116596156596166596256596266596286596306596346596366596416596426596446596466596506596536596546596556596576596596596636596666596696596706596726596746596786596826596836596846596866596886596926596966596996597006597026597046597086597126597216597226597246597266597306597356597416597426597446597466597506597556597636597646597666597686597726597786597846597856597876597896597936597996598076598086598106598126598166598236598276598286598306598326598366598446598466598476598496598516598556598636598676598686598706598726598766598856598876598886598906598926598966599056599096599106599126599146599196599196599206599216599236599256599306599306599356599366599386599406599456599456599526599536599556599576599626599636599686599696599716599736599786599796599866599876599896599916599966599986600036600046600066600086600136600156600236600246600266600286600336600366600366600376600396600416600466600496600576600586600606600626600676600716600716600726600746600766600816600856600936600946600966600986601036601086601116601126601146601166601216601266601316601326601346601366601416601476601506601516601536601556601606601666601716601726601746601766601816601886601916601926601946601966602016602086602166602176602196602216602266602346602346602356602376602396602446602526602606602616602636602656602706602796602796602806602826602846602896602986603076603086603106603126603186603186603186603196603216603236603296603296603316603326603346603366603426603436603436603446603466603486603546603556603586603596603616603636603696603706603736603746603766603786603846603856603886603896603916603936603996604006604056604066604086604106604166604186604216604226604246604266604326604346604406604416604436604456604516604536604596604606604626604646604706604726604806604816604836604856604916604946604946604956604976604996605056605086605166605176605196605216605276605316605326605336605356605376605436605476605486605496605516605536605596605636605686605696605716605736605796605836605906605916605936605956606016606066606116606126606146606166606226606276606356606366606386606406606466606516606606606616606636606656606716606766606856606866606886606906606966607026607036607046607066607086607146607206607296607306607326607346607406607476607496607506607526607546607606607676607706607716607736607756607816607896607916607926607946607966608026608106608146608156608176608196608256608346608366608376608396608416608476608566608616608626608646608666608726608816608886608896608916608936608996609086609166609176609196609216609286609286609286609296609316609336609406609406609486609496609516609536609606609616609626609636609656609676609746609756609786609796609816609836609906609916609976609986610006610026610096610106610186610196610216610236610306610326610386610396610416610436610506610526610616610626610646610666610736610766610776610786610806610826610896610936610936610946610966610986611056611096611116611126611146611166611236611286611286611296611316611336611406611456611486611496611516611536611606611656611716611726611746611766611836611896611936611946611966611986612056612116612176612186612206612226612296612366612406612416612436612456612526612596612666612676612696612716612786612866612876612886612906612926612996613076613086613096613116613136613206613286613316613326613346613366613436613526613536613546613566613586613656613746613786613796613816613836613906613996614076614086614106614126614206614206614206614216614236614256614336614336614356614366614386614406614486614496614496614506614526614546614626614636614666614676614696614716614796614806614876614886614906614926615006615026615076615086615106615126615206615226615296615306615326615346615426615456615506615516615536615556615636615666615746615756615776615796615876615916615946615956615976615996616076616126616126616136616156616176616256616306616326616336616356616376616456616516616516616526616546616566616646616706616736616746616766616786616866616926617006617016617036617056617136617206617276617286617306617326617406617476617566617576617596617616617696617776617846617856617876617896617976618066618066618076618096618116618196618286618346618356618376618396618486618486618486618496618516618536618626618626618646618656618676618696618786618796618796618806618826618846618936618946618976618986619006619026619116619136619136619146619166619186619276619296619296619306619326619346619436619456619476619486619506619526619616619646619646619656619676619696619786619816619846619856619876619896619986620026620026620036620056620076620166620206620296620306620326620346620436620486620496620506620526620546620636620686620776620786620806620826620916620976620996621006621026621046621136621206621206621216621236621256621346621416621426621436621456621476621566621636621666621676621696621716621806621886621896621906621926621946622036622116622156622166622186622206622296622386622406622416622436622466622466622466622466622476622496622526622526622526622546622556622576622606622606622616622616622626622646622676622676622686622716622726622746622776622776622796622816622826622846622876622876622896622956622966622986623016623016623036623116623126623146623176623176623206623266623276623296623326623326623366623366623376623396623426623426623466623466623476623496623526623526623566623596623606623626623656623656623696623746623756623776623806623806623856623886623896623916623946623946623996624066624076624096624126624126624176624246624256624276624306624306624366624386624396624416624446624446624506624546624556624576624606624606624676624696624706624726624756624756624826624886624896624916624946624946625016625086625096625116625146625146625216625306625316625336625366625366625446625456625466625486625516625516625596625686625696625716625746625746625836625866625876625896625926625926626016626056626066626086626116626126626126626146626156626176626206626216626216626256626266626286626316626326626336626356626366626386626416626426626436626496626506626526626556626566626576626656626666626686626716626726626746626796626806626826626856626866626886626956626966626986627016627026627056627106627116627136627166627176627206627296627306627326627356627366627406627416627426627446627476627486627536627536627546627566627596627606627656627676627686627706627736627746627806627806627816627836627866627876627936627976627986628006628036628046628106628176628186628206628236628246628316628346628356628376628406628416628486628536628546628566628596628606628686628716628726628746628776628786628866628936628946628966628996629006629096629106629116629136629166629176629266629296629306629326629356629366629456629506629516629536629566629586629586629616629626629646629676629696629696629766629776629796629826629846629856629876629886629906629936629956629966629996630006630026630056630076630086630136630146630166630196630216630236630266630276630296630326630346630366630436630446630466630496630516630546630566630576630596630626630646630676630736630746630766630796630816630846630926630936630956630986631006631046631106631116631136631166631186631236631236631246631266631296631316631366631416631426631446631476631496631556631596631606631626631656631676631736631796631806631826631856631876631946631986631996632016632046632066632136632216632226632246632276632296632376632416632426632446632476632496632576632666632676632696632726632746632836632846632856632876632906632926633016633106633116633136633166633196633196633226633236633256633286633316633326633326633336633356633386633416633426633466633476633496633526633556633566633626633636633656633686633716633736633776633786633806633836633866633886633966633976633996634026634056634086634136634146634166634196634226634266634286634296634316634346634376634416634456634466634486634516634546634596634616634626634646634676634706634756634816634826634846634876634906634966635006635016635036635066635096635156635236635246635266635296635326635396635396635406635426635456635486635556635636635646635666635696635726635806635826635836635856635886635916636006636016636026636046636076636106636196636206636216636236636266636296636386636416636426636446636476636516636516636526636536636556636586636626636626636676636686636706636736636776636786636826636836636856636886636926636946636976636986637006637036637076637096637146637156637176637206637246637276637306637316637336637366637406637436637516637526637546637576637616637646637726637736637756637786637826637866637866637876637896637926637966638006638026638036638056638086638126638176638176638186638206638236638276638326638376638386638406638436638476638526638576638586638606638636638676638736638776638786638806638836638876638936638996639006639026639056639096639166639206639216639236639266639306639376639466639476639496639526639566639646639646639656639676639706639746639826639876639886639906639936639976640056640126640136640156640186640226640316640366640376640396640426640476640476640476640486640506640536640586640586640606640616640636640666640716640716640776640786640806640836640886640886640966640976640996641026641076641086641146641156641176641206641256641276641286641296641316641346641396641416641446641456641476641506641556641586641586641596641616641646641696641726641746641756641776641806641856641896641896641906641926641956642006642046642096642106642126642156642206642246642326642336642356642386642436642486642516642526642546642576642626642676642726642736642756642786642836642896642926642936642956642986643036643096643176643186643206643236643286643356643376643386643406643436643486643556643586643596643616643646643696643766643816643826643846643876643926644006644036644046644066644096644146644226644306644316644336644366644416644506644536644546644566644596644646644736644766644776644796644826644876644966645016645026645046645076645136645136645166645176645196645226645286645286645366645376645396645426645486645496645526645536645556645586645646645656645726645736645756645786645846645856645946645956645976646006646066646086646156646166646186646216646276646306646326646336646356646386646446646476646546646556646576646606646666646706646736646746646766646796646856646896646946646956646976647006647066647116647146647156647176647206647266647316647396647406647426647456647516647576647616647626647646647676647736647796647856647866647886647916647976648036648116648126648146648176648236648306648366648376648396648426648486648566648576648586648606648636648696648776648856648866648886648916648976649056649146649156649176649206649266649356649366649376649396649426649486649576649666649676649696649726649796649796649836649846649866649896649966649976649986649996650016650046650116650126650186650196650216650246650316650326650406650416650436650466650536650556650616650626650646650676650746650776650786650796650816650846650916650946651026651036651056651086651156651196651266651276651296651326651396651436651526651536651556651586651656651706651776651786651806651836651906651966651986651996652016652046652116652186652186652196652216652246652316652386652436652446652466652496652566652636652706652716652736652766652836652916652966652976652996653026653096653186653186653196653216653246653316653406653496653506653526653556653636653636653666653676653696653726653806653806653856653866653886653916653996654006654036654046654066654096654176654186654266654276654296654326654406654426654496654506654526654556654636654666654716654726654746654776654856654886654956654966654986655016655096655136655186655196655216655246655326655376655386655396655416655446655526655576655586655596655616655646655726655776655806655816655836655866655946655996656046656056656076656106656186656246656276656286656306656336656416656476656566656576656596656626656706656766656856656866656886656916656996657066657136657146657166657196657276657346657436657446657466657496657576657656657726657736657756657786657866657956657986657996658016658046658126658216658256658266658286658316658406658406658416658426658446658476658566658566658596658606658626658656658746658756658766658776658796658826658916658926658996659006659026659056659146659156659246659256659276659306659396659416659416659426659446659476659566659586659606659616659636659666659756659786659786659796659816659846659936659966660026660036660056660086660176660206660286660296660316660346660436660476660516660526660546660576660666660706660766660776660796660826660916660966661006661016661036661066661156661216661216661226661246661276661366661426661456661466661486661516661606661666661716661726661746661776661866661926661996662006662026662056662146662216662266662276662296662326662416662496662506662516662536662566662656662736662786662796662816662846662936663016663076663086663106663136663226663306663386663396663416663446663536663626663686663696663716663756663756663756663776663786663806663846663846663846663906663916663936663976663976663986664006664016664036664076664076664086664126664136664156664196664196664216664236664246664266664306664306664326664406664416664436664476664476664506664536664546664566664606664606664636664666664676664696664736664736664766664816664826664846664886664886664926664956664966664986665026665026665066665156665166665186665226665226665276665316665326665346665386665386665446665446665456665476665516665516665576665596665606665626665666665666665736665736665746665766665806665806665876665936665946665966666006666006666086666106666116666136666176666176666256666326666336666356666396666396666476666566666576666596666636666636666726666796666806666826666866666876666876666906666916666936666976666986666996666996667006667026667066667076667086667086667096667116667156667166667176667196667206667226667266667276667296667296667306667326667366667376667396667456667466667486667526667536667566667596667606667626667666667676667706667796667806667826667866667876667916667926667936667956667996668006668046668136668146668166668206668216668266668316668326668346668386668396668456668486668496668516668556668566668626668676668686668706668746668756668816668886668896668916668956668966669036669086669096669116669156669166669246669256669266669286669326669336669426669426669436669456669496669506669596669606669616669636669676669686669776669806669816669836669876669896669896669906669916669936669976669996669996670066670076670096670136670156670166670226670236670256670296670316670336670356670366670386670426670446670466670506670516670536670576670596670626670646670656670676670716670736670766670856670866670886670926670946670976671066671076671096671136671156671196671206671216671236671276671296671336671366671376671396671436671456671506671516671526671546671586671606671656671736671746671766671806671826671876671956671966671986672026672046672106672166672176672196672236672256672316672396672406672426672466672486672556672616672626672646672686672706672786672816672826672846672886672906672986673026673036673056673096673116673206673216673226673246673286673306673396673426673436673456673496673526673526673536673546673566673606673636673636673716673726673746673786673816673826673826673836673856673896673926673936673956673966673986674026674056674066674106674116674136674176674206674226674246674256674276674316674346674366674456674466674486674526674556674586674606674616674636674676674706674736674756674766674786674826674856674886674926674936674956674996675026675066675086675096675116675156675186675226675316675326675346675386675416675466675486675496675516675556675586675636675716675726675746675786675816675876675876675886675906675946675976676036676116676126676146676186676216676286676336676346676366676406676436676506676596676606676626676666676696676776676816676826676846676886676916676996677056677066677086677126677156677246677286677296677316677356677396677396677406677416677436677476677516677516677576677586677606677646677686677686677756677766677786677826677866677866677956677966677986678026678066678076678146678156678176678216678256678276678316678326678346678386678426678446678536678546678566678606678646678676678676678686678706678746678786678816678836678846678866678906678946678986678986678996679016679056679096679136679206679216679236679276679316679366679386679396679416679456679496679546679636679646679666679706679746679806679816679826679846679886679926679986680076680086680106680146680186680256680316680326680346680386680426680506680526680536680556680596680636680716680796680806680826680866680906680996680996681006681026681066681106681196681276681286681306681346681396681396681446681456681476681516681566681576681596681606681626681666681716681726681766681776681796681836681886681896681956681966681986682026682076682096682136682146682166682206682256682286682296682306682326682366682416682446682526682536682556682596682646682686682706682716682736682776682826682866682906682916682936682976683026683076683096683106683126683166683216683266683356683366683386683426683476683536683606683616683636683676683726683786683856683866683886683926683976684036684126684136684156684196684246684316684386684396684416684456684506684586684626684636684656684696684746684836684856684866684886684926684986684986684996685006685026685066685126685126685156685166685186685226685286685296685306685316685336685376685436685446685526685536685556685596685656685676685746685756685776685816685876685906685926685936685956685996686056686086686126686136686156686196686256686296686316686326686346686386686446686486686576686586686606686646686706686756686836686846686866686906686966687026687076687086687106687146687206687266687336687346687366687406687466687536687586687596687616687656687716687796687826687836687856687896687956688036688066688076688096688136688196688276688336688346688366688406688466688546688626688636688656688696688756688846688906688916688936688976689046689046689086689096689116689156689226689226689276689286689306689346689416689416689486689496689516689556689626689626689716689726689746689786689856689866689936689946689966690006690076690096690146690156690176690216690286690306690366690376690396690436690506690536690576690586690606690646690716690746690806690816690836690876690946690986691026691036691056691096691166691216691236691246691266691306691376691426691466691476691496691536691606691656691716691726691746691786691856691906691986691996692016692056692126692186692246692256692276692316692386692456692496692506692526692566692636692706692766692776692796692836692906692986693026693036693056693096693166693246693306693316693336693376693446693536693576693586693606693646693726693726693746693756693776693816693896693896693946693956693976694016694096694106694126694136694156694196694276694286694326694336694356694396694476694496694516694526694546694586694666694696694696694706694726694766694846694876694916694926694946694986695066695096695176695186695206695246695326695366695366695376695396695436695516695556695636695646695666695706695786695836695896695906695926695966696046696106696106696116696136696176696256696316696376696386696406696446696526696586696666696676696696696736696816696886696946696956696976697016697096697176697216697226697246697286697366697446697536697546697566697606697686697776697786697796697816697856697936698026698056698066698086698126698216698216698226698236698256698296698386698386698476698486698506698546698636698646698696698706698726698766698856698866698926698936698956698996699086699096699176699186699206699246699336699356699416699426699446699486699576699606699646699656699676699716699806699846699846699856699876699916700006700046700126700136700156700196700286700336700336700346700366700406700496700546700626700636700656700696700786700846700906700916700936700976701066701136701166701176701196701236701326701396701446701456701476701516701606701676701746701756701776701816701906701986702036702046702066702106702196702286702316702326702346702396702396702396702396702406702426702476702476702476702556702566702586702636702636702646702646702656702676702726702726702736702816702826702846702896702896702916702976702986703006703056703056703086703126703136703156703206703206703246703256703266703286703336703336703376703406703416703436703486703486703536703546703556703576703626703626703676703766703776703796703846703846703906703986703996704016704066704066704136704156704166704186704236704236704306704346704356704376704426704426704506704526704536704556704606704606704696704696704706704726704776704776704866704956704966704986705036705046705046705116705126705146705196705206705206705296705306705326705376705386705396705466705476705496705546705556705576705636705646705666705716705726705746705806705816705836705886705896705926705926705936705956706006706016706046706066706076706096706146706156706196706196706206706226706276706286706326706416706426706446706496706506706556706556706566706586706636706646706696706726706736706756706806706816706866706916706926706946706996707006707066707096707106707126707176707186707256707276707286707306707356707366707436707476707486707506707556707566707636707676707686707706707756707766707836707896707906707926707976707986708066708106708116708136708186708196708286708316708326708346708396708406708496708546708556708576708626708646708646708666708676708696708746708766708766708806708816708836708886708906708916708936708946708966709016709036709056709066709076709096709146709166709186709226709236709256709306709326709346709416709426709446709496709516709536709626709636709656709706709726709756709826709836709856709906709926709966710026710036710056710106710126710176710176710186710206710256710276710326710346710356710376710426710446710496710536710546710566710616710636710696710716710726710746710796710816710886710896710906710926710976710996711066711126711136711156711206711226711296711356711366711386711436711456711526711606711616711636711686711706711786711846711856711876711926711946712036712086712096712116712166712196712196712196712206712226712276712306712306712306712316712336712386712416712416712436712446712466712516712546712556712556712566712586712636712666712676712766712776712796712846712876712896712936712946712966713016713046713076713076713086713106713156713186713216713236713246713266713316713346713386713386713396713416713466713496713536713626713636713656713706713736713786713836713846713866713916713946714006714006714016714036714086714116714176714196714206714226714276714306714376714376714386714406714456714486714556714646714656714676714726714756714836714896714906714926714976715006715086715176715186715206715256715286715376715386715396715416715466715496715586715676715686715706715756715796715796715876715886715906715956715996716006716056716066716086716136716176716196716196716206716226716276716316716336716356716366716386716436716476716506716506716516716536716586716626716656716746716756716776716826716866716906716976716986717006717056717096717136717216717226717246717296717336717386717386717396717416717466717506717556717636717646717666717716717756717816717886717896717916717966718006718076718136718146718166718216718256718326718386718396718416718466718506718576718656718666718686718736718776718856718916718926718946718996719036719126719176719186719206719256719306719306719346719356719376719426719476719486719506719516719536719586719636719646719686719696719716719766719816719836719866719876719896719946719996720016720046720056720076720126720176720196720226720236720256720306720356720376720406720416720436720486720536720556720606720616720636720686720736720766720806720816720836720886720936720966721006721016721036721086721136721166721206721216721236721286721336721376721376721386721406721456721506721546721566721576721596721646721696721746721756721766721786721836721886721936721946721956721976722026722076722126722146722156722176722226722276722326722396722406722426722476722526722576722666722676722696722746722796722856722936722946722966723016723066723126723206723216723236723286723336723406723406723416723436723486723536723606723636723646723666723716723766723836723886723896723916723966724016724096724136724146724166724216724266724346724386724396724416724466724516724596724656724666724686724736724786724876724916724926724946724996725046725136725196725206725226725276725336725336725386725396725416725466725526725526725576725586725606725656725716725716725796725806725826725876725936725946725966725976725996726046726106726116726156726166726186726236726296726316726346726356726376726426726486726506726536726546726566726616726676726696726766726776726796726846726906726936726936726946726966727016727076727106727126727136727156727206727266727306727316727326727346727396727456727496727506727516727536727586727646727686727746727756727776727826727886727926728006728016728036728086728146728196728196728206728226728276728336728386728476728486728506728556728616728666728756728766728786728836728896728956728996729006729026729076729136729196729286729296729316729366729426729496729506729516729536729586729646729726729726729736729756729806729866729946729946729956729976730026730086730166730226730236730256730306730366730446730516730526730546730596730656730736730826730836730856730906730966731056731136731146731166731216731276731366731446731456731476731526731596731596731646731656731676731726731796731796731846731856731876731926731996731996732066732076732096732146732216732226732286732296732316732366732436732446732506732516732536732586732656732676732706732716732736732786732856732886732906732916732936732986733056733086733126733136733156733206733276733316733346733356733376733426733496733536733566733576733596733646733716733766733776733786733806733856733926733976734026734036734056734106734176734226734296734306734326734376734446734506734566734576734596734646734716734776734836734846734866734916734986735056735106735116735136735186735256735326735376735386735406735456735526735596735666735676735696735746735816735896735956735966735986736036736106736186736246736256736276736326736396736486736536736546736566736616736696736696736736736746736766736816736896736896736956736966736986737036737116737126737176737186737206737256737336737346737406737416737436737486737566737576737636737646737666737716737796737816737856737866737886737936738016738036738096738106738126738176738256738286738336738346738366738416738496738526738586738596738616738666738746738776738846738856738876738926739006739046739046739056739076739126739206739246739266739276739296739346739426739476739486739496739516739566739646739696739716739726739746739796739876739926739956739966739986740036740116740176740196740206740226740276740356740416740456740466740486740536740616740686740716740726740746740796740876740946740986740996741016741066741146741216741276741286741306741356741436741516741556741566741586741636741716741796741856741866741886741936742016742106742156742166742186742236742316742406742466742476742496742546742626742716742806742816742836742886742976742976743036743046743066743116743206743206743286743296743316743366743456743466743536743546743566743616743706743716743796743806743826743876743966743986744006744016744036744086744176744196744276744286744306744356744446744476744476744486744506744556744646744676744766744776744796744846744936744976744976744986745006745056745146745186745236745246745266745316745406745446745526745536745556745606745696745746745746745756745776745826745916745966746056746066746086746136746226746286746286746296746316746366746456746516746566746576746596746646746736746796746876746886746906746956747046747116747116747126747146747196747286747356747446747456747476747526747616747696747696747706747726747776747866747946747996748006748026748076748166748246748326748336748356748406748496748586748586748596748616748666748756748846748936748946748966749026749026749026749026749036749056749116749116749116749166749176749196749256749256749266749276749286749306749366749366749376749406749416749436749496749496749516749536749546749566749626749626749646749676749686749706749766749766749786749876749886749906749966749966749996750016750026750046750106750106750136750176750186750206750266750266750306750336750346750366750426750426750466750506750516750536750596750596750646750646750656750676750736750736750786750816750826750846750906750906750956751006751016751036751096751096751156751196751206751226751286751286751346751396751406751426751486751486751556751566751576751596751656751656751726751766751776751796751856751856751926751986751996752016752076752076752156752206752216752236752296752296752376752436752446752466752526752526752616752636752646752666752726752736752736752736752746752766752826752836752836752856752866752886752946752956752966752976752986753006753066753076753086753106753116753136753196753206753216753306753316753336753396753406753426753466753476753496753556753566753586753646753656753676753736753746753776753826753836753856753916753926753956754016754026754046754106754116754156754186754196754216754276754286754326754406754416754436754496754506754556754556754566754586754646754656754706754796754806754826754886754896754956754956754966754986755046755056755116755186755196755216755276755286755356755376755386755406755466755476755546755586755596755616755676755686755766755796755806755826755886755896755976756016756026756046756106756116756206756226756236756256756316756326756416756436756446756466756526756536756626756666756676756696756756756776756776756806756816756836756896756916756916756956756966756986757046757066757076757096757106757126757186757206757216757306757316757336757396757416757436757446757456757476757536757556757586757586757596757616757676757696757726757736757746757766757826757846757876757966757976757996758056758076758116758176758186758206758266758286758326758406758416758436758496758516758566758636758646758666758726758746758796758876758886758906758966758986759046759106759116759136759196759216759286759326759336759356759416759436759506759566759576759596759656759676759756759806759816759836759896759916759996760056760066760086760146760166760256760296760306760326760386760416760416760436760446760466760526760556760556760596760606760626760686760716760726760756760766760786760846760876760886760926760936760956761016761046761066761096761106761126761186761216761236761316761326761346761406761436761466761466761476761496761556761586761616761706761716761736761796761826761866761866761876761896761956761986762026762116762126762146762206762236762286762326762336762356762416762446762496762556762566762586762646762676762736762786762796762816762876762906762966763026763036763056763116763146763216763266763276763296763356763386763466763476763486763506763566763596763676763706763716763736763796763826763916763936763946763966764026764056764146764176764186764206764266764306764306764326764336764356764416764456764456764536764546764566764626764666764676764676764686764706764766764806764816764906764916764936764996765036765056765066765076765096765156765196765216765226765236765256765316765356765376765416765426765446765506765546765566765626765636765656765716765756765786765836765846765866765926765966765996766066766076766096766156766196766226766296766306766326766386766426766466766466766476766496766556766596766636766656766666766686766746766786766836766846766856766876766936766976767026767056767066767086767146767186767236767266767276767296767356767396767446767516767526767546767606767646767696767786767796767816767876767916767976768056768066768086768146768186768256768256768266768286768346768386768456768456768466768486768546768586768656768716768726768746768806768846768916768996769006769026769086769126769206769276769286769306769366769406769486769576769586769606769666769706769796769796769806769826769886769926770016770046770056770076770136770176770266770316770326770346770406770456770456770496770506770526770586770636770636770696770706770726770786770836770836770906770916770936770996771046771056771056771066771086771146771196771206771226771236771256771316771366771386771396771406771426771486771536771556771586771596771616771676771726771746771786771796771816771876771926771946772026772036772056772116772166772196772196772206772226772286772336772366772456772466772486772546772596772636772646772656772676772736772786772826772846772856772876772936772986773026773106773116773136773196773246773296773296773306773326773386773436773486773576773586773606773666773716773776773786773796773816773876773926773986774016774026774046774106774156774216774276774286774306774366774416774476774556774566774586774646774696774766774836774846774866774926774976775046775136775146775166775226775276775356775366775376775396775456775506775586775626775636775656775716775766775846775906775916775936775996776046776136776186776196776216776276776326776416776486776496776516776576776626776716776806776816776836776896776956776956776986776996777016777076777136777136777186777196777216777276777336777346777386777396777416777476777536777546777606777616777636777696777756777766777856777866777886777946778006778026778026778036778056778116778176778196778216778226778246778306778366778396778406778416778436778496778556778586778616778626778646778706778766778796778856778866778886778946779006779046779086779096779116779176779236779276779336779346779366779426779486779536779586779596779616779676779736779786779856779866779886779946780006780066780066780076780096780156780216780276780356780366780386780446780506780576780576780586780606780666780726780796780886780896780916780976781036781116781126781136781156781216781276781356781396781406781426781486781546781636781666781676781696781756781816781906781956781966781986782046782116782116782156782166782186782246782316782316782376782386782406782466782536782546782546782556782576782636782706782716782796782806782826782886782956782976782976782986783006783066783136783156783246783256783276783336783406783436783446783456783476783536783606783636783696783706783726783786783856783896783906783916783936783996784066784106784136784146784166784226784296784346784366784376784396784456784526784576784616784626784646784706784776784826784916784926784946785006785076785136785176785186785206785266785336785396785456785466785486785546785616785686785736785746785766785826785896785966786036786046786066786126786196786276786296786306786326786386786456786536786626786636786656786716786786786876786886786896786916786976787056787056787056787066787086787146787226787226787246787256787276787336787416787416787486787496787516787576787656787666787716787726787746787806787886787896787966787976787996788056788136788156788216788226788246788306788386788406788486788496788516788576788656788686788726788736788756788816788896788926789016789026789046789106789186789226789236789246789266789326789406789456789456789466789486789546789626789676789696789706789726789786789866789916789996790006790026790086790166790226790256790266790286790346790426790486790536790546790566790626790706790776790816790826790846790906790986791056791116791126791146791206791286791366791386791396791416791476791556791636791726791736791756791816791896791986791996792006792026792086792176792176792176792186792206792266792356792356792376792386792406792466792556792556792636792646792666792726792816792826792886792896792916792976793066793076793156793166793186793246793336793356793426793436793456793516793606793626793716793726793746793806793896793926793986793996794016794076794166794206794216794226794246794306794396794436794466794476794496794556794646794696794716794726794746794806794896794946794986794996795016795076795166795226795236795246795266795326795416795476795536795546795566795626795716795776795856795866795886795946796036796106796176796186796206796266796356796426796516796526796546796606796696796776796836796846796866796926797016797106797136797146797166797226797316797406797456797466797486797556797556797556797596797606797626797696797696797696797756797766797786797856797856797866797906797916797936798006798006798016798086798096798116798186798186798196798286798296798316798386798386798406798486798496798516798586798586798616798616798626798646798716798716798746798836798846798866798936798936798966799056799066799086799156799156799196799206799216799236799306799306799356799356799366799386799456799456799506799526799536799556799626799626799686799696799706799726799796799796799856799866799876799896799966799966800026800056800066800086800156800156800226800246800256800276800346800346800416800456800466800486800556800556800636800666800676800696800766800766800846800906800916800936801006801006801086801166801176801196801266801266801356801426801436801456801526801526801616801706801716801736801806801816801816801896801906801926801996802006802016802066802076802096802166802176802186802256802266802286802356802366802386802446802456802476802546802556802576802666802676802696802766802776802796802886802896802916802986802996803026803056803066803086803156803166803196803246803256803276803346803356803396803436803446803466803536803546803586803656803666803686803756803766803806803876803886803906803976803986804036804046804056804076804146804156804206804236804246804266804336804346804406804426804436804456804526804536804596804646804656804676804746804756804816804866804876804896804966804976805046805066805076805096805166805176805246805286805296805316805386805396805476805506805516805536805606805616805696805756805766805786805856805866805946806016806026806046806116806126806216806216806226806246806316806326806416806436806446806466806536806556806556806566806576806596806666806686806686806726806736806756806826806846806846806906806916806936807006807026807026807086807096807116807186807206807206807286807296807316807386807406807416807486807496807516807586807606807626807626807636807656807726807746807766807786807796807816807886807906807926807946807956807976808046808066808086808126808136808156808226808246808276808306808316808336808406808426808456808516808526808546808616808636808666808746808756808776808846808866808906808916808926808946809016809036809076809106809116809136809206809226809276809296809306809326809396809416809466809516809526809546809616809636809686809756809766809786809856809876809936809996810006810026810096810116810176810256810266810286810356810376810446810516810526810546810616810636810716810716810726810746810816810836810916810946810956810976811046811066811146811236811246811266811336811356811446811456811466811486811556811586811586811586811596811616811686811716811716811746811756811776811846811876811876811936811946811966812036812066812076812096812106812126812196812226812236812276812286812306812376812406812426812456812466812486812556812586812606812666812676812696812766812796812826812826812836812856812926812956812986812986812996813016813086813116813146813166813176813196813266813296813336813346813356813376813446813476813516813556813566813586813656813686813726813806813816813836813906813936813986813986813996814016814086814116814166814186814196814216814286814316814376814386814396814416814486814516814576814616814626814646814716814746814806814886814896814916814986815016815086815156815166815186815256815286815356815446815456815476815546815576815656815736815746815766815836815866815956815966815976815996816066816096816186816236816246816266816336816376816376816416816426816446816516816556816556816616816626816646816716816756816766816816816826816846816916816956816966817046817056817076817146817186817206817236817246817266817336817376817396817456817466817486817556817596817616817696817706817726817796817836817866817936817946817966818036818076818116818116818126818146818216818256818296818346818356818376818446818486818536818576818586818606818676818716818766818826818836818856818926818966819026819076819086819106819176819216819276819356819366819386819456819496819566819606819616819636819706819746819826819826819836819856819926819966820046820066820076820096820166820206820296820306820316820336820406820446820536820576820586820606820676820726820726820726820736820756820826820876820876820936820946820966821036821086821086821166821176821196821266821316821326821396821406821426821496821546821566821566821576821596821666821716821736821806821816821836821906821956821976822046822056822076822146822196822216822306822316822336822406822456822486822566822576822596822666822716822756822766822776822796822866822916822956823036823046823066823136823186823236823296823306823326823396823446823496823576823586823606823676823726823786823856823866823886823956824006824076824076824086824106824176824226824296824376824386824406824476824526824606824636824646824666824736824786824866824916824926824946825016825066825156825196825206825226825296825346825436825506825516825536825606825666825666825716825726825746825816825876825886825886825896825916825986826046826056826076826086826106826176826236826256826266826276826296826366826426826446826486826496826516826586826646826676826696826706826726826796826856826896826906826916826936827006827066827106827136827146827166827236827296827346827366827376827396827466827526827576827626827636827656827726827786827846827886827896827916827986828046828116828126828136828156828226828286828356828386828396828416828486828546828626828646828656828676828746828806828886828946828956828976829046829106829186829246829256829276829346829406829496829496829506829526829596829656829746829766829776829796829866829936829936829946829956829976830046830116830116830166830176830196830266830336830336830386830396830416830486830556830556830646830656830676830746830816830826830836830846830866830936831006831026831026831036831056831126831196831216831256831266831286831356831426831446831486831496831516831586831656831686831716831726831746831816831886831916831966831976831996832066832136832176832216832226832246832316832386832426832506832516832536832606832676832716832806832816832836832906832976833026833046833056833076833146833216833266833306833316833336833406833476833536833566833576833596833666833736833796833866833876833896833966834036834096834186834196834216834286834356834416834506834516834536834606834676834746834756834766834786834856834926835006835006835016835036835106835176835256835296835306835326835396835466835546835606835616835636835706835776835856835916835926835946836016836086836166836246836256836276836346836416836506836576836586836606836676836756836756836766836776836796836866836946836946836976836986837006837076837156837156837246837256837276837346837426837436837446837456837476837546837626837646837646837656837676837746837826837846837886837896837916837986838066838086838146838156838176838246838326838356838386838396838416838486838566838596838646838656838676838746838826838866838906838916838936839006839086839126839206839216839236839306839386839436839446839456839476839546839626839676839726839736839756839826839906839956840026840036840056840126840206840266840326840336840356840426840506840576840576840586840606840676840756840826840856840866840886840956841036841106841176841186841206841276841356841426841516841526841546841616841696841776841856841866841886841956842036842126842146842156842176842246842326842416842476842486842506842576842656842746842806842816842836842906842986843076843156843166843186843256843346843346843416843426843446843516843606843616843626843636843656843726843816843826843876843886843906843976844066844076844156844166844186844256844346844366844366844376844396844466844556844576844666844676844696844766844856844886844916844926844946845016845106845136845216845226845246845316845406845436845516845526845546845616845706845746845746845756845776845846845936845976846066846076846096846166846256846306846336846346846366846436846526846576846656846666846686846756846846846896846976846986847006847076847166847226847226847236847256847326847416847476847566847576847596847666847756847826847856847866847886847956848046848116848196848206848226848296848386848466848506848516848536848606848696848776848836848846848866848936849026849116849166849176849196849266849356849446849536849546849566849646849646849646849686849696849716849796849796849806849836849846849866849946849946849956850006850016850036850116850116850136850176850186850206850286850286850306850386850396850416850496850496850526850566850576850596850676850676850716850716850726850746850826850826850866850886850896850916850996850996851046851056851066851086851166851166851216851266851276851296851376851376851436851446851456851476851556851556851616851686851696851716851796851796851856851946851956851976852056852056852126852206852216852236852316852316852396852416852426852446852526852526852606852696852706852726852806852806852896852916852926852946853026853026853116853156853166853186853266853276853276853306853316853336853416853426853426853496853506853526853606853616853626853666853676853696853776853786853796853866853876853896853976853986853996854086854096854116854196854206854226854306854316854336854416854426854456854476854486854506854586854596854636854636854646854666854746854756854796854796854806854826854906854916854956854976854986855006855086855096855146855156855166855186855266855276855326855376855386855406855486855496855556855586855596855616855696855706855766855796855806855826855906855916855976856026856036856056856136856146856216856256856266856286856366856376856446856526856536856556856636856646856726856786856796856816856896856906856996857026857036857056857136857146857236857286857296857316857396857416857416857456857466857486857566857586857586857666857676857696857776857796857806857876857886857906857986858006858016858086858096858116858196858216858226858316858326858346858426858446858466858546858556858576858656858676858706858726858736858756858836858856858896858906858916858936859016859036859076859156859166859186859266859286859336859336859346859366859446859466859516859606859616859636859716859736859796859826859836859856859936859956860026860046860056860076860156860176860246860336860346860366860446860466860546860556860566860586860666860686860776860776860786860806860886860906860996861046861056861076861156861176861266861316861326861346861426861446861536861626861636861656861736861766861766861776861786861806861886861916861926861926861936861956862036862066862076862126862136862156862236862266862276862326862336862356862436862466862486862526862536862556862636862666862686862746862756862776862856862886862916862966862976862996863076863106863146863146863156863176863256863286863326863336863346863366863446863476863516863586863596863616863696863726863766863856863866863886863966863996864046864126864136864156864236864266864326864356864366864386864466864496864556864596864606864626864706864736864806864806864816864836864916864946865016865036865046865066865146865176865256865266865276865296865376865406865486865546865556865576865656865686865766865846865856865876865956865986866076866086866096866116866196866226866316866346866356866376866456866496866496866516866526866546866626866666866666866736866746866766866846866886866886866976866986867006867086867126867136867206867216867236867316867356867366867456867466867486867566867606867626867706867716867736867816867856867886867916867926867946868026868066868096868156868166868186868266868306868346868356868366868386868466868506868546868576868586868606868686868726868776868796868806868826868906868946868996869066869076869096869176869216869276869276869286869306869386869426869486869536869546869566869646869686869746869816869826869846869926869966870036870096870106870126870206870246870326870336870346870366870446870486870566870616870626870646870726870766870846870926870936870956871036871076871166871166871176871196871276871316871406871496871506871526871606871656871656871696871706871726871806871856871856871936871946871966872046872096872106872136872146872166872246872296872306872356872366872386872466872516872536872576872586872606872686872736872756872846872856872876872956873006873036873076873086873106873186873236873266873326873336873356873436873486873516873596873606873626873706873756873796873866873876873896873976874026874076874096874106874126874206874256874306874376874386874406874486874536874586874676874686874706874786874836874896874906874916874936875016875066875136875136875146875166875246875296875366875416875426875446875526875576875656875666875676875696875776875826875906875926875936875956876036876086876166876206876216876236876316876366876456876486876496876516876596876646876736876816876826876846876926876986876986877026877036877056877136877196877196877256877266877286877366877426877426877506877516877536877616877676877686877756877766877786877866877926877946877966877976877996878076878136878156878236878246878266878346878406878436878506878516878536878616878676878706878796878806878826878906878966879006879086879096879116879196879256879306879336879346879366879446879506879556879646879656879676879756879816879876879956879966879986880066880126880196880196880206880226880306880366880436880526880536880556880636880696880776880816880826880846880926880986881076881086881096881116881196881256881346881436881446881466881546881616881616881626881636881656881736881806881816881816881826881846881926881996882006882056882066882086882166882236882256882286882296882316882396882466882486882526882536882556882636882706882726882786882796882816882896882966882996883046883056883076883156883226883266883266883276883296883376883446883486883566883576883596883676883746883796883856883866883886883966884036884086884166884176884196884276884346884406884476884486884506884586884656884726884746884756884776884856884926885006885006885016885036885116885186885266885346885356885376885456885526885616885616885626885646885726885796885886885976885986886006886086886166886166886206886216886236886316886396886406886436886446886466886546886626886646886646886656886676886756886836886856886876886886886906886986887066887096887106887116887136887216887296887326887396887406887426887506887586887616887686887696887716887796887876887906887976887986888006888086888166888196888286888296888316888396888476888516888596888606888626888706888786888836888876888886888906888986889066889116889156889166889186889266889346889406889416889426889446889526889606889666889696889706889726889806889886889956889976889986890006890086890166890236890316890326890346890426890506890576890656890666890686890766890846890926890986890996891016891096891176891256891336891346891366891446891526891616891686891696891716891796891886891886891916891926891946892026892116892116892146892156892176892256892346892356892366892376892396892476892566892576892606892616892636892716892806892826892846892856892876892956893046893066893146893156893176893256893346893366893446893456893476893556893646893676893746893756893776893856893946893976894066894076894096894176894266894306894386894396894416894496894586894636894676894686894706894786894876894926894976894986895006895086895176895236895246895256895276895356895446895506895536895546895566895646895736895806895826895836895856895936896026896096896176896186896206896286896376896446896536896546896566896646896736896816896876896886896906896986897076897156897236897246897266897346897436897526897596897606897626897716897716897716897746897756897776897866897866897866897906897916897936898026898026898036898046898056898076898166898166898176898206898216898236898326898326898346898366898376898396898486898486898506898586898596898616898706898706898736898736898746898766898856898856898886898906898916898936899026899026899056899096899106899126899216899216899256899286899296899316899406899406899446899536899546899566899656899656899706899716899726899746899836899836899896899896899906899926900016900016900076900096900106900126900216900216900286900296900306900326900416900416900486900556900566900586900676900676900756900756900766900786900876900876900956900956900966900986901076901076901156901176901186901206901296901296901386901396901406901426901516901516901606901676901686901706901796901806901806901806901816901836901926901936901936901936901946901966902056902066902066902086902096902116902206902216902226902236902246902266902356902366902376902446902456902476902566902576902596902596902606902626902716902726902746902816902826902846902936902946902966903056903066903086903176903186903216903296903306903326903416903426903466903506903516903536903626903636903676903756903766903786903876903886903936903956903966903986904076904086904136904176904186904206904296904306904366904396904406904426904516904526904586904676904686904706904796904806904876904906904916904936905026905036905106905186905196905216905306905316905396905396905406905426905516905526905606905696905706905726905816905826905916905966905976905996906086906096906186906276906286906306906396906416906416906456906466906486906576906596906596906656906666906686906776906796906806906856906866906886906976906996907016907026907036907056907146907166907186907246907256907276907366907386907406907486907496907516907606907626907656907656907666907686907776907796907826907916907926907946908036908056908096908146908156908176908266908286908336908336908346908366908456908476908526908616908626908646908736908756908816908826908836908856908946908966909036909036909046909066909156909176909246909306909316909336909426909446909526909546909556909576909666909686909766909786909796909816909906909926910006910046910056910076910166910186910276910306910316910336910426910446910536910626910636910656910746910776910776910826910836910856910946910976910976911036911046911066911156911186911186911266911276911296911386911416911426911496911506911526911616911646911666911696911706911726911816911846911866911956911966911986912076912106912136912196912206912226912316912346912376912456912466912486912576912606912646912716912726912746912836912866912916912946912956912976913066913096913156913156913166913186913276913306913366913406913416913436913526913556913616913676913686913706913796913826913896913946913956913976914066914096914176914186914196914216914306914336914416914496914506914526914616914646914736914766914776914796914886914916915006915056915066915086915176915216915216915256915266915286915376915416915426915426915436915456915546915586915596915666915676915696915786915826915846915876915886915906915996916036916056916106916116916136916226916266916296916336916346916366916456916496916536916536916546916566916656916696916736916816916826916846916936916976917026917026917036917056917146917186917236917256917266917286917376917416917476917486917496917516917606917646917706917776917786917806917896917936918006918056918066918086918176918216918296918336918346918366918456918496918576918636918646918666918756918796918886918936918946918966919056919106919106919116919126919146919236919286919296919296919306919326919416919466919476919476919486919506919596919646919656919676919686919706919796919846919866919876919886919906919996920046920066920136920146920166920256920306920336920396920406920426920516920566920596920666920676920696920786920836920866920956920966920986921076921126921166921246921256921276921366921416921466921506921516921536921626921676921736921766921776921796921886921936922006922026922036922056922146922196922266922306922316922336922426922476922556922586922596922616922706922756922846922846922856922876922966923016923106923106923116923136923226923276923366923426923436923456923546923596923686923766923776923796923886923946923946924016924026924046924136924196924206924246924256924276924366924426924436924476924486924506924596924656924676924686924696924716924806924866924886924916924926924946925036925096925126925146925156925176925266925326925356925446925456925476925566925626925656925746925756925776925866925926925966926036926046926066926156926216926256926346926356926376926466926526926576926656926666926686926776926836926896926946926956926976927066927126927186927246927256927276927366927426927496927516927526927546927636927696927766927806927816927836927926927986928066928096928106928126928216928276928366928366928376928396928486928546928636928656928666928686928776928836928926928976928986929006929096929156929246929316929326929346929436929506929506929566929576929596929686929756929766929796929806929826929916929986929996930046930056930076930166930236930246930336930346930366930456930526930546930556930566930586930676930746930776930776930786930806930896930966930996931066931076931096931186931256931286931376931386931406931496931566931606931656931666931686931776931846931886931956931966931986932076932146932196932256932266932286932376932446932506932536932546932566932656932726932786932846932856932876932966933036933096933186933196933216933306933376933446933456933466933486933576933646933726933726933736933756933846933916933996934066934076934096934186934256934346934356934366934386934476934546934636934646934656934676934766934836934926934956934966934986935076935156935156935176935186935206935296935376935376935466935476935496935586935666935676935706935716935736935826935906935916935956935966935986936076936156936166936226936236936256936346936426936446936496936506936526936616936696936726936746936756936776936866936946936976937036937046937066937156937236937276937276937286937306937396937476937516937536937546937566937656937736937786937796937806937826937916937996938046938126938136938156938246938326938386938406938416938436938526938606938676938676938686938706938796938876938946938966938976938996939086939166939246939256939266939286939376939456939536939616939626939646939736939816939906939936939946939966940056940136940226940306940316940336940426940516940516940516940526940546940636940726940726940816940826940846940936941026941036941096941106941126941216941306941326941336941346941366941456941546941566941636941646941666941756941846941866941956941966941986942076942166942196942276942286942306942396942486942526942576942586942606942696942786942836942836942846942866942956943046943096943186943196943216943306943396943456943466943476943496943586943676943746943746943756943776943866943956944026944096944106944126944216944306944386944416944426944446944536944626944706944786944796944816944906944996945086945086945096945116945206945296945386945476945486945516945516945516945516945576945586945616945616945616945626945656945666945696945696945696945706945756945766945796945796945796945806945876945886945916945916945916945936945996946006946036946036946036946066946096946106946136946136946136946176946176946186946216946216946216946256946286946296946326946326946326946366946416946426946456946456946456946506946546946556946586946586946586946646946656946666946696946696946696946756946836946846946876946876946876946946946986946996947026947026947026947096947156947166947196947196947196947276947326947336947366947366947366947456947476947486947516947516947526947526947526947536947566947566947576947576947596947606947636947636947646947646947686947696947726947726947736947746947776947786947816947816947826947846947846947856947886947886947896947916947996948006948036948036948046948076948146948156948186948186948196948226948316948326948356948356948366948406948486948496948526948526948536948586948636948646948676948676948686948746948786948796948826948826948836948896948936948946948976948976948986949046949106949116949146949146949156949226949276949286949316949316949326949406949426949436949466949466949476949566949576949586949616949616949626949716949766949776949806949806949816949906949976949986950016950016950036950036950096950106950136950136950156950166950196950206950236950236950256950276950296950306950336950336950356950386950396950406950436950436950456950486950516950526950556950556950576950616950636950646950676950676950696950746950746950756950786950786950806950856950856950866950896950896950916950966951026951036951066951066951086951136951216951226951256951256951276951336951406951416951446951446951466951536951586951596951626951626951646951716951766951776951806951806951826951906951926951936951966951966951986952066952106952116952146952146952166952256952286952296952326952326952356952356952366952376952406952406952436952436952456952466952496952496952526952526952566952576952606952606952636952636952696952706952736952736952766952776952826952836952866952866952896952916952946952956952986952986953016953036953076953086953116953116953146953176953176953186953216953216953246953276953296953306953336953336953366953406953416953426953456953456953486953526953616953626953656953656953686953736953746953756953786953786953816953866953906953916953946953946953976954026954086954096954126954126954156954216954266954276954306954306954336954406954436954446954476954476954506954576954626954636954666954666954696954766954856954866954896954896954926955006955016955026955056955056955086955176955176955186955216955216955246955336955416955426955456955456955496955496955496955506955536955536955576955576955666955676955706955706955746955756955766955776955806955806955846955866955866955876955906955906955946955966956046956056956086956086956126956156956166956176956206956206956246956276956336956346956376956376956416956446956526956536956566956566956606956646956716956726956756956756956796956846956896956906956936956936956976957026957116957126957156957156957196957256957266957276957306957306957346957406957436957446957476957476957516957586957606957616957646957646957686957766957766957776957806957806957846957926957966957976958006958006958046958126958196958206958236958236958276958356958446958456958486958486958526958616958696958706958736958736958786958786958846958856958886958886958936958946958946958956958986958986959036959046959126959136959166959166959216959236959236959246959276959276959326959346959436959446959476959476959526959556959626959636959666959666959716959756959776959786959816959816959866959906959976959986960016960016960066960106960196960206960236960236960286960336960416960426960456960456960506960566960626960636960666960666960716960786960806960816960846960846960896960966961006961016961046961046961096961166961226961236961266961266961316961396961446961456961486961486961536961626961656961666961696961696961746961836961926961936961966961966962026962026962046962056962086962086962146962146962186962196962226962226962286962296962326962336962366962366962426962446962456962466962496962496962556962576962646962656962686962686962746962776962826962836962866962866962926962956963026963036963066963066963126963166963226963236963266963266963326963376963416963426963456963456963516963576963586963596963626963626963686963746963806963816963846963846963906963966964046964056964086964086964146964216964286964296964326964326964386964466964516964526964556964556964616964706964736964746964776964776964836964926964976964986965016965016965076965166965236965246965276965276965346965346965406965416965446965446965516965526965566965576965606965606965676965696965716965726965756965756965826965846965896965906965936965936966006966026966096966106966136966136966206966236966296966306966336966336966406966446966486966496966526966526966596966646966666966676966706966706966776966836966846966856966886966886966956967016967046967056967086967086967156967226967246967256967286967286967356967436967436967446967476967476967546967626967716967726967756967756967826967916967916967926967956967956968026968116968136968146968176968176968256968256968266968276968306968306968386968386968476968486968516968516968596968606968686968696968726968726968806968826968886968896968926968926969006969026969106969116969146969146969226969256969326969336969366969366969446969486969536969546969576969576969656969706969746969756969786969786969866969926969956969966969996969996970076970136970186970196970226970226970306970376970416970426970456970456970536970616970646970656970686970686970766970846970876970886970916970916970996971076971156971166971196971196971276971366971366971376971406971406971486971576971666971676971706971706971796971796971876971886971916971916972006972006972086972096972126972126972216972226972296972306972336972336972426972436972526972536972566972566972656972676972756972766972796972796972886972916972986972996973026973026973116973146973226973236973266973266973356973396973436973446973476973476973566973606973666973676973706973706973796973846973896973906973936973936974026974086974126974136974166974166974256974316974366974376974406974406974496974566974586974596974626974626974716974786974826974836974866974866974956975036975066975076975106975106975196975286975306975316975346975346975436975526975566975576975606975606975696975786975856975866975896975896975986976076976166976176976206976216976216976216976296976306976336976346976346976356976426976436976466976476976476976486976576976586976616976626976626976646976716976726976756976766976766976786976876976886976916976926976926976956977036977046977076977086977086977126977196977206977236977246977246977296977296977306977336977346977346977396977446977456977486977496977496977546977616977626977656977666977666977726977786977796977826977836977836977906977956977966977996978006978006978076978156978166978196978206978206978286978326978336978366978376978376978456978516978526978556978566978566978656978706978716978746978756978766978766978806978816978846978856978866978866978946978956978986978996979006979016979016979026979056979066979076979086979106979116979146979156979166979186979196979206979236979246979256979286979286979296979326979336979346979376979416979426979456979466979476979516979536979546979576979586979596979636979676979686979716979726979736979786979816979826979856979866979876979936979956979966979996980006980016980076980146980156980186980196980206980276980296980306980336980346980356980426980466980476980506980516980526980606980636980646980676980686980696980786980806980816980846980856980866980956981026981036981066981076981096981096981126981136981166981176981196981196981246981256981286981296981316981326981366981376981406981416981436981456981486981496981526981536981556981576981666981676981706981716981736981766981776981786981816981826981846981876981906981916981946981956981976982016982036982046982076982086982106982156982166982176982206982216982236982286982366982376982406982416982436982486982566982576982606982616982636982696982696982706982736982746982766982826982916982926982956982966982986983056983136983146983176983186983206983286983336983346983376983386983406983496983516983526983556983566983586983676983716983726983756983766983796983796983826983836983866983876983906983916983936983946983976983986984016984026984116984126984156984166984196984216984286984296984326984336984366984386984476984486984516984526984556984586984666984676984706984716984746984786984856984866984896984906984936984986985036985046985076985086985116985176985176985186985216985226985256985316985336985346985376985386985416985486985496985506985536985546985576985656985656985666985696985706985736985816985896985906985936985946985976986066986096986106986136986146986176986266986316986326986356986366986406986406986446986456986486986496986536986546986576986586986616986626986666986686986706986716986746986756986796986816986856986866986896986906986946986966987026987036987066987076987116987146987196987206987236987246987286987326987366987376987406987416987456987506987536987546987576987586987626987676987736987746987776987786987826987876987966987976988006988016988056988106988196988206988236988246988286988336988426988436988466988476988516988566988656988666988696988706988746988796988886988896988926988936988976989036989056989066989096989106989146989206989226989236989266989276989316989376989396989406989436989446989486989546989566989576989606989616989656989716989746989756989786989796989836989896989956989966989996990006990046990106990166990176990206990216990256990316990376990386990416990426990466990526990586990596990626990636990676990746990786990796990826990836990876990946991016991026991056991066991106991176991246991256991286991296991336991406991476991486991516991526991566991636991706991716991746991756991796991876991936991946991976991986992026992106992196992206992236992246992286992366992456992466992496992506992546992626992716992726992756992766992806992896992896992906992936992946992986993076993136993146993176993186993226993316993406993416993446993456993496993586993676993686993716993726993766993856993946993956993986993996994046994046994046994056994086994096994146994146994226994236994266994276994326994336994346994356994386994396994446994456994466994476994506994516994566994576994586994596994626994636994686994696994726994736994766994776994826994836994916994926994956994966995016995036995046995056995086995096995146995166995176995186995216995226995276995296995306995316995346995356995406995426995456995466995496995506995556995576995666995676995706995716995766995796995816995826995856995866995916995946995966995976996006996016996066996096996116996126996156996166996216996246996296996306996336996346996396996426996516996526996556996566996616996656996676996686996716996726996776996816996836996846996876996886996936996976996996997006997036997046997096997136997186997196997226997236997286997326997416997426997456997466997516997566997586997596997626997636997686997736997756997766997796997806997856997906997926997936997966997976998026998076998136998146998176998186998236998286998356998366998396998406998456998516998516998526998556998566998616998676998676998686998716998726998776998836998836998846998876998886998936998996999036999046999076999086999136999196999256999266999296999306999356999416999506999516999546999556999606999666999756999766999796999806999856999917000007000017000047000057000107000177000217000227000257000267000317000387000427000437000467000477000527000597000667000677000707000717000767000837000907000917000947000957001007001077001147001157001187001197001247001327001347001357001387001397001447001527001567001577001607001617001667001747001817001827001857001867001917001997002067002077002107002117002167002247002317002327002357002367002417002507002527002537002567002577002637002637002647002657002687002697002757002757002797002807002837002847002907002907002947002957002987002997003057003057003097003107003137003147003207003217003217003227003257003267003327003337003337003347003377003387003447003457003487003497003527003537003597003607003637003647003677003687003747003757003787003797003827003837003897003907003997004007004037004047004107004127004197004207004237004247004307004337004337004347004377004387004447004477004477004487004517004527004587004617004617004627004657004667004727004757004827004837004867004877004937004967005047005057005087005097005157005197005207005217005247005257005317005357005367005377005407005417005477005517005527005537005567005577005637005677005757005767005797005807005867005917005977005987006017006027006087006137006227006237006267006277006337006387006477006487006517006527006587006637006727006737006767006777006837006897006957006967006997007007007067007137007187007197007227007237007297007367007447007457007487007497007557007627007707007717007747007757007817007887007967007977008007008017008077008157008217008227008257008267008327008417008447008457008487008497008557008647008707008717008747008757008817008907008967008977009007009017009077009167009227009237009267009277009347009347009397009407009437009447009517009517009587009597009627009637009707009717009717009727009757009767009837009847009847009857009887009897009967009977009977009987010017010027010097010107010197010207010237010247010317010337010417010427010457010467010537010567010577010587010617010627010697010727010737010747010777010787010857010887010907010917010947010957011027011057011077011087011117011127011197011227011247011257011287011297011367011397011447011457011487011497011567011597011647011657011687011697011767011797011857011867011897011907011977012007012067012077012107012117012187012227012267012277012307012317012387012427012497012507012537012547012617012657012727012737012767012777012847012887012967012977013007013017013087013127013217013227013257013267013337013387013447013457013487013497013567013617013707013717013747013757013827013877013967013977014007014017014087014147014147014157014187014197014267014327014347014357014387014397014467014527014587014597014627014637014707014767014857014867014897014907014977015037015127015137015167015177015247015317015317015327015357015367015437015507015527015537015567015577015647015717015787015797015827015837015907015987015987015997016027016037016107016187016187016197016227016237016307016387016397016407016437016447016517016597016637016647016677016687016757016837016917016927016957016967017037017127017137017147017177017187017257017347017357017367017397017407017477017567017587017597017627017637017707017797017847017857017887017897017977017977017977017987018017018027018107018107018137018147018177018187018267018267018297018307018337018347018427018427018467018477018507018517018597018597018677018687018717018727018807018817018817018827018857018867018947018957018987018997019027019037019117019127019157019167019197019207019287019297019337019347019377019387019467019477019557019567019597019607019687019707019717019727019757019767019847019867019907019917019947019957020037020057020097020107020137020147020227020247020297020307020337020347020427020457020457020467020497020507020587020617020637020647020677020687020767020797020847020857020887020897020977021007021057021067021097021107021187021217021277021287021317021327021407021447021457021467021497021507021587021627021677021687021717021727021807021847021927021937021967021977022057022097022177022187022217022227022307022347022437022447022477022487022567022617022667022677022707022717022797022847022907022917022947022957023037023087023177023187023217023227023307023357023447023457023487023497023577023637023637023647023677023687023767023827023887023897023927023937024017024077024157024167024197024207024287024357024367024377024407024417024497024567024577024587024617024627024707024777024797024807024837024847024927024997025087025097025127025137025217025297025297025307025337025347025427025507025537025547025577025587025667025747025777025787025817025827025907025987026027026037026067026077026157026247026257026267026297026307026387026477026547026557026587026597026687026687026687026697026727026737026827026827026827026837026867026877026967026967026977026987027017027027027117027117027207027217027247027257027347027357027377027387027417027427027517027527027577027587027617027627027717027727027777027787027817027827027917027927027987027997028027028037028127028147028187028197028227028237028327028347028427028437028467028477028567028597028607028617028647028657028747028777028787028797028827028837028927028957028977028987029017029027029117029157029167029177029207029217029307029347029387029397029427029437029527029567029637029647029677029687029777029817029887029897029927029937030027030067030147030157030187030197030287030337030407030417030447030457030547030607030667030677030707030717030807030867030957030967030997031007031097031157031247031257031287031297031387031457031467031477031507031517031607031677031687031697031727031737031827031897031967031977032007032017032107032187032187032197032227032237032327032407032407032417032447032457032547032627032647032657032687032697032787032867032887032897032927032937033027033107033197033207033237033247033337033427033447033457033487033497033587033677033697033707033737033747033837033927033967033977034007034017034107034197034247034257034287034307034307034307034317034327034357034377034377034377034417034427034457034477034477034477034517034527034557034577034577034577034637034647034677034697034697034697034777034787034817034837034837034847034867034877034907034927034927034937034987034997035027035047035047035057035107035117035147035167035167035177035247035257035287035307035307035327035327035337035367035387035387035407035417035427035457035477035477035497035537035547035577035597035597035617035657035667035697035717035717035737035797035807035837035857035857035877035967035977036007036027036027036057036067036077036107036127036127036157036197036207036237036257036257036287036327036337036367036387036387036417036477036487036517036537036537036577036577036587036617036637036637036677036687036697036727036747036747036787036827036837036867036887036887036927036967036977037007037027037027037067037127037137037167037187037187037237037247037257037287037307037307037357037367037377037407037427037427037477037517037527037557037577037577037627037667037677037707037727037727037777037837037847037877037897037897037957037967037977038007038027038027038087038167038177038207038227038227038297038307038317038347038367038367038437038447038457038487038507038507038577038607038617038647038667038667038737038817038827038857038877038877038957039027039037039067039087039087039177039177039187039217039237039237039327039327039337039367039387039387039477039497039507039537039557039557039647039717039727039757039777039787039787039847039857039887039907039917039917040007040017040047040067040077040077040167040177040207040227040237040247040257040267040297040317040327040337040407040417040447040467040477040487040567040577040607040627040637040657040667040677040707040727040737040757040767040777040807040827040837040857040887040897040927040947040957040977041067041077041107041127041137041167041237041247041277041297041307041347041347041357041387041407041417041457041457041467041497041517041527041567041587041597041627041647041657041697041787041797041827041847041857041897041987041997042027042047042057042107042127042137042167042187042197042247042267042277042307042327042337042387042427042437042467042487042497042557042567042577042607042627042637042697042717042727042757042777042787042847042897042907042937042957042967043027043077043087043117043137043147043207043277043287043317043337043347043417043457043467043497043517043527043597043657043667043697043717043727043797043887043897043927043947043957044027044117044127044157044177044187044267044277044287044317044337044347044427044507044517044547044567044577044667044737044747044777044797044817044817044817044827044857044877044897044897044897044907044937044957044977044977044997045007045037045057045077045087045087045097045127045147045167045177045187045197045227045247045267045277045317045327045357045377045397045407045447045457045487045507045527045537045597045607045637045657045677045697045737045747045777045797045817045837045897045907045937045957045977045997046087046097046127046147046167046187046277046287046317046337046357046387046397046407046437046457046477046507046597046607046637046657046677046717046757046767046797046817046837046877046947046957046987047007047027047067047137047147047177047197047217047257047347047357047387047407047427047477047557047567047597047617047637047697047697047707047737047757047777047837047867047877047907047927047947048007048037048047048077048097048117048177048227048237048267048287048307048377048417048427048457048477048497048567048647048657048687048707048727048807048817048827048857048877048897048977048987048997049027049047049067049147049177049187049217049237049257049347049367049377049407049427049447049537049607049617049647049667049697049697049697049707049737049757049787049787049787049797049827049847049877049877049897049907049937049957049987049997050007050017050047050067050097050117050117050127050157050177050207050227050257050267050297050317050347050367050397050407050437050457050487050507050567050577050607050627050657050677050737050747050777050797050827050857050877050887050917050937050967050997051047051057051087051107051137051167051217051227051257051277051307051337051417051427051457051477051507051537051617051627051657051677051707051747051807051817051847051867051897051937052027052037052067052087052117052157052247052257052287052307052337052387052407052417052447052467052497052547052567052577052607052627052657052717052727052737052767052787052817052877052917052927052957052977053007053067053107053117053147053167053197053257053327053337053367053387053417053477053557053567053597053617053647053717053767053777053807053827053857053927054007054017054047054067054097054167054247054257054287054307054337054417054427054437054467054487054517054597054627054637054667054687054717054797054867054877054907054927054957055047055047055057055087055107055137055227055227055237055267055287055317055407055437055447055477055497055527055617055667055677055707055727055767055767055777055787055817055837055877055877055917055927055957055977056017056017056057056067056097056117056157056157056227056237056267056287056327056327056417056427056457056477056517056527056597056607056637056657056697056717056717056727056757056777056817056837056837056847056877056897056937056957056987056997057027057047057087057107057167057177057207057227057267057287057357057367057397057417057457057487057487057497057527057547057587057617057617057627057657057677057717057747057777057787057817057837057877057907057967057977058007058027058067058107058147058157058187058207058247058287058357058367058397058417058457058497058567058577058607058627058667058717058717058727058757058777058817058867058907058917058947058967059007059057059097059107059137059157059197059247059317059327059357059377059417059467059537059547059577059597059637059697059697059707059737059757059797059857059897059907059937059957059997060057060117060127060157060177060217060277060367060377060407060427060467060527060617060627060657060677060717060787060807060817060847060867060907060977061037061047061077061097061137061217061247061257061287061307061347061427061487061497061527061547061587061667061727061737061767061787061827061907061997062007062037062057062097062187062227062237062267062287062327062417062497062507062537062557062607062607062617062627062657062677062727062727062737062747062777062797062847062847062887062897062927062947062997062997063087063097063127063147063197063207063257063267063297063317063367063377063457063467063497063517063567063577063657063667063697063717063767063787063797063807063837063857063907063927063987063997064027064047064097064127064167064177064207064227064277064307064377064387064417064437064487064517064587064597064627064647064697064737064737064747064777064797064847064887064947064957064987065007065057065107065107065117065147065167065217065267065297065307065337065357065407065457065487065497065527065547065597065647065707065717065747065767065817065877065907065917065947065967066017066077066117066127066157066177066227066287066357066367066397066417066467066527066597066607066637066657066707066777066777066787066817066837066887066957067027067037067067067087067137067217067217067227067257067277067327067407067437067447067477067497067547067627067657067667067697067717067767067847067907067917067947067967068017068107068137068147068177068197068247068337068427068437068467068487068547068547068567068577068607068627068687068687068707068717068747068767068827068827068877068887068917068937068997069007069027069037069067069087069147069157069247069257069287069307069367069387069407069417069447069467069527069547069567069577069607069627069687069707069757069767069797069817069877069907069937069947069977069997070057070087070157070167070197070217070277070317070317070327070357070377070437070477070477070487070517070537070597070637070667070677070707070727070787070837070847070857070887070907070967071017071087071097071127071147071207071267071267071277071307071327071387071447071447071457071487071507071567071627071657071667071697071717071777071847071857071867071897071917071977072057072057072067072097072117072177072257072287072297072327072347072407072487072517072527072557072577072637072717072777072787072817072837072897072987073037073047073077073097073157073247073327073337073367073387073457073457073467073477073507073527073597073597073607073617073647073667073737073737073787073797073827073847073917073917073967073977074007074027074097074097074147074157074187074207074277074277074357074367074397074417074487074487074567074577074607074627074697074707074727074737074767074787074857074867074887074897074927074947075017075027075067075077075107075127075197075207075277075287075317075337075407075417075487075497075527075547075617075637075647075657075687075707075777075797075807075817075847075867075937075957076017076027076057076077076147076167076257076267076297076317076387076407076497076507076537076557076627076657076687076697076727076747076817076847076887076897076927076947077017077047077097077107077137077157077227077257077337077347077377077397077467077497077577077587077617077637077707077747077767077777077807077827077897077937077967077977078007078027078097078147078157078167078197078217078287078337078377078387078417078437078507078557078597078607078637078657078727078777078857078867078897078917078987079047079047079057079087079107079177079237079237079247079277079297079367079427079457079467079497079517079587079647079677079687079717079737079807079867079937079947079977079997080067080127080217080227080257080277080347080417080437080447080477080497080567080637080687080697080727080747080817080887080937080947080977080997081067081137081227081237081267081287081357081437081457081467081497081517081587081667081687081697081727081747081817081897081947081957081987082007082077082157082207082217082247082267082337082417082507082517082547082567082637082727082747082757082787082807082877082967083057083067083097083117083197083197083217083227083257083277083357083357083377083387083417083437083517083517083577083587083617083637083717083717083807083817083847083867083947083957084037084047084077084097084177084197084207084217084247084267084347084367084377084387084417084437084517084537084587084597084627084647084727084747084837084847084877084897084977085007085027085037085067085087085167085197085247085257085287085307085387085417085467085477085507085527085607085637085727085737085767085787085867085907085937085947085977085997086077086117086197086207086237086257086337086387086397086407086437086457086537086587086597086607086637086657086737086787086837086847086877086897086977087037087037087047087077087097087177087237087257087267087297087317087397087457087507087517087547087567087647087707087757087767087797087817087897087957088047088057088087088107088187088257088297088307088337088357088437088507088587088597088627088647088727088807088817088827088857088877088957089037089047089057089087089107089187089267089317089327089357089377089457089547089547089557089587089607089687089777089867089877089907089927090017090017090037090047090077090097090187090187090207090217090247090267090357090357090417090427090457090477090567090577090587090597090627090647090737090757090757090767090797090817090907090927090957090967090997091017091107091127091157091167091197091217091307091327091397091407091437091457091547091577091607091617091647091667091757091787091877091887091917091937092027092067092087092097092127092147092237092277092297092307092337092357092447092487092547092557092587092607092697092747092767092777092807092827092917092977092977092987093017093037093127093187093217093227093257093277093367093427093457093467093497093517093607093667093737093747093777093797093887093957093997094007094037094057094147094217094287094297094327094347094437094517094517094527094557094577094667094747094747094757094787094807094897094977095017095027095057095077095167095257095267095277095307095327095417095507095567095577095607095627095717095807095897095907095937095957096047096137096227096237096267096297096297096297096327096337096367096397096397096407096417096427096457096487096487096497096527096537096567096597096597096607096667096677096707096737096737096747096807096817096847096877096877096897096897096907096937096967096967096987097067097077097107097137097137097167097187097197097227097257097257097287097337097347097377097407097407097437097487097497097527097557097557097587097677097687097717097747097747097787097857097867097897097927097927097977098037098047098077098107098107098157098247098257098287098317098317098367098457098467098497098527098527098587098617098627098657098687098687098757098777098787098817098847098847098917098957098967098997099027099027099097099167099177099207099237099237099307099377099387099417099447099447099527099537099547099577099607099607099697099697099707099737099767099767099857099947099957099987100017100027100027100047100057100087100117100127100127100147100157100187100217100227100227100297100307100337100367100377100377100447100457100487100517100527100527100607100617100647100677100687100697100707100717100747100777100787100797100807100817100847100877100887100897100957100967100997101027101037101047101107101117101147101177101187101207101227101237101267101297101307101327101377101387101417101447101457101477101527101537101567101597101607101637101637101647101677101707101717101747101757101767101797101827101837101867101927101937101967101997102007102037102127102137102167102197102207102237102327102337102367102397102407102447102487102497102527102557102567102607102667102677102707102737102747102787102867102877102907102937102947102997103007103017103047103077103087103137103147103157103187103217103227103277103337103347103377103407103417103467103547103557103587103617103627103687103707103717103747103777103787103847103897103907103937103967103977104037104087104097104127104157104167104237104237104247104277104307104317104387104417104427104457104487104497104567104597104607104637104667104677104747104807104817104847104877104887104957105017105027105057105087105097105177105187105197105227105257105267105347105387105397105427105457105467105547105617105627105657105687105697105787105787105797105827105857105867105957105957105967105997106027106037106127106177106187106217106247106257106347106437106447106477106507106517106607106697106707106737106767106787106787106807106817106847106877106897106897106917106927106957106987107007107007107077107087107117107147107167107177107187107197107227107257107277107287107317107327107357107387107407107417107477107487107517107547107567107577107637107647107677107707107727107747107757107767107797107827107847107867107917107927107957107987108007108037108067108077108107108137108157108187108247108257108287108317108337108367108427108437108467108497108517108557108567108577108607108637108657108697108757108767108797108827108847108887108977108987109017109047109067109117109137109147109177109207109227109277109297109307109337109367109387109437109507109517109547109577109597109657109687109697109727109757109777109837109867109877109907109937109957110017110077110087110117110147110167110227110287110297110327110357110377110447110457110467110497110527110547110617110687110697110727110757110777110847110937110947110977111007111027111107111127111137111167111197111217111297111317111327111357111387111407111487111557111567111597111627111647111737111767111777111807111837111867111867111877111887111917111947111977111977112017112027112057112087112117112117112157112167112197112227112257112257112347112357112387112417112447112457112517112527112557112587112617112637112637112647112677112707112737112757112787112797112827112857112887112907112937112947112977113007113037113057113137113147113177113207113237113267113327113337113367113397113427113457113527113537113567113597113627113667113667113677113707113737113767113807113807113817113847113877113907113947113997114007114037114067114097114147114177114187114217114247114277114327114387114397114427114457114487114537114627114637114667114697114727114777114867114877114907114937114967115027115067115077115107115137115167115237115267115277115307115337115367115437115467115477115507115537115567115637115697115707115737115767115797115867115927115937115967115997116027116107116117116127116157116187116217116307116307116317116347116377116407116497116527116537116567116597116627116717116777116787116817116847116877116967117027117037117067117097117137117137117157117167117197117227117267117267117287117297117327117357117397117397117417117427117457117487117527117527117577117587117617117647117687117687117737117747117777117807117847117857117867117877117907117937117977117987117997118007118037118067118107118117118147118157118187118217118257118267118327118337118367118397118437118447118507118517118547118577118617118637118657118667118697118727118767118787118807118817118847118877118917118947118957118967118997119027119067119097119137119147119177119207119247119277119317119327119357119387119427119467119467119477119507119537119577119617119627119637119667119697119737119777119837119847119877119907119947119987120077120087120117120147120187120227120317120327120357120387120427120477120527120537120567120597120637120687120757120767120797120827120867120917121007121017121047121077121117121177121197121207121237121267121307121367121387121397121427121457121497121557121637121647121677121707121747121817121817121827121857121887121927121997122037122047122077122107122147122217122287122297122327122357122397122467122537122547122577122607122647122727122757122767122797122827122867122947123007123017123047123077123117123197123267123277123307123337123377123467123467123477123507123537123577123667123667123677123707123737123777123867123927123937123967123997124037124127124217124227124257124287124337124337124417124427124457124487124537124547124557124567124597124627124677124687124697124707124737124767124817124827124897124907124937124967125017125037125047125057125087125117125167125187125257125267125297125327125377125407125407125417125447125477125527125557125557125567125597125627125677125707125767125777125807125837125887125927125927125937125967125997126047126087126167126177126207126237126287126337126347126357126387126417126467126517126527126537126567126597126647126697126767126777126807126837126887126947126967126977127007127037127087127147127217127227127257127287127337127407127407127417127447127477127527127597127597127607127637127667127717127787127847127857127887127917127967128047128067128077128107128137128187128267128327128337128367128397128447128527128617128627128657128687128737128817128907128917128947128977129027129117129167129177129207129237129297129297129317129327129357129387129447129447129477129487129517129547129607129607129667129677129707129737129797129797129857129867129897129927129987129997130017130027130057130087130147130157130247130257130287130317130377130397130417130427130457130487130547130567130617130627130657130687130747130767130817130827130857130887130947130977130987130997131027131057131117131147131237131247131277131307131367131407131407131417131447131477131537131577131607131617131647131677131737131777131807131817131847131877131937131977132067132077132107132137132197132247132317132327132357132387132447132507132547132557132587132617132677132737132807132817132847132877132937132997133067133077133107133137133197133267133297133307133337133367133427133507133527133537133567133597133657133737133797133807133837133867133927134007134097134107134137134167134227134307134397134407134437134467134527134617134667134677134707134737134807134807134847134857134887134917134987134997134997135007135037135067135137135147135177135187135217135247135317135327135357135367135397135427135497135517135517135527135557135587135657135677135677135687135717135747135817135837135877135887135917135947136017136037136107136117136147136177136247136267136337136347136377136407136477136507136547136557136587136617136687136717136767136777136807136837136907136937137017137027137057137087137157137197137207137217137247137277137347137387137397137407137437137467137537137577137657137667137697137727137797137847137847137857137887137917137987138037138037138047138077138107138177138227138257138267138297138327138397138447138477138487138517138547138617138677138677138687138717138747138817138877138897138907138937138967139037139097139137139147139177139207139277139337139407139417139447139477139547139607139677139687139717139747139817139887139927139937139967139997140067140137140207140217140247140277140347140417140497140507140537140567140637140717140727140737140767140797140867140947140957140967140997141027141097141177141257141267141297141327141397141487141497141507141537141567141637141727141757141767141797141827141897141987142047142057142087142117142187142277142337142347142377142407142487142487142517142527142557142587142667142667142727142737142767142797142877142887142937142947142977143007143087143097143177143187143217143247143327143337143417143427143457143487143567143587143637143647143677143707143787143807143897143907143937143967144047144077144077144087144117144147144227144257144287144297144327144357144437144467144497144507144537144567144647144687144687144697144727144757144837144877144927144937144967144997145077145117145167145177145207145237145317145357145437145447145477145507145587145627145707145717145747145777145857145907145957145967145997146027146107146167146167146177146207146237146317146377146397146407146437146467146547146607146657146667146697146727146807146867146917146927146957146987147067147137147157147167147197147227147307147377147447147457147487147517147597147677147737147747147777147807147887147967148057148067148097148127148207148287148377148387148417148447148527148617148677148687148717148747148837148837148857148867148897148927149017149017149047149057149087149117149207149207149267149277149307149337149427149427149487149497149527149557149647149657149687149697149727149757149847149867149867149877149907149937150027150047150047150057150087150117150207150227150257150267150297150327150417150437150467150477150507150537150627150657150657150667150697150727150817150847150917150927150957150987151077151117151177151187151217151247151337151377151467151477151507151537151627151667151757151767151797151827151917151967152027152037152067152097152187152247152287152297152327152357152447152517152517152527152557152587152677152747152777152787152817152847152937153007153037153047153077153107153197153277153277153287153317153347153437153517153597153607153637153667153757153847153917153927153957153997153997153997153997154007154037154077154077154077154077154087154117154157154157154157154227154237154267154307154307154317154367154377154407154447154447154467154507154517154547154587154587154607154677154687154717154757154757154777154847154857154887154927154927154957154997155007155037155077155077155117155147155157155187155227155227155277155277155287155317155357155357155407155437155447155477155517155517155567155597155607155637155677155677155737155747155757155787155827155827155887155897155907155937155977155977156037156087156097156127156167156167156227156307156317156347156387156387156447156527156537156567156607156607156677156737156747156777156817156817156887156947156957156987157027157027157107157137157147157177157217157217157297157357157367157397157437157437157517157577157587157617157657157657157747157787157797157827157867157867157957157997158007158037158077158087158087158107158117158147158187158197158197158247158257158287158327158337158337158387158397158427158467158477158487158517158527158557158597158607158617158647158657158687158727158737158757158767158777158807158847158857158877158917158927158957158997159007159027159067159077159107159147159157159187159207159217159247159287159297159327159357159367159397159437159447159477159557159567159597159637159647159687159697159707159737159777159787159827159837159847159877159917159927159967160057160067160097160137160147160197160197160207160237160277160287160337160417160427160457160497160507160567160577160587160617160657160667160727160737160747160777160817160827160887160977160987161017161057161067161137161137161147161177161217161227161297161387161397161427161467161477161557161577161587161617161657161667161747161767161777161807161847161857161947161947161957161987162027162037162127162147162157162187162227162237162327162347162357162387162427162437162527162577162587162617162657162667162757162807162817162847162887162907162907162937162947162977163017163037163037163087163097163127163167163187163197163217163227163257163297163317163327163377163387163417163457163477163487163537163547163577163617163637163657163687163697163727163767163787163807163867163877163907163947163967163987164047164057164087164127164147164167164257164267164297164337164357164377164467164477164507164547164567164597164667164677164707164747164767164807164807164817164847164887164907164947164957164967164997165037165057165097165137165147165177165217165237165277165317165327165357165397165417165467165487165497165527165567165587165637165697165707165737165777165797165847165907165917165947165987166007166057166147166157166187166227166247166297166387166397166427166467166487166547166617166627166657166697166717166787166797166807166837166877166897166967167047167057167087167127167147167227167237167247167277167317167337167417167427167437167467167507167527167607167697167707167737167777167797167887167927167937167967168007168027168117168157168167168197168237168257168347168417168427168457168497168517168607168677168687168717168757168787168787168837168847168877168917168947168957168957168967168997169037169067169077169097169107169137169177169207169217169267169277169307169347169377169387169437169447169477169517169547169567169597169607169637169677169707169727169807169817169847169887169917169947170017170027170057170097170127170167170167170177170207170247170277170317170317170327170357170397170427170467170547170557170587170627170657170707170747170757170787170827170857170917170917170927170957170997171027171087171117171127171157171197171227171287171317171327171357171397171427171497171507171517171547171587171617171687171757171767171797171837171867171947172007172017172047172087172117172197172287172297172327172367172397172477172567172577172607172647172677172767172837172847172877172917172957172957172997173007173037173077173117173117173167173177173207173247173287173287173367173377173407173447173487173487173567173577173607173647173687173697173757173767173797173837173877173897173937173947173977174017174057174077174117174127174157174197174237174257174327174337174367174407174447174467174537174547174577174617174657174687174737174747174777174817174857174897174927174937174967175007175047175097175097175107175137175177175217175267175297175307175337175377175417175467175497175507175537175577175617175677175687175697175727175767175807175877175877175887175917175957175997176067176067176077176107176147176187176257176287176297176327176367176407176477176507176517176547176587176627176707176717176727176757176797176837176927176927176937176967177007177047177137177167177177177207177247177287177377177437177447177477177517177557177647177707177717177747177787177837177837177877177887177917177957178007178017178047178057178087178127178177178187178247178257178287178327178377178387178477178487178517178557178607178617178707178717178747178787178837178857178937178947178977179017179067179087179167179177179207179247179297179317179397179407179437179477179527179557179567179577179607179647179697179727179737179747179777179817179867179907179907179917179947179987180037180077180077180087180117180157180207180247180277180287180317180357180407180447180507180517180547180587180637180677180737180747180777180817180867180917180967180977181007181047181097181147181197181207181237181277181327181387181397181407181437181477181527181587181627181637181667181707181757181817181857181867181897181937181987182057182087182097182127182167182217182287182327182337182367182407182457182527182617182627182657182697182747182827182847182857182887182927182977183057183077183087183117183157183207183297183307183317183347183387183437183527183557183567183597183637183687183777183827183837183867183907183957184047184127184137184167184207184257184347184427184437184467184507184567184567184637184647184677184717184777184777184867184877184907184947185007185017185057185067185097185137185197185207185277185287185317185357185417185427185497185507185537185577185637185657185717185727185757185797185857185877185957185967185997186037186097186127186187186197186227186267186327186357186447186457186487186527186587186617186707186717186747186787186847186887186967186977187007187047187107187157187167187177187207187247187307187357187437187447187477187517187577187637187647187657187687187727187787187847187857187867187897187937187997188067188067188077188107188147188207188277188317188327188357188397188457188527188607188617188647188687188747188827188837188847188877188917188977189057189067189077189107189147189207189297189297189307189337189377189437189527189567189577189607189647189717189717189727189737189767189807189877189877189917189927189957189997190067190067190107190117190147190187190257190267190297190307190337190377190447190457190537190547190577190617190687190697190787190797190827190867190937190957190977190987191017191057191127191147191167191177191207191247191317191347191357191367191397191437191507191537191597191607191637191677191747191777191857191867191897191937192007192047192057192067192097192137192207192247192257192267192297192337192407192457192457192467192497192537192607192657192707192717192747192787192857192917192957192967192997193037193107193167193237193247193277193317193387193447193517193527193557193597193667193737193797193807193837193877193947194027194047194057194087194127194197194277194317194327194357194397194467194547194617194627194657194697194767194847194917194927194957194997195067195157195217195227195257195297195377195377195397195407195437195477195557195557195637195647195677195717195797195807195817195827195857195897195977195987195997196007196037196077196157196177196177196187196217196257196337196357196417196427196457196497196577196607196647196657196687196727196807196837196907196917196947196987197067197097197167197177197207197247197327197367197427197437197467197507197587197637197667197677197707197747197827197877197957197967197997198037198117198177198187198197198227198267198347198407198417198427198457198497198577198647198647198657198687198727198807198877198947198957198987199027199107199187199237199247199277199317199397199477199557199567199597199637199717199797199877199887199917199957200037200127200197200207200237200277200367200367200417200427200457200497200587200587200667200677200707200747200837200847200857200867200897200937201027201037201047201057201087201127201217201237201237201247201277201317201407201427201507201517201547201587201677201707201727201737201767201807201897201927201977201987202017202057202147202177202227202237202267202307202397202437202477202487202517202557202647202697202727202737202767202807202897202947202987202997203027203067203157203207203277203287203317203357203447203497203567203577203607203647203737203797203857203867203897203937204027204097204147204157204187204227204317204387204477204487204517204557204647204727204747204757204787204827204917204997205017205027205057205097205187205277205287205297205327205377205377205377205377205387205417205467205467205467205557205567205597205647205647205657205677205687205717205767205767205777205807205817205847205897205897205907205937205947205977206027206027206037206067206077206107206157206157206167206257206267206297206347206347206367206387206397206427206477206477206497206527206537206567206617206617206637206667206677206707206757206757206777206817206827206857206907206907206927206997207007207037207087207087207117207117207127207157207207207207207237207247207257207287207337207337207367207377207387207417207467207467207497207517207527207557207607207607207637207717207727207757207807207807207847207857207867207897207947207947207987208007208017208047208097208097208137208157208167208197208247208247208287208327208337208367208417208417208457208507208517208547208597208597208637208717208727208757208807208807208847208937208947208977209027209027209067209157209167209197209247209247209297209317209327209357209407209407209457209477209487209517209567209567209617209667209677209707209757209757209807209867209877209907209957209957210007210067210077210107210157210157210207210297210307210337210387210387210447210507210517210547210597210597210657210747210757210787210837210837210907210907210917210947210997210997211067211067211077211107211157211157211227211267211277211307211357211357211427211467211477211507211557211557211627211697211707211737211787211787211857211937211947211977212027212027212097212177212187212217212267212267212347212367212377212407212457212457212537212617212627212657212707212707212797212807212817212847212897212897212987213007213017213047213097213097213187213207213217213247213297213297213387213447213457213487213537213547213547213577213587213617213667213677213677213737213747213777213827213837213837213907213917213947213997214007214007214077214087214117214167214177214187214207214217214247214297214307214317214377214387214417214467214477214487214577214587214617214667214677214697214697214707214737214787214797214817214817214827214857214907214917214937214987214997215027215077215087215117215137215147215177215227215237215267215317215327215357215407215417215447215507215517215547215597215607215637215697215707215737215787215797215837215857215867215897215947215957215997216047216057216087216137216147216187216267216277216307216357216367216407216497216507216537216587216597216637216727216737216767216817216827216877216927216937216967217017217027217077217167217177217207217257217267217327217347217357217387217437217447217507217537217547217577217627217637217697217727217737217767217817217827217897217897217907217937217987217997218067218077218087218117218167218177218247218287218297218327218377218387218457218507218517218547218597218607218677218727218737218767218817218827218907218927218937218967219017219027219107219167219177219207219257219267219347219437219447219477219527219537219627219627219637219667219717219727219817219817219827219857219907219917220007220087220097220127220177220187220277220357220367220397220447220467220467220477220487220517220567220587220587220607220617220647220697220717220717220737220747220777220827220847220857220857220867220897220947220967220977221037221047221077221127221147221157221247221257221287221337221357221377221377221387221417221467221487221507221507221517221547221597221617221637221727221737221767221817221837221867221887221897221927221977221997222027222077222087222117222167222187222217222277222287222317222367222387222417222477222487222517222567222587222627222677222687222717222767222787222837222847222857222887222937222957223007223047223057223087223137223157223207223257223267223297223347223367223417223477223487223517223567223587223637223697223707223737223787223807223857223937223947223977224027224047224107224117224127224157224207224227224287224307224317224347224397224417224477224507224517224547224597224617224677224717224727224757224807224827224887224927224937224967225017225037225097225167225177225207225257225277225337225417225427225457225507225527225587225677225687225717225767225787225857225857225867225897225947225967226037226107226117226147226197226217226297226297226307226337226387226407226487226497226507226537226587226607226687226707226717226747226797226817226897226937226947226977227027227047227127227167227177227207227257227277227357227427227437227467227517227537227617227697227707227737227787227807227887227977227987228017228067228087228177228187228197228227228277228297228387228467228477228507228557228587228587228597228607228637228687228717228717228737228747228777228827228857228857228887228897228927228977229007229007229057229067229097229147229177229187229207229217229247229297229327229337229387229397229427229477229507229517229577229587229617229667229697229707229777229787229817229867229897229917229917229927229957230007230037230057230097230107230137230187230217230237230307230317230347230397230427230447230527230537230567230617230647230667230757230767230797230847230877230907230927230937230967231017231047231077231167231177231207231257231287231327231347231357231387231437231467231507231537231547231577231627231657231697231737231747231777231827231857231897231977231987232017232067232097232147232167232177232207232257232287232337232387232397232427232477232507232557232617232627232657232707232737232787232857232867232897232947232977233037233047233057233087233137233167233227233287233297233327233377233407233467233557233567233597233647233677233747233747233757233787233837233867233937233947233957233987234037234067234137234197234207234237234287234317234387234467234477234507234557234587234667234677234687234717234767234797234877234897234907234937234987235017235097235127235137235167235217235247235327235407235417235447235497235527235617235647235657235687235737235767235857235917235927235957236007236037236127236197236207236237236287236317236407236487236497236527236577236617236617236657236667236697236747236787236787236847236857236887236937236977236977237067237077237107237157237197237207237207237217237247237297237337237347237357237367237397237447237487237497237567237577237607237657237697237717237757237767237797237847237887237907237977237987238017238067238107238127238207238217238247238297238337238357238447238457238487238537238577238607238667238677238707238757238797238837238837238847238877238927238967239007239037239047239077239127239167239207239247239257239287239337239377239417239467239477239507239557239597239647239667239677239707239757239797239847239937239947239977240027240067240127240147240157240187240237240277240337240367240377240407240457240497240557240597240607240637240687240727240797240817240827240857240907240947241017241077241087241117241167241207241277241367241377241407241457241497241577241577241587241617241667241707241787241797241807241837241887241927242017242017242027242057242107242147242237242247242257242287242337242377242467242507242517242547242597242637242727242777242787242817242867242907242997243057243067243097243147243197243197243247243257243287243337243387243397243427243437243467243517243567243577243637243647243677243727243777243787243857243867243897243947243997244007244097244107244137244187244237244247244337244347244377244427244477244497244497244507244537244587244637244657244687244697244727244777244827244847244887244897244927244977245027245047245107245117245147245197245247245267245327245337245367245417245467245497245537245547245577245627245677245707245777245787245817245867245917245947246027246037246067246117246167246207246207246217246247246297246347246387246397246407246437246487246537246577246657246667246697246747246797246847246857246867246897246947246997247047247067247077247107247157247207247257247297247307247337247387247437247487247547247557247587247637247687247747247747247757247787247837247887247947247977247987248017248067248117248177248217248227248257248307248357248417248477248487248517248567248617248677248757248767248797248847248897248967249017249027249057249107249157249227249307249317249347249397249447249517249607249617249647249697249747249827249837249847249877249927249977250057250097250107250137250187250237250317250407250417250447250497250547250637250657250667250697250747250797250887250917250927250957251007251057251147251197251207251237251287251337251427251507251517251547251597251657251657251697251707251737251787251847251847251917251927251957252007252067252067252147252157252187252237252297252307252307252317252347252397252457252467252507252517252547252597252657252667252737252747252777252827252887252907252907252917252947252997253057253077253087253097253127253177253237253257253287253297253327253377253437253457253527253537253567253617253677253707253737253747253777253827253887253917253977253987254017254067254127254157254227254237254267254317254377254407254497254507254537254587254647254687254727254737254767254817254877254917254997255007255037255087255147255197255207255217255247255297255357255407255427255437255467255517255577255627255667255677255707255757255817255867255957255967255997256047256107256167256217256227256257256307256367256427256507256517256547256597256657256717256807256817256847256897256957257027257037257047257077257127257187257257257327257337257367257417257477257557257557257567257597257647257707257787257817257827257857257907257967258047258087258097258127258177258237258317258377258387258417258467258527258617258637258647258677258727258787258877258957258967258997259047259117259117259127259137259167259217259287259287259307259317259347259397259467259467259507259517259547259597259667259677259687259697259727259777259847259857259907259917259947259997260067260077260157260167260197260247260317260327260417260427260457260507260577260597260607260617260647260697260767260787260867260877260907260957261027261057261117261127261157261207261277261307261397261407261437261487261557261597261597261607261637261687261757261797261817261827261857261907261977262027262027262037262067262117262187262237262287262297262327262377262447262497262577262587262617262667262737262787262877262887262917262967263037263097263107263117263147263197263267263327263417263427263457263507263577263647263717263727263757263807263877263957263957263967263997264047264117264197264207264217264247264297264367264447264477264487264517264567264637264727264747264757264787264837264907264997265077265087265117265167265247265247265257265267265297265347265427265427265447265457265487265537265617265617265667265677265707265757265837265837265887265897265927265977266057266057266127266137266167266217266297266307266307266317266347266397266477266487266497266507266537266587266667266677266717266727266757266807266887266897266937266947266977267027267107267127267157267167267197267247267327267347267407267417267447267497267577267597267667267677267707267757267837267867267867267877267907267957268037268067268077268087268117268167268247268277268307268317268347268397268477268507268567268577268607268657268737268767268837268847268877268927269007269047269047269057269087269137269217269257269277269287269317269367269447269487269507269517269547269597269677269717269767269777269807269857269937269977270037270047270077270127270207270247270337270347270377270427270507270557270567270577270607270657270737270787270877270887270917270967271047271107271127271137271167271217271297271357271387271397271427271477271557271617271677271687271717271767271847271907271997272007272037272087272167272237272277272287272317272367272447272517272587272597272627272677272757272827272907272917272947272997273077273157273167273177273207273257273337273417273457273467273497273547273627273717273737273747273777273827273907273997274047274057274087274137274217274307274367274377274407274457274537274627274717274727274757274807274897274897274927274937274967275017275107275107275197275207275237275287275377275387275407275417275447275497275587275597275627275637275667275717275807275817275877275887275917275967276057276077276087276097276127276177276267276287276347276357276387276437276527276547276637276647276677276727276817276847276847276857276887276937277027277057277087277097277127277177277267277297277387277397277427277477277567277607277617277627277657277707277797277837277877277887277917277967278057278097278147278157278187278237278327278367278447278457278487278537278627278677278717278727278757278807278897278947279037279047279077279127279217279277279297279307279337279387279477279537279567279577279607279657279747279807279867279877279907279957280047280117280147280157280187280237280327280397280467280477280507280557280647280727280727280737280767280817280907280987280997281007281037281087281177281257281297281307281337281387281477281567281577281587281617281667281757281847281907281917281947281997282087282177282267282277282307282367282367282367282367282377282407282467282467282467282497282507282537282597282597282607282617282627282657282717282717282727282757282767282797282857282857282867282927282937282967283027283027283037283107283117283147283207283207283227283227283237283267283327283327283347283427283437283467283527283527283557283587283597283627283687283687283717283777283787283817283877283877283907283977283987284017284077284077284117284117284127284157284217284217284257284347284357284387284447284447284497284527284537284567284627284627284677284737284747284777284837284837284887284957284967284997285057285057285117285117285127285157285217285217285277285367285377285407285467285467285537285597285607285637285697285697285767285857285867285897285957285957286037286037286047286077286137286137286217286257286267286297286357286357286437286477286487286517286577286577286657286737286747286777286837286837286927286937286947286977287037287037287127287147287157287187287247287247287337287397287407287437287497287497287587287647287657287687287747287757287757287787287797287827287887287897287897287957287967287997288057288067288067288137288147288177288237288247288257288267288277288307288367288377288387288407288417288447288507288517288527288607288617288647288707288717288737288747288757288787288847288857288877288897288907288937288997289007289027289087289097289127289187289197289217289297289307289337289397289407289427289517289527289557289617289627289657289677289687289717289777289787289817289847289857289887289947289957289987290057290067290097290157290167290197290287290297290327290387290397290437290507290517290547290607290617290667290667290677290707290767290777290827290837290847290877290937290947290997291047291057291087291147291157291207291287291297291327291387291397291457291457291467291497291557291567291627291657291667291697291757291767291827291867291877291907291967291977292037292117292127292157292217292227292297292307292317292347292407292417292487292517292527292557292617292627292697292757292767292797292857292867292937293007293017293047293107293117293197293207293217293247293307293317293397293437293447293477293537293547293627293717293727293757293817293827293917293937293947293977294037294047294137294167294177294207294267294277294367294437294447294477294537294557294557294567294577294607294667294687294687294717294727294757294817294837294837294897294907294937294997295017295017295087295097295127295187295207295217295227295237295267295327295347295357295407295417295447295507295527295547295557295567295597295657295677295697295737295747295777295837295857295877295927295937295967296027296047296067296157296167296197296257296277296307296337296347296377296437296457296487296577296587296617296677296697296737296757296767296797296857296877296917296947296957296987297047297067297107297177297187297217297277297297297347297367297377297407297467297487297537297567297577297607297667297687297737297797297807297837297897297917297967298037298047298077298137298157298217298227298237298267298327298347298407298467298477298507298567298587298657298697298707298737298797298817298887298957298967298997299057299077299147299227299237299267299327299347299427299447299457299487299547299567299647299727299737299767299827299847299937299937299947299977300037300057300147300177300187300217300277300297300387300427300437300467300527300547300637300717300727300757300817300847300847300887300897300927300987301017301017301077301087301117301177301207301207301297301307301337301397301427301437301437301447301477301537301567301577301617301627301657301717301747301767301767301777301807301867301897301917302007302017302047302107302137302167302187302197302227302287302317302347302377302387302417302477302507302537302607302617302647302707302737302777302817302827302857302917302947302997302997303007303037303097303127303177303207303217303247303307303337303387303427303437303467303527303557303607303687303697303727303787303817303877303937303947303977304037304067304127304187304197304227304287304317304377304467304477304507304567304597304667304667304677304707304767304797304867304907304917304947305007305037305117305137305147305177305237305267305347305377305387305417305477305507305587305647305657305687305747305777305857305927305937305967306027306057306147306157306167306197306257306287306377306467306477306507306567306607306607306607306617306647306707306747306747306777306787306817306877306917306917306957306967306997307057307097307097307177307187307217307277307317307327307387307397307427307487307527307547307587307597307627307687307727307747307817307827307857307917307957307977308057308067308097308157308197308227308247308257308287308347308387308427308437308447308477308537308577308617308647308657308687308747308787308827308887308897308927308987309027309067309137309147309177309237309277309327309337309347309377309437309477309537309537309547309577309637309677309737309767309777309807309867309907309967310027310037310067310127310167310227310297310307310337310397310437310507310517310527310557310617310657310737310737310747310777310837310877310957311037311047311077311137311177311267311277311287311317311377311417311507311527311537311567311627311667311757311827311837311867311927311967312057312127312137312167312227312277312277312297312307312337312397312447312447312497312507312537312597312647312647312707312717312747312807312857312867312877312887312917312977313027313037313047313057313087313147313197313217313217313227313257313317313367313387313417313427313457313517313567313587313627313637313667313727313777313797313887313897313927313987314037314067314067314077314107314167314217314247314247314257314287314347314397314427314457314467314497314557314607314637314677314687314717314777314827314857314947314957314987315047315097315137315137315147315177315237315287315327315397315407315437315497315547315597315597315607315637315697315747315797315807315817315847315907315957316007316067316077316107316167316217316267316347316357316387316447316497316557316577316587316617316677316727316787316837316847316877316937316987317047317107317117317147317207317257317327317337317347317377317437317487317557317587317597317627317687317737317817317827317837317867317927317977318057318097318107318137318197318247318327318377318387318417318477318527318617318617318627318657318717318767318857318877318887318917318977319037319037319047319057319087319147319207319207319247319257319287319347319407319407319457319467319497319557319617319627319627319637319667319727319787319797319827319837319867319927319987320007320017320027320057320117320177320197320237320247320277320337320397320417320467320477320507320567320627320657320657320667320697320757320817320847320887320897320927320987321047321077321167321177321207321267321327321367321387321397321427321487321547321587321617321627321657321717321777321817321897321907321937321997322057322107322127322137322167322227322287322347322357322367322397322457322517322577322617322627322657322717322777322837322887322897322927322987323047323117323117323127323157323217323277323347323397323407323437323497323557323627323687323697323727323787323847323917324007324017324047324107324167324247324247324257324287324347324407324487324537324547324577324637324697324787324787324797324827324887324947325037325067325077325107325167325227325317325377325387325417325477325537325627325697325707325737325797325867325867325887325897325927325987326057326057326137326147326177326237326307326307326387326397326427326487326557326567326577326587326617326677326747326757326777326787326817326877326947326957327027327037327067327127327197327217327247327257327287327347327417327437327507327517327547327607327677327707327707327717327747327807327877327907327917327927327957328017328087328117328177328187328217328277328347328387328407328417328447328507328577328617328697328707328737328797328867328917328927328937328967329027329097329147329167329177329207329267329337329387329457329467329497329557329627329687329727329737329767329827329897329957330027330037330067330127330197330267330267330277330307330367330437330507330517330527330557330617330687330757330817330827330857330917330987331067331107331117331147331207331277331357331397331407331437331497331567331647331717331727331757331817331887331967332047332057332087332147332217332307332337332347332377332437332517332517332527332537332567332627332707332707332757332767332797332857332937332937333017333027333057333117333197333197333287333297333327333387333467333477333517333527333557333617333697333717333737333747333777333837333917333937334017334027334057334117334197334227334237334247334277334337334417334447334467334477334507334567334647334677334747334757334787334847334927334967335027335037335067335127335207335257335267335277335307335367335447335497335537335547335577335637335717335767335817335827335857335917335997336057336067336077336107336167336247336307336317336327336357336417336497336557336587336597336627336687336767336827336887336897336927336987337067337127337197337207337237337297337377337447337477337487337517337577337657337727337757337767337797337857337937338007338097338107338137338197338277338357338377338387338417338477338557338637338667338677338707338767338847338927339017339027339057339117339197339277339367339377339407339467339547339637339717339727339757339817339907339907339917339927339957340017340107340107340127340137340167340227340317340317340397340407340437340497340587340587340677340687340717340777340867340867340957340967340997341057341147341157341177341187341217341277341367341377341407341417341447341507341597341607341697341707341737341797341887341907341907341917341947342007342097342117342187342197342227342287342377342407342407342417342447342507342597342627342637342647342677342737342827342857342927342937342967343027343117343147343237343247343277343337343427343467343467343477343507343567343657343697343727343737343767343827343917343957343997344007344037344097344187344237344237344247344277344337344427344477344497344507344537344597344687344737344797344807344837344897344987345037345127345137345167345227345317345377345377345387345417345477345567345627345687345697345727345787345877345937346017346027346057346117346207346277346347346357346387346447346537346617346617346627346657346717346807346887346897346907346937346997347087347167347237347247347277347337347427347517347517347527347557347617347707347797347857347867347897347957348047348137348227348237348267348337348337348337348337348347348377348447348447348447348507348517348547348617348617348627348627348637348667348737348737348747348747348757348787348857348857348867348897348907348937349007349007349017349057349067349097349167349167349187349187349197349227349297349297349317349357349367349397349467349467349487349557349567349597349667349667349697349697349707349737349807349807349837349847349857349887349957349957349987350057350067350097350167350167350207350227350237350267350337350337350377350417350427350457350527350527350567350637350647350677350747350747350787350867350877350907350977350977351027351067351077351107351177351177351227351317351327351357351427351427351487351567351577351607351677351677351747351757351767351797351867351867351937351957351967351997352067352067352137352217352227352257352327352327352407352447352457352487352557352557352637352707352717352747352817352817352907352907352917352947353017353017353107353117353127353157353227353227353317353387353397353427353497353507353507353537353547353577353647353657353667353667353677353707353777353787353797353827353837353867353937353947353957353997354007354037354107354117354137354137354147354177354247354257354277354337354347354377354447354457354487354527354537354567354637354647354677354747354757354787354857354867354897354977354987355017355087355097355137355177355187355217355287355297355347355357355367355397355467355477355527355587355597355627355697355707355757355847355857355887355957355967356027356027356037356067356137356147356207356267356277356307356377356387356457356487356497356527356597356607356687356707356717356747356817356827356907356957356967356997357067357077357157357217357227357257357327357337357427357447357457357487357557357577357577357577357587357617357687357707357707357737357747357777357847357867357867357927357937357967358037358057358057358127358137358167358237358257358267358297358307358337358407358427358447358457358467358497358567358587358607358677358687358717358787358807358837358837358847358877358947358967358997359007359017359047359117359137359167359237359247359277359347359367359407359467359477359507359577359597359637359727359737359767359837359857359907359927359937359967360037360057360107360137360147360177360247360267360317360407360417360447360517360537360597360677360687360717360787360807360877360927360937360967361037361057361127361207361217361247361317361337361407361497361507361537361607361627361707361767361777361807361877361897361977362037362047362077362147362167362247362317362327362357362427362447362537362537362547362577362647362667362757362767362777362807362877362897362987363067363077363107363177363197363287363367363377363407363477363507363507363577363587363617363687363717363727363727363737363767363837363867363877363887363897363927363997364027364037364117364127364157364227364257364267364357364367364397364467364497364517364567364577364607364677364707364727364807364817364847364917364947364967365057365067365097365167365197365227365287365297365327365397365427365457365537365547365577365647365677365707365787365797365827365897365927365967365977365987366017366087366117366157366177366187366217366287366317366357366447366457366487366557366587366637366647366657366687366757366787366837366887366897366927366997367027367077367157367167367197367267367297367347367437367447367477367547367577367637367697367707367737367807367837367897367987367997368027368097368127368197368217368227368257368327368357368427368477368487368517368587368617368687368747368757368787368857368887368967368997369007369037369107369137369217369287369297369327369397369427369507369577369587369617369687369717369807369807369817369847369917369947370037370047370057370087370157370187370277370357370367370397370467370507370507370527370537370567370637370677370677370737370747370777370847370887370887370977370987371017371087371127371137371137371147371177371247371287371297371367371377371407371477371517371537371547371557371587371657371697371727371727371737371767371837371877371907371937371947371977372047372087372117372157372167372197372267372307372347372357372367372397372467372507372547372607372617372647372717372757372797372857372867372897372967373007373047373137373147373177373247373287373337373337373347373377373447373487373537373607373617373647373717373757373817373837373847373877373947373987374047374137374147374177374247374287374357374377374387374417374487374527374597374627374637374667374737374777374857374857374867374897374967375007375087375147375157375187375257375297375377375447375457375487375557375597375687375687375697375727375797375837375927375937375947375977376047376087376177376257376267376297376367376417376417376457376467376497376567376617376627376627376637376667376737376787376797376827376837376867376937376987376997377037377047377077377147377197377217377227377237377267377337377387377407377477377487377517377587377637377667377727377737377767377837377887377917378007378017378047378117378167378207378207378217378247378317378367378407378477378487378517378587378637378687378727378737378767378837378887378947378947378957378987379057379107379167379197379207379237379307379357379417379457379467379497379567379617379687379697379707379737379807379857379927380017380027380057380127380177380247380337380347380377380447380497380577380597380607380637380707380757380837380867380877380907380977381027381117381117381127381157381227381277381367381447381457381487381557381617381617381647381657381687381757381817381817381877381887381917381987382047382047382117382127382157382227382287382297382337382347382377382447382507382527382557382567382597382667382727382747382807382817382847382917382977382997383087383097383127383197383257383287383287383297383327383397383457383487383567383577383607383677383737383767383847383857383887383957384017384047384127384137384167384237384297384337384347384357384387384457384517384557384577384587384617384687384747384797384797384807384837384907384967385017385017385027385057385127385187385237385277385287385317385387385447385497385567385577385607385677385737385787385867385877385907385977386037386097386157386167386197386267386327386387386457386467386497386567386627386687386757386767386797386867386927386997386997387007387037387107387167387237387247387257387287387357387417387487387577387587387617387687387747387827387827387837387867387937387997388077388077388087388117388187388247388327388357388367388397388467388527388607388647388657388687388757388817388907388927388937388967389037389097389187389217389227389257389327389397389397389397389407389437389507389577389577389607389617389647389717389787389787389827389837389867389937390007390017390037390047390077390147390217390227390267390277390307390377390447390457390507390517390547390617390687390697390777390787390817390887390957390967391057391067391097391167391237391257391327391337391367391437391507391527391617391627391657391727391797391827391887391897391927391997392067392097392187392197392227392297392367392407392407392417392447392517392587392627392707392717392747392817392887392937392937392947392977393047393117393167393257393267393297393367393437393497393517393527393557393627393697393757393787393797393827393897393967394037394047394057394087394157394227394297394337394347394377394447394517394597394597394607394637394707394777394857394887394897394927394997395067395147395187395197395227395297395367395457395477395487395517395587395657395747395807395817395847395917395987396077396137396147396177396247396317396407396497396507396537396607396687396687396687396697396727396797396877396877396957396967396997397067397147397157397177397187397217397287397367397377397457397467397497397567397647397667397677397687397717397787397867397887397907397917397947398017398097398127398127398137398167398237398317398347398397398407398437398507398587398617398667398677398707398777398857398887398967398977399007399077399157399187399277399287399317399387399467399507399577399587399617399687399767399817399837399847399877399947400027400077400167400177400207400277400357400417400437400447400477400547400627400687400717400727400757400827400907400977400987400997401027401097401177401247401317401327401357401427401507401577401657401667401697401767401847401927401937401947401977402047402127402207402227402237402267402337402417402507402507402517402547402617402697402787402847402857402887402957403047403047403077403087403117403187403277403277403337403347403377403447403537403537403607403617403647403717403807403817403867403877403907403977404067404087404107404117404147404217404307404327404407404417404447404517404607404637404647404657404687404757404847404877404897404907404937405007405097405137405137405147405177405247405337405377405457405467405497405567405657405707405717405727405757405827405917405967406007406017406047406117406207406257406307406317406347406417406507406567406597406607406637406707406797406867406877406887406917406987407077407147407227407237407267407337407427407507407517407527407557407627407717407797407817407827407857407927408017408107408107408117408147408217408307408397408487408497408527408607408607408607408637408647408677408757408757408757408817408827408857408937408937408937409007409017409047409127409127409137409197409207409237409317409317409327409387409397409427409507409507409517409597409607409637409717409717409737409747409757409787409867409867409887409907409917409947410027410027410057410067410077410107410187410187410217410227410237410267410347410347410387410387410397410427410507410507410547410577410587410617410697410697410737410777410787410817410897410897410947410977410987411017411097411097411147411187411197411227411307411307411357411427411437411467411547411547411607411607411617411647411727411727411787411797411807411837411917411917411987411987411997412027412107412107412177412197412207412237412317412317412387412417412427412457412537412537412607412667412677412707412787412787412857412927412937412967413047413047413127413187413197413227413307413307413387413467413477413507413587413587413667413757413767413797413877413877413967413987413997414027414107414107414197414227414237414267414347414357414357414377414387414417414497414507414507414547414557414587414667414677414687414707414717414747414827414837414847414897414907414937415017415027415037415097415107415137415217415227415247415297415307415337415417415427415447415527415537415567415647415657415687415687415697415727415807415817415847415877415887415917415997416007416037416077416087416117416197416207416247416277416287416317416397416407416447416517416527416557416637416647416687416757416767416797416877416887416937416937416947416977417057417067417117417127417137417167417247417257417317417317417327417357417437417447417507417547417557417587417667417677417737417797417807417837417917417927417987418077418087418117418197418207418277418277418287418317418397418407418477418567418577418607418687418697418777418807418817418847418927418937419027419047419057419087419167419177419267419317419327419357419437419447419537419597419607419637419717419737419737419787419797419827419907419927419937419937419947419977420057420077420087420117420127420157420237420257420267420327420337420367420447420467420477420547420557420587420667420687420707420767420777420807420887420907420937420957420967420997421077421097421127421157421167421197421277421297421327421387421397421427421507421527421557421627421637421667421747421767421807421867421877421907421987422007422057422077422087422117422197422217422277422287422297422327422407422427422487422527422537422567422647422667422727422777422787422817422897422917422987423027423037423067423147423167423247423257423267423297423377423397423477423547423557423587423667423687423777423777423787423817423897423917424007424017424027424057424137424167424167424167424177424207424287424317424317424397424407424437424517424547424547424627424637424667424747424777424787424797424807424837424917424947424957424977424987425017425097425127425147425157425167425197425277425307425327425417425427425457425537425567425597425677425687425717425797425827425867425877425887425917425997426027426067426087426097426127426207426237426287426297426307426337426417426447426507426507426517426547426627426657426717426747426757426787426867426897426957427017427027427057427137427167427227427307427317427347427427427457427517427597427607427637427717427747427807427887427897427927428007428037428097428177428187428217428297428327428397428407428417428447428527428557428627428657428667428697428777428807428877428907428917428947429027429057429127429157429167429197429277429307429377429447429457429487429567429597429677429677429687429717429797429827429907429927429937429967430047430077430157430177430187430217430297430327430407430437430447430477430557430587430667430727430737430767430847430877430957431047431057431087431167431197431287431297431307431337431417431447431537431547431557431587431667431697431787431807431817431847431927431967431967431977431987432017432097432137432137432177432187432217432297432337432337432397432407432437432517432557432557432617432627432657432737432777432777432857432867432897432977433017433027433067433077433107433187433227433237433307433317433347433427433467433477433567433577433607433687433727433737433827433837433867433947433987434007434027434037434067434147434187434207434227434237434267434347434387434407434457434467434497434577434617434637434707434717434747434827434867434887434957434967434997435077435117435147435147435157435187435267435307435337435427435437435467435547435587435627435647435657435687435767435807435847435887435897435927436007436047436087436127436137436167436247436287436327436407436417436447436527436567436617436667436677436707436787436827436877436957436967436997437077437117437177437177437187437217437297437337437397437397437407437437437517437557437617437667437677437707437787437827437887437977437987438017438097438137438207438227438237438267438347438387438457438497438507438537438617438657438727438767438777438807438887438927438997439087439097439127439207439247439327439407439417439447439527439567439657439667439677439707439787439827439917439947439957439987440067440107440197440227440237440267440347440387440477440557440567440597440677440727440727440797440807440837440917440967440977440977440987441017441097441147441157441177441187441217441297441347441357441377441387441417441497441547441557441637441647441677441757441807441827441837441847441877441957442007442027442067442077442107442187442237442257442317442327442357442437442487442507442567442577442607442687442737442767442797442807442837442917442967442997443027443037443067443147443197443227443287443297443327443407443457443487443567443577443607443687443737443767443847443857443887443967444017444057444107444117444147444227444277444327444327444337444367444447444497444547444577444587444617444697444747444797444847444857444887444967445017445067445117445127445157445237445287445347445367445377445407445487445537445597445677445687445717445797445847445917445927445937445967446047446097446167446197446207446237446317446367446437446467446477446507446587446637446717446717446727446757446837446887446967447037447047447077447157447207447297447297447307447337447417447467447557447577447587447617447697447747447837447857447867447897447977448037448037448037448047448077448157448217448217448257448267448297448377448437448437448507448517448547448627448687448687448777448787448817448897448957448957449047449057449087449167449227449237449307449317449347449427449487449507449567449577449607449687449747449767449857449867449897449977450037450067450077450087450117450197450257450287450297450307450337450417450477450517450517450527450557450637450697450737450737450747450777450857450917450957450987450997451027451107451167451207451257451267451297451377451437451477451527451537451567451647451707451757451797451807451837451917451977452027452097452107452137452217452277452337452337452347452377452457452517452577452597452607452637452717452777452837452867452877452907452987453047453107453137453147453177453257453317453377453407453417453447453527453587453647453707453717453747453827453887453947454027454037454067454147454207454267454357454367454397454477454537454597454687454697454727454807454867454937454977454987455017455097455157455227455297455307455337455417455477455547455637455647455677455757455817455897455897455907455937456017456077456157456157456167456197456277456337456417456477456487456517456597456657456737456827456837456867456947457007457097457107457117457147457227457287457377457397457407457437457517457577457667457697457707457737457817457877457967458007458017458047458127458187458277458347458357458387458467458527458617458707458717458747458827458897458897458897458907458937459017459087459087459097459107459137459217459287459287459377459387459417459497459567459577459597459607459637459717459787459797459837459847459877459957460027460037460087460097460127460207460277460287460357460367460397460477460547460567460567460577460607460687460757460777460807460817460847460927460997461017461067461077461107461187461257461277461337461347461377461457461527461547461627461637461667461747461817461847461877461887461917461997462067462097462157462167462197462277462347462377462457462467462497462577462647462677462767462777462807462887462957462997463007463017463047463127463197463237463317463327463357463437463507463557463567463577463607463687463757463807463837463847463877463957464027464077464117464127464157464237464307464357464427464437464467464547464617464677464687464697464727464807464877464937464977464987465017465097465167465227465287465297465327465407465477465537465607465617465647465727465797465867465867465877465907465987466057466127466217466227466257466337466407466487466507466517466547466627466697466777466817466827466857466937467007467087467137467147467177467257467327467407467497467507467537467617467687467777467777467787467817467897467967468057468087468097468127468207468277468367468417468427468457468537468607468697468757468767468797468877468957468957468957468967468997469077469157469157469247469257469287469367469447469457469477469487469517469597469677469687469727469737469767469847469927469937469987469997470027470107470187470207470207470217470247470327470407470427470487470497470527470607470687470707470797470807470837470917470997471027471037471047471077471157471237471267471287471297471327471407471487471517471597471607471637471717471797471827471917471927471957472037472117472157472177472187472217472297472377472417472457472467472497472577472657472697472747472757472787472867472947472997473007473017473047473127473207473257473307473317473347473427473507473557473637473647473677473757473837473897473897473907473937474017474097474157474167474177474207474287474367474427474497474507474537474617474697474767474777474787474817474897474977475047475087475097475127475207475287475357475417475427475457475537475617475687475757475767475797475877475957476037476077476087476117476197476277476357476407476417476447476527476607476687476767476777476807476887476967477057477057477067477097477177477257477347477357477367477397477477477557477647477727477737477767477847477937477937477977477987478017478097478187478187478257478267478297478377478467478467478557478567478597478677478767478777478777478787478817478897478987478997479067479077479107479187479277479297479357479367479397479477479567479587479677479687479717479797479887479917479927479937479967480047480137480167480187480197480227480307480397480437480437480447480477480557480647480687480697480707480737480817480907480947480987480997481027481107481197481237481297481307481337481417481507481547481617481627481657481737481827481877481927481937481967482047482137482197482227482237482267482347482437482497482557482567482597482677482767482827482907482917482947483027483117483177483267483277483307483387483477483547483627483637483667483747483837483917483927483937483967484047484137484217484257484267484297484377484467484547484607484617484647484727484817484897484967484977485007485087485177485267485327485337485367485457485457485457485487485497485527485617485617485617485677485687485717485807485807485807485887485897485927486017486017486017486107486117486147486237486237486247486327486337486367486457486457486477486527486537486567486657486657486677486757486767486797486887486887486917486917486927486957487047487047487077487097487107487137487227487227487257487277487287487317487407487407487437487497487507487537487627487627487657487747487757487787487877487877487917487927487937487967488057488057488097488127488137488167488257488257488297488327488337488367488457488457488507488527488537488567488657488657488707488757488767488797488887488887488937489007489017489047489137489137489187489277489287489317489407489407489467489467489477489507489597489597489657489687489697489727489817489817489877489937489947489977490067490067490127490207490217490247490337490337490407490407490417490447490537490537490607490617490627490657490747490747490817490887490897490927491017491017491097491097491107491137491227491227491307491327491337491367491457491457491537491577491587491617491707491707491787491847491857491887491977491977492057492147492157492187492277492277492367492387492397492427492517492517492607492647492657492687492777492777492867492927492937492967493057493057493147493227493237493267493357493367493367493427493437493467493557493567493567493657493667493697493787493797493807493817493827493857493947493957493967493997494007494037494127494137494147494207494217494247494337494347494357494437494447494477494567494577494597494607494617494647494737494747494767494797494807494837494927494937494957495007495017495047495137495147495167495247495257495287495377495387495417495467495477495507495597495607495637495717495727495757495847495857495897495897495907495937496027496037496077496097496107496137496227496237496277496337496347496377496467496477496527496527496537496567496657496667496717496747496757496787496877496887496937496987496997497027497117497127497177497247497257497287497377497387497447497457497467497497497587497597497667497667497677497707497797497807497877497907497917497947498037498047498117498167498177498207498297498307498377498447498457498487498577498587498667498687498697498727498817498827498907498957498967498997499087499097499177499257499267499297499387499397499487499487499497499527499617499627499717499737499747499777499867499877499967500047500057500087500177500187500277500357500367500397500487500507500507500517500527500557500647500667500667500697500707500737500827500847500847500897500907500937501027501047501057501067501077501107501197501217501227501307501317501347501437501457501477501487501497501527501617501637501657501687501697501727501817501837501857501907501917501947502037502057502087502107502117502147502237502257502287502327502337502367502457502477502507502577502587502617502707502727502757502847502857502887502977502997503037503047503057503087503177503197503237503317503327503357503447503467503517503567503577503607503697503717503767503847503857503887503977503997504057504057504067504097504187504207504267504287504297504327504417504437504507504507504517504547504637504657504727504747504757504787504877504897504967505017505027505057505147505167505237505307505317505347505437505457505527505617505627505657505747505767505847505917505927505957506047506067506157506217506227506257506347506367506457506547506557506587506677506707506707506717506727506757506847506877506877506907506917506947507037507067507077507097507107507137507227507257507267507327507337507367507457507487507497507587507597507627507717507747507767507777507787507817507907507937507957507997508007508037508127508157508177508217508227508257508347508377508397508437508447508477508567508597508617508687508697508727508817508847508867508957508967508997509087509117509147509167509177509207509297509327509357509377509387509417509507509537509567509587509597509627509717509747509777509827509837509867509957509987510017510087510097510127510217510247510287510287510297510327510417510447510487510487510497510527510617510647510687510757510767510797510887510917510967510967510977511007511097511127511177511197511207511237511327511357511407511457511467511497511587511617511667511727511737511767511857511887511937512017512027512057512147512177512237512247512257512287512377512407512467512497512507512537512627512657512717512777512787512817512907512937512997513067513077513107513197513227513297513347513357513387513477513507513577513657513667513697513787513817513897513897513907513937514027514057514137514167514177514207514297514327514407514457514467514497514587514617514697514747514757514787514877514907514987515067515077515107515197515227515317515317515327515357515447515477515567515597515607515637515727515757515847515897515907515937516027516067516067516087516097516127516217516257516257516307516317516347516437516477516477516547516557516587516677516717516727516727516737516767516857516897516907516937516947516977517067517107517117517167517177517207517297517337517347517427517437517467517557517597517617517617517627517657517747517787517807517837517847517877517967518007518027518087518097518127518217518257518287518327518337518367518457518497518527518597518607518637518727518767518797518887518897518927519017519057519097519117519127519157519247519287519327519387519397519427519517519557519597519677519687519717519807519847519897519907519917519947520037520077520127520157520167520197520287520327520377520437520447520477520567520607520667520667520677520707520797520837520897520987520997521027521117521157521227521247521257521287521377521417521487521527521537521567521657521697521767521837521847521877521967522007522087522107522117522147522237522277522357522417522427522457522547522587522667522757522767522797522887522927523017523027523037523067523157523197523287523327523337523367523457523507523507523507523517523547523637523687523687523697523707523737523827523877523877523917523927523957524047524097524097524157524167524197524287524337524337524427524437524467524557524607524617524667524677524707524797524847524857524937524947524977525067525117525137525147525157525187525277525327525347525377525387525417525507525557525577525637525647525677525767525817525847525877525887525917526007526057526087526117526127526157526247526297526327526387526397526427526517526567526597526677526687526717526807526857526897526907526917526947527037527087527127527207527217527247527337527387527437527467527477527507527597527647527697527757527767527797527887527937527987528067528077528107528197528247528307528317528327528357528447528497528557528647528657528687528777528827528897528907528917528947529037529087529157529197529207529237529327529377529447529507529517529547529637529687529757529847529857529887529977530027530107530187530197530227530317530367530447530527530537530567530657530707530797530807530817530847530937530987531077531107531117531147531237531287531377531437531447531477531567531627531627531677531687531717531807531867531877531897531907531937532027532087532097532147532157532187532277532337532347532417532427532457532547532607532627532637532647532677532767532827532847532857532867532897532987533047533067533097533107533137533227533287533307533367533377533407533497533557533577533657533667533697533787533847533877533897533907533937534027534087534117534147534157534187534277534337534367534397534407534437534527534587534617534677534687534717534807534867534897534977534987535017535107535167535207535227535237535267535357535417535457535487535497535527535617535677535717535747535757535787535877535937535977536037536047536077536167536227536267536347536357536387536477536537536587536607536617536647536737536797536847536877536887536917537007537067537127537127537137537167537257537317537377537407537417537447537537537597537657537707537717537747537837537897537957538047538057538087538177538237538307538317538327538357538447538507538577538607538617538647538737538797538867538927538937538967539057539117539187539267539277539307539397539457539537539557539567539597539687539747539827539877539887539917540007540067540147540197540207540237540327540387540467540547540557540587540677540737540827540827540837540867540957541017541107541147541157541187541277541337541427541497541507541537541627541687541777541867541877541907541997542067542067542087542097542127542217542287542287542327542337542367542457542527542527542607542617542647542737542807542817542827542837542867542957543027543047543047543057543087543177543247543267543297543307543337543427543497543517543567543577543607543697543767543787543877543887543917544007544077544107544137544147544177544267544337544367544437544447544477544567544637544677544677544687544717544807544877544917544937544947544977545067545137545