1248161723243133363842454649525561647276788287919710111011511712212713313414014415115316016617318118919119920621521622523223323323423523623623723824324424525225325525725826026726827127427527828228328728728829229629730230330430931231331931932032633233334034334435235335436237137238138238339240140340340941141241741942042642843043543744044244444745045245545846046346746947247747948248849049349950150451151351652452653053353553954354554955455656156356557057357558058558759259960160661461662262262463063763964565365566266366567267667868569069269970770971771972172973273474274975175976676877678478679579779980881481682583283583583784084084384684685085385386286586686887187287587887988889189290190490690690991191792092392592893193493794194194494895195495896296597097297598098398699199599810041006100910161017102010271029103210401041104410521054105710651068107110801082108610861087109110911094109810981101110511051114111811191120112411251127113111321139114311441153115711591159116311651171117511771185118911921192119611991204120812111218122212261226123012341236124012441248125212561263126712721272127612811283128712921297130113061314131813241324132813341337134113471354135813641373137713841386139013971404140814151424142814361438144214501458146214711471147514841487149115001509151415141515152015201524152915301531153615371540154515461552155715591563156815701576158115841584158915921595160016031608161316161625163016341637164216461651165616601669167416791683168816931699170417101711171617221725173017361741174617531753175817651768177317801785179017981798180318111816182118291836184118501852185718661875188118811882188818881894190019011905191119121918192419261928193419361938194419461950195619591959196519681975198119841993199920032008201420192022202820332038204420502052205820642067207320792084209020972099210521122118212421312139214521532158216421732173217921882190219622052214222122212228223522352244225122522259226622672276228322852286229322952304231123142316232323262330233723412343235023542363237023752376238323882397240424102416242324292437244424512457246424722476248324912497250425132518252525342541254825572566257425742582259025912595260326042610261826202625263326362638264626492654266226652670267826812688269627002700270827122712272027242727273527392745275327572763277127762776278427892792280028052808281628222824283228382843285128572863287128772885289329002901290929162918292629332938294629532961296929762985299330013009301730263027303530443046305530553056306530653069307830783084309330933099310831083117312631273128313731383145315431563156316531673170317931813186319531973205321432173218322732303234324332463253326232663267327632803281329032943298330733113319332833333334334333483352336133663374338333893391340034063411342034273427343634433445345434613466347534833483349235003503351235203526353535443545355435633568357735863594359535953595359936003600360036063607360736073616361736173618362436253625362636333634363436363636363736373639364636473647364936583659365936623664366536653669366936703670367436753676367636803684368536853690369236933693369837023703370337083715371637163722372737283728373437423743374337503751375237523760376037613761376937713772377237803786378737873795380138023802381038173818381838273828382938293838383938403840384938533854385438633871387238723881388938903891389138923893389438943899390039013901390639073908390939133914391539163924392539263927393639373938394039403941394239443948394939503952395739583959396139683969397039733974397539763979398139823983398639953996399740014004400540064010401440154016402140244025402640314038403940404045405440554056406140704071407240784081408240834089409440954096410341044105410641134118411941204127413441354136414441494150415141594168416941704179418141824183419241944195419642054211421242134222423142324234423442384239424142414249425042524253425442554257425842664267426942714273427442764278428442854287428942954296429843014301430243044307431143124314431743234324432643304330433143334337434143424344434843564357435943644366436743694374438043814383438943924393439544014408440944114418442044214423443044324433443544424448444944514459446044614463447144744475447744854492449344954504450645074509451845254526452945294530453145344534454045414544454545494550455345544562456345664568457245734576457845824583458645884596459746004603460746084611461446214622462546294630463146344638464546464649465446584659466246674675467646794685468946904693470047034704470747144721472247254733473747384741474947554756475947684768476947724781478847894793479347974798480248024810481148154816482148224826482848324833483748394847484848524855486148624866486948774878488248864888488948934898489848994903490849164917492149274929493049344941494249434947495449554956496049674972497349774985498949904994500250095010501450235024502550305030503050315036503650455046505150525056505750625063506750685073507450795080508550875087508850935095509550965101510351075108511351155124512551305133513351345139514251435144514951525158515951645167517451755180518451845185519051945199520052055209521552165221522652285229523452395246524752525257526652675272527852815282528752935301530253075314531453155320532753335334533953475348534953545362536653675372538053845385539053985407540854135422542454255430543954445445545154515451545254585458546154625468546854765477548354845487548854945495550155025508551055155516552255255525552655325535553955405546554955565557556355675569557055765580558655875593559855995600560656115617561856245630563056315637564356525653565956665670567156775684569356945700570857115712571857265734573557415750575357545760576957785779578657865790579157985799579958005807580858095810581758185824582558325834583658375844584658515852585958625862586358705873587958805887589158925893590059045910591159185923592659275934593959425943595059555963596459715977598259835990599660046005601260196022602360306038603860396046605460596060606760766076607760846093610161026109611861266127613561356138613961476148614961506158615961656166617461766177617861866188619761986206620962156216622462286229623062386243624362446252625762596260626862736280628162896295630163026310631763226323633163396340634163496357635863596367637563776378638663946402640364116419642764286436644564496450645964596459646064696469647064716480648064856486649564966497649865076508651065116520652165296530653965416545654665556557656365646573657565836584659365966600660166106613661966206629663266406641665066546658665966686672667866796688669366936694670367086714671567246729673867396748675367626763677267786783678467936799680768086817682468296830683968476848684968586866687068716880688968926893690269116920692269226922692569276927692769356937693769386942694469446945695469566956695869606962696269646972697469746977698069826982698569936995699569997003700570057010701070127012701770197021702170267034703670367042704670487048705470617063706370707073707570757082709170937093710171057107710771167116711871187127713471367136714571547156715771577162716471657166716871707171717271807182718371857189719171927195719671987199720272117213721472187223722572267231723472367237724272507252725372597263726572667273727672787279728672897291729272997308731073117319732773297330733973397341734273517357735973617361736673687370737173757377737973817382738473867388738973917393739574037405740774107415741774197422742774297431743574397441744374487449745174537458746074627464746974787480748274887494749674987504751175137515752275287530753275407543754575477555756075627564757275787580758275917594759675987607761276147617761776217623762676277628763076337634763876407643764476507652765576577660766276657667767376757678768176817683768676897696769877017705770677087711771577187720772377287728773077337738774277447747775377567758776177687768777077737780778577877790779778037805780878167819782178247832784078427845785478617863786778677871787378777878787878807884788578917893789778997902790479087910791979217925792879357937794179457949795179557960796179637967797279797981798579917995799780018008801080128016802380298031803580438046804880528061806280648068807780848086809180918095809781028103810681088113811481228124812981318136813881438146815081528157816181628164816981738181818381888193820082028207821382198221822682338237823982448251825582578262827082728274827982888288829082958304830583078312832183268328833483348337833983458345834983518357835883588360836683678375837783838385838583878393839584008402840884118414841684228425843184338439844284508452845884628468847084768480848984918497850285068508851485208522852485308536854185438549855685568558856485718579858185878595859685988604861286208622862886378643864586528652865286548661866186618663867086708678868086878688869086928699870087028704871187138713871587228724872887308737873987468748875587588763876587728775878487868793879788028804881188168819882188288833884088428849885588588860886788748875887788848891889788998906891389198921892889368940894289498957896689688975898489868988899689968996899890069006901190139021902190299031903990409046904890569058906090629070907290769078908690899091909391019104911291149122912691299131913991449145914791559160916791699177918391869188919692039204920692149221922892309238924692519253926192709273927592849284928492869295929592969298930793079316931893279328933493369345934693549356936593679373937593849387939093929401940494129414942394279433943594449449945294549463946994709472948194879496949895079514952095229531953995449546955595649567957095709570957195749574957495839586958695879594959795979599960596089608961096179620962096239628963196319635963996429642964696529655965596609665966896689673967896819681968696929695969597019706970997099715972097239723972997389741974197489756975997599766977497779777978597899792979298019804980798079816981998229822983198409843984498449852985598569856986498679868986998769879988098829888989198929894990199049905990799159918991999229929993299339936994499479948995299579960996199669970997399749979998599889989999410000100031000410010100151001810019100251003210035100361004310043100461004710054100631006610067100751007610079100801008810094100971009810107101121011510116101251013210135101371013710142101451014710148101521015510157101581016510168101701017110179101821018410186101931019610198102011020110204102061020910213102161021810222102251022810230102341024010243102451025010253102561025810264102661026910271102771028310286102881029410301103041030610313103191032210324103321033210335103371034510346103491035110360103601036310365103741037810381103831039210400104031040610406104131041610419104201042110424104271042810437104401044310445104531045610459104621046510468104711047410478104811048410488104911049410497105011050910512105151052010522105251052810534105351053810541105471055310556105591056610570105731057610584105871059010593106011061010613106161062510626106291063310633106331063610640106401064610649106531065410655106581066210664106641066710671106731068010683106871068910696106991070310706107121071510719107231072610729107331073710742107451074910754107581076110765107711077210775107791078510791107941079810805108101081310817108251082810831108351084310846108491085310862108641086710872108721087210875108801088010883108861089110892108941089710902109041090410907109121091410920109231092810931109361093910944109481095210955109601096410969109721097710982109861098910994110001100311006110111101711025110281103311040110471105011055110631106911072110771108611090110931109811107111121111511120111291113411137111421115111156111591116411173111821118511191111911119111194112001120011200112031120911209112091121211218112181122411227112331123311240112431124911249112561125911265112651127211275112811128211288112911129711298113051130811314113151132211325113311133211340113431134911351113551135811364113661137111374113801138211387113901139611398114041140711413114161141911422114281143111435114381144411447114511145411460114631146911472114781148111487114901149611499115061150911515115181152511528115341153711546115491155511559115651156811574115781158511588115941159811605116081161411618116271163011636116411164911652116581166311672116751168111686116951169811704117101171211715117211172711731117341174011746117511175411760117661177111774117801178611795117981180411810118191182211828118351183511838118441185111851118541186011867118711187411880118871189211895119011190811914119171192311930119361193911945119531195311956119621197011974119771198311991119961199912005120131201812021120271203612036120391204512054120561205912065120741207712080120861209512098121011210712116121241212712134121341213612139121461214612149121521215912159121621216512172121721218012183121901219112196121991220612207122131221612223122241223012233122401224212244122471225412256122631226612273122751228312286122931229512303123061231312316123201232312330123341233612339123461235012353123561236312367123701237312380123851238512388123951240012401124041241112416124181242112428124331243512438124451245112451124541246112467124671247012477124831248412487124941250012501125041251112517125261252912536125431254412547125541256112563125661257312580125821258512592126001260012603126101261812624126271263412642126491265212659126671267412677126841269312698127011270912709127101271312721127211272312726127341273412736127391274712748127481275112759127601276712770127781277912787127901279812799128071281012818128201282712830128381284012848128511285912861128701287312881128831289212895129031290612914129171292512928129371294012948129521295212955129631296712967129701297812982129911299413002130071301013013130211302613030130331304113046130501305313061130671307013073130811308813089130921310013107131091311213120131271312913132131401314813149131521316013168131771318013188131971319713200132081321713218132211322913238132391324213250132591326113264132721328113284132871329513304133081331113319133281333213335133431335213361133641337313373133731337613385133851338613389133981339813399134021341113411134171342013429134291343613439134481344813456134591346813468134771348013489134901349313496135051350613510135131352213523135281353113540135411354713550135591356113565135681357713579135841358713596135981360413607136161361813625136281363713640136461364913658136611366813671136801368313691136941370313707137071371013719137231372313726137351373913740137431375213756137581376113770137741377813781137901379413802138051381413818138271383013839138441384413847138561386113863138661387513880138871389013899139041391213915139241392913938139411395013956139571396013969139751398313986139951400114010140131402214029140291403214041140481405114054140631407014074140771408614093140981410114110141171412314126141351414214151141541416314171141721417514184141921419414197142061421414217142201422914237142431424614255142641426914272142811429014296142991430814317143241432814328143281432914333143331433314337143411434114341143461435014350143501435614360143601436114361143651436514366143701437414374143751438014384143841438514391143951439514397143981440214402144041440814412144121441414419144231442314425144311443514435144381443914443144431444614454144581445814461144701447414474144781447814482144821448614491144951449514500145041450814508145131451814522145221452714533145371453714543145441454814548145551455514559145591456614567145711457114578145801458414584145911459914603146031461114612146161461614624146261463014630146381464114645146451465314662146661466614675146791468314683146921469714701147011471014716147201472114721147241472814729147291473314737147381473814743147471474814748147541475814759147601476314767147681476914777147811478214783147921479614797147991479914803148041480614813148171481814821148251482914830148331483814842148431484614852148561485714861148651486914870148741488314887148881489314893148971489814903149041490814909149141492314927149281493414942149461494714953149621496614967149741497414978149791498614995149991500015008150091501315014150221502415028150291503715040150441504515054150561506015061150701507415078150791508815093150971509815107151131511715119151191512415128151301513115132151361513815139151411514515147151481515115155151571515915161151651516715170151711517515177151801518215186151881519115195151991520115204152081521215214152171522515229152311523415243152471524915253152541525815260152641526515269152711527515284152881529015295152951529915301153061530815312153141531915322153261532815333153371534115343153481535315357153591536415371153751537715382153901539415396154021540815412154141542015427154311543315439154481545215454154611546215466154681547515478154821548415491154951549915501155081551415518155201552715535155391554115549155531555715559155671557215576155781558615593155971559915607156161562015622156311563615640156421565115657156611566315672156801568415687156871568815692156951569515696157001570315703157051570915712157121571615720157231572315730157341573715738157391574315746157471574915753157561575715761157651576815769157761578015783157851578815792157951579715801158051580815810158161582015823158261582615830158331583615836158401584315846158471585115854158571586015864158671587015877158811588415888158891589315896159001590215906159091591315917159211592415928159361594015943159481595415958159611596615973159771598015985159941599816001160071601116015160181602416030160341603716043160501605416057160631607216076160791608616090160941609716105161051610916112161201612116125161281613616139161431614616154161631616716170161791618116185161881619716200162041620716216162211622516229162291623016234162381623816246162501625416254162631626716271162721627316277162811628216290162941629816300163001630416308163101631116315163191632116324163281633216335163351633916343163461634816352163561635916362163661637016373163781638216386163901639216396164001640416412164161642016424164331643716441164461644716451164551646016469164731647716483164831648716491164971649816502165061651216515165191652316530165311653516539165461655016554165581656516570165741657816585165921659616600166081661316617166211663016632166361664016649166521665616660166691667416678166831668316687166911669616696167021670616711167111671816722167271672716736167401674516746167541675816763167651677016774167791678116787167911679616798168071681116816168181682716831168361683916839168431684816851168521685616861168641686816872168771688016884168881689316897168971690116906169101691116915169201692416928169321693716941169461695016955169591696816972169771698216982169861699116996169991700317008170131701717021170261703217034170381704317049170521705617061170671707317077170821708817096171001710517112171141711817123171301713317137171421714917155171591716417171171791718317188171961719817202172071721517218172221722717235172411724517250172581726617270172751728417290172941729917308173151731917325173251732517329173351733517338173421734817348173551735917365173651737317377173831738417385173891739517396174001740417410174121741317417174231742517427174311743717439174441744817454174561746517469174751747817478174821748817491174921749617502175051750917513175191752217530175341754017544175491755317559175631756917573175791758317592175961760217607176111761517621176261763417638176441764917658176621766817674176761768017686176921769917703177091771617721177251773117738177441774817754177611777017774177801778817793177971780317811178201782417830178391783917843178491785817861178651787217872178721787617883178831788617890178971789717901179051791217912179191792317930179311793517939179461794817949179531796017962179641796817975179771798217986179931799617999180031801018013180201802418031180341804218046180531805718058180621806918073180821808618093180981810318107181141811918125181291813618141181501815418161181671817518179181861819218200182041821118217182261823018237182441824618250182571826518266182701827718285182931829718304183121832118325183321834118344183481835518364183671837118378183871839418398184051841418422184261843418434184361844018448184481845018454184621846318463184671847518476184771848118489184901849518499185071850818514185181852618528185291853318541185431854518549185571855918565185691857718579185871859118599186021860418608186161861918622186261863418637186441864818656186591866818672186801868418691186951870318707187151871918727187321873418738187461875118756187601876818774187751877918787187931879518799188071881318819188231883118837188461885018858188651887218876188841889118899189031891118919189211892518933189411894718951189591896718975189791898718995190041900819016190251902819032190401904919057190611906919078190861909019098191071911619120191291912919132191361914519145191531915719166191671917319177191861918719194191981920719209192101921419223192251923219236192451924719256192601926919272192721927619285192881929219296193051930919310193141932319327193291933319342193461934919353193621936619373193771938619391193951939919408194131941819422194311943619442194461945519461194611946519474194801948719491195001950719509195131952219529195321953619545195521955919563195721958019585195891959819606196151961919628196371963719641196501965919663196681966819668196701967519675196751968419689196891969019690196951969519696197001970519705197071971019715197151971719721197261972619728197331973819738197411974119746197461974919749197541975419757197571976219762197651976619771197711977419780197851978519788197941979919799198031980819813198131981719823198281982819833198341983919839198441984619851198511985619862198671986719872198791988419884198901989219897198971990319906199111991119917199241992919929199351994319948199481995519958199631996319970199741997919979199861999520000200002000820008200132001320021200262003120031200392004620051200512005920066200712007120079200872009220092201012010420109201092011820123201282012820137201422014720147201562016220167201682016820169201742017520175201782018320184201842019120196201972019720205202102021120212202152022020221202222022720232202332023520239202442024520247202522025720258202612026120266202672027020273202782027920282202852029020291202942029820303203042030720316203212032220326203282033320334203382034120346203472035120355203602036120365203742037920380203852038720392203932039820406204112041220417204262043120432204382044220447204482045420461204662046720474204782048320484204912049620501205022051020510205152051620524205282053320534205422054620551205522056020565205702057120580205802058520586205952059920604206052061420623206282063020630206302063520637206372064220647206492064920658206632066520666206712067620678206792068520690206922069420695207002070220704207102071520717207192072720732207342073620745207502075220755207592076420766207692077820783207852078920795208002080220806208132081820820208252082720832208342083920846208512085320859208652087020872208782088520890208922089920901209062090820915209232092820930209382093920944209462095420956209612096320971209782098320985209942099721002210052100521006210112101421014210162102121024210242103121036210392104021044210492105221053210572106221065210662107121076210792108121081210862108921091210982110321106211092111221117211202112321127211322113521138211472115221155211592116621171211742117821186211912119421198212072121221215212202122421229212322123821240212452124821254212602126521268212742128121286212892129621298213032130621314213142131921322213302133421339213422135021355213602136321372213722137721380213892139721402214062140621413214182142221422214302143521439214402144321448214522145421456214612146521467214712147621480214822148721492214962149921499215042150821511215202152521529215332153721542215462155021555215602156421569215702157521579215842158521590215942159921600216052160921614216162162121625216302163821643216472165221660216652166921675216762168121685216912169321698217022170821716217212172521731217392174421748217552176121766217702177721784217892179321801218042180921813218212182521830218342184221849218542185821866218742187921883218922189621901219052191421919219242192921929219302193521940219402194221947219522195221960219652197021971219712197621981219822198721992219972199822004220092201422016220182202322028220302203522040220452204722052220572206222064220702207522080220832208522090220952209822103221082211322116221252213022135221392213922144221492215322159221642216922173221822218722192221972220322208222132221822225222302223522241222442224922254222602226722272222772228322292222972230222309223092231422319223262233222337223422235022350223552236022368223742237922384223922239922404224092241822421224262243122440224482245322458224672247622481224872248722487224922249822498225042250922515225162251722522225282252922536225412254722548225562256122567225692257322578225842258722587225922259822601226012260622612226152261622621226272263022637226422264822652226552266022666226712267322678226842268922692226972270322708227172272222728227342274022745227512275822758227632276922776227772278222788227952280222807228132282122825228302283622845228482285322859228682287222877228842288422884228892289622896229042290922916229172291822923229302293122933229382294522946229542295922966229682297422979229862298922993229982300523008230132301823025230292303023035230422304723047230522305923064230672307223079230842308823093231002310623106231112311823124231332313823145231522316023165231722317923188231932320023208232142321923226232342324023245232522326123261232662327323282232832328823295233042331223317233242333323342233472335423363233722337723385233852338523390233982339823405234102341823418234262343123439234392344823453234612346223462234672347523476234832348823496234972350523510235182352023524235292353723539235442354923557235602356223567235752357823582235872359523598236042360923617236202362723632236402364423648236532366123665236712367623684236892369023695237032370823710237152372323728237372374223750237562375823763237712377723779237842379223798238012380623814238212382123826238342384123844238492385723864238732387823886238942389423899239072391523922239272393523944239452395023958239672396923974239822399123994239992400824008240082401324022240222402624031240402404124041240462405524056240572406224071240722408024085240942409624099241042411324115241212412624135241372414424149241582416124165241702417924182241912419624205242092421124216242252422924232242372424624251242512425624265242702427524280242892429524298243032431224318243222432724336243432434424349243582436524372243772438624394243962440124410244182442124426244352444424444244492445824467244732447924479244792448324489244892448924494245002450024501245032450924509245102451924525245252452724529245352453524537245402454624546245492454924555245552455824566245722457224575245832458924589245922460124607246072461124617246232462324628246322463824638246432465224658246582466424664246702467024676246832468924689246962470224708247082471524721247272472724734247412474724747247552475924765247652477424777247832478424784247852479124792247922479424800248012480124810248162481724818248262483224833248352484124847248482485024857248632486424867248722487824879248822488724893248942489724905249112491224915249242493024931249352494224948249492495324961249672496824972249812498724988249932499324999250002500525013250192502025025250342504025041250472505225058250592506525071250772507825085250892509525096251032510925115251162512325130251362513725144251522515825159251672517325179251802518825196252022520325212252192522525226252352524325249252512525125257252632526525265252742528025282252832528825294252962529725303253092531125313253172532325325253272533525341253432534525354253602536225365253652537125373253762538425390253922539625399254052540725411254142542025422254262543025436254382544325445254512545325458254652547125473254782548725493254952550125501255072550925515255232552925531255382554125547255492555725557255632556525573255742558025582255902559925605256072561625621256272563025630256312563725640256402564225648256512565225652256582566125662256692567525678256802568225688256912569325696257022570525708257092571525718257212573025736257392574325743257492575225756257572576325766257702577925785257882579325800258062580925814258222582825831258362584525851258542586025867258732587625883258882589425897259042591125917259202592725935259412594425952259582596425967259762598025986259902599025992259982600226002260052601126015260162601726023260272602826037260432604726049260562606226066260682607626082260862608926095261012610526109261142612026124261282613726143261472615226152261582616226167261762618226186261912620026206262102621526224262302623426240262402624626250262562626526271262752628126290262962630026307263072631326317263242632526331263352634326343263492635326361263612636726371263792638426390263942640226408264142641826427264322643826442264512645726463264672647626483264892649326502265102651626521265212652826534265392653926547265532655826559265592656526570265712657226578265832658526585265912659626598265992660526610266122662126627266322663526635266412664626649266582666426669266732667426680266852668926694267002670526709267152672126726267312673626742267472675226759267652677026776267792678526790267962680026806268112681826821268272683226839268442685026855268632686626872268772688526889268952690026909269122691826923269322693826944269502695026950269562696226962269632696926975269762697626982269882698926992269982700427005270142702027026270282702827034270402704227051270572706327066270682707427080270842708427090270962710027101271072711327118271182712427130271352713927145271512715627164271702717627181271902719627202272082721627222272282723527237272432724927256272642727027276272832729227298273042731227320273262733227341273442735027356273652736827374273802738927393273992740627406274092741527422274222743027436274432744427448274542746127462274672747327480274822748627492274992750127510275162752327526275342754027547275502755927565275722757627584275902759727602276052761127618276242762627632276392764527648276542766127668276702767627683276902769827704277112771927722277282773527743277472775327760277692777227778277852779427803278092781727817278242783027838278382784627852278602786127868278742788227884278882789427902279042791327919279272793027930279362794427947279562796227970279742798127987279952799928007280132802128025280342804028048280532806128067280752808128087280932810128108281082811428122281292813028136281442815228152281582816628174281832818928197282062820828214282222823128234282402824928249282512825728266282672826828274282832828528285282912830028302283042831028319283212832328329283382834028342283482835728359283642837028379283812838828394284032840528412284182842728429284362844228451284542845928465284742847728484284902849928502285092851528524285272853528541285502855428556285622857128575285792858528594285982860228608286172862128626286322864128646286502865628665286702867628682286912869628702287082871728722287302873628745287512875128757287662877228774287802878928795287972880328812288182882228828288372884428846288522886128868288722887828887288942889828904289132892028927289332894228950289502895628965289732897528981289902899829000290062901529023290282903429043290522905529061290702907929084290902909929108291132911929128291372914629153291532915329156291632916329163291682917529175291752918029187291872918829188291952919529196291962920329203292042920629213292132921429216292232922329224292312923829238292392924829255292552925729258292652926529267292682927529275292772928329290292902929329297293042930429307293132932029320293232932929336293362934029342293492934929353293592936629366293702937829385293852938929397294042940429409294132942029420294262942729434294342944029443294502945029456294592946629466294732947329480294802948729490294972949729504295092951629516295232952829535295352954329545295522955229561295622956929569295782958129588295882959729600296072960829608296092961629617296172962229629296302963029637296442964529645296522965929660296612966729674296752967629682296892969029691296992970629707297082971629723297242972629733297402974129744297482975529756297592976529772297732977629782297892979029794297992980629807298122981629823298242982929835298422984329848298552986229863298682987529882298832988929891298982989929905299092991629917299232992829935299362994229948299552995629962299702997729978299852998529992299933000030001300083000930016300183002530026300343003430041300423005030052300593006030068300713007830079300873009230099301003010830117301243012530134301353014230143301523015430161301623017130176301833018430193301993020630207302163022430231302323024130250302573025930259302613026830270302713027230279302813028230285302923029430295302993030630308303093031730324303263032830331303383034030342303473035430356303583036430371303733037630377303843038630389303933040030402304053041130418304203042330430304373043930443304453045230454304593045930466304683047330475304823048430489304923049930501305063051530522305243053030533305403054230548305533056030562305683057430581305833059030593306003060230609306153062230624306313063930646306483065530664306713067330681306873069430696307043071330720307223073130732307393074130750307523075930761307703077930786307893078930797308043080730808308083081530818308193082030827308303083130840308473085030852308593086630869308713088030887308903089330893309003090330906309153092230925309283093730944309473095130952309593096230966309683097530978309833098430991309943099931006310133101631021310303103731040310463104731054310573106331064310713107431080310863109331096311023111031117311203112731127311343113731144311453115231155311623116731174311773118431191311983120131208312173122431227312353123631243312463125431256312633126631274312783128531288312963130231309313123132031328313353133831346313553136231365313743137531382313853139431397314043140731416314213142831432314323143531442314463144631451314583146231462314693147631480314813148131488314923149331498315053150931510315173152431528315293153831545315493155131553315603156431566315733158031584315863159531602316063160931610316173162131624316293163631640316433165231659316633166731668316753167931683316863169331697317013170931716317203172431733317403174431749317503175731761317663176931776317803178531793318003180431810318103181731821318273182931836318403184631850318573186131867318763188331887318943190231909319133192131921319283193231940319423194931953319613196931976319803198931993320003200432013320193202632030320393204732054320593205932063320703207532076320773208432089320903209332100321053210632111321183212332125321273213432139321413214932156321613216432164321713217632179321813218832193321973219732204322093221332216322233222832232322373224432249322533226032267322723227732282322893229432300323003230732312323183232032327323323233832342323493235432361323633237032375323823239032397324023241032410324173242232430324323243932444324533245432461324663247532479324863249132500325063251332518325273253532542325483254832555325623256832569325713257832584325853258932596326023260332610326173262332624326313263832644326463264732654326603266232665326723267832680326863269332699327013270832715327213272332731327383274432747327473275432760327633276632773327793278232786327933279932802328103281732823328273282732834328403284432847328543286032864328683287532881328863288632893328993290432906329133291932924329293293632942329473295432961329673297332973329803298632992329943300133007330133301833025330313303733044330513305733064330673307433080330873309233099331053311233120331273313333141331423314933155331633316433171331773318533188331953320133209332153322233228332363324533252332583326733273332803328633295333033331033317333173331833325333323333233337333443335133351333573336433371333713337933386333933339433395334023340933410334153342233429334303343833445334523345433454334613346833470334733348033487334893349733504335113351333521335283353533538335383354533552335553355833565335723357533583335903359733601336033361033617336213362533632336393364333650336573366433669336723367933686336913369733704337113371633724337313373833744337453375233759337653377333780337873379333801338083381533822338223382933836338433384633853338603386833868338753388233890338953390233909339173392433931339383394733947339543396133970339773398433992339923399534002340103401034015340223403034030340383404534053340543406034067340753407634085340923410034102341033411034118341203412434131341393414234144341513415934163341633417034178341823418434191341993420334208342153422334228342323423934247342533425434261342693427534278342853429334299343063431334321343273433434341343493435634357343643437234379343823438934397344043441134418344263443334441344483445634463344713447834486344943449434501345093451734521345283453634544345493455634564345733457434581345893459834601346083461634625346323463934647346563466534672346813468134683346903469934699347033471034719347193472734734347433474434744347513476034761347703477734786347883478934796348053480734812348193482834830348383484534854348573486234869348783488134888348953490434908349093491634925349293493434941349503495434963349703497934984349853499235001350063501135018350273503335033350403504935055350563506335072350783508135088350973510335110351173512635133351353514235151351583516735174351833519135192351993520835216352213522835237352463524735254352633527235277352843529335302353093531735317353173531835326353263532635334353423534235343353433535135351353523535435362353623536335369353773537735379353823539035390353923540135409354093541235413354213542135424354293543735437354413544435452354523545635462354703547035474354823549035490354953549735505355053551135512355203552035526355283553635536355423554635554355543556035568355763557635583355903559835598356063561035618356183562635632356403564035649356503565835658356673566835676356763568535690356983569835707357143572235723357233572535733357343573435737357453574635746357523576035761357613576935777357783577935782357903579135792357963580435805358073580935817358183582035824358323583335835358443585235853358563585735865358663586935875358833588435887358953590335904359083591135919359203592435930359383593935944359443595235953359583596035968359693597435981359893599035996359973600536006360123601436022360233602936033360413604236048360573606536066360733607636084360853609336094361023610336111361143612236123361313613936147361483615736160361683617036170361703617836180361803618236190361923619236199362073620936210362133622136223362243623336241362433624536246362543625636258362643627236274362773628036288362903629336300363083631036313363223633036332363363634036348363503635536356363643636636371363763638436386363913639836406364083641436416364243642636433364333644136443364503645236460364623646936473364813648336490364993650736509365173652536533365353654336551365593656136570365703657836580365893659436602366053660536609366173662036620366253663336636366363664336651366543665536657366653666836670366713667936682366843669036698367013670336711367193672236725367293673736740367433674736755367583676136768367763677936782367913679936802368063681136819368223682636831368393684236846368553686336866368713687236880368833688836895369033690636911369193692736930369353694336951369543696036960369683697136977369833699136994370003700737015370183702537030370383704137048370553706337066370743707737085370883709637101371093711237120371253713337136371443715137159371623717137174371823718537194371993720737211372113721137219372233722337225372333723737237372453725337257372583725937267372713727237276372843728837289372953730337307373093731137319373233732537330373383734237345373463735437358373613736437372373763737937388373963740037404374063741437418374233742337431374353744037442374503745437459374673747537479374853748737495374993750537513375213752537532375323754037544375513755737565375693757737577375853758937597376063761437618376273762837636376403764937656376643766937669376713767937684376843769037698377033770337711377193772437725377293773737742377443774437752377573775937761377693777437776377803778837793377963779637804378093781237818378263783137835378363784437849378533785637864378693787337882378903789537900379063791437919379243793037938379433794837956379643796937975379793798737992379993800038008380133802038029380373804238050380513805938064380723807938087380923810138106381143811938128381343814238147381563816438172381783817838182381903819638197381993820738213382153821538223382293823138233382413824738249382573826538271382743828138289382953829938302383103831638320383253833338339383443834638354383603836538367383753838138386383883839638402384073841138419384253843138432384403844638452384533846138467384733847438482384883849438497385053851138518385183852638532385393853938547385533856038568385763858238590385903859838604386123861938627386333864138649386573866338672386723868038686386953869738705387113872038729387373874438744387443875238759387593876138769387763877638780387883879538796387973880538812388133881638824388313883238835388433885038851388563886438871388733887538883388903889238896389043891138913389213892938936389393893938947389543895738964389723897938982389913899939006390103901639024390313903539043390513905839063390683907639083390883909639104391113911739120391283913539141391463915439161391683917039178391853919239197392053921239220392243923239239392473925339261392683927739280392883929539304393113931939327393273932939337393453934539349393573936539366393673937539383393843939039398394063940739416394243943239434394353944339451394533946139469394773948039483394913949939503395033951139519395233952539533395413954539554395623957039575395803958839596396013960939617396253963139631396393964739653396603966839676396833968739695397033971039715397233973139738397453975339761397693977339781397893979839799398073981539824398313983939847398563986539873398823988239888398963990539906399093991739926399273993639944399533995539956399643997339975399833999140000400034000940017400264003040030400384004740051400534006140070400744008340091401004010540112401204012940135401414014940158401644017240180401894019640201402094021840226402304023840247402554026140269402784028640294403024031140320403264033440343403524035840366403754038440390403984040740416404244043340433404334043940448404484044840454404634046340464404654047440474404754047840487404874048940490404994049940501405024051140511405134052240531405314053440535405444054440547405564056540565405694056940578405784058240588405974059740601406094061840618406234062940638406384064340651406604066040666406664067540675406814068340692406924069940699407084070840715407174072640726407334073940748407484075540763407724077240780407864079540795408034081240821408214083040831408404084040849408524086140862408624086340872408734087340877408864088740888408904089940900409014090540914409154091740919409284092940931409374094640947409494095840967409684097140972409814098240985409944100341004410084101241021410224102641031410404104141045410524106141062410674107241081410824108841088410974109841104411114112041121411274113641145411464115341160411694117041178411814119041191411994120541214412154122341231412404124141250412564126541267412674127041279412814128141285412944129641296413024131141313413144131841327413294133141332413414134341345413534136241364413674136741376413784138141389413984140041404414104141941421414264142741436414384144341446414554145741463414644147341475414824148241491414934150041503415124151441521415264153541537415454154941558415604156841572415814158341591415954160441606416144162041629416314164041645416544165641665416704167941681416904169641705417074171641724417334173641736417434175241755417554176241771417744177541781417904179341794418024181141814418164182341832418354183741845418544185741860418644187341876418794188541894418974190141906419154191841922419284193741940419454194941958419614196641972419814198441990419954200442007420134202042029420324203942042420514205442061420664207542078420864209042099421024211042117421264212942138421384214742150421594216142170421744217442175421844218842188421924220142205422064220842217422214222242226422354223942241422444225342257422594226642275422794228242285422944229842301423064231542319423234232742336423404234442353423624236642371423734238242386423914239542404424084241442417424264243042436424454245442458424654246542474424784248542487424964250042508425094251842522425304253742546425504255942565425744257842587425954260442609426094261642625426304263142635426444264942651426514266042665426674266942678426834268642687426964270142704427134272242727427314273542744427494275342759427684277342778427834279242797428034280742816428214282742834428434284842855428554286442869428764287642885428904289742897429064291142918429194292842933429404294442953429584296542969429784298342990429944300343008430164301943028430334304143047430564306143069430754308443089430974310443113431184312743131431404314543154431614317043175431844319143200432054321443223432324323843238432434325243258432584326643275432814328143289432984330443305433054331443320433214332843337433434334543345433544336043362433624337143377433794338243391433974339943407434164342243425434264343543441434444344543454434604346343468434774348343486434954350443510435144351643525435314353543537435464355243556435624357143577435824358443593435994360443609436184362443629436344364343649436554365543664436704367643681436904369643702437104371943725437314373943748437544376143764437734377943786437944380343809438174381843827438334384143842438514385743865438714388043886438954389743906439124392143926439354394143950439554396443971439714397243981439884398843994440034401044010440194402844035440354404444053440604406144066440754408244084440844409344100441024410544114441214412344126441354414244144441534416244169441724418044189441964420044201442104421744221442224423144238442424425044259442664427144277442864429344298443074431644323443284433744346443534435944365443744438144388443924440144408444154442244431444384444544452444614446844476444814449044497445054451444523445304453944541445504455744566445684457744585445854458644595446034460344607446164462444624446314464044648446484465544664446724467344679446884469644697447064471544723447254472744736447444474644748447574476544768447694477844786447904479044799448074481144814448234483144835448394484844856448604486444873448814488644888448974490544910449154492444932449374494344952449604496544971449804498844994449984500745015450214502845037450454505145059450684507645082450914510045108451154512145130451384514545154451634517145179451794518845196452044520645215452234523145239452484525645265452664527545283452924529445303453114532045324453334534245342453434535245361453614536545374453834538345388453974540645406454134542245431454324543745446454554545645464454734548245483454924550145510455124551445523455324553445543455524556145564455664557545584455874559045599456084561145617456264563545639456434565245661456654567245681456904569445702457114572045725457274573645745457504575745766457754578145781457904579945805458064581545824458304583645845458544586145861458704587945886458894589845907459144591845927459364594345952459614597045978459834599246001460094601746026460354604346052460614607046079460834608446084460844608446084460854608546085460854608846089460894608946089460934609446094460944609546095460964609646096460974610246103461034610346104461124611346113461134611446123461244612446124461264613146132461324613246135461374613846138461384614146146461474614746147461504615646157461574615746161461644616546165461654616946172461734617346173461774618346184461844618446188461954619646196461964620146205462064620646206462124621546216462164621646222462284622946229462294623546242462434624346243462504625546256462564625646263462694627046270462704627746286462874628746287462954629546296462964629646304463124631346313463134632246326463274632746327463364634346344463444634446353463614636246362463634636346370463714637146372463734637546376463764637746378463834638446384463854638646392463934639346394463964640146402464024640346406464084640946409464104641346418464194641946420464234643046431464314643246435464424644346443464444644846450464514645146452464564646146462464624646346467464744647546475464764648046488464894648946490464954649746498464984649946504465094651046510465114651646523465244652446525465304653846539465394654046546465514655246552465534655946567465684656846569465764657646577465774657846585465864658746587465884659546604466054660546606466144661646617466174661846626466304663146631466324664046646466474664746648466574666046661466614666246671466774667846678466794668846696466974669746699466994670046701467014670346703467044670546705467074670746711467124671246714467144672046721467214672346723467324673346733467354673646739467404674046742467434674946750467504675246753467614676246762467644676646768467694676946771467734677846779467794678146783467914679246792467944679746797467984679846800468034680746808468084681046814468144681546815468174682146824468254682546827468314683646837468374683946844468444684546845468474685246855468564685646858468634686946870468704687246877468854688646886468884689446898468994689946901469074691346914469144691646922469314693246932469344694146942469434694346945469524695946960469604696246970469734697446974469764698446990469914699146993470014700947010470104701247021470254702647026470294702947030470314703147034470344703847039470394704247042470484704947049470524705347056470574705747060470614707047071470714707447076470784707947079470824708447088470894708947092470954709747098470984710147104471064710747107471104711347118471194711947122471254713247133471334713647140471454714647146471494715347159471604716047163471674717647177471774718047185471864718747187471904719647196471974719747200472064720647207472074721047216472194722047220472234722947234472354723547238472454724947250472504725347260472684726947269472724728047281472824728247285472934729647297472974730047309473114731247312473164731647316473174731747321473214732447325473254732947329473354733647336473404734047346473474734747351473524735547356473564736047361473674736847368473724737347382473834738347387473894738947390473904739447396473974739847398474024740447408474094740947413474154742247423474234742747429474374743847438474424744547452474534745347457474614746147462474624746647470474734747447474474784748247487474884748847492474974750047501475014750547510475164751747517475214752647535475364753647540475464754847549475494755347559475644756547565475694757547583475844758447588475954759647597475974760147608476124761347613476174762447632476334763347637476454764647647476474765147659476634766447664476684767647684476854768547689476984769947700477004770447713477174771847718477224773147738477394773947744477444774547746477464775147751477604776147761477664776747769477704777047775477764778147782477824778747789477894779047790477954779747799478004780047805478074781247813478134781847820478284782947829478344783747841478424784247847478504785547856478564786147864478724787347873478784788247883478844788447889478934790047901479014790647911479144791547915479204792547931479324793247937479424795147952479524795747963479694797047970479754798247982479834798347988479954799847999479994800448011480174801848018480234803148035480364803648041480494805648057480574806248071480714807248072480774808648089480904809048096480964809748098480984810448105481054810648106481124811348116481174811748123481244813048131481314813748139481444814548145481514815348159481604816048166481684817748178481784818448187481904819148191481974820048203482044820448210482134821648217482174822348226482324823348233482394824348243482444824448250482544825448255482554826148265482714827248272482784828248291482924829248298483034830648307483074831348318483224832348323483294833448339483404834048346483514835948360483604836648372483744837548375483814838748391483924839248398484044840848409484094841548421484284842948429484354844248443484444844448450484574846048461484614846748475484754847648476484824849048493484944849448500485084851548516485164852248530485394854048540485464855548561485624856248568485774858648587485874859448594485974859848598486054860548611486124861248619486204862248623486234863048631486364863748637486444864548654486554865548662486644866748668486684867548677486834868448684486914869348702487034870348710487134871648717487174872448727487344873548735487424874648748487494874948756487604876548766487664877348777487864878748787487944879948803488044880448811488164882448825488254883248838488394884048840488474885348858488594885948866488734887448875488754888248889488914889248892488994890648911489124891248919489264893548936489364894348951489564895748957489644897348974489754897548982489914899548996489964900349012490204902149021490294902949034490354903549043490444904449045490454905349054490574905849058490664906749074490754907549083490854909049091490914909949101491094911049110491184912149122491234912349131491344913949140491404914849152491554915649156491644916849174491754917549183491874919649197491974920549210492134921449214492224922849230492314923149239492454924949250492504925849264492714927249272492804928749289492904929049298493054930749308493084931649323493254932649326493344934149346493474934749355493634936349364493644937249380493804938149381493894939749400494014940149409494174942349424494244943249441494424944349443494514946049462494634946349471494804948449485494854949349502495094951049510495194951949521495224952249531495314953549536495364954549545495494955049550495594955949566495674956749576495774957949580495804958949590495944959549595496044960649606496074960749616496184962149622496224963149633496414964249642496514965449655496564965649665496684967449675496754968449687496964969749697497064971049714497154971549724497284973649737497374974649751497534975449754497634976849773497744977449783497894978949790497904979949805498094981049810498194982549834498354983549844498514985349854498544986349870498774987849878498874989549897498984989849907499154992149922499224993149939499484994949949499584996749971499724997349973499734997349974499754997549975499784997949980499804998049986499874998849988499894999049991499924999249993500005000150002500025000450009500105001150011500135002150022500235002350026500295003050031500315003550035500365003750037500415004850049500505005050055500555005650057500575006250067500685006950069500755007850079500805008050086500955009650097500975010450106501075010850108501155012250123501245012450132501385013950140501405014950149501505015150151501605016350164501655016550174501825018350184501855018550192501935019450195501965019850199502005020150202502075020850209502105021250212502135021450215502175022650227502285022950232502365023750238502395024250249502505025150252502565025850259502605026150266502675026850269502705027550281502825028350284502895029850299503005030150307503115031250313503145032150324503255032650327503355033750338503395034050348503535035450355503565036550366503675036850369503785037950380503815038250391503925039350394503955040450408504095041050412504125041250413504145041650416504165041750418504205042050420504215042250424504245042750428504295043150431504405044150442504445044450453504545045550457504575046650467504685047050471504735047450475504775047850486504875048850490504915049950500505015050350505505095051050511505135051550522505235052450526505295053250533505345053650539505425054350544505465055050550505515055250554505585056150562505635056550569505785057950580505825058650595505965059750599506045061050611506125061450619506285062950630506325063850643506445064550647506535065850659506605066250669506715067250673506755068250687506885068950691506995070050701507025070450712507145071550716507185072650734507355073650738507475074850749507505075250761507685076950770507725078150789507905079150794507945079950800508015080450804508125081350814508175081850822508235082450827508285083350834508355083850840508425084350844508475084950854508555085650859508625086350864508655086850871508735087450875508785088250882508835088450887508915089450895508965089950903509125091350914509175092250923509245092550928509335093850939509405094350948509565095750958509615096750971509725097350976509825098850989509905099351000510015100251003510065101351017510185101951022510305103051031510325103551043510455104651047510505105851065510665106751070510795107951080510815108451093510995110051101511045111351121511225112351127511275113151132511335113751137511445114551146511505115151154511555115651160511615116751168511695117351174511835118451185511895119151193511945119551199512015120951210512115121551218512195122051221512255122851233512345123551239512425125051251512525125651260512645126551266512705127451281512825128351287512925129351294512955129951304513085130951310513145132051320513215132251326513325133551336513375134151347513565135751358513625136951371513725137351377513845139251393513945139851406514075140851409514135142151428514295143051434514435144351444514455144951458514645146551466514705147951488514895149051495514955150151502515035150851508515175151851519515245152551530515315153251537515385154651547515485155351555515605156151562515675156951577515785157951584515875159151592515935159851601516085160951610516155161951625516265162751632516365164551646516475165251657516625166351664516695167451683516845168551690516965170151702517035170851714517225172351724517295173651740517415174251747517545176251763517645176951777517825178351784517895179751805518065180751812518215182551826518275183251841518495185051851518575185751862518635186451870518705187851879518805188651887518915189251893518995190051908519095191051916519185192551926519275193351936519365193751938519445194751953519545195551961519655196651967519685197451978519875198851989519955200052002520035200452010520155202352024520255203152037520405204152042520485205552057520585205952065520725207752078520795208552093520945209552096521025211052116521175211852124521335213852139521405214652155521635216452165521725217252176521775217852185521865218652187521885219552196521985219952200522075220852213522145221552222522245222552226522275223452236522435224452245522525225552256522575225852265522685227252273522745228152285522855228652287522945229852304523055230652313523185231952320523215232852333523375233852339523465235252352523535235452361523675237352374523755238252389523905239152392523995240652410524115241252419524275242752428524295243652444524505245152452524595246852473524745247552482524915249952500525015250952509525135251452515525235252452524525255252652534525355254452545525465255452556525585255952560525685257052578525795258052588525915259652597525985260652609526145261552616526245262752635526365263752645526495265352654526555266352668526695267052671526795268452685526865268752695527005270452705527065271452720527205272152722527305273652743527445274552753527605276152762527635277152778527825278352784527925280052800528015280252810528185282552826528275283552844528465284752848528565286552870528715287252881528815288252883528845289352893529015290252903529125291352917529185291952928529295293652937529385294752949529525295352954529635296652966529675296852977529805298652987529885299753000530095301053011530205302453029530305303153040530455304853049530505305953064530675306853069530785308353089530905309153100531065310853109531105311953126531265312753128531375314453148531495315053159531665317353174531755318453192531955319653197532065321553216532175321853227532365324253243532445325353262532715327253274532745327453279532805328253282532835328653287532895328953290532985329953301533015330353304533055330753307533095331653317533195331953322533285332953331533315333453340533415334353343533465335553356533585335853362533675336853370533705337553379533805338253382533875339353394533965339653401534105341153413534135341953424534255342753427534345343853439534415344153448534555345653458534585346653466534675346953469534775348353484534865348653495535005350153503535035351253520535215352353524535245352553526535285352953529535365353753539535405354153547535485355053551535535355753558535605356153563535705357153573535745357753581535825358453585535885359253593535955359653599536055360653608536095361253621536225362453625536295363553636536385363953643536495365053652536535365753666536675366953670536755367753678536805368153686536955369653698536995370453713537145371653717537235372553726537285372953735537405374153743537445375153753537545375653757537645376653767537695377053778537785377953781537825379053793537945379653797538065380653807538095381053819538205382153823538245383353839538405384253843538525386153862538645386653866538725387353875538775387753884538855388753889538905389353894538965389853899539055390653908539105391253915539165391853920539225392653927539295393153934539345393553937539395394253945539465394853950539545395453955539575395953963539655396653968539705397453978539795398153983539875399453995539975399954004540085400954011540135401854024540255402754029540355403854039540415404354049540555405654058540605406754070540715407354075540825408754088540905409254100541035410454106541085411654122541235412554127541365413954140541425414454153541585415954161541645416454167541685417054173541735417954180541825418554186541895419054192541955419654202542035420554208542105421054211542135421654218542215422254224542275423054230542315423354236542395424354244542465424954252542585425954261542645426754276542775427954282542865429254293542955429854303543035430454306543095431454317543185432054323543285433454335543375434054346543495435054352543555436154368543695437154374543815438154382543845438754394543975439854400544035441154411544125441454417544255443054431544335443654444544495445054452544555446354471544725447454477544865449154492544945449854498544985449954501545055450554506545075450954513545135451754518545205452454525545265452754529545335453454540545415454354547545485455654557545595456354565545665456754569545735457554583545845458654590545935459654597545995460354606546115461254614546185462154629546305463254636546405464554646546485465254657546585465954661546655467054671546725467454678546835468754688546905469454700547015470254704547085471454721547225472454728547345474154742547445474854755547555475654758547625476954776547775477954783547915479454795547975480154809548135481454816548205482854835548365483854842548515485554856548585486354863548635486454866548715487154872548735487554880548805488454885548875489254893548945489554897549025490354910549115491354918549205492654927549295493454936549455494654948549535495654962549635496554970549745497754978549805498554989549935499454996550015500555012550135501555020550255502955030550325503755043550445504555047550525505855061550625506455069550755508155082550845508955096550995510055102551075511555115551165511855123551315513355134551365514155149551545515555157551625517155173551745517655182551825518255183551855519155191551915519255194552005520055203552045520655212552135521355214552165522255223552315523255234552405524255246552475524955255552575526455265552675527355276552805528155283552895529355295552965529855304553085531755318553205532655331553335533455336553425534755356553575535955365553715537855379553815538755394553985539955401554075541455421554225542455430554385544255443554455545155460554635546455466554725548155489554905549255499554995550055501555035551055510555195552055522555295552955538555395554155548555495554955550555525555955560555635556455566555735557555576555775557955586555885558955590555925559955601556045560555607556145561655622556235562555632556355563955640556425564955652556565565755659556665566955675556765567855685556885569755698557005570755711557185571955721557285573255740557415574355750557545576255763557655577255777557785577955781557885579355802558035580555812558185581855819558215582855834558415584255844558515585855858558595586155868558755588355884558865589355900559095591055912559195592755934559355593755944559535595355954559565596355972559805598155983559905599956008560095601156019560195602656027560295603756038560385603956041560495605056058560595606156069560715607156072560745608256084560915609256094561025610556105561065610856116561195612756128561305613856142561425614356145561535615756165561665616856176561815618256183561855619356198562075620856210562185622456225562265622856236562435624356244562465625456261562645626556267562755628356284562855628756295563035630656307563095631756326563285632956331563395634856353563545635656365563655636856369563715638056380563865638756389563985639956403564045640656415564165642356424564265643556437564425644356445564545645656464564655646756476564795648656487564895649856502565025650356505565145651856526565275652956538565435654556546565485655756562565645656556567565765658156586565875658956598566045660756608566105661956625566325663356635566445665056657566585666056669566765667656677566795668856695567035670456706567155672356725567265672856737567465674756748567505675956768567725677356776567765677656778567795678256782567825678956790567935679356794567945679556798567985679956802568035680656806568085680956810568135681356815568215682256825568255682856828568295683256832568355683856839568425684256846568475684856851568515685556861568625686556865568705687056871568745687456879568825688356886568865689256893568945689756897569035691056911569145691456921569215692256925569255693256935569365693956939569475694856949569525695256960569685696956972569725698056989569905699356993570025700457005570085700957009570095701057013570145701457021570225702557026570265703557036570395704057041570435704457047570485705057050570515705457055570575706457065570685706957071570805708157084570855708857090570915709457095570995709957100571035710457108571165711757120571215712557134571355713857139571445714657147571505715157157571575715857161571625716857176571775718057181571885719557196571995720057208572085720957212572135722157229572305723357234572435725057251572545725557264572715727257275572775727757277572785728157283572835729157292572955729757298573055730657309573115731257320573215732457326573285732957330573335733557337573465734757350573525735557363573645736757369573725738157382573855738757391573935739457397573995740457404574055740857410574155742457425574285743057436574375743857441574435744957453574545745757459574665746857469574725747457482574835748457487574895749757501575025750557507575155752257523575265752857537575425754357546575495754957553575545755757560575605756857569575725757557576575775757857581575845758557594575955759857601576035761157612576155761857621576235762457627576305763357638576395764257645576495765257653576565765957664576665766757670576735767957680576815768457687576935769757698577015770457711577145771557718577215772857731577325773557738577455774857749577525775557762577685776957772577755778357788577895779257795578035780857809578125781557823578295783057833578365784457853578545785757860578695787757878578815788457893579015790257905579085791757926579275793057934579345793657937579405794457945579465794757950579545795557956579575796057964579655797257973579765798057982579825798357986579905799258001580025800558009580115802058021580245802858031580375803858041580455804858057580585806158065580695807758078580815808558089580975809858101581055811058116581175812058124581295813858139581425814658152581605816158164581685817458182581835818658190581975820458205582085821258220582205822158224582285823658245582465824958253582625826258263582665827058279582825828358286582905829958305583065830958314583145831958320583235832858328583345833558338583435834458344583455834858353583545835758358583615836658368583705837158374583795838158384583855838858393583955840358404584075841258415584165841758420584255842958429584305843358438584425844358444584475845258456584635846458467584725847758477584785848158486584915850058501585045850958515585165851758520585255853158536585375854058545585515855958560585635856858575585825858358586585915859858607586085861158616586245862858629586325863758645586525865358656586615867058676586775868058685586945870258703587065871258712587165871758720587265872658733587345873758743587445875058751587545876058761587695877058773587795878158786587875879058796587985880658807588105881658819588265882758830588365884058840588415884458850588545886058861588645887058874588835888458887588935889858906589075891058916589225892358924589275893358939589475894858951589575896458965589665896958975589835898358984589875899359001590045900559008590145902359024590255902859034590435904759048590515905859058590615906259065590725907259079590805908359090590905909759098591015910859109591095911059113591205912159130591315913459141591435914659147591505915759159591625916359166591735917559181591825918559192591955920059201592045921159214592235922459227592345923859238592395924259249592535925659257592605926759272592745927559278592855929059296592975930059307593125932059321593245933159337593385933959342593495935659356593575936059367593745937859379593825938959396594045940559408594155942359424594255942859435594445944459445594485945559464594685946959472594805948059482594835948659494594945949959500595035951159512595165951759520595285952959537595385954159549595515955859559595625957059573595735957459577595855958859597595985960159609596135961759618596215962959633596375963859641596495965359660596615966459672596775968359684596875969559701597025970359706597145972059723597245972759735597415974759748597515975959766597715977259775597835979159791597925979559803598115981859819598225983059839598395984059843598515986059869598705987359882598825988659887598905989959900599025990359906599155991659921599225992559934599365994059941599445995359955599645996559968599775998059988599895999260001600056000660007600106001960024600246002560028600376004260048600496005260061600666007360074600776008660092600926009360096601056011160120601216012460133601406014560146601496015860166601696017060173601826019060196601976020060209602186022360224602286022860228602296023060234602346023560235602366024060240602416024460245602496024960251602536025460258602586026060269602706027460274602766028560286602906029060293602956029660300603006030460305603066031060310603146032260323603276032760332603336033460338603386034360347603486035260352603586036160362603666036660373603736037460378603786038560389603906039460394604016040860409604136041360421604276042860432604326044160444604456044960449604586046660467604716047260472604736047460478604796048060480604816048560486604876049460495604996050060502605056050660510605116051360519605206052460525605286053360534605386053960543605456054660550605516055660557605586056260563605686057260573605776057860584605876058860592605936060060601606026060660607606146061660617606216062260629606346063560639606406064860652606536065760658606676066960670606746067560684606886068960693606946070360710607116071560717607176072360724607286073060731607356073660740607426074360750607516075560757607596075960760607646076660768607776077860782607846078760794607956079960801608056080860809608136081560819608256082660830608326083760842608436084760849608556085960860608646086660872608816088260886608886089560897608986090260904609126091360914609186092060929609296093060934609366094560951609526095660958609676097660977609816098460984609926099360997610006100161008610096101361016610186102261023610276103061032610406104161045610486105061058610596106361066610686107661077610816108461086610956109661100611036110661109611106111461117611206112361124611286113161134611376113861142611456114861155611566116061163611676116861169611736117661180611816118261186611896119361194611956119961202612066121261213612176122061225612256122661230612336123861238612396124361246612516125161252612566125961264612706127161275612786128461284612856128961292612986129861299613036130661312613136131461318613216132761328613296133361336613426134761348613526135561361613666136761371613746138061386613876139161394614016140161402614066140961416614206142161425614286143561439614406144461447614546145961460614646146761475614756147661480614836149161495614966150061503615116151561516615206152361531615366153761541615446155361554615556155961562615716157661577615816158461593615986159961603616066161561622616236162761630616396164761648616526165661656616586165961663616676166761669616706167461678616786168261683616876169161691616996170061704617086170961711617126171661720617216172361724617286173261733617376173861742617466174761756617576176161765617676177061771617756177961781617846178561789617936179561800618016180561809618126181361814618186182261825618306183161835618396184261847618486185261856618596186761868618726187661879618886188961893618976190161904619056190961913619176192061921619256192961933619396194061944619486195361957619586196261966619716197961980619846198861993620016200262006620106201662017620186202262026620336203362034620386204262049620536205462058620626206962073620746207862082620896209762098621026210662113621216212262126621306213862140621416214562149621576215962160621646216862176621826218362187621916220062201622026220662210622196222462225622296223362242622476224862252622576225762257622586226262267622676227162272622766228162281622896229062294622996229962307623086231262317623186232162322623266233162332623406234162345623506235262354623556235962364623666236862369623736237862380623876238862392623976240062403624046240862413624166242362424624286243362436624436244462448624536245762460624616246562470624746247862479624836248862492625006250162505625106251462522625236252762532625376254262543625476255262557625626256362567625726257762586625876259162596626016261062611626156262062626626326263362637626426264862655626566266062665626726267362674626786268362690626916269262696627016270862716627176272162726627346273462735627396274462752627566275762761627666277462778627796278362788627976279862799628036280862817628266282762831628376283762840628416284562851628516285462855628596286562866628676286862872628786287962881628826288662892628936289962900629046291062911629176291862922629286293062934629356293962945629476295362954629586296462967629676296862972629786298162981629826298662992629956300363004630086301463018630196302063024630306303463039630406304463050630546305963060630646307063075630786307963083630896309563097630986310263108631146312063121631256313163137631436314463148631546316163166631676317163177631846319363194631986320463212632156321663220632266323463237632386324263248632576325963260632646327063279632866328763291632986329863299633006330463311633116331263313633176332463325633256332663330633376333863344633456334963356633586335863359633636337063372633736337463378633856338763388633896339363400634026340663407634116341863420634286342963433634406344263451634526345663463634656347463475634796348663489634926349363497635046350763514635156351963526635296353763538635426354963552635606356163565635726357663579635806358463591635956360263603636076361463618636266362763631636386364263650636516365563662636676367163672636766368363688636966369763701637086371363722637236372763734637406374063741637456375263758637616376263766637736377963786637876379163798638046381263813638176382463830638396384063844638516385863865638666387063877638856388663887638916389863906639086390963913639206392863931639326393663943639526395463955639596396663975639816398263986639936400264009640106401464021640306403964040640446405164060640696407064074640826408264085640866409064098640986410264103641076411564115641216412264126641346413564138641396414364151641526415964160641646417264173641816418264186641946419664197641986420264210642126421764218642226423064232642416424264246642546425764257642586426264270642736427664277642816428964292643006430164305643136431764319643206432464332643366433964340643446435264356643626436364367643756438064382643836438764395644006440664407644116441964424644316443264436644446445064451644526445664464644706447564476644806448864494645036450464508645166452364523645246452864536645436454764548645526456064568645716457264576645846459264599646006460464612646206462864629646336464164650646536465464658646666467564678646796468364691647006470764708647126472064729647376473864742647516475164754647556475964768647686477264773647776478664786647946479564799648086480864817648186482264831648326483664837648416485064852648556485664860648696487164878648796488364892648946490264903649076491664919649236492464928649376494164943649446494864957649616496764968649726498164985649926499364997650066501165014650156501965028650346503665037650416505065056650626506365067650766508265089650906509465103651106511465115651196512865135651396514065144651536516065168651696517365182651896519865199652036521265220652266522765231652406524965254652556525965268652776528665287652926529265292652926529365298652986529865306653076531265312653126532165322653276532765328653316533265337653376533865342653436534865348653506535265353653586535865360653646536565370653706537265380653816538665386653886539765398654036540365406654136541465419654196542365423654246542965429654336543765438654436544365447654526545365458654586546365467654686547365473654786548465485654906549065496654966549765502655026550865509655106551565515655226552265523655286552865535655396554065545655456555265560655616556665566655736558265583655886558865596656046560565610656106561965622656236562865628656376564465645656506565065659656676566865673656746567465681656826568765688656896569265693656986569965700657076570865713657146571565724657256573065731657326574165742657476574865750657546575565760657616576365771657726577765778657816578165782657876578865791657926579365798657996580265804658056581065811658146582065821658266582765830658386583965844658456584865857658586586365864658686586965870658756587665880658856588665891658926589665903659046590965910659146592265923659286592965934659356593665941659426594765952659536595865959659646597165972659776597865983659926599365998659996600566006660076601266013660196602466025660306603166037660446604566050660516605866058660596606466065660726607366074660796608066087660926609366098660996610666113661146611966120661286612866129661346613566143661456614666151661526616066166661676617266173661816618966190661956619666205662066620766212662136622266227662286623366234662436625266253662586626066260662616626266267662696626966273662746627966281662816628966290662956629766298663006630166306663086630966313663146631966321663226632966330663356633766339663446634566350663526635466363663646636966371663746637566376663816638366386663906639166396663986640266405664066641166413664176642466425664306643266436664456644666451664536645866461664626646766469664746647866479664846648666491664996650066505665076651366513665146651966521665276653166532665376653966545665506655166556665586656466573665746657966581665886658966590665956659766604666096661066615666176662566629666306663566637666456665366654666596666166670666706667166676666786668766692666936669866700667096671466715667206672266731667406674166746667496674966750667516675666759667596676566766667716677466774667826678366788667916679266794667956680066803668046680866809668146681766818668276682866833668366683866840668416684666849668516685766858668636686666868668766687766882668856688866891668926689766900669036691066911669166691966923669246692566930669336693766940669416694666949669536696166962669676697066975669786697966984669876699266999670006700567008670136702267023670286703167037670416704267047670506705767058670596706467067670746707967080670856708867095671026710367108671116711967121671226712767130671396713967140671456714867157671616716267167671706717967185671866719167195671956719767198672036720767207672156721667221672256722667228672296723467238672396724367244672496725367255672556725667261672656726767274672756728067284672876728867289672946729867301673046730567310673146731767326673276733267336673406734867349673546735867363673656736667371673756738067384673856739067394674006740167402674076741167417674196742067425674296743567441674426744767451674576746567466674716747567482674876748867493674976750467512675136751867522675306753267533675386754267550675546755567560675646757367574675756758067584675936759867599676046760867617676266762767632676376763767638676396764467649676496765767658676636766867669676736767467679676846768567693676946769967704677066770667707677126771767719677266772767732677376774067745677466775167756677596776867769677746777967783677846778567790677956779967808678096781467819678246782767828678336783867843678506785167856678616786667875678766788167886678926789967900679056791067917679196792067925679306793767943679446794967954679616796967970679756798067988679946799568000680056801468017680186802368028680376804468045680506805568064680736807468079680856808568092680936809868104681056811168112681176812368125681256812668131681376813968141681426814768153681566815768158681636816968172681786817968184681906819468194681956820068206682106821268213682186822468229682306823168236682426824768254682556826068266682726827368274682796828568291682946829568300683066831368315683166832168327683356833568336683416834768355683596836068365683716837968386683876839268398684066841368414684196842568433684416844268447684536846268464684656847068476684856849068491684966850268511685166851768522685286853768543685446854968556685566855668557685626856968569685726857368578685856858568588685896859468601686016860668607686126861968619686286862968634686416864268644686456865068657686586866068661686666867368674686806868168686686936869568695686966870168708687106871368714687196872668728687316873268737687446874768747687486875368760687636876768768687736878068783687906879168796688036880668814688156882068827688306883968840688456885268856688596886068865688726887668882688836888868895688996890668907689126891968923689326893368938689456895068953689546895968966689716897768978689836899068995690026900369008690156902169022690236902869035690416904669047690526905969065690736907469079690866909269101691026910769114691216912769128691336914069148691486914969154691616916969172691736917869185691936919869199692046921169219692276922869233692406924969251692526925769264692736927869279692846929169300693076930869313693216932169322693236932869336693366934169342693476935569355693636936469369693776937869378693796938469392693936939969400694056941369415694156941669421694296943169434694356944069448694506945669457694626947069472694786947969484694926949569495694966950169509695126951569516695216952969532695386953969544695526955569561695626956769575695796957969580695856959369597696006960169606696146961869624696256963069638696426964969650696556966369668696696967069675696836968869692696936969869706697116971869719697246973269738697386973969744697526975869762697636976869776697826978969790697956980369810698106981169816698246983169838698396984469852698606986169862698676987569883698876988869893699016990969917699186992369931699396994869949699546996269971699746997569980699886999770003700047000970018700187001870019700247003370033700357003670041700507005070056700577006270071700717008070081700867009570096700997010070105701147011570122701237012870137701397014070141701467015570157701617016270167701767017870186701877019270201702047021070211702167022570229702297023070235702447024870251702527025770266702707027870279702847029370298703027030370308703177032270330703317033670345703517035270353703587036770373703797038070385703947040170404704057041070419704267043370434704397044870456704567045770462704717047970484704857049070499705087051270513705187052770536705447054570551705517055170552705537055970559705597056670567705737057370574705757057670582705827058370588705897059570595705967060470605706117061170613706177061870624706247062770627706287063470634706377064170642706487064870651706587065970665706657066970672706737067970679706847068470685706917069170696707007070170707707077071270719707207072670726707327073570736707427074270749707517075270758707587076570771707727077870778707857079470795708017080170809708157081670822708227083170831708327083870838708477085170852708587085870867708747087570881708827088270887708887089470895708957090070901709077090870908709177091870924709257092670928709297093570936709387093870939709457094670948709497095070956709577095970964709657097170972709747098270983709897099070993709997100071006710077101071019710207102671027710317103471035710417104271046710527105371059710607106571069710707107671077710837108671087710937109471100711077110871114711157112271122711237112971130711377114671147711537115471162711637116471170711717117971184711857119171192712007120871209712157121671225712327123371239712417124171241712427124871250712507125471255712617126371263712707127171277712797128071286712877129371295712977129871299713057130771309713147131571321713237132571334713357134171343713457135471355713617136371366713667136771373713757137871382713837138971391713947140271403714097141171414714227142371429714317143571441714427144871450714557145571456714627146471469714737147471480714827148771491714927149871500715067150971510715167151871524715317153271538715407154771548715497155571557715647156671567715737157571582715857158671592715947160171608716097161571617716257162671627716337163571643716457164671652716547166371663716647167071672716817168571686716927169471703717117171271718717217172171721717227172871731717317173171732717387174171741717457174671752717557175571763717647177071773717747177471775717817178471785717867178771793717967179771802718037180971812718137182271823718297183271834718357183671842718457184771851718527185871861718637187171872718787188171884718867188771893718967189971904719057191171914719177192271923719297193271935719447194571951719547195871961719627196871971719757198171982719887199171995720037200472010720137201872020720217202772030720357204172042720487205172056720657206672072720757208172083720847209072093720997210572106721127211572122721227212372129721327213972142721437214972152721597216772168721747217772185721877218872194721977220572211722127221872221722307223072231722377224072249722517225272258722617227072276722777228372287722877228772288722947229872298723027230372309723137231472316723177232372327723287233472335723417234572347723477234872354723587236072364723657237172375723787238172382723887239272395724027240372409724137241772418724197242572429724337243972440724467245072454724617246272468724727247772478724797248572489724947249972500725067251072516725167251772523725277253372542725437254972553725607256372564725707257472581725887258972595725997260772610726117261772621726297263272633726397264372651726587265972665726697267872679726807268672690726997270672707727137271772726727347273572741727467274672748727497275572760727607276672767727737277872779727817278272788727937279472799728007280672811728127282172822728287283372835728387283972845728507285372853728547286072865728687286972870728767288172884728897289072896729017290472913729147292072925729297293572936729427294772952729527295372959729647296972973729747298072985729907299872999730057301073016730217302273028730337304073040730417304773052730597306373064730707307573082730907309173097731027311073115731167312273127731367313873139731457315073159731657316673172731787317873178731797318573191731917319973200732067321273213732167321773223732297323073237732387324473250732527325373254732607326673269732697327073276732827328573287732887329473300733037330973310733167332273326733267332773333733397334373352733537335973365733707337273373733797338573390733967339773403734097341573415734167342273428734347344373444734507345673463734677346873474734807348773495734967350273508735167351973520735267353273540735437354473550735567356473571735727357873584735937359473595736017360773616736227362373629736357364473650736517365773664736647366673667736737368073680736867368773693737007370173702737037370973716737177371873719737257373273733737417374273748737557375773759737607376673773737757378273783737897379673798738057380673812738197382273828738297383573842738467384673847738537386073864738697387073876738837388773893738947390073907739127391673917739237393073935739437394473950739577396373966739677397373980739867399173992739987400574012740127401374019740267403374037740387404474051740587406774068740747408174089740907409174097741047411274119741207412674133741427414374144741507415774166741727417374179741867419574203742047421074218742187422574226742327424074241742427424374249742577425874264742657427174279742807428874289742957430374305743127431374319743277433074331743327433874346743497435574356743627437074373743827438374389743977440074409744107441674424744287443174432744387444674450744587445974465744737447874479744807448674494744997450174502745087451674521745277452874534745427454874549745507455674564745707457474575745817458974595746037460474610746187462574627746287463474642746497465674657746637467174679746797468074686746947470274706747077471374721747297473774738747447475274761747647476574771747797478874795747967480274810748197482674827748337484274842748437484474850748597485974865748667487274881748827488274883748897489874899749007490174907749167491774922749237492974938749407494074941749477495674958749627496374969749787498074988749897499575004750077500975010750167502575028750357503675042750517505575056750577506375072750767508275083750897509875103751037510475110751197512475129751307513675145751507515975160751667517575181751897519075196752057521275214752157522175230752377524475245752517526075268752707527175277752867529475296752977530375312753207532675327753337534275351753527535375359753687537775383753847539075399754087541775418754257542575425754287542975436754367543675444754457545275452754537545675457754647546475465754727547375480754807548275483754847549175491754937549975500755077550775510755127551375520755207552375527755287553575535755387554675547755547555475558755617556275569755697557375582755837559075590755957559775598756057560575610756167561775624756247563075631756327563975639756457565275653756607566075667756707567175678756787568575692756937570075700757087571075711757187571875726757347573575742757427575175757757587576575766757667576675767757747577575775757807578175788757897579075792757937580075801758027580675807758147581575816758247582575832758337583575838758397584675847758507585075851758587585975862758657586675873758747587775884758857589275893758977589975900759077590875912759217592275929759307593575940759417594875949759547596375964759717597275978759827598375990759917599875999760007600776008760157602476025760327603376041760447604576052760537606176069760707607776078760877609376094761017610276111761197612076127761297612976131761327613976141761417614876149761567615876159761647616576172761747617576183761847619176193761957619776198762057620776209762167621776224762267622976234762357624276244762487624976250762577625976263762687626976276762787628376283762847629176293762987630676307763147631676322763287632976336763387634576345763467635376355763627636776368763757637776385763897639076397763997640876408764097641676418764277643176432764397644176450764597646076467764707647076478764797648676489764907649576496765037650676507765167651776524765277652976534765357654276545765477655276553765607656376565765707657176578765817658376592765937660076603766067661176612766197662276625766307663176638766417664476652766537666076663766677666976670766777668076684766927669376700767037670776715767167672376726767317673676737767447674776752767617676276769767727677876783767847679176794768007680576806768137681676823768267682776834768377684476851768527685976862768707687376874768817688476892768967689776904769077691576920769217692876931769397694876949769567695976968769737697476981769847699376999770007700777011770117701177012770197702377023770277702877035770397704077040770417704877052770537705577056770637706777068770717707277079770837708477091770927709977103771057710877109771167712077122771277712877135771397714177148771497715677160771637716477165771727717677179771867718777194771987720177210772117721877222772267723077231772387724277246772547725577262772667727177275772767728377287772927729877299773067731077316773217732277329773337733977348773497735677360773677737277373773807738477391773997740077407774117741877426774277743477438774467744877449774567746077468774767747777484774887749777498774997750677510775197752177522775297753377542775487754977556775617756177563775647757177576775767758177582775897759477594776037760477611776167761777620776217762877633776347764377644776517765677658776607766177668776737767677676776777768477689776927769677697777047770977713777137771477721777267773077734777357774277747777517776077761777687777377778777817778277789777947779977808778097781677821778277783077831778387784377849778587785977866778717787877881778827788977894779017791077911779187792377931779347793577942779477795677958779597796677971779807798677987779947800078000780027800378010780167801678023780247803178037780387803978040780477805378054780597806078067780737807578076780777808478090780927809878099781067811278115781197812078127781337813678144781457815278158781627816678167781747818078184781937819478201782077821278220782217822878234782407824278243782507825678262782707827178278782847829178295782967830378309783167832278323783307833678344783447834578352783587836678372783737838078386783957839778398784057841178420784297843078437784447844478447784487845578462784627847178472784797848678487784937849478501785087851078511785127851978526785287853378534785417854878551785527855378560785677857078578785797858678593785977860178602786097861678620786287862978636786437864878652786537866078667786737867478675786827868978696786967869778704787117871878722787237873078737787457874578746787537876078768787767877778784787917880078803788047881178818788277883478835788427885078850788537885478861788697887078871788727887978887788897888978890788977890578907789117891278919789277893078930789317893878946789497895878959789667897478977789867898778994790027900679009790107901779025790297903879039790467905479059790677906879075790837908979090790917909879106791127911779118791257913379140791427914379150791587916579167791687917579183791907919279193792007920879215792217922279229792377924579248792497925679264792727927579276792837929179299793057930679313793217933079330793317933879346793557936279363793707937879387793947939579402794117941179412794137942079429794297943479435794427945179452794547945579462794717947279474794757948279491794927950179502795097951879520795237952479531795407954379543795447955179560795637956479565795727958179584795897959079597796067960979618796197962679635796397964579646796537966279666796747967579682796917969579704797057971279721797267972979730797377974679752797527975379760797697977579777797787978579794798007980479805798127982179827798357983679843798527985979864798657987279881798887989579896799037991279920799227992379930799397994779953799547996179970799797998279983799907999980008800148001580022800318004080049800508005880058800588006180062800708007080071800718007280080800808008180084800858009380093800958009580096801048010480106801108011180119801198012280123801248013280132801358013980140801488014880152801548015580163801638016780173801748018280182801878019080191801998019980204802118021280220802208022580233802348024280242802488025080251802598025980265802748027580283802838029080293802948030280302803108031280313803218032180329803358033680344803448035380356803578036580365803748038280383803918039280392803958039680404804058040580412804138042180422804238042780428804368043780438804478044880456804578045980464804658047380474804768048580486804948049580498805048050580513805148051880519805208052880529805348053480535805438054480549805538055480562805638056980570805718057980580805868059380594806028060380610806158061680624806258063280641806428065080651806598066580666806748067580684806868068780695806978069780697806988070680708807088071280713807218072380724807258072680734807368073780744807458075380755807578076380764807728077480777807778077880786807888079180798807998080780809808138081780818808268082880832808388083980847808498085480854808558086380865808708087780878808868088880894808998090080908809108091680922809238093180933809408094080941809498095180958809658096680974809768098480989809908099881000810098101281013810218102381032810398104081048810518105181055810568106481067810688107081071810798108281084810858108681094810978109981104811058111381116811198112181122811308113381137811388113981147811508115481158811598116781170811748118281183811918119481199812048120581213812168122281226812278123581238812448125181252812608126381270812718127281280812838129081298812998130781310813188132581326813348133781346813508135181359813628137181379813808138881392813928139781398814068141081411814158141681424814288143081432814338144181445814478145381454814628146681469814738147481482814868148981493814948150281506815098151581516815248152881532815328153381541815458154981557815588156681570815748158281583815918159581600816008160181609816138161881622816238163181635816418164381644816528165681662816658166681674816788168481687816888169681700817068171381714817228172681733817388173981747817518175881764817658177381777817848179181792818008180481812818138181481822818268183481843818448185281856818658186581866818748187881887818928189381901819058191481923819248193281937819378194481945819538195881958819668196781975819808198181985819868199481999820008200882009820178202282024820308203182039820448204682054820558206382068820708207982080820888209382096820998210082108821138211782118821198212782132821368213982140821488215382157821628216382171821768218082189821908219882203822088221582216822248222982234822438224482252822578226382268822698227782282822888229782298823068231182318823258232682334823398234682355823568236482369823778238482385823938239882407824088240982417824228243182440824418244982455824558245782458824668247282472824768247782485824918249182499825008250882514825158252182522825308253682537825468254782555825618256382565825668257482580825828258882589825978260382606826108261182619826258262882635826368264482650826548265882659826678267382677826858268682694827008270582711827128272082726827318274082741827498275582761827698277082778827848279182793827948280282808828168281682817828258283182839828438284482852828588286782868828698287782883828928289782898829068291382913829168291782925829328293282939829408294882955829568296182962829708297782978829878298882996830038300583012830138302183028830318303383034830428304983052830568305783065830728307583083830848309283099831038310983110831188312583130831318313283140831478315283158831598316783174831808318083181831898319683202832108321183219832268323383237832388324683253832608326583266832748328183288832978329883306833138332183328833298333783344833538335683357833658337283381833868338783395834028341183420834218342983437834378344483445834538346183462834658346683474834828348383492834938350183509835118351483515835238353183534835358353683544835528355583562835638357183579835838358983590835988360683611836118361283620836288363383641836428365083658836648366983670836788368683693836958369683704837128371983725837268373483742837508375483755837638377183780837818378283790837988380783816838178382583834838348383783838838468385583856838578385883866838758387683885838868389483903839058390683907839158392483926839318393283940839498395283955839568396483973839778397883979839878399684000840078400884016840258403084031840328404084049840548406384064840728408184087840948409584103841128411984124841258413384142841498415884159841678417684184841918419284200842098421884223842248423384233842338423784238842478424784247842558425684265842658426684272842738428284282842848428984290842998429984301843098431084319843198432284324843258433484334843388433884339843488434884352843618436284371843718437684383843848439384393843998440084401844108441084416844258442684435844358444284450844518446084460844688447484475844848448484493844938449484503845038451284520845218453084531845318453884539845488454984550845568455784566845678456984569845708457984580845828459184592846018460284604846138461484623846248462784629846308463984640846438464984650846598466084664846698467084679846808468484689846908469984700847058470884709847188471984724847318473284741847428474884754847558476484765847718477884779847888478984796847998480084809848108481784824848258483484835848438484984850848598486084868848758487684885848868489584899849008490984910849198492784928849378493984939849468494784956849588495884967849688497784979849808498084981849908499284993849978499885007850098501185014850158502485026850288503385034850438504585048850508505185060850628506585071850728508185083850878509285093851028510485108851158511685125851278513285138851398514885150851568515685157851668516885174851838518485193851958520285204852058521485216852238522585226852358523785244852508525185260852628527085275852768528585287852958530385304853138531585324853268532785336853388534785353853548536385366853668537185372853818538485384853938539485403854068540785407854088541785420854218542585426854358543885440854438544485453854568545885465854668547585478854808548985490854998550285505855088550985518855218552585527855288553785540855448555085551855608556385567855768557785586855898559485597855988560785610856168561885619856288563185637856438564485653856568566385666856678567685679856868569385694857038570685714857208572185730857338574285743857448575385756857658577085771857808578385792858018580285811858158581585823858248583385837858388584185842858518585585856858648586585874858788588085882858838589285896858998590085901859108591485917859238592485933859378594185943859448595385957859618596785968859778598185986859918599286001860058601186012860138602286026860328603386034860438604786053860588605986068860728607986083860848609386097861058610586106861158611986127861348613586144861488615786158861598616886173861738617386174861838618886188861958619686205862108621086219862208622986234862358623886239862488625386255862578625886267862728627486283862848629386298863018630386304863138631886321863278632886337863428634686351863528636186366863718637386374863838638886393864028640386412864178642386426864278643686441864488645086451864608646586473864738647486483864888649686501865028651186516865248653386534865438654886557865658656686575865818658186587865888659786603866048660986610866198662586626866358663686645866518665386661866628667186677866808668786688866978670386706867138671486723867298673386734867358674486750867558675586756867658677186776867858678686795868018680786810868118682086826868328684086841868508685686862868708687186880868868689286900869018691086916869238692386924869338693986946869518695286961869678697486979869808698986995870028700787008870178702387031870358703687045870518705987068870698707887084870928710187102871118711787126871268712787136871428715187151871528716187167871768718187182871918719787206872118721287221872278723687242872438725287259872598725987260872698727687276872818728287291872988729887303873048731387320873208732787328873378734487345873458734687355873628736387368873698737887385873868739187392874018740887409874168741787426874338743587436874378744687453874558746187462874718747887480874868748787496875038750587513875148752387530875338753687537875468755387556875648756587574875818758487592875938760287609876138761487615876248763187635876368763787646876538765787663876648767387680876848769087691877008770787711877208772187730877378774187750877518776087767877728777687777877868779387798878028780387812878198782487831878328784187848878538786087861878708787787883878858788687895879028790887910879118792087927879338793887939879488795587961879678796887977879848799187992879938800288009880168801788018880278803488041880458804688055880628807088070880718808088087880958810088101881108811788125881308813188140881478815588163881648817388180881898819388194882038821088219882288822988238882458825488263882648827388281882818828488285882948830288302883108831188320883288832988332883338834288350883518835488355883648837288373883808838188390883988840088403884048841388421884238843188432884418844988451884598846088469884778848088483884848849388501885048850888509885188852688529885388853988548885568855988568885698857888586885908859488595886048861288616886228862388632886408864588646886478865688664886698867088671886808868888693886998870088709887178872388725887268873588743887498875688757887668877488780887878878888797888058881288814888158882488832888398884888849888588886688874888788887988888888968890488908889098891888926889358893588936889458895388962889648896588974889828899188998889998900889016890258903289033890428905189051890548905589064890738907389079890808908989098890998910089101891108911989120891218912289131891408914189148891498915889167891698917389174891838919289194892038920489213892228922489233892348924389252892558926089261892708927989283892868928789296893058930989317893188932789336893408934889349893588936789372893778937889387893968940189409894108941989428894348943789438894478945689462894658946689475894848949189491894928950189510895178952189522895318954089547895568955789566895758958289591895928960189610896188962489625896348964389652896578965989659896598965989659896618966189661896618966189663896638966389663896718967389673896738967389681896838968389683896848968789689896898968989690896938969589695896958969789698897008970089700897028970889710897108971089713897148971689716897168971989720897228972289722897258973489736897368973689740897468974889748897488975389754897568975689756897618976289764897648976489769897788978089780897808978689792897948979489794898018980289804898048980489811898128981489814898148982189830898328983289832898408984789849898498984989858898608986289862898628987189873898758987589876898768987789879898798988089880898848988689886898878988789896898988989889899898998990889910899108991189912899208992289922899238992589928899308993089931899338994189943899438994489946899548995689956899578996089967899698996989970899748997689978899788997989983899908999289992899938999790004900069000690007900129001890020900209002190027900299003190031900329003890045900479004790048900549006290064900649006590071900799008190081900829008890097900999009990100901079011190113901139011490121901269012890128901299013690141901439014390144901519015990161901619016290170901739017590175901769018490188901909019090191901999020390205902059020690215902169021890218902199022890234902369023690237902469025390255902559025690265902729027490274902769027690281902839028390285902869028690288902889029090291902929029490294902969029790299903019030190303903049030990311903119031390315903159031790317903199032190322903249032490326903289033090332903329033490336903439034590345903479035090352903549035490356903599036290364903649036690369903749037690376903789038190390903929039290394903989040290404904049040690410904159041790417904199042390430904329043290434904399044190443904439044590450904579045990459904619046690474904769047690478904849048590487904879048990495904969049890498905009050690512905149051490516905229052990531905319053390540905409054290542905449055190554905569055690558905659057390575905759057790584905939059590595905979060590607906099060990611906199062490626906269062890637906379063990639906419065090651906539065390655906649066890670906709067290681906899069190691906949069490697906999069990702907029070690708907089071190711907189072090720907239072490730907329073290735907379073890740907409074390745907479074990749907529075490760907629076290765907679077590777907779078090783907869078890788907919079490798908009080090803908069081490816908169081990823908249082690826908299083390839908419084190844908489085590857908579086090865908669086890868908719087690881908839088390886908929089290894908949089790903909049090690906909099091590920909229092290925909329093690938909389094190948909579095990959909629097090970909729097290975909839098890990909909099391001910089101091010910139102291024910269102691029910389104191043910439104691055910639106591065910699106991075910779107791081910829108391085910859108991090910929109491094910989109991106911089110891112911149112091122911229112691129911309113291132911369113991141911439114391147911509115891160911609116491168911709117291172911769118091187911899118991193911979120591207912079121191216912209122291222912269123291233912359123591239912459125191253912539125791263912709127291272912769128391287912899128991293913009130891310913109131491322913259132791327913319133991343913459134591349913589135991361913619136591374913809138291382913879138791388913909139091395913959139791399913999140491405914059140791407914129141391413914159141591420914219142691428914289143391434914409144291442914479144991453914559145591460914629147091472914729147791480914839148591485914909149391497914999149991504915089151091512915129151791521915279152991529915349153991540915429154291547915529155491556915569156191567915679156991569915749158091585915879158791592915999159991601916019160691613916149161691616916219162991629916319163191636916449164491646916469165191659916649166691666916719167991685916879168791692917019170691708917089171391722917319173391733917399173991743917459174591751917519175691758917589176491765917699177191771917779177991782917849178491790917929180091802918029180891811918119181391813918199182291822918249182491830918339183391835918359184191844918499185191851918579186091867918699186991875918789188591887918879189391897918999190191901919079191191918919209192091926919309193991941919419194791951919609196291962919689197391981919839198391989919959199892000920009200692012920179201992019920259203192037920399203992045920529205392055920559206192068920749207692076920829208992097920999209992105921129212192123921239212992137921429214492144921509215992159921619216192167921769217892180921809218692195921999220192201922079221692221922239222392230922309223092232922329223992239922419224392243922509225092254922569225692263922649226492266922669227392274922799228192281922889228992296922989229892305923069231592317923179232492326923339233592335923429234592347923499234992356923599236392365923659237292375923819238392383923909239492399924019240192408924139241392415924159242292427924299243192431924389244392448924509245092457924629247192473924739248092486924909249292492924999250592511925139251392520925269253592537925379254492551925599256192561925689257692579925819258192588925969260192603926039261092618926279262992629926369264592650926529265292660926609266092662926629267092670926729267492674926829268292688926909269092698926999270292704927049271292713927219272392723927319273392733927359273592743927459275092752927529276092762927699277192771927799278292784927869278692794927979280192803928039281192814928239282592825928339283792843928459284592853928589285992861928619286992874928779287992879928879289292901929039290392911929179292292924929249293292939929399294192941929499295692958929609296092968929759298392985929859299393001930069300893008930169302593025930279302793035930449304693048930489305693065930749307693076930859308593086930889308893097930979310393105931059311493114931229312493124931339313493139931419314193150931529315593157931579316693168931769317893178931879319093190931929319293201932049321293214932149322393226932359323793237932469325093254932569325693265932699327593277932779328693291932959329793297933069331193317933199331993328933349333593337933379334693352933559335793357933669337393374933769337693385933929340093402934029341193419934229342493424934339344193446934489344893457934669347093472934729348193490934979349993500935009350093502935049350593505935059351093512935139351393513935189352093521935219352193527935299353093530935319353293534935359353593536935409354293543935439354493548935509355193551935529355893560935619356193563935649356693567935679356993573935759357693576935789358293584935859358593588935899359193592935929359593601936039360493604936079361693618936199361993623936239362593626936269363093634936369363793637936419365093652936539365393658936609366293663936639366893671936739367493674936799368693688936899368993695936979369993700937009370693711937139371493714937209372693728937299372993736937379373993740937409374793753937559375693756937639377293774937759377593783937849378693787937879379593796937989379993799938079381393815938169381693824938339383593836938369384593846938489384993849938589386693868938699387093870938739387593876938779387793883938859388693887938879389693898938999390093901939039390593906939079390893915939179391893919939219392193923939249392593927939309393293933939349393693943939459394693947939509395293954939559395693959939649396693967939689397193979939819398293983939879399493996939979399894003940059400794008940099401494019940219402294023940289403794039940409404194047940539405594056940579406494065940679406894069940769408094082940839408494091940999410194102941039411194117941199412094121941309413194133941349413594144941489415094151941529416194169941719417294174941749418194183941849418694187941899419194192941949419594200942029420394205942079420794209942109421294214942189422094221942239422594234942369423794239942429424494246942479424994252942609426294263942659426994269942719427294274942789428394285942869428894292943009430294303943059431094314943169431794319943259432594327943289433094336943419434394344943469435294360943629436394365943729437694378943799438194389943909439294393943959440394409944119441294414944229443194433944349443694445944519445394454944569446594473944759447694479944799448294484944859448894488944949449694497945009450194505945079450894511945129451694518945199452294523945329453494535945389454094542945449454594548945519455194553945549455794560945649456694567945709457394582945849458594588945929459494596945979460094605946059460794608946119461694621946239462494627946339463394635946369463994645946489465094651946549466194663946659466694669946769467894680946819468494691946989470094701947049471294712947149471594718947269473594737947389474194750947579475994760947649476494766947689476994773947739477994781947829478694786947929479494795947999480094803948059480694810948119481994821948229482694828948309483294833948379483994841948439484494848948519485194853948549485894861948669486894869948739487694885948879488894892948969489694898948999490394907949109491294913949179492194929949319493294936949419494394945949469495094955949599496194962949669497194977949799498094984949909499194993949949499895004950099501195012950169502295029950319503295036950439504495046950479505195058950649506695067950719507995079950819508295086950949509695098950999510395111951189512095121951259513495136951389513995143951529515895160951619516595174951839518595186951909519995208952109521195216952169522095222952239522895228952369523895239952449524595246952489524995254952569525695258952599526495266952719527395274952799528195290952929529395298953019530495306953079531295315953229532495325953309533495336953389533995344953489535495356953579536295367953679536995370953759538095385953879538895393953999539995401954029540795413954179541995420954259543195440954429544395448954559545595457954589546395470954759547795478954839549095499955019550295507955159551995521955229552795535955409554295543955489555795557955599556095565955749557895580955819558695595956049560695607956139561395613956159561695622956229562795629956309563695636956459564795648956549565595659956619566295668956699567595677956789568495686956879568995690956969569895703957059570695712957159571595717957189572495727957359573795738957449574895751957539575495760957649577195773957749578095785957879578995790957969580295802958049580595811958179582295824958259583195837958469584895849958559586295867958699587095876958839588995891958929589895906959079590995910959169592495929959319593295938959479594895950959519595795966959699597195972959789598795995959979599896005960059600796009960109601796017960259602796028960359603696042960449604596052960549605596057960589606596067960729607496075960829608596086960889608996096960999610896110961119611896122961269612896129961369614096148961509615196158961639616896170961719617896184961859618796188961959620196207962099621096217962249622496226962279623496241962489625096251962589626696270962729627396280962889629796299963009630796316963199632196322963309633096331963339633496342963429634696348963499635796357963669636896369963779637896381963839638496392963949639596397963989640696408964139641596416964249642796427964299643096438964419644596447964489645696460964629646496465964739647796486964889648996497965029650696508965099651796522965309653296533965419654796553965559655696564965719657596577965789658696593966029660496605966139662196624966269662796635966449664696648966499665796666966729667496675966849668496685966879668896697966979670296704967059671496715967199672196722967319673296741967439674496753967559675996761967629677196773967829678496785967949679696805968079680896817968209682096822968239683296835968409684296843968529685696856968589685996868968729687296874968759688496888968909689296893969029690696913969159691696925969309693296934969359694496949969519695396954969639696996969969719697296981969879699296994969959700497011970119701397014970239703097031970339703497043970509705197053970549706397070970769707897079970889709697097970999710097109971179711997121971229713197139971469714897149971589716797169971719717297181971909719797199972009720997218972269722897230972309723097234972369723897238972389724797249972519725197252972569725897260972609726197267972699727197271972729728097282972849728497286972899729197293972939729597303973059730797307973109731097312973149731497317973229732497326973269733097330973329733497334973389734397345973479734797351973589736097362973629736797369973719737397373973789738597387973899738997395973979739997401974019740797411974139741597415974229742297424974269742697433974389744097442974429745097450974529745497454974629746597467974699746997477974829748497486974869749597495974979749997499975089751397515975179751797526975349753697538975399753997542975449754697547975479755597557975599756097561975649756697568975699757097576975789758097581975839758897590975929759397596975969759897600976019760497609976119761397614976179762697628976309763197634976439764597647976489765297656976589766097661976659767497676976789767997684976879768997691976929769797706977089771097711977179772197723977259772697732977419774397745977469775397756977589776097761977699777197773977759777697784977919779397795977969780597807978099781197812978219782897830978329783497834978379783997841978439784397851978539785597857978589786197863978659786797868978769787897880978829788497889978919789397895978989789897900979029790497907979129791497916979189792297923979259792797929979339793797939979419794397947979569795897960979629796797971979739797597977979839798397985979879798997995980029800498006980089801598017980199802198023980309803798039980419804398051980549805698058980609806998071980739807598077980869809398095980979810098100981029810498106981099810998118981209812298125981259813498136981389814198142981469814898150981539815498163981659816798170981729817898180981829818598188981909819298194981979820098207982099821198214982189822098222982249822798232982329823498236982399824498244982469824898251982569826198263982659826898274982749827698278982819828798295982979829998302983099831398315983179832098327983369833898340983439835198355983579835998362983719837398375983779838098389983989840098402984069840698410984129841498418984189842798429984319843598436984449844698448984529845498455984579845998463984659847198473984759847998482984839848598487984919849598495984979849998503985079851598517985199852398528985319853398535985399854498552985549855698560985669857398575985779858198588985949859698598986029861098611986139861598619986279863498636986389864298650986579865998661986659867398680986829868498688986979869998701987039870798716987249872698728987329874198749987519875398758987589876298764987669877198771987809878298784987899879098795987979879998804988059881198813988159882098821988289883098832988379883998841988439884598850988529886098862988649886998871988809888298884988899889298898989009890298907989119891298914989169892198925989329893498936989419894598953989559895798962989679897398975989779898298988989899899198993989989900499011990139901599020990269903599037990399904499051990549905699058990639907099078990809908299087990959909999101991039910899116991239912599127991329914099147991499915199156991659916799169991719917699185991939919599197992039920399204992069920899214992149921599217992199922599225992319923399235992419924299244992469924899254992559926099262992649927099271992779927999281992879928999290992929929499300993029930999311993139931999322993229932499326993329933599342993449934699352993569935899360993629936899372993809938299384993909939599397993999940199407994129941799419994219942799433994339943599437994439944999455994579945999465994729947399475994779948399490994939949599497995039951099518995209952299528995369954099542995449955099558995679956999571995779958699588995909959299598996079961499616996189962599625996289963099632996399963999647996499965199658996599966699668996709967799679996819968399685996929969499702997049970699713997169972099722997249973199735997359973799739997469975099755997579975999766997719977299774997769978399788997969979899800998079981299820998229982499831998379984099842998449985199857998669986899870998779988499890998929989499901999089991599917999199992699934999369993899940999479995599963999659996799974999839998899990999921000001000001000021000041000061000141000141000211000231000251000331000341000371000391000411000491000511000521000541000561000641000661000711000731000751000831000861000861000881000901000981001011001071001091001111001191001231001281001301001321001401001441001521001541001561001641001691001721001741001761001841001891001981002001002021002101002161002241002261002281002361002431002451002471002491002571002641002711002731002751002831002911002951002971002991003071003151003191003211003231003311003391003431003451003471003551003631003721003741003761003841003931003991004011004031004111004201004261004281004301004391004391004431004451004471004561004561004651004671004691004781004791004851004871004891004981004991005061005081005101005191005201005281005301005321005411005431005461005481005501005591005621005621005641005661005751005781005791005811005831005921005951005981006001006021006111006141006221006241006261006351006391006441006461006481006571006611006671006691006711006801006851006891006911006931007021007071007161007181007201007291007351007411007431007451007541007601007681007701007721007811007881007921007941007961008051008121008211008231008251008341008421008481008501008521008611008691008781008801008821008911009001009031009051009071009161009251009331009351009381009381009381009431009451009481009481009481009561009581009611009611009621009651009671009701009701009711009791009811009841009841009861009911009931009961009961009981010071010091010121010121010151010151010171010201010201010231010281010301010331010331010371010391010411010441010441010481010551010571010601010601010641010711010731010761010761010811010831010851010881010881010931011021011041011071011071011131011171011191011221011221011281011351011371011401011401011471011491011511011541011541011611011701011721011751011751011831011871011891011921011921012001012081012101012131012131012221012251012271012301012311012311012311012331012361012371012371012431012451012481012491012491012551012571012601012611012621012631012651012681012691012701012781012801012831012841012861012901012921012951012961012991013021013041013071013081013111013191013211013241013251013291013341013361013391013401013451013471013491013521013531013591013591013611013641013651013711013761013781013811013821013891013911013931013961013971014041014131014151014181014191014271014351014371014401014411014501014531014551014581014601014601014601014621014651014671014671014751014771014801014821014831014871014891014921014941014951015041015061015091015111015131015191015211015241015261015291015331015351015381015401015441015441015461015491015511015551015601015621015651015671015721015741015761015791015811015871015881015901015931015951016011016021016041016071016091016151016211016231016261016281016351016381016401016431016451016531016551016571016601016621016701016731016751016781016801016881016961016981017011017031017121017171017191017221017251017251017291017311017341017371017381017401017421017451017481017491017561017581017611017641017661017701017721017751017781017811017841017861017891017921017961017981018001018031018061018101018171018191018221018251018301018341018361018391018421018481018511018531018561018591018661018681018701018731018761018831018901018921018951018981019061019111019131019161019191019271019321019341019371019401019481019531019551019581019611019701019701019721019751019781019871019951019971020001020031020121020201020221020251020291020291020341020361020391020431020441020441020461020491020531020541020621020641020671020711020721020801020821020851020891020911020971020991021021021061021091021101021121021151021191021221021311021331021361021401021431021521021541021571021611021651021731021751021781021821021871021901021921021951021991022051022061022081022111022151022211022231022251022281022321022381022401022421022451022491022551022621022641022671022711022781022831022851022881022921022991023051023071023101023141023221023251023271023301023341023421023501023521023551023591023681023741023761023791023831023921023991024011024041024091024091024141024161024191024241024251024251024271024301024351024361024441024461024491024541024561024561024581024611024661024681024721024741024771024821024841024931024951024981025031025061025131025151025181025231025261025351025371025401025451025491025531025551025581025631025671025761025781025811025861025911025981026001026031026081026141026141026161026191026241026301026321026341026371026421026481026551026571026601026651026721026771026791026821026871026941027021027041027071027121027201027221027241027271027321027401027471027491027521027571027661027711027731027761027811027901027981028001028031028091028091028131028151028181028241028241028331028351028381028441028451028521028541028571028631028651028651028671028701028761028781028851028871028901028961028991029011029031029061029121029161029161029181029211029271029311029351029371029401029461029501029581029601029631029691029741029771029791029821029881029941029951029971030001030061030121030171030191030221030281030351030361030381030411030471030541030601030621030651030711030791030831030851030881030941031021031111031131031161031221031311031311031331031361031421031511031561031581031611031681031681031711031731031761031831031831031911031931031961032031032041032041032061032091032161032171032221032241032271032341032361032391032411032441032511032531032611032631032661032731032761032831032851032881032951032991033011033031033061033131033181033181033201033231033301033351033411033431033461033531033581033661033681033711033781033841033871033891033921033991034061034071034091034121034191034261034331034351034381034451034521034611034631034661034731034811034851034871034901034971035061035081035101035131035201035291035371035391035421035501035501035511035531035561035641035641035701035721035751035831035841035881035901035931036011036031036041036061036091036171036191036201036221036251036331036351036411036431036461036541036571036611036631036661036741036781036791036811036841036921036961037001037021037051037131037171037261037281037311037391037441037511037531037561037641037701037741037761037791037871037941037971037991038021038101038171038251038271038301038381038461038521038541038571038651038741038781038801038831038911039001039041039061039091039171039261039351039371039401039491039491039561039581039611039701039711039761039781039811039901039921039941039961039991040081040101040171040191040221040311040341040391040411040441040531040571040611040631040661040751040791040841040861040891040981041031041031041051041081041171041221041301041321041351041441041501041571041591041621041711041771041861041881041911042001042071042111042131042161042251042331042351042371042401042491042581042591042611042641042731042821042861042881042911043001043091043181043201043241043241043241043321043341043381043381043381043461043481043521043521043521043601043621043661043661043671043701043721043761043761043781043801043821043861043861043881043901043921043961043961043981044041044061044101044101044131044141044161044201044201044241044241044261044301044301044341044351044371044411044411044451044461044481044521044521044561044621044641044681044681044731044781044801044841044841044891044951044971045011045011045061045131045151045191045191045251045271045291045331045331045401045411045431045471045471045541045561045581045621045621045701045701045721045761045761045841045891045911045951045951046041046081046101046141046141046231046291046311046351046351046441046531046551046591046601046601046641046661046701046711046721046751046771046811046821046831046881046901046941046951046971046981047001047041047051047071047131047151047191047201047231047281047301047341047351047381047451047471047511047521047561047601047621047661047671047711047801047821047861047871047921048001048021048061048071048131048141048161048201048211048271048321048341048381048391048461048461048481048521048531048601048691048711048751048761048841048861048881048921048931049021049031049051049091049101049191049251049271049311049331049331049381049401049441049461049461049551049571049611049631049641049651049671049711049731049741049801049821049861049881049901049951049971050011050031050051050141050161050201050221050251050271050291050331050351050381050451050471050511050531050571050631050651050691050711050761050771050791050831050851050901050911050931050971050991051041051101051121051161051181051241051291051311051351051371051441051441051461051501051521051591051641051661051701051721051801051801051821051861051881051961052051052071052111052131052221052271052291052331052351052441052521052541052581052611052611052641052661052701052731052741052761052781052821052851052861052941052961053001053031053051053071053091053131053161053181053251053271053311053341053371053431053451053491053521053561053591053611053651053681053721053761053781053821053851053891053981054001054041054071054121054201054221054261054291054351054401054421054461054491054561054581054601054641054671054741054811054831054871054901054981055041055061055101055131055221055261055281055321055351055441055501055521055561055601055601055611055631055671055711055721055721055741055781055821055831055911055931055971056011056031056041056061056101056141056161056221056241056281056321056351056401056421056461056501056541056581056601056641056681056721056761056781056821056861056901056991057011057051057091057141057221057241057281057321057381057451057471057511057551057621057651057671057711057751057821057911057931057971058011058081058171058191058231058271058341058431058451058491058531058611058641058661058701058741058821058911058931058971059011059091059181059201059241059281059361059451059471059511059551059641059681059701059741059791059791059791059811059851059901059901059901059921059961060011060011060021060041060081060131060131060161060181060221060271060271060361060381060421060471060471060561060581060621060671060681060681060701060741060791060801060891060911060951061001061021061071061091061131061181061201061251061271061311061361061381061451061471061511061561061581061671061691061731061781061811061861061881061921061971062001062051062071062111062161062191062261062281062321062371062411062411062431062471062521062561062621062641062681062731062771062831062851062891062941062981063071063091063131063181063221063311063331063371063421063471063521063541063581063631063681063731063751063791063841063891063971063991064031064081064141064201064221064261064311064381064401064421064461064511064581064601064621064661064711064781064831064851064891064941065021065051065071065111065161065241065331065351065391065441065521065611065631065671065721065811065831065851065891065951065951065961065981066021066081066081066151066171066211066271066271066341066361066401066461066471066481066501066541066601066611066681066701066741066801066821066851066871066911066971066991067021067041067081067141067161067241067261067301067361067391067411067431067471067531067561067641067661067701067761067791067871067891067931067991068031068061068081068121068181068231068251068271068311068371068421068501068521068561068621068671068751068771068811068871068931068971068991069031069091069151069191069211069251069311069381069381069401069441069501069571069571069591069631069691069761069821069841069881069941070021070051070071070111070171070251070341070361070401070461070541070631070651070691070751070841070901070921070961071031071031071051071071071111071181071181071261071281071321071391071391071471071491071531071601071611071661071681071721071791071811071821071841071881071951071971072041072061072101072171072191072261072281072321072391072421072461072481072521072591072631072641072661072701072771072811072881072901072941073011073051073121073141073181073251073301073351073371073411073481073531073621073641073681073751073811073861073881073921073991074051074101074121074161074231074301074341074361074401074471074541074611074631074671074741074821074851074871074911074981075061075101075121075161075231075311075351075371075411075481075561075611075631075671075741075831075841075861075901075971076061076081076101076141076211076301076321076341076381076451076541076581076601076641076721076721076721076741076781076861076861076871076891076931077011077011077021077041077081077161077171077171077191077231077311077321077381077401077441077521077531077601077621077661077741077751077831077851077891077971077991078051078071078111078191078221078241078261078301078381078411078441078461078501078581078611078661078681078721078801078841078851078871078911078991079031079101079121079161079241079281079361079381079421079501079551079551079571079611079691079741079811079831079871079951080011080041080061080101080181080241080281080301080341080421080481080551080571080611080691080761080781080801080841080921080991081071081091081131081211081281081371081391081431081511081591081611081631081671081751081831081901081921081961082041082131082161082181082221082301082391082431082451082491082571082661082731082751082791082881082881082931082951082991083081083091083101083121083161083251083261083281083301083341083431083441083491083511083551083641083661083701083721083761083851083881083881083901083941084031084061084071084091084131084221084251084301084321084361084451084491084511084531084571084661084701084781084801084841084931084971085061085081085121085211085261085291085311085351085441085501085511085531085571085661085721085791085811085851085941086001086081086101086141086231086301086321086341086381086471086551086561086581086621086711086791086861086881086921087011087091087171087191087231087321087411087441087461087501087591087681087711087731087771087861087951088041088061088111088111088111088111088131088181088181088181088231088251088301088301088311088341088361088411088411088421088511088531088581088581088601088601088621088671088671088691088741088761088811088811088841088881088901088951088951088991088991089011089061089061089101089111089131089181089181089221089291089311089361089361089411089431089451089501089501089551089631089651089701089701089751089841089861089911089911089971090021090041090091090091090161090171090191090241090241090311090381090401090451090451090521090601090621090671090671090751090801090821090871090871090951091041091061091111091111091201091251091271091321091321091411091471091491091541091551091551091581091601091651091661091661091751091771091821091831091841091891091911091961091971091981092041092061092111092121092141092171092191092241092251092281092281092301092351092361092391092451092471092521092531092561092631092651092701092711092751092791092811092861092871092921092941092961093011093021093071093151093171093221093231093281093371093391093441093451093511093581093601093651093661093731093761093781093831093841093911094001094021094071094081094161094161094181094231094241094321094401094421094471094481094571094631094651094701094721094721094741094761094811094831094831094861094881094931094951094961094981095001095051095071095081095171095191095241095261095281095331095351095401095421095441095501095521095571095591095621095671095691095741095761095801095831095851095901095921095961096051096071096121096141096191096201096221096271096291096341096351096371096421096441096491096561096581096631096651096711096741096761096811096831096891096941096961097011097031097091097141097161097211097231097301097341097361097411097431097511097511097531097581097601097681097701097721097771097791097871097901097921097971097991098071098151098171098221098241098331098371098391098441098461098551098611098631098681098701098791098861098881098931098961098961098991099011099061099091099091099181099201099251099281099291099301099321099371099401099411099441099461099511099541099551099621099641099691099721099741099771099791099841099871099891099941099961100011100041100061100131100151100201100231100261100311100331100381100411100451100461100481100531100561100601100631100651100701100731100771100821100841100891100921100971101011101031101081101111101171101171101191101241101271101331101351101371101421101451101511101561101581101631101661101721101771101791101841101871101941101951101971102021102051102121102151102171102221102251102321102381102401102451102481102561102601102621102671102701102791102791102811102861102891102981103001103021103071103101103191103251103271103321103351103441103531103551103601103641103641103691103711103761103801103801103871103891103941103981103991104001104021104071104111104121104161104181104231104271104291104291104311104361104401104421104441104461104511104551104571104631104651104701104741104771104771104791104841104881104911104971104991105041105081105111105191105211105261105301105341105371105391105441105481105521105571105591105641105681105731105741105761105811105851105901105931105951106001106041106091106171106191106241106281106341106391106411106461106501106571106581106601106651106691106761106791106811106861106901106971107051107071107121107161107241107311107331107381107421107511107541107561107611107651107741107791107811107861107911107911107921107941107991108041108041108051108071108121108171108171108241108261108311108361108361108451108471108521108571108581108631108651108701108751108771108801108821108871108921108941109031109051109101109151109181109191109211109261109311109341109421109441109491109541109581109591109611109661109711109751109821109841109891109941109981110071110091110141110191110241110311110331110381110431110481110551110571110621110671110731110761110781110831110881110941110991111011111061111111111181111211111231111281111331111401111441111461111511111561111641111641111661111711111761111841111861111881111931111981112071112071112091112141112191112281112371112391112441112501112501112551112571112621112681112681112751112771112821112881112891112951112971113021113081113101113111113131113181113241113261113331113351113401113461113491113491113511113561113621113651113651113671113721113781113811113821113841113891113951113981114051114071114121114181114221114221114241114291114351114391114391114411114461114521114561114581114601114651114711114751114831114851114901114961115011115021115041115091115151115201115221115241115291115351115401115421115441115491115551115601115681115701115751115811115871115881115901115951116011116071116091116111116161116221116281116371116391116441116501116571116621116641116691116751116821116901116921116971117031117111117111117131117181117241117321117341117361117411117471117551117631117651117701117761117851117861117881117931117991118081118111118131118181118241118331118391118411118461118531118531118551118571118621118691118691118741118761118811118881118881118961118981119031119101119101119191119211119261119331119341119391119411119461119531119541119621119641119691119761119781119791119811119861119931119961119961119981120031120101120131120191120211120261120331120361120451120471120521120591120631120661120681120731120801120841120871120891120941121011121051121141121161121211121281121331121351121371121421121491121541121601121621121671121741121791121861121881121931122001122061122091122111122161122231122291122351122371122421122491122561122561122581122631122701122771122861122881122931123001123081123131123151123201123271123351123431123451123501123571123661123691123711123761123841123841123841123861123911123991123991124051124071124121124201124201124291124311124361124441124451124491124511124561124641124661124681124701124751124831124851124931124951125001125081125111125121125141125191125271125301125361125381125431125511125551125601125621125671125751125801125811125831125881125961126011126051126071126121126201126261126261126281126331126411126471126541126561126611126691126761126791126811126861126941127011127071127091127141127221127301127331127351127401127481127561127641127661127711127791127881127921127941127991128071128161128231128251128301128391128391128431128451128501128591128601128611128631128681128771128781128851128871128921129011129031129031129051129101129191129211129281129301129351129441129471129521129541129591129681129721129731129751129801129891129931129971129991130041130131130181130201130221130271130361130411130491130511130561130651130711130751130771130821130911130971131041131061131111131201131271131331131351131401131491131571131571131591131641131731131811131871131891131941132031132121132121132141132191132281132371132371132391132441132531132621132641132661132711132801132891132971132991133051133051133051133071133091133151133151133151133171133191133251133251133251133301133321133381133381133391133401133421133481133481133491133541133561133621133621133631133691133711133771133771133781133851133871133931133931133951133981134001134061134061134081134151134171134231134231134251134331134351134411134411134441134511134531134591134591134631134661134681134741134741134781134851134871134931134931134971135061135081135141135141135191135251135271135331135331135391135411135431135491135491135551135611135631135691135691135751135831135851135911135911135981136041136061136121136121136201136221136241136301136301136381136441136461136521136521136601136691136711136771136771136861136911136931136991137001137001137011137031137091137101137101137151137171137231137241137241137331137351137411137421137431137471137491137551137561137581137581137601137661137671137691137731137751137811137821137841137921137941138001138011138041138111138131138191138201138241138271138291138351138361138401138471138491138551138561138611138631138651138711138721138771138791138811138871138881138931139011139031139091139101139161139181139201139261139271139331139401139421139481139491139561139621139641139701139711139791139811139831139891139901139981140041140061140121140131140221140231140251140311140331140331140331140351140411140431140431140491140511140571140591140601140601140621140681140701140711140761140781140841140861140881140921140941141001141021141051141051141071141131141151141181141221141241141301141321141361141361141381141441141461141501141501141521141581141601141641141701141721141781141801141851141851141871141931141951142001142061142081142141142161142221142271142291142351142371142441142451142471142531142551142621142671142691142751142771142851142861142881142941142961143051143051143071143131143151143241143301143321143381143411143411143411143431143491143521143521143591143611143671143701143701143771143791143851143881143891143921143941144001144031144041144111144131144191144221144241144281144301144361144391144411144461144481144541144571144601144611144631144691144721144751144801144821144881144911144951144981145001145061145091145131145161145181145241145271145311145401145421145481145511145561145591145611145671145701145761145771145791145851145881145941145951145971146031146061146121146191146211146271146301146371146381146401146461146491146561146651146671146731146761146841146881146901146961146991147081147081147101147161147191147281147321147341147401147441147441147461147481147541147581147581147661147681147741147781147791147831147851147911147951147961148041148061148121148161148181148251148271148331148371148401148421148441148501148541148571148651148671148731148771148811148831148851148911148951149001149011149031149091149131149181149251149271149331149371149431149461149481149541149581149641149711149731149791149831149901149961149981150041150081150161150191150211150271150311150391150481150501150561150601150691150721150741150801150851150851150871150891150951151001151011151011151031151091151141151151151211151231151291151341151361151371151391151451151501151521151531151551151611151661151681151761151781151841151891151921151961151981152041152091152121152211152231152291152341152371152461152481152541152591152631152701152721152781152831152881152911152931152991153041153091153171153191153251153301153351153441153461153521153571153621153711153731153791153841153901153951153971154031154081154151154151154171154231154281154351154361154381154441154491154561154581154601154661154711154781154861154881154941154991155071155101155121155181155231155311155361155381155441155491155571155621155641155701155751155841155851155871155931155981156071156131156151156211156261156351156431156451156511156561156651156741156761156821156881156881156931156951157011157071157081157081157101157161157221157231157251157271157331157391157411157421157441157501157561157581157651157671157731157791157821157841157861157921157981158011158061158081158141158201158231158281158301158361158421158461158471158491158551158611158651158711158731158791158851158891158981159001159061159121159171159251159271159331159391159451159491159511159571159631159691159781159801159861159921159991160021160041160101160161160231160271160291160351160411160491160491160511160571160631160711160761160781160841160901160981161071161091161151161211161301161341161361161421161491161491161491161511161571161641161641161691161711161771161841161841161931161951162011162081162091162141162161162221162291162311162321162341162401162471162491162551162571162631162701162731162741162761162821162891162921162981163001163061163131163171163191163211163271163341163381163451163471163531163601163651163671163691163751163821163871163961163981164041164111164171164221164241164301164371164441164441164461164521164591164661164721164741164801164871164941165031165051165111165181165261165311165331165391165461165551165551165571165631165701165791165851165871165931166011166011166011166031166091166171166171166231166251166311166391166401166411166431166491166571166581166661166681166741166821166841166851166871166931167011167031167101167121167181167261167291167311167331167391167471167501167591167611167671167751167791167831167851167911167991168041168041168061168121168201168251168301168321168381168461168521168551168571168631168711168771168831168851168911168991169061169081169101169161169241169311169381169401169461169541169621169671169691169751169831169911170001170021170081170161170251170301170321170381170471170471170471170491170551170641170641170731170751170811170901170911170931170951171011171101171111171191171211171271171361171381171411171431171491171581171611171631171651171711171801171831171911171931171991172081172121172161172181172241172331172381172381172401172461172551172601172601172621172681172771172821172821172841172901172991173041173101173121173181173271173331173351173371173431173521173581173601173621173681173771173831173861173881173941174031174091174181174201174261174351174421174471174491174551174641174711174771174791174851174941175011175071175091175151175241175321175341175361175421175511175591175671175691175751175841175921176011176031176091176181176271176291176311176371176461176551176631176651176721176721176721176761176781176851176851176851176901176921176991176991177001177041177061177131177131177151177151177171177241177241177261177321177341177411177411177431177511177531177601177601177621177701177721177791177791177821177861177881177951177951177991177991178011178081178081178121178141178161178231178231178281178291178311178381178381178431178501178521178591178591178651178681178701178771178771178831178891178911178981178981179041179121179141179211179211179281179321179341179411179411179491179491179511179581179581179661179701179721179791179791179871179911179931180001180001180091180091180111180181180181180271180331180351180421180431180431180431180451180521180531180531180541180561180631180641180641180711180731180801180811180821180851180871180941180951180961181041181061181131181141181151181231181251181321181331181351181391181411181481181491181521181521181541181611181621181651181701181721181791181801181831181921181941182011182021182061182111182131182201182211182261182271182291182361182371182421182481182501182571182581182641182681182701182771182781182851182851182871182941182951183021183081183101183171183181183261183271183291183361183371183461183461183481183551183561183651183711183731183801183821183821183841183861183931183951183951184031184051184121184141184151184211184231184301184321184341184361184381184451184471184491184571184591184661184681184711184761184781184851184871184901184971184991185061185081185121185151185171185241185261185301185391185411185481185501185551185611185631185701185721185781185821185841185911185931186001186001186021186091186111186181186241186261186331186351186431186461186481186551186571186661186681186701186771186791186881186961186981187051187081187081187121187141187211187241187251187271187291187361187391187411187411187431187501187531187551187611187631187701187731187761187781187801187871187901187941187951187971188041188071188111188151188171188241188271188321188321188341188411188441188491188551188571188641188671188731188781188801188871188901188961189041189061189131189161189231189271189291189361189391189471189471189491189561189591189671189761189781189851189881189971190001190021190091190121190211190301190321190391190431190431190491190511190581190621190621190681190701190771190811190811190901190921190991191031191041191091191111191181191221191241191261191281191351191391191411191431191451191521191561191591191591191611191681191721191751191811191831191901191941191981192011192031192101192141192181192221192241192311192351192391192471192491192561192601192651192691192711192781192821192881192891192911192981193021193081193101193121193191193231193291193361193381193451193491193561193591193611193681193721193801193801193821193891193931194011194031194051194121194161194241194301194321194391194431194521194541194561194631194671194761194851194871194941194991194991195001195021195091195141195151195151195171195241195291195301195361195381195451195501195521195551195571195641195691195711195771195791195861195911195941195981196001196071196121196161196161196181196251196301196341196411196431196501196551196601196601196621196691196741196791196881196901196971197021197081197131197151197221197271197341197361197381197451197501197571197631197651197721197771197851197891197911197981198031198121198121198141198211198261198351198421198441198511198571198571198591198611198681198741198741198791198811198881198941198951198961198981199051199111199121199201199221199291199351199371199411199431199501199561199581199641199661199731199791199821199841199861199931199991200021200111200131200201200261200301200351200371200441200501200541200621200641200711200771200821200861200881200951201011201071201081201101201171201231201291201371201391201461201521201591201591201611201681201741201811201871201891201961202021202101202131202151202221202281202371202371202391202461202521202611202691202711202781202851202851202891202911202981203051203061203071203091203161203231203241203331203351203421203491203511203531203551203621203691203711203791203811203881203951203981204031204051204121204191204231204261204281204351204421204461204531204551204621204691204741204771204791204861204931204991204991205011205081205151205211205301205321205391205461205531205551205571205641205711205781205861205881205951206021206101206151206171206241206311206401206441206461206531206611206611206641206661206731206811206811206901206921206991207071207081207151207171207241207321207331207401207421207491207571207591207631207651207721207801207831207831207851207921208001208031208111208131208201208281208311208391208411208481208561208601208661208681208751208831208881208901208921208991209071209131209131209151209221209301209361209371209391209461209541209601209681209701209771209851209921209961209981210051210131210211210231210251210321210401210481210521210541210611210691210771210851210871210941211021211111211151211171211241211331211331211351211371211441211531211531211571211591211661211751211761211791211811211881211971211981212071212091212161212251212271212341212361212431212521212551212551212571212641212731212761212761212781212851212941212971213031213051213121213211213251213291213311213381213471213511213581213601213671213761213811213871213891213961214051214111214131214151214221214311214381214381214401214471214561214631214671214691214761214851214931214941214961215031215121215201215271215291215361215451215541215591215611215681215771215861215951215971216051216051216051216121216141216221216221216231216261216281216361216361216381216391216411216491216491216511216561216581216661216661216691216731216751216831216831216871216871216891216971216971217011217091217111217191217191217241217271217291217371217371217431217441217461217541217541217601217671217691217771217771217841217891217911217991217991218071218081218101218181218181218261218331218351218431218431218521218551218571218651218661218661218671218691218771218781218781218861218881218961218971218971219051219071219151219161219171219211219231219311219321219341219361219381219461219471219491219581219601219681219691219721219721219741219821219831219861219921219941220021220031220071220111220131220211220221220271220291220311220391220401220451220471220491220571220581220631220711220731220811220821220881220941220961221041221051221121221161221181221261221271221351221381221401221481221491221571221661221681221761221771221861221931221951222031222051222051222111222131222211222231222231222311222331222411222431222441222481222501222581222601222621222641222661222741222761222791222801222821222901222921222951222991223011223091223111223151223151223171223251223271223311223401223421223501223521223561223651223671223751223771223821223831223851223931223951224001224071224091224171224191224251224311224331224411224431224491224561224581224661224681224741224821224841224921224941225011225051225071225151225171225251225281225301225381225401225481225531225551225631225651225731225781225801225881225901225991226001226021226101226131226131226131226151226231226261226261226281226301226381226411226411226451226471226551226581226591226591226611226691226721226731226821226841226921226951226971226981227001227081227111227131227161227181227261227291227311227401227421227501227531227561227641227661227741227771227811227811227831227911227941227981228001228021228101228131228171228251228271228351228381228431228501228521228601228631228681228771228791228871228901228961229001229021229101229131229201229201229221229301229331229401229491229511229591229621229701229711229731229811229841229921230001230021230101230131230221230261230281230361230401230401230431230451230531230571230571230621230641230721230761230771230791230811230891230931230941231021231041231121231161231181231251231271231351231391231411231501231521231601231641231671231731231751231831231871231911231931231951232031232071232121232131232151232231232271232321232361232381232461232501232551232641232661232741232781232841232891232911232991233031233101233141233161233241233281233351233421233441233521233561233641233681233701233781233821233911233911233931234011234051234141234231234251234331234381234381234401234421234501234551234551234641234661234741234791234801234851234871234951235001235021235061235081235161235211235231235301235321235401235451235481235531235551235631235681235721235731235751235831235881235931235931235951236031236081236131236171236191236271236321236371236431236451236531236581236641236661236681236761236811236881236891236911236991237041237111237161237181237261237311237381237471237491237571237621237701237751237771237851237901237991238031238051238131238181238271238351238371238451238511238511238531238551238631238691238691238771238791238871238931238941239011239031239111239171239191239201239221239301239361239381239441239461239541239601239631239651239671239751239811239851239861239881239961240021240061240121240141240221240281240331240331240351240431240491240541240601240621240701240761240821240871240891240971241031241101241101241121241201241261241331241391241411241491241551241631241651241671241751241811241901241911241931242011242071242161242221242241242321242391242391242411242431242511242581242581242661242681242761242831242841242911242931243011243081243101243121243141243221243291243321243321243341243421243491243521243581243601243681243751243791243841243861243941244011244061244071244091244171244241244291244301244321244401244471244521244591244611244691244761244821244881244901244981245051245121245141245161245241245311245381245421245441245521245591245671245671245691245771245841245921246011246031246111246181246271246321246341246421246491246581246651246671246751246831246831246861246881246961247041247051247071247091247171247251247261247341247361247441247521247541247561247581247661247741247761247841247861247941248021248051248121248141248221248301248341248381248401248481248561248601248661248681248761248841248891248911248931249011249091249151249161249181249261249341249401249481249501249581249661249731249751249771249851249931250001250081250101250181250261250341250411250431250511250591250681250721250741250821250901250991251071251091251171251261251261251301251321251401251491251501251531251551251631251721251741251741251761251841251931251951252021252041252121252211252241252271252291252371252461252501252521252541252621252711252761252761252781252861252951253001253001253021253101253191253241253301253321253401253491253551253601253621253701253791253861253891253911253991254081254151254201254221254301254391254471254481254501254581254671254761254761254781254861254951255041255121255141255231255231255231255231255251255341255341255341255401255421255511255511255521255571255591255681255681255701255731255751255841255841255861255941255961256051256051256081256121256141256231256231256271256301256321256411256411256461256481256501256591256591256641256691256711256801256801256861256871256891256981256981257051257051257071257161257161257231257321257341257431257431257511257551257571257661257661257751257751257771257861257861257951258041258061258151258161258161258241258261258351258361258371258401258421258511258521258531258621258641258731258741258761258841258861258951258961258991259061259081259171259181259221259281259301259391259401259451259481259501259591259601259651259681259701259791259801259851259881259901259991260001260051260111260131260221260231260291260321260341260431260441260501260531260551260641260651260711260741260761260851260861260921261001261021261111261121261191261241261261261351261361261431261481261501261591261601261671261721261741261831261841261921261921261941262031262041262121262191262211262301262311262391262461262481262571262581262661262741262761262851262861262941263021263041263131263141263231263281263301263391263401263491263541263561263651263661263751263811263831263921263931264021264081264101264191264211264211264241264261264351264371264371264401264421264511264531264531264571264591264681264701264701264761264781264871264891264901264931264951265041265061265071265101265121265211265231265241265281265301265391265411265421265481265501265591265611265631265661265681265771265791265811265841265861265951265971265991266031266051266141266161266191266201266221266311266331266361266441266461266551266571266601266681266701266791266811266841266931266951267041267061267101267181267201267291267311267361267411267431267521267541267591267641267661267751267771267821267891267911268001268021268071268151268171268261268281268341268391268411268501268521268581268631268651268741268761268821268891268911269001269021269081269161269181269271269291269361269411269431269521269541269611269661269681269771269791269861269931269951270041270061270141270171270191270281270301270391270391270411270501270521270611270611270631270721270741270831270861270881270971270991271081271151271171271261271291271291271331271351271441271471271471271511271531271621271651271651271721271741271831271861271871271901271921272011272041272061272061272081272171272201272221272221272241272331272361272381272411272431272521272551272571272661272681272771272801272831272891272911273001273031273061273121273141273231273261273301273301273321273411273441273481273501273521273611273641273681273771273791273881273911273951274041274061274151274181274231274261274281274371274401274451274541274561274651274681274741274801274821274911274941275001275061275081275171275201275271275271275291275381275411275481275561275581275671275701275781275831275851275941275971276051276101276121276211276241276321276411276431276521276551276641276711276731276821276861276861276901276921277011277051277051277091277111277201277241277241277331277351277441277481277491277521277541277631277671277691277691277711277801277841277861277861277881277971278011278031278091278111278201278241278261278331278351278441278481278511278551278571278661278701278731278771278791278881278921278961278961278981279071279111279151279181279201279291279331279381279381279401279491279531279581279581279601279691279731279781279841279861279951279991280041280131280151280241280281280341280401280421280511280551280611280671280691280781280821280891280921280941281031281071281141281171281191281281281321281401281401281421281511281551281631281631281651281741281781281861281931281951282041282081282171282171282191282281282321282411282481282501282591282631282721282791282811282901282951282951282991283011283101283151283151283241283261283351283401283411283471283491283581283631283641283701283721283811283861283881283911283931284021284071284091284171284191284281284331284361284411284431284521284571284601284651284671284761284811284851284881284901284991285041285081285131285151285241285291285341285361285381285471285521285571285591285611285701285751285811285821285841285931285981286041286061286081286171286221286281286371286391286481286531286591286681286701286791286841286911286991287011287101287151287231287241287261287351287401287481287561287581287671287721287801287881287901287991288041288131288201288221288311288371288371288371288391288481288541288541288611288631288721288781288781288861288881288971289031289031289111289131289221289281289281289371289391289481289541289551289611289631289721289781289791289861289881289971290031290041290111290131290221290281290301290321290341290431290491290511290601290621290711290771290801290801290821290911290971291001291001291021291111291171291201291271291291291381291441291481291521291541291631291691291731291781291801291891291951291991292041292061292151292211292261292281292301292391292451292501292591292611292701292761292821292821292841292931292991293051293061293081293171293231293291293361293381293471293531293601293641293661293751293811293881293931293951294041294101294171294231294251294341294401294481294501294521294611294671294751294841294861294951295011295101295101295121295211295271295361295371295391295481295541295631295721295741295831295901295901295961295981296071296141296141296211296231296321296391296391296471296491296581296651296661296721296741296831296901296921296951296971297061297131297151297191297211297301297371297391297451297471297561297631297661297691297711297801297871297911297911297931298021298091298131298141298161298251298321298361298401298421298511298581298621298701298721298811298881298931298981299001299091299161299211299271299291299381299451299501299591299611299701299771299831299881299901299991300061300131300151300171300261300331300401300431300451300541300611300681300741300761300851300921301001301021301041301131301201301281301371301391301481301551301641301641301661301751301821301911301951301971302061302131302221302311302331302421302501302501302561302581302671302751302751302821302841302931303011303021303041303061303151303231303241303301303321303411303491303511303541303561303651303731303751303791303811303901303981304001304091304111304201304281304311304361304381304471304551304591304611304631304721304801304841304871304891304981305061305101305181305201305291305371305421305471305491305581305661305721305741305761305851305931305991306021306041306131306211306271306351306371306461306541306611306661306681306771306851306931306951306971307061307141307221307251307271307361307441307521307611307631307721307801307891307901307921308011308091308181308261308281308371308451308541308631308651308741308831308831308881308901308991309081309081309171309191309281309371309381309441309461309551309641309651309721309741309831309921309941309971309991310081310171310191310271310291310381310471310501310551310571310661310751310781310841310861310951311041311081311101311121311211311301311341311421311441311531311621311671311721311741311831311921311971312031312051312141312231312291312311312331312421312511312581312581312601312691312781312851312921312941313031313121313191313271313291313381313471313551313601313621313711313801313881313931313951314041314131314221314241314261314351314441314531314561314591314591314591314591314591314621314621314621314621314631314661314661314661314661314741314771314771314771314771314861314891314891314891314901314961314991314991314991315001315081315111315111315111315131315181315211315211315211315231315291315321315321315321315351315391315421315421315421315451315491315521315521315521315561315571315601315601315601315641315661315691315691315691315741315741315771315771315771315821315841315871315871315871315921316011316041316041316041316101316101316131316131316131316191316271316301316301316301316371316381316411316411316411316481316561316591316591316591316661316751316781316781316781316861316931316961316961316961317051317071317101317101317101317191317281317311317311317321317321317321317351317351317361317361317441317471317471317481317491317561317591317591317601317621317661317691317691317701317721317771317801317801317811317841317881317911317911317921317951318001318031318031318041318081318101318131318131318141318181318211318241318241318251318301318321318351318351318361318411318451318481318481318491318551318561318591318591318601318661318681318711318711318721318791318801318831318831318841318911318971319001319001319011319091319121319151319151319161319241319281319311319311319321319411319441319471319471319481319571319661319691319691319711319711319771319801319801319821319821319891319921319921319941319951320011320041320041320061320081320121320151320151320171320201320211320241320241320261320291320311320341320341320361320401320411320441320441320461320511320511320541320541320561320611320681320711320711320731320781320871320901320901320921320971321061321091321091321111321171321181321211321211321231321291321371321401321401321421321491321491321521321521321541321611321621321651321651321671321741321761321791321791321811321881321971322001322001322021322101322111322141322141322161322241322261322291322291322311322391322441322471322471322491322581322601322631322631322651322741322781322811322811322831322921322971323001323001323021323111323201323231323231323261323261323321323351323351323381323381323461323491323491323521323521323611323641323641323671323681323751323781323781323811323831323871323901323901323931323951324011324041324041324071324091324171324201324201324231324261324271324301324301324331324361324441324471324471324501324541324541324571324571324601324641324661324691324691324721324761324831324861324861324891324941324981325011325011325041325091325151325181325181325211325261325341325371325371325401325461325501325531325531325561325631325641325671325671325701325771325801325831325831325861325931325991326021326021326051326121326191326221326221326251326331326371326401326401326431326511326571326601326601326631326711326801326831326831326861326951326981327011327011327051327051327051327081327081327121327121327141327171327171327211327211327261327291327291327331327341327351327381327381327421327431327511327541327541327581327601327601327631327631327671327691327721327751327751327791327821327821327851327851327891327921327991328021328021328061328091328181328211328211328251328291328321328351328351328391328431328481328511328511328551328601328621328651328651328691328741328781328811328811328851328901328991329021329021329061329111329201329231329231329271329331329391329421329421329461329521329601329631329631329671329741329771329801329801329841329911329961329991329991330031330111330131330161330161330201330281330321330351330351330391330471330561330591330591330631330721330741330771330771330811330901330991331021331021331071331071331081331111331111331161331161331221331251331251331301331311331361331391331391331441331461331481331511331511331561331581331621331651331651331701331731331731331761331761331811331841331871331901331901331951331991331991332021332021332071332111332131332161332161332211332251332331332361332361332411332461332491332521332521332571332631332631332661332661332711332771332791332821332821332871332931333011333041333041333091333161333201333231333231333281333361333371333401333401333451333531333561333591333591333641333731333731333761333761333811333901333931333961333961334021334021334021334051334051334111334111334131334161334161334221334221334311334341334341334401334411334461334491334491334551334571334591334621334621334681334701334741334771334771334831334861334871334901334901334961334991335081335111335111335171335211335271335301335301335361335401335481335511335511335571335621335671335701335701335761335821335861335891335891335951336021336031336061336061336121336191336221336251336251336311336391336401336431336431336491336571336641336671336671336731336821336861336891336891336951337041337101337131337131337201337201337241337271337271337341337351337381337411337411337481337501337501337531337531337601337621337641337671337671337741337771337781337811337811337881337911337931337961337961338031338061338151338181338181338251338291338301338331338331338401338451338451338481338481338551338601338621338651338651338721338771338861338891338891338961339021339031339061339061339131339201339201339231339231339301339371339461339491339491339561339641339701339731339731339801339881339971340001340001340071340151340241340271340271340341340431340501340531340531340611340611340651340681340681340761340761340831340861340861340941340941341021341051341051341131341131341211341241341241341321341331341381341411341411341491341501341581341611341611341691341701341791341821341821341901341921341921341951341951342031342051342121342151342151342231342261342261342291342291342371342401342411342441342441342521342561342561342591342591342671342711342781342811342811342891342941342941342971342971343051343101343121343151343151343231343281343371343401343401343481343541343601343631343631343711343771343861343891343891343971344041344051344081344081344161344241344241344271344271344351344431344501344531344531344611344701344701344731344731344811344901344931344961344961345041345131345161345191345191345281345281345281345311345311345401345401345431345461345461345551345551345611345641345641345731345741345791345821345821345911345931345951345981345981346071346091346141346171346171346261346281346361346391346391346481346511346581346611346611346701346741346781346811346811346901346941347011347041347041347131347181347191347221347221347311347361347381347411347411347501347551347641347671347671347761347821347841347871347871347961348021348081348111348111348201348261348341348371348371348461348531348581348611348611348701348771348851348881348881348971349051349081349111349111349201349281349321349351349351349441349531349541349571349571349661349751349791349821349821349911350001350091350121350131350131350131350191350221350231350231350241350271350301350311350311350321350381350411350421350421350441350451350481350491350491350521350521350551350561350561350591350661350691350701350701350741350741350771350781350781350821350881350911350921350921350961351031351061351071351071351121351161351191351201351201351251351321351351351361351361351421351451351481351491351491351551351591351621351631351631351701351711351741351751351751351821351861351891351901351901351981351981352011352021352021352101352161352191352201352201352291352321352351352361352361352451352511352541352551352561352561352581352611352621352631352641352641352671352681352691352701352771352801352811352821352841352841352871352881352891352911352981353011353021353031353051353121353151353161353171353201353241353271353281353291353321353391353421353431353441353481353521353551353561353571353611353661353691353701353711353761353781353811353821353831353881353931353961353971353981354041354061354091354101354111354171354241354271354281354291354361354401354431354441354451354521354591354621354631354641354721354761354791354801354811354901354911354941354951354961355051355131355161355171355191355191355201355231355241355261355261355341355371355381355401355411355481355511355521355541355561355601355631355641355661355681355751355781355791355811355841355891355921355931355951355981356041356071356081356101356141356171356201356211356231356271356331356361356371356391356441356481356511356521356541356591356651356681356691356711356771356801356831356841356861356921356981357011357021357041357111357151357181357191357211357281357361357391357401357421357501357551357581357591357611357691357771357801357811357831357921357981358011358021358051358051358071358101358111358141358141358231358261358271358301358311358331358361358371358401358421358421358451358461358491358511358591358621358631358661358691358741358771358781358811358841358921358951358961358991359031359091359121359131359161359211359261359291359301359331359391359411359441359451359481359541359591359621359631359661359731359771359801359811359841359911359961359991360001360031360111360131360161360171360201360281360331360361360371360401360491360531360561360571360601360691360761360791360801360841360841360881360911360921360961360961361031361061361071361111361121361181361211361221361261361281361291361321361331361371361391361471361501361511361551361581361601361631361641361681361711361731361761361771361811361841361891361921361931361971362011362031362061362071362111362151362211362241362251362291362331362391362421362431362471362521362531362561362571362611362661362741362771362781362821362881362901362931362941362981363041363061363091363101363141363201363291363321363331363371363441363501363531363541363581363661363661363691363701363741363821363831363861363871363911363991364001364031364041364081364161364241364271364281364321364411364431364461364471364511364601364631364661364671364711364801364881364911364921364971364971365021365051365061365111365111365201365231365241365291365301365301365331365341365391365401365471365501365511365561365581365621365651365661365711365731365811365841365851365901365921366011366041366051366101366131366211366241366251366301366341366391366421366431366481366521366611366641366651366701366751366761366791366801366851366901366931366961366971367021367081367081367111367121367171367231367271367301367311367361367421367481367511367521367571367641367671367701367711367761367841367841367871367881367931368011368051368081368091368141368221368281368311368321368371368461368511368541368551368611368611368631368661368671368731368731368791368821368831368891368891368981369011369021369081369091369091369121369131369191369201369271369301369311369371369391369401369431369441369501369521369561369591369601369661369681369771369801369811369871369901369961369991370001370061370101370101370131370141370201370241370271370301370311370371370421370441370471370481370541370591370681370711370721370781370841370871370901370911370971371031371101371131371141371201371261371341371371371381371441371511371561371591371601371661371731371821371851371861371921372001372031372061372071372131372211372271372301372311372371372461372491372521372531372591372681372751372781372791372861372861372871372901372911372981372981373071373101373111373181373191373251373281373291373361373381373381373411373421373491373511373551373581373591373661373691373721373751373761373831373871373871373901373911373981374021374061374091374101374171374211374301374331374341374411374461374461374491374501374571374621374691374721374731374801374861374871374901374911374981375041375101375131375141375211375271375361375391375401375471375541375601375631375641375711375791375791375821375831375901375981376031376061376071376141376231376261376291376301376381376381376381376411376421376501376501376541376571376581376661376671376671376701376711376791376801376801376831376841376921376931377001377031377041377121377141377151377181377191377271377291377361377391377401377481377501377591377621377631377711377741377801377831377841377921377961377961377991378001378081378121378181378211378221378301378351378351378381378391378471378521378591378621378631378711378771378781378811378821378901378961379031379061379071379151379221379281379311379321379401379481379511379541379551379631379711379781379811379821379901379991380031380061380071380161380161380181380211380221380311380311380401380431380441380531380541380571380601380611380701380721380731380761380771380861380881380891380921380931381021381041381121381151381161381251381281381301381331381341381431381471381471381501381511381601381641381661381691381701381791381831381921381951381961382051382101382131382161382171382261382321382331382361382371382461382521382611382641382651382741382811382871382901382911383001383081383081383111383121383211383291383381383411383421383511383601383631383661383681383681383681383681383711383731383731383731383771383801383821383821383831383861383891383911383911383921384011384041384061384061384081384141384171384191384191384221384221384251384271384271384301384391384421384441384441384481384551384581384601384601384651384691384721384741384741384791384881384911384931384931384981385071385101385121385121385181385211385241385261385261385331385331385361385381385381385451385501385531385551385551385621385681385711385731385731385801385871385901385921385921386001386041386071386091386091386171386261386291386311386311386401386401386431386451386451386541386571386601386621386631386631386631386661386681386691386691386741386771386791386801386801386861386891386911386921386931386941386971386991387001387011387091387121387141387151387171387201387231387251387261387281387331387361387381387391387411387481387511387531387541387571387611387641387661387671387701387791387821387841387851387891387901387931387951387961388001388091388121388141388151388201388261388291388311388321388381388391388421388441388451388511388551388581388601388611388671388711388741388761388771388841388851388881388901388911388981389041389071389091389101389171389261389291389311389321389401389411389441389461389471389551389631389661389681389691389781389811389841389861389871389961390031390061390081390091390181390251390281390301390321390321390361390391390411390431390431390521390551390571390591390601390631390661390681390701390711390771390801390821390841390861390891390921390941390961390981391061391091391111391131391161391181391211391231391251391281391351391381391401391421391461391501391531391551391571391611391701391731391751391771391821391851391881391901391921391981391981392011392031392051392111392181392211392231392251392321392341392371392391392411392481392551392581392601392621392701392721392751392771392791392871392961392991393011393031393121393161393191393211393241393241393241393271393291393321393321393321393351393371393401393401393471393501393521393551393561393581393611393631393661393671393751393781393801393831393851393851393881393901393931393951394021394051394071394101394131394151394181394201394231394261394341394371394391394421394461394481394511394531394561394601394691394721394741394771394821394861394891394911394941395001395011395041395061395091395151395181395211395231395261395331395331395361395381395411395481395531395561395581395611395691395711395741395761395791395881395881395911395931395961396051396121396151396171396211396211396231396261396281396321396331396331396361396381396421396431396431396461396481396521396531396601396631396651396691396711396731396761396781396821396851396851396881396901396941396971396991397021397041397081397111397201397231397251397291397331397371397401397421397461397511397541397571397591397631397681397721397751397771397811397871397881397911397931397971398031398091398121398141398181398251398301398331398351398391398461398551398581398601398641398721398781398811398831398871398961398971399001399021399071399071399071399101399121399171399171399231399261399281399331399341399371399401399421399471399481399561399591399611399661399681399751399781399801399851399881399931399961399981400031400071400091400121400141400191400231400311400341400361400411400451400531400561400581400631400681400731400761400781400831400891400911400941400961401011401071401151401181401201401251401311401401401431401451401501401571401581401611401631401681401751401831401861401881401931402011402051402081402101402151402231402281402311402331402381402461402551402581402601402651402741402801402831402851402911402911402931402961402981403041403041403071403101403121403181403191403191403221403241403301403311403381403411403431403491403511403541403571403591403651403671403711403741403761403821403851403861403891403911403971404001404081404111404131404191404231404271404301404321404381404421404481404511404531404591404631404701404731404751404811404861404901404931404951405011405071405071405101405121405181405241405261405291405311405371405431405481405511405531405591405661405681405711405731405791405861405941405971405991406051406131406131406161406181406241406321406381406411406431406491406581406611406641406661406721406811406901406931406951407021407021407031407061407081407151407151407231407261407281407351407361407411407441407461407531407551407561407591407611407681407701407731407761407781407851407881407891407921407941408011408041408121408151408171408241408281408321408351408371408441408481408551408581408601408671408711408781408811408831408901408951408991409021409041409111409171409171409201409221409291409351409381409411409431409501409561409621409651409671409741409811409841409871409891409961410031410121410151410171410241410321410341410371410391410461410541410601410631410651410721410811410841410871410891410961411051411141411171411191411271411271411291411321411341411421411431411431411461411481411561411571411641411671411691411771411791411821411851411871411951411971412041412071412091412171412191412261412291412311412391412421412461412491412511412591412631412631412661412681412761412801412841412871412891412971413011413081413111413131413211413261413301413331413351413431413491413491413521413541413621413681413721413751413771413851413911413991414021414041414121414191414241414271414291414371414451414461414491414511414591414671414731414761414781414861414941415001415031415051415131415221415251415281415301415381415471415561415591415611415701415701415741415771415791415881415881415941415971415991416081416091416121416151416171416261416271416361416391416411416501416521416561416591416611416701416721416811416841416861416951416981417041417071417091417181417221417241417271417291417381417421417491417521417541417631417681417721417751417771417861417921417931417961417981418071418131418201418231418251418341418411418441418471418491418581418651418681418711418731418821418901418901418931418951419041419121419181419211419231419321419411419431419461419481419571419661419701419731419761419761419761419771419801419831419831419831419901419931419961419961419971420001420031420061420061420071420151420181420211420211420231420281420311420341420341420371420381420411420441420441420471420541420571420601420601420641420681420711420741420741420791420801420831420861420861420911420981421011421041421041421101421141421171421201421201421261421331421361421391421391421461421501421531421561421561421641421641421671421701421701421781421851421881421911421911422001422021422051422081422081422171422261422291422321422331422331422381422411422441422451422461422481422511422541422551422571422571422601422631422641422661422731422761422791422801422831422861422891422921422931422971422981423011423041423051423091423111423141423171423181423221423311423341423371423381423431423481423511423541423551423611423641423671423701423711423771423811423841423871423881423951423961423991424021424031424101424171424201424231424241424321424371424401424431424441424521424601424631424661424671424761424811424841424871424891424891424901424931424961424981424981425071425101425131425151425161425211425241425271425291425311425331425361425391425411425431425511425541425571425591425621425681425711425741425761425801425851425881425911425931425981426001426031426061426081426131426211426241426271426291426351426421426451426481426501426571426601426631426661426681426761426761426791426821426841426921426981427011427041427061427151427201427231427261427291427291427321427351427381427411427421427421427451427481427511427521427591427621427651427681427691427761427791427821427851427861427941427971428001428031428051428101428131428161428191428221428241428271428301428331428361428381428411428441428471428501428571428601428631428661428701428741428771428801428831428881428891428921428951428981429031429041429071429101429131429181429251429281429311429341429401429441429471429501429531429601429611429641429671429701429771429781429811429841429871429941430031430061430091430121430201430261430291430321430351430441430471430501430531430561430651430691430721430751430781430871430921430951430981431021431021431041431071431101431141431141431231431261431291431331431341431341431371431401431441431451431501431531431561431601431621431641431671431701431741431761431851431881431911431951431981431981432011432041432081432111432191432221432251432291432331432381432411432441432481432531432551432581432611432651432701432741432771432801432841432891432931432961432991433031433091433101433131433161433201433261433341433371433401433441433511433511433541433571433611433681433711433741433771433811433891433891433921433951433991434071434141434171434201434241434321434411434441434471434511434601434671434701434731434781434781434821434851434881434931434941434951434981435011435061435071435101435131435161435211435231435241435271435301435351435371435451435481435511435561435591435641435671435701435751435781435861435891435921435971436001436081436111436141436191436231436281436311436341436391436441436461436491436521436571436621436671436701436731436781436831436911436941436971437021437081437131437161437191437241437311437331437361437391437441437511437561437591437621437671437751437781437811437841437891437981437981438011438041438091438181438251438281438311438371438371438381438411438441438501438501438531438561438591438651438661438661438691438721438781438791438861438891438921438981439001439011439041439071439131439151439201439231439261439321439351439371439401439431439491439521439611439641439671439731439771439801439831439861439921439971439971440001440031440091440141440211440241440271440331440391440431440461440491440551440611440701440731440761440821440891440911440941440971441031441101441191441221441251441311441391441451441481441511441571441661441671441701441731441791441881441951441981442011442081442081442121442151442181442251442261442271442301442331442401442411442471442501442531442601442621442661442691442721442791442821442831442861442891442961442991443071443101443131443201443241443281443311443341443411443451443501443531443561443631443681443701443731443761443831443881443971444001444031444101444161444211444241444271444341444411444441444471444501444571444651444651444681444711444781444861444931444961444991445061445151445181445211445241445321445321445331445361445391445471445471445551445581445611445691445701445751445781445811445891445911445931445961445991446071446091446111446141446171446251446271446361446391446421446501446531446591446621446651446731446771446801446831446861446941446981447041447071447101447181447231447261447291447321447401447461447461447491447521447601447661447741447771447801447881447941448021448051448081448161448231448281448311448341448421448501448521448551448581448661448751448751448781448811448891448981449031449061449091449181449181449201449231449261449351449351449441449471449501449591449601449671449701449731449821449841449881449911449941450031450061450071450101450131450221450251450331450361450391450481450521450591450621450651450741450781450851450881450911451001451051451091451121451151451241451301451311451341451371451461451531451531451561451591451681451751451821451851451881451971452051452091452121452151452241452331452351452381452411452501452591452611452641452671452761452851452901452931452971452971452971452991453021453061453061453071453071453101453141453141453151453151453181453221453221453231453281453311453351453351453371453391453421453461453461453491453491453521453561453561453591453591453621453661453661453691453771453801453841453841453881453931453961454001454001454051454081454111454151454151454201454241454271454311454311454371454371454401454441454441454501454571454601454641454641454711454761454791454831454831454901454961454991455031455031455111455161455191455231455231455321455341455371455411455421455421455421455451455491455501455501455521455551455591455601455601455631455661455701455711455721455721455751455791455801455811455891455921455961455971455991455991456021456061456071456091456131456161456201456211456241456251456281456321456331456361456451456481456521456531456571456591456621456661456671456711456751456781456821456831456881456891456921456961456971457021457111457141457181457191457251457281457311457351457361457421457451457481457521457531457601457601457631457671457681457751457831457861457901457911457991458011458041458081458091458171458211458241458281458291458381458391458421458461458471458561458651458681458721458741458741458771458801458841458861458861458941458971459011459031459041459091459121459161459181459201459231459261459301459321459341459421459451459491459511459541459561459591459631459651459681459771459801459841459861459901459971460001460041460061460111460141460171460211460231460281460321460351460391460411460471460481460511460551460571460631460721460751460791460811460881460931460961461001461021461091461171461201461241461261461341461391461421461461461481461571461601461631461671461691461781461871461901461941461971461971462031462061462101462131462141462171462201462241462271462291462301462331462371462401462421462491462521462561462591462621462661462691462731462761462801462811462841462881462911462951463041463071463111463141463191463251463281463321463351463401463471463501463541463571463631463671463701463741463771463841463861463891463931463961464031464121464151464191464221464301464321464351464391464421464501464591464621464661464691464781464851464881464921464961464961465001465031465071465111465121465131465161465201465241465251465331465361465401465441465461465521465551465591465631465661465691465721465761465801465841465851465881465921465961466001466081466111466151466191466241466301466331466371466411466471466501466531466571466611466681466691466721466761466801466871466951466981467021467061467141467201467231467271467311467401467441467471467511467551467641467681467711467751467801467801467811467841467881467931467931468021468051468091468141468151468221468251468291468341468361468371468401468441468491468511468591468621468661468711468741468801468831468871468921468961469001469031469071469121469161469251469281469321469371469421469481469511469551469601469661469701469731469771469821469891469921469951469991470041470111470151470181470221470271470351470361470391470431470481470561470651470681470721470771470861470941470971471011471071471071471081471111471151471211471211471291471321471361471421471431471491471521471561471621471641471691471721471761471821471851471871471901471941472001472031472121472151472191472251472291472361472391472431472491472541472601472631472671472731472791472841472871472911472971473041473061473091473131473191473271473281473311473351473411473491473501473531473571473631473711473741473771473811473871473961473961473991474031474091474181474271474301474341474401474491474581474611474651474721474721474751474781474821474891474901474901474931474971475041475051475141475171475211475281475291475381475411475451475521475541475611475641475681475751475781475821475851475891475961476001476031476061476101476171476211476251476281476321476391476431476471476501476541476611476661476671476701476741476811476871476871476901476941477011477071477081477111477151477221477291477291477321477361477431477501477571477601477641477711477791477851477881477921477991478071478151478181478221478291478371478461478491478531478601478691478751478781478821478901478901478951478981479021479101479101479171479201479241479321479331479351479381479421479501479511479601479631479671479751479771479851479881479921480001480031480031480061480101480181480211480291480321480361480441480481480531480561480601480681480731480771480801480841480921480971481041481071481111481191481251481271481301481341481421481481481571481601481641481721481791481871481901481941482021482101482111482141482181482261482341482421482451482491482571482661482711482741482781482871482871482911482941482981483071483071483151483181483221483311483311483401483431483471483561483571483631483661483701483791483811483861483891483931484021484041484131484161484201484291484321484361484391484431484521484561484571484601484641484731484781484781484811484851484941484991485031485061485101485191485251485281485311485351485441485511485511485541485581485671485741485831485861485901485991486071486111486141486181486271486351486401486431486471486561486651486671486701486751486751486751486761486791486841486841486841486901486931486981486981486991487001487031487081487081487091487171487201487251487251487271487341487371487421487421487451487481487511487561487561487591487621487651487701487701487741487741487771487821487821487861487951487981488031488031488081488131488161488211488211488261488321488351488401488401488461488491488521488571488571488641488661488691488741488741488811488891488921488971488971489051489061489091489141489141489221489301489331489381489381489471489541489571489621489631489631489661489691489741489751489761489761489791489841489851489861489931489961490011490021490041490101490131490181490191490221490251490281490331490341490371490421490451490501490511490551490571490601490651490661490711490721490751490801490811490861490941490971491021491031491091491161491191491241491251491321491361491391491441491451491531491561491591491641491651491741491751491781491831491841491931491951491981492031492041492131492221492251492301492321492321492401492431492481492501492511492571492601492651492671492691492701492731492781492801492821492901492931492981493001493031493101493131493181493201493241493301493331493381493401493441493511493541493591493611493661493701493731493781493801493861493891493921493971493991494061494081494111494161494181494251494321494351494401494421494501494541494571494621494641494731494761494791494841494871494871494891494921494971495001495001495091495121495171495201495211495281495311495361495391495401495471495501495551495581495591495661495691495741495771495781495861495891495941495971495991496051496081496131496161496181496241496271496321496351496371496431496461496511496541496571496611496641496691496721496761496781496811496861496891496931496951496981497031497061497101497131497161497211497241497281497311497341497391497421497471497481497511497561497591497641497651497681497731497761497811497831497861497911497941497991498031498061498111498141498201498221498251498301498331498391498411498441498491498521498581498611498641498691498721498781498871498901498951498981499051499121499151499201499231499301499371499401499451499481499551499641499671499721499751499831499851499881499931499961500051500051500081500131500161500251500251500281500331500361500451500471500501500551500591500591500601500631500681500721500721500811500841500891500931500931501021501051501101501141501151501171501201501251501291501301501331501361501411501451501471501481501511501561501601501621501631501661501711501751501771501811501841501891501931501951502041502071502121502161502191502261502291502341502381502411502481502511502561502601502641502651502681502731502771502811502851502881502931502971503021503041503071503121503161503211503231503261503311503351503401503461503491503541503581503641503661503691503741503781503851503851503881503931503971504041504041504071504121504161504231504271504301504351504391504471504491504521504571504611504701504701504731504781504821504911504911504941504991505031505121505171505201505251505291505381505451505481505531505581505581505631505661505711505761505761505811505841505891505941505951505961505991506041506091506101506121506151506201506251506271506271506301506351506401506421506421506451506501506551506571506631506661506711506761506781506861506891506941506991507021507081507111507161507211507241507301507331507381507431507471507491507521507571507621507661507721507751507801507851507901507941507971508021508071508121508161508191508241508291508351508351508381508431508481508541508621508651508701508751508821508881508911508961509011509081509141509171509221509271509351509381509411509461509511509601509601509631509681509731509821509901509931509981510031510121510201510231510281510341510341510401510431510481510541510551510551510581510631510691510701510781510811510861510921510931511011511041511091511151511171511231511261511311511371511401511421511451511501511561511601511601511631511681511741511781511781511811511861511921511961512051512081512131512191512241512241512271512321512381512431512511512541512591512651512701512781512811512861512921512981513051513081513131513191513251513331513361513411513471513541513601513631513681513741513811513871513901513951514011514091514141514171514221514281514371514371514401514451514511514601514681514711514761514821514911514991515021515071515141515141515211515241515291515361515371515411515441515491515561515581515601515631515681515751515771515801515831515881515951515971516001516031516081516151516171516221516251516301516371516401516431516461516511516581516611516651516681516731516801516831516871516901516951517021517051517121517151517201517271517311517361517391517441517511517551517611517641517691517761517801517861517891517941518011518061518081518111518161518231518291518291518321518371518441518501518511518541518591518661518721518731518761518811518881518941519031519061519111519181519251519321519351519401519471519541519621519651519701519771519841519931519961520011520081520161520181520211520261520331520421520421520451520501520571520661520671520701520751520821520911520931520961521011521081521171521231521261521311521391521391521431521461521511521591521591521641521671521721521801521801521871521901521951522031522031522121522151522201522281522291522361522391522441522521522531522611522641522691522771522791522791522821522871522951522971523011523041523091523171523201523221523251523301523381523411523441523471523521523601523631523681523711523761523841523881523921523951524001524081524131524151524181524231524311524361524391524421524471524551524601524661524691524741524821524871524941524971525021525101525161525211525241525291525371525431525491525521525571525651525711525801525831525881525961526031526081526111526161526241526321526351526381526431526511526591526631526661526711526791526871526941526971527021527101527191527241527271527321527411527411527441527471527521527611527611527651527681527731527821527821527901527931527981528071528081528091528121528171528261528271528361528391528441528531528551528551528581528631528721528741528781528811528861528951528981528981529011529061529151529181529261529291529341529431529461529551529581529631529721529761529801529831529881529971530011530051530081530131530221530271530291530321530371530461530511530541530571530621530711530761530841530871530921531011531071531071531101531151531241531301531381531411531461531551531611531701531731531781531871531941531981532011532061532151532231532241532271532321532411532491532581532611532661532751532841532841532871532921533011533101533161533191533241533331533421533491533521533581533581533581533631533661533721533721533721533781533811533871533871533881533901533931533991533991534001534041534071534131534131534151534171534201534261534261534281534311534341534401534401534421534511534541534601534601534631534661534691534751534751534791534801534831534891534891534931534951534981535041535041535081535161535191535251535251535301535371535401535461535461535521535571535601535661535661535721535781535811535871535871535941535971536001536061536061536131536191536221536281536281536361536401536431536491536491536571536621536651536711536711536801536831536861536921536921537011537051537081537141537151537151537171537201537261537271537271537301537331537391537401537411537421537451537511537521537531537571537601537661537671537691537711537741537801537811537831537861537891537951537961537991538001538031538091538101538131538221538251538311538321538361538431538461538521538531538571538651538681538741538751538801538871538901538961538971539031539031539061539121539131539191539271539301539361539371539441539441539471539531539541539611539611539641539701539711539781539781539811539871539881539951540031540061540121540131540211540211540241540301540311540391540391540421540481540491540571540591540621540681540691540781540781540811540871540881540971540991541021541081541091541181541201541231541291541301541391541481541511541571541591541591541661541691541751541771541771541861541891541951541971541981541981542011542071542091542101542131542161542221542241542261542271542301542361542381542401542431542461542521542541542561542601542631542691542711542741542771542801542861542881542921542931542961543021543041543081543111543141543201543221543261543311543341543401543421543461543521543551543611543631543681543721543751543811543831543881543941543971544031544051544101544181544211544271544291544351544391544421544481544501544571544591544621544681544701544771544811544841544901544921544991545061545091545151545171545251545251545281545341545361545441545521545551545611545631545721545721545751545811545831545921545951545981546041546071546071546071546101546161546191546191546271546301546361546391546401546401546431546491546521546531546561546591546651546681546701546721546751546811546841546871546871546901546961546991547021547041547071547131547161547191547251547281547341547371547411547411547441547501547531547571547651547681547741547771547821547821547851547911547941547991548041548071548131548161548211548271548301548361548391548451548491548521548581548611548671548731548761548821548851548921548931548961549021549051549121549181549211549271549301549381549421549451549511549541549621549681549711549771549801549891549901549931549991550021550111550191550221550281550321550321550381550411550471550511550511550591550621550681550721550731550771550801550861550901550911550971551001551061551101551121551161551191551251551291551311551371551401551461551501551531551561551591551651551691551721551751551781551841551881551921551931551961552021552061552101552131552161552221552261552311552311552341552401552441552491552511552541552601552641552701552701552731552791552831552891552911552941553001553041553101553191553221553281553321553391553421553451553511553551553631553641553671553731553771553851553881553911553971554011554101554101554131554191554231554321554411554441554501554551554551554621554651554711554761554761554851554881554941554991555001555071555101555161555211555231555281555311555371555421555451555481555511555571555621555651555701555731555791555841555881555911555941556001556051556101556111556141556201556251556301556391556421556481556531556591556601556631556691556741556811556811556841556901556951557021557021557051557111557161557231557311557341557401557451557531557531557561557621557671557751557841557871557931557981558071558111558141558201558261558261558281558311558371558431558431558481558511558571558631558631558681558711558771558831558831558921558951559011559071559081559151559181559241559301559321559321559351559411559471559491559491559521559581559641559661559711559741559801559861559891559921559951560011560071560101560161560191560251560311560341560401560431560491560551560591560621560651560711560771560821560831560861560921560981561031561071561101561161561221561271561321561351561411561471561521561591561621561681561741561801561851561881561941562001562061562141562171562231562291562361562361562391562451562511562581562591562621562681562741562811562901562931562991563051563131563151563181563241563301563381563421563451563511563571563661563661563691563751563811563901563981564011564071564141564141564151564181564241564311564311564341564371564431564501564511564521564551564611564681564691564781564811564871564941564961564981565011565071565141565161565211565241565301565371565391565481565511565571565641565671565741565771565831565901565941565941565971566031566101566141566171566201566261566331566371566441566471566531566601566651566701566731566791566861566911566991567021567081567151567211567221567251567311567381567441567521567551567611567681567751567811567841567901567971568041568131568161568221568291568371568391568421568481568551568641568651568681568741568811568901568991569021569081569161569161569181569211569271569351569351569411569441569501569581569591569601569631569691569771569781569871569901569961570041570061570081570111570171570251570271570331570361570421570501570531570541570571570631570711570741570831570861570921571001571041571061571091571151571231571271571331571361571421571501571551571601571631571691571771571831571861571891571951572031572091572151572181572241572321572391572401572431572491572571572641572661572691572751572831572911572911572941573001573081573161573191573221573281573361573441573521573551573611573691573781573831573861573921574011574011574041574071574131574221574221574281574311574371574461574471574481574511574571574661574671574761574791574851574941574961575031575061575121575211575241575241575271575331575421575451575501575531575591575681575721575751575781575841575931575981575991576021576081576171576221576261576291576351576441576501576501576531576591576681576741576741576771576831576921576981577061577091577151577241577311577321577351577411577501577571577641577671577731577821577901577931577961578021578111578201578211578241578301578391578481578521578551578621578621578621578621578651578721578721578721578791578821578891578891578901578951578981579051579051579061579141579171579241579241579261579311579341579411579411579441579441579471579541579541579571579651579681579751579751579791579801579831579901579901579941580021580051580121580121580171580221580251580321580321580381580411580441580511580511580571580631580661580731580731580801580841580871580941580941581011581081581111581181581181581261581311581341581411581411581491581571581601581671581671581761581821581851581921581931581931581941581971582041582051582051582141582171582241582251582261582281582311582381582391582411582411582441582511582521582541582591582621582691582701582731582761582791582861582871582901582961582991583061583071583111583151583181583251583261583311583321583351583421583431583481583571583601583671583681583741583761583791583861583871583941583951583981584051584061584131584171584201584271584281584361584381584411584481584491584571584621584651584721584731584821584861584891584961584971585061585151585181585251585271585271585341585371585441585461585471585481585511585581585601585611585621585651585721585741585751585761585791585861585881585891585981586011586081586101586121586151586181586251586271586291586321586351586421586441586461586511586541586611586631586661586691586721586791586811586841586911586941587011587031587061587131587161587231587251587291587341587371587441587461587511587541587571587641587661587711587781587811587881587901587951588031588061588131588151588201588291588321588391588411588471588541588571588641588661588731588741588771588841588861588931588951588981589051589071589141589201589231589301589321589401589441589471589541589561589641589721589751589821589841589921590011590041590111590131590221590271590301590371590401590401590431590461590531590561590561590631590661590731590761590761590851590881590951590981590991591001591031591101591131591141591231591261591331591361591381591411591441591511591541591561591611591641591711591741591771591771591801591871591901591931592011592041592111592141592181592201592231592301592331592371592421592451592521592551592591592651592681592751592781592831592871592901592971593001593051593131593161593231593261593321593331593361593431593461593521593561593591