122265222642226322262222612226022259222582225722256222552225422253222522225122250222492224822247222462224522244222432224222241222402223922238222372223622235222342223322232222312223022229222282222722226222252222422223222222222122220222192221822217222162221522214222132221222211222102220922208222072220622205222042220322202222012220022199221982219722196221952219422193221922219122190221892218822187221862218522184221832218222181221802217922178221772217622175221742217322172221712217022169221682216722166221652216422163221622216122160221592215822157221562215522154221532215222151221502214922148221472214622145221442214322142221412214022139221382213722136221352213422133221322213122130221292212822127221262212522124221232212222121221202211922118221172211622115221142211322112221112211022109221082210722106221052210422103221022210122100220992209822097220962209522094220932209222091220902208922088220872208622085220842208322082220812208022079220782207722076220752207422073220722207122070220692206822067220662206522064220632206222061220602205922058220572205622055220542205322052220512205022049220482204722046220452204422043220422204122040220392203822037220362203522034220332203222031220302202922028220272202622025220242202322022220212202022019220182201722016220152201422013220122201122010220092200822007220062200522004220032200222001220002199921998219972199621995219942199321992219912199021989219882198721986219852198421983219822198121980219792197821977219762197521974219732197221971219702196921968219672196621965219642196321962219612196021959219582195721956219552195421953219522195121950219492194821947219462194521944219432194221941219402193921938219372193621935219342193321932219312193021929219282192721926219252192421923219222192121920219192191821917219162191521914219132191221911219102190921908219072190621905219042190321902219012190021899218982189721896218952189421893218922189121890218892188821887218862188521884218832188221881218802187921878218772187621875218742187321872218712187021869218682186721866218652186421863218622186121860218592185821857218562185521854218532185221851218502184921848218472184621845218442184321842218412184021839218382183721836218352183421833218322183121830218292182821827218262182521824218232182221821218202181921818218172181621815218142181321812218112181021809218082180721806218052180421803218022180121800217992179821797217962179521794217932179221791217902178921788217872178621785217842178321782217812178021779217782177721776217752177421773217722177121770217692176821767217662176521764217632176221761217602175921758217572175621755217542175321752217512175021749217482174721746217452174421743217422174121740217392173821737217362173521734217332173221731217302172921728217272172621725217242172321722217212172021719217182171721716217152171421713217122171121710217092170821707217062170521704217032170221701217002169921698216972169621695216942169321692216912169021689216882168721686216852168421683216822168121680216792167821677216762167521674216732167221671216702166921668216672166621665216642166321662216612166021659216582165721656216552165421653216522165121650216492164821647216462164521644216432164221641216402163921638216372163621635216342163321632216312163021629216282162721626216252162421623216222162121620216192161821617216162161521614216132161221611216102160921608216072160621605216042160321602216012160021599215982159721596215952159421593215922159121590215892158821587215862158521584215832158221581215802157921578215772157621575215742157321572215712157021569215682156721566215652156421563215622156121560215592155821557215562155521554215532155221551215502154921548215472154621545215442154321542215412154021539215382153721536215352153421533215322153121530215292152821527215262152521524215232152221521215202151921518215172151621515215142151321512215112151021509215082150721506215052150421503215022150121500214992149821497214962149521494214932149221491214902148921488214872148621485214842148321482214812148021479214782147721476214752147421473214722147121470214692146821467214662146521464214632146221461214602145921458214572145621455214542145321452214512145021449214482144721446214452144421443214422144121440214392143821437214362143521434214332143221431214302142921428214272142621425214242142321422214212142021419214182141721416214152141421413214122141121410214092140821407214062140521404214032140221401214002139921398213972139621395213942139321392213912139021389213882138721386213852138421383213822138121380213792137821377213762137521374213732137221371213702136921368213672136621365213642136321362213612136021359213582135721356213552135421353213522135121350213492134821347213462134521344213432134221341213402133921338213372133621335213342133321332213312133021329213282132721326213252132421323213222132121320213192131821317213162131521314213132131221311213102130921308213072130621305213042130321302213012130021299212982129721296212952129421293212922129121290212892128821287212862128521284212832128221281212802127921278212772127621275212742127321272212712127021269212682126721266212652126421263212622126121260212592125821257212562125521254212532125221251212502124921248212472124621245212442124321242212412124021239212382123721236212352123421233212322123121230212292122821227212262122521224212232122221221212202121921218212172121621215212142121321212212112121021209212082120721206212052120421203212022120121200211992119821197211962119521194211932119221191211902118921188211872118621185211842118321182211812118021179211782117721176211752117421173211722117121170211692116821167211662116521164211632116221161211602115921158211572115621155211542115321152211512115021149211482114721146211452114421143211422114121140211392113821137211362113521134211332113221131211302112921128211272112621125211242112321122211212112021119211182111721116211152111421113211122111121110211092110821107211062110521104211032110221101211002109921098210972109621095210942109321092210912109021089210882108721086210852108421083210822108121080210792107821077210762107521074210732107221071210702106921068210672106621065210642106321062210612106021059210582105721056210552105421053210522105121050210492104821047210462104521044210432104221041210402103921038210372103621035210342103321032210312103021029210282102721026210252102421023210222102121020210192101821017210162101521014210132101221011210102100921008210072100621005210042100321002210012100020999209982099720996209952099420993209922099120990209892098820987209862098520984209832098220981209802097920978209772097620975209742097320972209712097020969209682096720966209652096420963209622096120960209592095820957209562095520954209532095220951209502094920948209472094620945209442094320942209412094020939209382093720936209352093420933209322093120930209292092820927209262092520924209232092220921209202091920918209172091620915209142091320912209112091020909209082090720906209052090420903209022090120900208992089820897208962089520894208932089220891208902088920888208872088620885208842088320882208812088020879208782087720876208752087420873208722087120870208692086820867208662086520864208632086220861208602085920858208572085620855208542085320852208512085020849208482084720846208452084420843208422084120840208392083820837208362083520834208332083220831208302082920828208272082620825208242082320822208212082020819208182081720816208152081420813208122081120810208092080820807208062080520804208032080220801208002079920798207972079620795207942079320792207912079020789207882078720786207852078420783207822078120780207792077820777207762077520774207732077220771207702076920768207672076620765207642076320762207612076020759207582075720756207552075420753207522075120750207492074820747207462074520744207432074220741207402073920738207372073620735207342073320732207312073020729207282072720726207252072420723207222072120720207192071820717207162071520714207132071220711207102070920708207072070620705207042070320702207012070020699206982069720696206952069420693206922069120690206892068820687206862068520684206832068220681206802067920678206772067620675206742067320672206712067020669206682066720666206652066420663206622066120660206592065820657206562065520654206532065220651206502064920648206472064620645206442064320642206412064020639206382063720636206352063420633206322063120630206292062820627206262062520624206232062220621206202061920618206172061620615206142061320612206112061020609206082060720606206052060420603206022060120600205992059820597205962059520594205932059220591205902058920588205872058620585205842058320582205812058020579205782057720576205752057420573205722057120570205692056820567205662056520564205632056220561205602055920558205572055620555205542055320552205512055020549205482054720546205452054420543205422054120540205392053820537205362053520534205332053220531205302052920528205272052620525205242052320522205212052020519205182051720516205152051420513205122051120510205092050820507205062050520504205032050220501205002049920498204972049620495204942049320492204912049020489204882048720486204852048420483204822048120480204792047820477204762047520474204732047220471204702046920468204672046620465204642046320462204612046020459204582045720456204552045420453204522045120450204492044820447204462044520444204432044220441204402043920438204372043620435204342043320432204312043020429204282042720426204252042420423204222042120420204192041820417204162041520414204132041220411204102040920408204072040620405204042040320402204012040020399203982039720396203952039420393203922039120390203892038820387203862038520384203832038220381203802037920378203772037620375203742037320372203712037020369203682036720366203652036420363203622036120360203592035820357203562035520354203532035220351203502034920348203472034620345203442034320342203412034020339203382033720336203352033420333203322033120330203292032820327203262032520324203232032220321203202031920318203172031620315203142031320312203112031020309203082030720306203052030420303203022030120300202992029820297202962029520294202932029220291202902028920288202872028620285202842028320282202812028020279202782027720276202752027420273202722027120270202692026820267202662026520264202632026220261202602025920258202572025620255202542025320252202512025020249202482024720246202452024420243202422024120240202392023820237202362023520234202332023220231202302022920228202272022620225202242022320222202212022020219202182021720216202152021420213202122021120210202092020820207202062020520204202032020220201202002019920198201972019620195201942019320192201912019020189201882018720186201852018420183201822018120180201792017820177201762017520174201732017220171201702016920168201672016620165201642016320162201612016020159201582015720156201552015420153201522015120150201492014820147201462014520144201432014220141201402013920138201372013620135201342013320132201312013020129201282012720126201252012420123201222012120120201192011820117201162011520114201132011220111201102010920108201072010620105201042010320102201012010020099200982009720096200952009420093200922009120090200892008820087200862008520084200832008220081200802007920078200772007620075200742007320072200712007020069200682006720066200652006420063200622006120060200592005820057200562005520054200532005220051200502004920048200472004620045200442004320042200412004020039200382003720036200352003420033200322003120030200292002820027200262002520024200232002220021200202001920018200172001620015200142001320012200112001020009200082000720006200052000420003200022000120000199991999819997199961999519994199931999219991199901998919988199871998619985199841998319982199811998019979199781997719976199751997419973199721997119970199691996819967199661996519964199631996219961199601995919958199571995619955199541995319952199511995019949199481994719946199451994419943199421994119940199391993819937199361993519934199331993219931199301992919928199271992619925199241992319922199211992019919199181991719916199151991419913199121991119910199091990819907199061990519904199031990219901199001989919898198971989619895198941989319892198911989019889198881988719886198851988419883198821988119880198791987819877198761987519874198731987219871198701986919868198671986619865198641986319862198611986019859198581985719856198551985419853198521985119850198491984819847198461984519844198431984219841198401983919838198371983619835198341983319832198311983019829198281982719826198251982419823198221982119820198191981819817198161981519814198131981219811198101980919808198071980619805198041980319802198011980019799197981979719796197951979419793197921979119790197891978819787197861978519784197831978219781197801977919778197771977619775197741977319772197711977019769197681976719766197651976419763197621976119760197591975819757197561975519754197531975219751197501974919748197471974619745197441974319742197411974019739197381973719736197351973419733197321973119730197291972819727197261972519724197231972219721197201971919718197171971619715197141971319712197111971019709197081970719706197051970419703197021970119700196991969819697196961969519694196931969219691196901968919688196871968619685196841968319682196811968019679196781967719676196751967419673196721967119670196691966819667196661966519664196631966219661196601965919658196571965619655196541965319652196511965019649196481964719646196451964419643196421964119640196391963819637196361963519634196331963219631196301962919628196271962619625196241962319622196211962019619196181961719616196151961419613196121961119610196091960819607196061960519604196031960219601196001959919598195971959619595195941959319592195911959019589195881958719586195851958419583195821958119580195791957819577195761957519574195731957219571195701956919568195671956619565195641956319562195611956019559195581955719556195551955419553195521955119550195491954819547195461954519544195431954219541195401953919538195371953619535195341953319532195311953019529195281952719526195251952419523195221952119520195191951819517195161951519514195131951219511195101950919508195071950619505195041950319502195011950019499194981949719496194951949419493194921949119490194891948819487194861948519484194831948219481194801947919478194771947619475194741947319472194711947019469194681946719466194651946419463194621946119460194591945819457194561945519454194531945219451194501944919448194471944619445194441944319442194411944019439194381943719436194351943419433194321943119430194291942819427194261942519424194231942219421194201941919418194171941619415194141941319412194111941019409194081940719406194051940419403194021940119400193991939819397193961939519394193931939219391193901938919388193871938619385193841938319382193811938019379193781937719376193751937419373193721937119370193691936819367193661936519364193631936219361193601935919358193571935619355193541935319352193511935019349193481934719346193451934419343193421934119340193391933819337193361933519334193331933219331193301932919328193271932619325193241932319322193211932019319193181931719316193151931419313193121931119310193091930819307193061930519304193031930219301193001929919298192971929619295192941929319292192911929019289192881928719286192851928419283192821928119280192791927819277192761927519274192731927219271192701926919268192671926619265192641926319262192611926019259192581925719256192551925419253192521925119250192491924819247192461924519244192431924219241192401923919238192371923619235192341923319232192311923019229192281922719226192251922419223192221922119220192191921819217192161921519214192131921219211192101920919208192071920619205192041920319202192011920019199191981919719196191951919419193191921919119190191891918819187191861918519184191831918219181191801917919178191771917619175191741917319172191711917019169191681916719166191651916419163191621916119160191591915819157191561915519154191531915219151191501914919148191471914619145191441914319142191411914019139191381913719136191351913419133191321913119130191291912819127191261912519124191231912219121191201911919118191171911619115191141911319112191111911019109191081910719106191051910419103191021910119100190991909819097190961909519094190931909219091190901908919088190871908619085190841908319082190811908019079190781907719076190751907419073190721907119070190691906819067190661906519064190631906219061190601905919058190571905619055190541905319052190511905019049190481904719046190451904419043190421904119040190391903819037190361903519034190331903219031190301902919028190271902619025190241902319022190211902019019190181901719016190151901419013190121901119010190091900819007190061900519004190031900219001190001899918998189971899618995189941899318992189911899018989189881898718986189851898418983189821898118980189791897818977189761897518974189731897218971189701896918968189671896618965189641896318962189611896018959189581895718956189551895418953189521895118950189491894818947189461894518944189431894218941189401893918938189371893618935189341893318932189311893018929189281892718926189251892418923189221892118920189191891818917189161891518914189131891218911189101890918908189071890618905189041890318902189011890018899188981889718896188951889418893188921889118890188891888818887188861888518884188831888218881188801887918878188771887618875188741887318872188711887018869188681886718866188651886418863188621886118860188591885818857188561885518854188531885218851188501884918848188471884618845188441884318842188411884018839188381883718836188351883418833188321883118830188291882818827188261882518824188231882218821188201881918818188171881618815188141881318812188111881018809188081880718806188051880418803188021880118800187991879818797187961879518794187931879218791187901878918788187871878618785187841878318782187811878018779187781877718776187751877418773187721877118770187691876818767187661876518764187631876218761187601875918758187571875618755187541875318752187511875018749187481874718746187451874418743187421874118740187391873818737187361873518734187331873218731187301872918728187271872618725187241872318722187211872018719187181871718716187151871418713187121871118710187091870818707187061870518704187031870218701187001869918698186971869618695186941869318692186911869018689186881868718686186851868418683186821868118680186791867818677186761867518674186731867218671186701866918668186671866618665186641866318662186611866018659186581865718656186551865418653186521865118650186491864818647186461864518644186431864218641186401863918638186371863618635186341863318632186311863018629186281862718626186251862418623186221862118620186191861818617186161861518614186131861218611186101860918608186071860618605186041860318602186011860018599185981859718596185951859418593185921859118590185891858818587185861858518584185831858218581185801857918578185771857618575185741857318572185711857018569185681856718566185651856418563185621856118560185591855818557185561855518554185531855218551185501854918548185471854618545185441854318542185411854018539185381853718536185351853418533185321853118530185291852818527185261852518524185231852218521185201851918518185171851618515185141851318512185111851018509185081850718506185051850418503185021850118500184991849818497184961849518494184931849218491184901848918488184871848618485184841848318482184811848018479184781847718476184751847418473184721847118470184691846818467184661846518464184631846218461184601845918458184571845618455184541845318452184511845018449184481844718446184451844418443184421844118440184391843818437184361843518434184331843218431184301842918428184271842618425184241842318422184211842018419184181841718416184151841418413184121841118410184091840818407184061840518404184031840218401184001839918398183971839618395183941839318392183911839018389183881838718386183851838418383183821838118380183791837818377183761837518374183731837218371183701836918368183671836618365183641836318362183611836018359183581835718356183551835418353183521835118350183491834818347183461834518344183431834218341183401833918338183371833618335183341833318332183311833018329183281832718326183251832418323183221832118320183191831818317183161831518314183131831218311183101830918308183071830618305183041830318302183011830018299182981829718296182951829418293182921829118290182891828818287182861828518284182831828218281182801827918278182771827618275182741827318272182711827018269182681826718266182651826418263182621826118260182591825818257182561825518254182531825218251182501824918248182471824618245182441824318242182411824018239182381823718236182351823418233182321823118230182291822818227182261822518224182231822218221182201821918218182171821618215182141821318212182111821018209182081820718206182051820418203182021820118200181991819818197181961819518194181931819218191181901818918188181871818618185181841818318182181811818018179181781817718176181751817418173181721817118170181691816818167181661816518164181631816218161181601815918158181571815618155181541815318152181511815018149181481814718146181451814418143181421814118140181391813818137181361813518134181331813218131181301812918128181271812618125181241812318122181211812018119181181811718116181151811418113181121811118110181091810818107181061810518104181031810218101181001809918098180971809618095180941809318092180911809018089180881808718086180851808418083180821808118080180791807818077180761807518074180731807218071180701806918068180671806618065180641806318062180611806018059180581805718056180551805418053180521805118050180491804818047180461804518044180431804218041180401803918038180371803618035180341803318032180311803018029180281802718026180251802418023180221802118020180191801818017180161801518014180131801218011180101800918008180071800618005180041800318002180011800017999179981799717996179951799417993179921799117990179891798817987179861798517984179831798217981179801797917978179771797617975179741797317972179711797017969179681796717966179651796417963179621796117960179591795817957179561795517954179531795217951179501794917948179471794617945179441794317942179411794017939179381793717936179351793417933179321793117930179291792817927179261792517924179231792217921179201791917918179171791617915179141791317912179111791017909179081790717906179051790417903179021790117900178991789817897178961789517894178931789217891178901788917888178871788617885178841788317882178811788017879178781787717876178751787417873178721787117870178691786817867178661786517864178631786217861178601785917858178571785617855178541785317852178511785017849178481784717846178451784417843178421784117840178391783817837178361783517834178331783217831178301782917828178271782617825178241782317822178211782017819178181781717816178151781417813178121781117810178091780817807178061780517804178031780217801178001779917798177971779617795177941779317792177911779017789177881778717786177851778417783177821778117780177791777817777177761777517774177731777217771177701776917768177671776617765177641776317762177611776017759177581775717756177551775417753177521775117750177491774817747177461774517744177431774217741177401773917738177371773617735177341773317732177311773017729177281772717726177251772417723177221772117720177191771817717177161771517714177131771217711177101770917708177071770617705177041770317702177011770017699176981769717696176951769417693176921769117690176891768817687176861768517684176831768217681176801767917678176771767617675176741767317672176711767017669176681766717666176651766417663176621766117660176591765817657176561765517654176531765217651176501764917648176471764617645176441764317642176411764017639176381763717636176351763417633176321763117630176291762817627176261762517624176231762217621176201761917618176171761617615176141761317612176111761017609176081760717606176051760417603176021760117600175991759817597175961759517594175931759217591175901758917588175871758617585175841758317582175811758017579175781757717576175751757417573175721757117570175691756817567175661756517564175631756217561175601755917558175571755617555175541755317552175511755017549175481754717546175451754417543175421754117540175391753817537175361753517534175331753217531175301752917528175271752617525175241752317522175211752017519175181751717516175151751417513175121751117510175091750817507175061750517504175031750217501175001749917498174971749617495174941749317492174911749017489174881748717486174851748417483174821748117480174791747817477174761747517474174731747217471174701746917468174671746617465174641746317462174611746017459174581745717456174551745417453174521745117450174491744817447174461744517444174431744217441174401743917438174371743617435174341743317432174311743017429174281742717426174251742417423174221742117420174191741817417174161741517414174131741217411174101740917408174071740617405174041740317402174011740017399173981739717396173951739417393173921739117390173891738817387173861738517384173831738217381173801737917378173771737617375173741737317372173711737017369173681736717366173651736417363173621736117360173591735817357173561735517354173531735217351173501734917348173471734617345173441734317342173411734017339173381733717336173351733417333173321733117330173291732817327173261732517324173231732217321173201731917318173171731617315173141731317312173111731017309173081730717306173051730417303173021730117300172991729817297172961729517294172931729217291172901728917288172871728617285172841728317282172811728017279172781727717276172751727417273172721727117270172691726817267172661726517264172631726217261172601725917258172571725617255172541725317252172511725017249172481724717246172451724417243172421724117240172391723817237172361723517234172331723217231172301722917228172271722617225172241722317222172211722017219172181721717216172151721417213172121721117210172091720817207172061720517204172031720217201172001719917198171971719617195171941719317192171911719017189171881718717186171851718417183171821718117180171791717817177171761717517174171731717217171171701716917168171671716617165171641716317162171611716017159171581715717156171551715417153171521715117150171491714817147171461714517144171431714217141171401713917138171371713617135171341713317132171311713017129171281712717126171251712417123171221712117120171191711817117171161711517114171131711217111171101710917108171071710617105171041710317102171011710017099170981709717096170951709417093170921709117090170891708817087170861708517084170831708217081170801707917078170771707617075170741707317072170711707017069170681706717066170651706417063170621706117060170591705817057170561705517054170531705217051170501704917048170471704617045170441704317042170411704017039170381703717036170351703417033170321703117030170291702817027170261702517024170231702217021170201701917018170171701617015170141701317012170111701017009170081700717006170051700417003170021700117000169991699816997169961699516994169931699216991169901698916988169871698616985169841698316982169811698016979169781697716976169751697416973169721697116970169691696816967169661696516964169631696216961169601695916958169571695616955169541695316952169511695016949169481694716946169451694416943169421694116940169391693816937169361693516934169331693216931169301692916928169271692616925169241692316922169211692016919169181691716916169151691416913169121691116910169091690816907169061690516904169031690216901169001689916898168971689616895168941689316892168911689016889168881688716886168851688416883168821688116880168791687816877168761687516874168731687216871168701686916868168671686616865168641686316862168611686016859168581685716856168551685416853168521685116850168491684816847168461684516844168431684216841168401683916838168371683616835168341683316832168311683016829168281682716826168251682416823168221682116820168191681816817168161681516814168131681216811168101680916808168071680616805168041680316802168011680016799167981679716796167951679416793167921679116790167891678816787167861678516784167831678216781167801677916778167771677616775167741677316772167711677016769167681676716766167651676416763167621676116760167591675816757167561675516754167531675216751167501674916748167471674616745167441674316742167411674016739167381673716736167351673416733167321673116730167291672816727167261672516724167231672216721167201671916718167171671616715167141671316712167111671016709167081670716706167051670416703167021670116700166991669816697166961669516694166931669216691166901668916688166871668616685166841668316682166811668016679166781667716676166751667416673166721667116670166691666816667166661666516664166631666216661166601665916658166571665616655166541665316652166511665016649166481664716646166451664416643166421664116640166391663816637166361663516634166331663216631166301662916628166271662616625166241662316622166211662016619166181661716616166151661416613166121661116610166091660816607166061660516604166031660216601166001659916598165971659616595165941659316592165911659016589165881658716586165851658416583165821658116580165791657816577165761657516574165731657216571165701656916568165671656616565165641656316562165611656016559165581655716556165551655416553165521655116550165491654816547165461654516544165431654216541165401653916538165371653616535165341653316532165311653016529165281652716526165251652416523165221652116520165191651816517165161651516514165131651216511165101650916508165071650616505165041650316502165011650016499164981649716496164951649416493164921649116490164891648816487164861648516484164831648216481164801647916478164771647616475164741647316472164711647016469164681646716466164651646416463164621646116460164591645816457164561645516454164531645216451164501644916448164471644616445164441644316442164411644016439164381643716436164351643416433164321643116430164291642816427164261642516424164231642216421164201641916418164171641616415164141641316412164111641016409164081640716406164051640416403164021640116400163991639816397163961639516394163931639216391163901638916388163871638616385163841638316382163811638016379163781637716376163751637416373163721637116370163691636816367163661636516364163631636216361163601635916358163571635616355163541635316352163511635016349163481634716346163451634416343163421634116340163391633816337163361633516334163331633216331163301632916328163271632616325163241632316322163211632016319163181631716316163151631416313163121631116310163091630816307163061630516304163031630216301163001629916298162971629616295162941629316292162911629016289162881628716286162851628416283162821628116280162791627816277162761627516274162731627216271162701626916268162671626616265162641626316262162611626016259162581625716256162551625416253162521625116250162491624816247162461624516244162431624216241162401623916238162371623616235162341623316232162311623016229162281622716226162251622416223162221622116220162191621816217162161621516214162131621216211162101620916208162071620616205162041620316202162011620016199161981619716196161951619416193161921619116190161891618816187161861618516184161831618216181161801617916178161771617616175161741617316172161711617016169161681616716166161651616416163161621616116160161591615816157161561615516154161531615216151161501614916148161471614616145161441614316142161411614016139161381613716136161351613416133161321613116130161291612816127161261612516124161231612216121161201611916118161171611616115161141611316112161111611016109161081610716106161051610416103161021610116100160991609816097160961609516094160931609216091160901608916088160871608616085160841608316082160811608016079160781607716076160751607416073160721607116070160691606816067160661606516064160631606216061160601605916058160571605616055160541605316052160511605016049160481604716046160451604416043160421604116040160391603816037160361603516034160331603216031160301602916028160271602616025160241602316022160211602016019160181601716016160151601416013160121601116010160091600816007160061600516004160031600216001160001599915998159971599615995159941599315992159911599015989159881598715986159851598415983159821598115980159791597815977159761597515974159731597215971159701596915968159671596615965159641596315962159611596015959159581595715956159551595415953159521595115950159491594815947159461594515944159431594215941159401593915938159371593615935159341593315932159311593015929159281592715926159251592415923159221592115920159191591815917159161591515914159131591215911159101590915908159071590615905159041590315902159011590015899158981589715896158951589415893158921589115890158891588815887158861588515884158831588215881158801587915878158771587615875158741587315872158711587015869158681586715866158651586415863158621586115860158591585815857158561585515854158531585215851158501584915848158471584615845158441584315842158411584015839158381583715836158351583415833158321583115830158291582815827158261582515824158231582215821158201581915818158171581615815158141581315812158111581015809158081580715806158051580415803158021580115800157991579815797157961579515794157931579215791157901578915788157871578615785157841578315782157811578015779157781577715776157751577415773157721577115770157691576815767157661576515764157631576215761157601575915758157571575615755157541575315752157511575015749157481574715746157451574415743157421574115740157391573815737157361573515734157331573215731157301572915728157271572615725157241572315722157211572015719157181571715716157151571415713157121571115710157091570815707157061570515704157031570215701157001569915698156971569615695156941569315692156911569015689156881568715686156851568415683156821568115680156791567815677156761567515674156731567215671156701566915668156671566615665156641566315662156611566015659156581565715656156551565415653156521565115650156491564815647156461564515644156431564215641156401563915638156371563615635156341563315632156311563015629156281562715626156251562415623156221562115620156191561815617156161561515614156131561215611156101560915608156071560615605156041560315602156011560015599155981559715596155951559415593155921559115590155891558815587155861558515584155831558215581155801557915578155771557615575155741557315572155711557015569155681556715566155651556415563155621556115560155591555815557155561555515554155531555215551155501554915548155471554615545155441554315542155411554015539155381553715536155351553415533155321553115530155291552815527155261552515524155231552215521155201551915518155171551615515155141551315512155111551015509155081550715506155051550415503155021550115500154991549815497154961549515494154931549215491154901548915488154871548615485154841548315482154811548015479154781547715476154751547415473154721547115470154691546815467154661546515464154631546215461154601545915458154571545615455154541545315452154511545015449154481544715446154451544415443154421544115440154391543815437154361543515434154331543215431154301542915428154271542615425154241542315422154211542015419154181541715416154151541415413154121541115410154091540815407154061540515404154031540215401154001539915398153971539615395153941539315392153911539015389153881538715386153851538415383153821538115380153791537815377153761537515374153731537215371153701536915368153671536615365153641536315362153611536015359153581535715356153551535415353153521535115350153491534815347153461534515344153431534215341153401533915338153371533615335153341533315332153311533015329153281532715326153251532415323153221532115320153191531815317153161531515314153131531215311153101530915308153071530615305153041530315302153011530015299152981529715296152951529415293152921529115290152891528815287152861528515284152831528215281152801527915278152771527615275152741527315272152711527015269152681526715266152651526415263152621526115260152591525815257152561525515254152531525215251152501524915248152471524615245152441524315242152411524015239152381523715236152351523415233152321523115230152291522815227152261522515224152231522215221152201521915218152171521615215152141521315212152111521015209152081520715206152051520415203152021520115200151991519815197151961519515194151931519215191151901518915188151871518615185151841518315182151811518015179151781517715176151751517415173151721517115170151691516815167151661516515164151631516215161151601515915158151571515615155151541515315152151511515015149151481514715146151451514415143151421514115140151391513815137151361513515134151331513215131151301512915128151271512615125151241512315122151211512015119151181511715116151151511415113151121511115110151091510815107151061510515104151031510215101151001509915098150971509615095150941509315092150911509015089150881508715086150851508415083150821508115080150791507815077150761507515074150731507215071150701506915068150671506615065150641506315062150611506015059150581505715056150551505415053150521505115050150491504815047150461504515044150431504215041150401503915038150371503615035150341503315032150311503015029150281502715026150251502415023150221502115020150191501815017150161501515014150131501215011150101500915008150071500615005150041500315002150011500014999149981499714996149951499414993149921499114990149891498814987149861498514984149831498214981149801497914978149771497614975149741497314972149711497014969149681496714966149651496414963149621496114960149591495814957149561495514954149531495214951149501494914948149471494614945149441494314942149411494014939149381493714936149351493414933149321493114930149291492814927149261492514924149231492214921149201491914918149171491614915149141491314912149111491014909149081490714906149051490414903149021490114900148991489814897148961489514894148931489214891148901488914888148871488614885148841488314882148811488014879148781487714876148751487414873148721487114870148691486814867148661486514864148631486214861148601485914858148571485614855148541485314852148511485014849148481484714846148451484414843148421484114840148391483814837148361483514834148331483214831148301482914828148271482614825148241482314822148211482014819148181481714816148151481414813148121481114810148091480814807148061480514804148031480214801148001479914798147971479614795147941479314792147911479014789147881478714786147851478414783147821478114780147791477814777147761477514774147731477214771147701476914768147671476614765147641476314762147611476014759147581475714756147551475414753147521475114750147491474814747147461474514744147431474214741147401473914738147371473614735147341473314732147311473014729147281472714726147251472414723147221472114720147191471814717147161471514714147131471214711147101470914708147071470614705147041470314702147011470014699146981469714696146951469414693146921469114690146891468814687146861468514684146831468214681146801467914678146771467614675146741467314672146711467014669146681466714666146651466414663146621466114660146591465814657146561465514654146531465214651146501464914648146471464614645146441464314642146411464014639146381463714636146351463414633146321463114630146291462814627146261462514624146231462214621146201461914618146171461614615146141461314612146111461014609146081460714606146051460414603146021460114600145991459814597145961459514594145931459214591145901458914588145871458614585145841458314582145811458014579145781457714576145751457414573145721457114570145691456814567145661456514564145631456214561145601455914558145571455614555145541455314552145511455014549145481454714546145451454414543145421454114540145391453814537145361453514534145331453214531145301452914528145271452614525145241452314522145211452014519145181451714516145151451414513145121451114510145091450814507145061450514504145031450214501145001449914498144971449614495144941449314492144911449014489144881448714486144851448414483144821448114480144791447814477144761447514474144731447214471144701446914468144671446614465144641446314462144611446014459144581445714456144551445414453144521445114450144491444814447144461444514444144431444214441144401443914438144371443614435144341443314432144311443014429144281442714426144251442414423144221442114420144191441814417144161441514414144131441214411144101440914408144071440614405144041440314402144011440014399143981439714396143951439414393143921439114390143891438814387143861438514384143831438214381143801437914378143771437614375143741437314372143711437014369143681436714366143651436414363143621436114360143591435814357143561435514354143531435214351143501434914348143471434614345143441434314342143411434014339143381433714336143351433414333143321433114330143291432814327143261432514324143231432214321143201431914318143171431614315143141431314312143111431014309143081430714306143051430414303143021430114300142991429814297142961429514294142931429214291142901428914288142871428614285142841428314282142811428014279142781427714276142751427414273142721427114270142691426814267142661426514264142631426214261142601425914258142571425614255142541425314252142511425014249142481424714246142451424414243142421424114240142391423814237142361423514234142331423214231142301422914228142271422614225142241422314222142211422014219142181421714216142151421414213142121421114210142091420814207142061420514204142031420214201142001419914198141971419614195141941419314192141911419014189141881418714186141851418414183141821418114180141791417814177141761417514174141731417214171141701416914168141671416614165141641416314162141611416014159141581415714156141551415414153141521415114150141491414814147141461414514144141431414214141141401413914138141371413614135141341413314132141311413014129141281412714126141251412414123141221412114120141191411814117141161411514114141131411214111141101410914108141071410614105141041410314102141011410014099140981409714096140951409414093140921409114090140891408814087140861408514084140831408214081140801407914078140771407614075140741407314072140711407014069140681406714066140651406414063140621406114060140591405814057140561405514054140531405214051140501404914048140471404614045140441404314042140411404014039140381403714036140351403414033140321403114030140291402814027140261402514024140231402214021140201401914018140171401614015140141401314012140111401014009140081400714006140051400414003140021400114000139991399813997139961399513994139931399213991139901398913988139871398613985139841398313982139811398013979139781397713976139751397413973139721397113970139691396813967139661396513964139631396213961139601395913958139571395613955139541395313952139511395013949139481394713946139451394413943139421394113940139391393813937139361393513934139331393213931139301392913928139271392613925139241392313922139211392013919139181391713916139151391413913139121391113910139091390813907139061390513904139031390213901139001389913898138971389613895138941389313892138911389013889138881388713886138851388413883138821388113880138791387813877138761387513874138731387213871138701386913868138671386613865138641386313862138611386013859138581385713856138551385413853138521385113850138491384813847138461384513844138431384213841138401383913838138371383613835138341383313832138311383013829138281382713826138251382413823138221382113820138191381813817138161381513814138131381213811138101380913808138071380613805138041380313802138011380013799137981379713796137951379413793137921379113790137891378813787137861378513784137831378213781137801377913778137771377613775137741377313772137711377013769137681376713766137651376413763137621376113760137591375813757137561375513754137531375213751137501374913748137471374613745137441374313742137411374013739137381373713736137351373413733137321373113730137291372813727137261372513724137231372213721137201371913718137171371613715137141371313712137111371013709137081370713706137051370413703137021370113700136991369813697136961369513694136931369213691136901368913688136871368613685136841368313682136811368013679136781367713676136751367413673136721367113670136691366813667136661366513664136631366213661136601365913658136571365613655136541365313652136511365013649136481364713646136451364413643136421364113640136391363813637136361363513634136331363213631136301362913628136271362613625136241362313622136211362013619136181361713616136151361413613136121361113610136091360813607136061360513604136031360213601136001359913598135971359613595135941359313592135911359013589135881358713586135851358413583135821358113580135791357813577135761357513574135731357213571135701356913568135671356613565135641356313562135611356013559135581355713556135551355413553135521355113550135491354813547135461354513544135431354213541135401353913538135371353613535135341353313532135311353013529135281352713526135251352413523135221352113520135191351813517135161351513514135131351213511135101350913508135071350613505135041350313502135011350013499134981349713496134951349413493134921349113490134891348813487134861348513484134831348213481134801347913478134771347613475134741347313472134711347013469134681346713466134651346413463134621346113460134591345813457134561345513454134531345213451134501344913448134471344613445134441344313442134411344013439134381343713436134351343413433134321343113430134291342813427134261342513424134231342213421134201341913418134171341613415134141341313412134111341013409134081340713406134051340413403134021340113400133991339813397133961339513394133931339213391133901338913388133871338613385133841338313382133811338013379133781337713376133751337413373133721337113370133691336813367133661336513364133631336213361133601335913358133571335613355133541335313352133511335013349133481334713346133451334413343133421334113340133391333813337133361333513334133331333213331133301332913328133271332613325133241332313322133211332013319133181331713316133151331413313133121331113310133091330813307133061330513304133031330213301133001329913298132971329613295132941329313292132911329013289132881328713286132851328413283132821328113280132791327813277132761327513274132731327213271132701326913268132671326613265132641326313262132611326013259132581325713256132551325413253132521325113250132491324813247132461324513244132431324213241132401323913238132371323613235132341323313232132311323013229132281322713226132251322413223132221322113220132191321813217132161321513214132131321213211132101320913208132071320613205132041320313202132011320013199131981319713196131951319413193131921319113190131891318813187131861318513184131831318213181131801317913178131771317613175131741317313172131711317013169131681316713166131651316413163131621316113160131591315813157131561315513154131531315213151131501314913148131471314613145131441314313142131411314013139131381313713136131351313413133131321313113130131291312813127131261312513124131231312213121131201311913118131171311613115131141311313112131111311013109131081310713106131051310413103131021310113100130991309813097130961309513094130931309213091130901308913088130871308613085130841308313082130811308013079130781307713076130751307413073130721307113070130691306813067130661306513064130631306213061130601305913058130571305613055130541305313052130511305013049130481304713046130451304413043130421304113040130391303813037130361303513034130331303213031130301302913028130271302613025130241302313022130211302013019130181301713016130151301413013130121301113010130091300813007130061300513004130031300213001130001299912998129971299612995129941299312992129911299012989129881298712986129851298412983129821298112980129791297812977129761297512974129731297212971129701296912968129671296612965129641296312962129611296012959129581295712956129551295412953129521295112950129491294812947129461294512944129431294212941129401293912938129371293612935129341293312932129311293012929129281292712926129251292412923129221292112920129191291812917129161291512914129131291212911129101290912908129071290612905129041290312902129011290012899128981289712896128951289412893128921289112890128891288812887128861288512884128831288212881128801287912878128771287612875128741287312872128711287012869128681286712866128651286412863128621286112860128591285812857128561285512854128531285212851128501284912848128471284612845128441284312842128411284012839128381283712836128351283412833128321283112830128291282812827128261282512824128231282212821128201281912818128171281612815128141281312812128111281012809128081280712806128051280412803128021280112800127991279812797127961279512794127931279212791127901278912788127871278612785127841278312782127811278012779127781277712776127751277412773127721277112770127691276812767127661276512764127631276212761127601275912758127571275612755127541275312752127511275012749127481274712746127451274412743127421274112740127391273812737127361273512734127331273212731127301272912728127271272612725127241272312722127211272012719127181271712716127151271412713127121271112710127091270812707127061270512704127031270212701127001269912698126971269612695126941269312692126911269012689126881268712686126851268412683126821268112680126791267812677126761267512674126731267212671126701266912668126671266612665126641266312662126611266012659126581265712656126551265412653126521265112650126491264812647126461264512644126431264212641126401263912638126371263612635126341263312632126311263012629126281262712626126251262412623126221262112620126191261812617126161261512614126131261212611126101260912608126071260612605126041260312602126011260012599125981259712596125951259412593125921259112590125891258812587125861258512584125831258212581125801257912578125771257612575125741257312572125711257012569125681256712566125651256412563125621256112560125591255812557125561255512554125531255212551125501254912548125471254612545125441254312542125411254012539125381253712536125351253412533125321253112530125291252812527125261252512524125231252212521125201251912518125171251612515125141251312512125111251012509125081250712506125051250412503125021250112500124991249812497124961249512494124931249212491124901248912488124871248612485124841248312482124811248012479124781247712476124751247412473124721247112470124691246812467124661246512464124631246212461124601245912458124571245612455124541245312452124511245012449124481244712446124451244412443124421244112440124391243812437124361243512434124331243212431124301242912428124271242612425124241242312422124211242012419124181241712416124151241412413124121241112410124091240812407124061240512404124031240212401124001239912398123971239612395123941239312392123911239012389123881238712386123851238412383123821238112380123791237812377123761237512374123731237212371123701236912368123671236612365123641236312362123611236012359123581235712356123551235412353123521235112350123491234812347123461234512344123431234212341123401233912338123371233612335123341233312332123311233012329123281232712326123251232412323123221232112320123191231812317123161231512314123131231212311123101230912308123071230612305123041230312302123011230012299122981229712296122951229412293122921229112290122891228812287122861228512284122831228212281122801227912278122771227612275122741227312272122711227012269122681226712266122651226412263122621226112260122591225812257122561225512254122531225212251122501224912248122471224612245122441224312242122411224012239122381223712236122351223412233122321223112230122291222812227122261222512224122231222212221122201221912218122171221612215122141221312212122111221012209122081220712206122051220412203122021220112200121991219812197121961219512194121931219212191121901218912188121871218612185121841218312182121811218012179121781217712176121751217412173121721217112170121691216812167121661216512164121631216212161121601215912158121571215612155121541215312152121511215012149121481214712146121451214412143121421214112140121391213812137121361213512134121331213212131121301212912128121271212612125121241212312122121211212012119121181211712116121151211412113121121211112110121091210812107121061210512104121031210212101121001209912098120971209612095120941209312092120911209012089120881208712086120851208412083120821208112080120791207812077120761207512074120731207212071120701206912068120671206612065120641206312062120611206012059120581205712056120551205412053120521205112050120491204812047120461204512044120431204212041120401203912038120371203612035120341203312032120311203012029120281202712026120251202412023120221202112020120191201812017120161201512014120131201212011120101200912008120071200612005120041200312002120011200011999119981199711996119951199411993119921199111990119891198811987119861198511984119831198211981119801197911978119771197611975119741197311972119711197011969119681196711966119651196411963119621196111960119591195811957119561195511954119531195211951119501194911948119471194611945119441194311942119411194011939119381193711936119351193411933119321193111930119291192811927119261192511924119231192211921119201191911918119171191611915119141191311912119111191011909119081190711906119051190411903119021190111900118991189811897118961189511894118931189211891118901188911888118871188611885118841188311882118811188011879118781187711876118751187411873118721187111870118691186811867118661186511864118631186211861118601185911858118571185611855118541185311852118511185011849118481184711846118451184411843118421184111840118391183811837118361183511834118331183211831118301182911828118271182611825118241182311822118211182011819118181181711816118151181411813118121181111810118091180811807118061180511804118031180211801118001179911798117971179611795117941179311792117911179011789117881178711786117851178411783117821178111780117791177811777117761177511774117731177211771117701176911768117671176611765117641176311762117611176011759117581175711756117551175411753117521175111750117491174811747117461174511744117431174211741117401173911738117371173611735117341173311732117311173011729117281172711726117251172411723117221172111720117191171811717117161171511714117131171211711117101170911708117071170611705117041170311702117011170011699116981169711696116951169411693116921169111690116891168811687116861168511684116831168211681116801167911678116771167611675116741167311672116711167011669116681166711666116651166411663116621166111660116591165811657116561165511654116531165211651116501164911648116471164611645116441164311642116411164011639116381163711636116351163411633116321163111630116291162811627116261162511624116231162211621116201161911618116171161611615116141161311612116111161011609116081160711606116051160411603116021160111600115991159811597115961159511594115931159211591115901158911588115871158611585115841158311582115811158011579115781157711576115751157411573115721157111570115691156811567115661156511564115631156211561115601155911558115571155611555115541155311552115511155011549115481154711546115451154411543115421154111540115391153811537115361153511534115331153211531115301152911528115271152611525115241152311522115211152011519115181151711516115151151411513115121151111510115091150811507115061150511504115031150211501115001149911498114971149611495114941149311492114911149011489114881148711486114851148411483114821148111480114791147811477114761147511474114731147211471114701146911468114671146611465114641146311462114611146011459114581145711456114551145411453114521145111450114491144811447114461144511444114431144211441114401143911438114371143611435114341143311432114311143011429114281142711426114251142411423114221142111420114191141811417114161141511414114131141211411114101140911408114071140611405114041140311402114011140011399113981139711396113951139411393113921139111390113891138811387113861138511384113831138211381113801137911378113771137611375113741137311372113711137011369113681136711366113651136411363113621136111360113591135811357113561135511354113531135211351113501134911348113471134611345113441134311342113411134011339113381133711336113351133411333113321133111330113291132811327113261132511324113231132211321113201131911318113171131611315113141131311312113111131011309113081130711306113051130411303113021130111300112991129811297112961129511294112931129211291112901128911288112871128611285112841128311282112811128011279112781127711276112751127411273112721127111270112691126811267112661126511264112631126211261112601125911258112571125611255112541125311252112511125011249112481124711246112451124411243112421124111240112391123811237112361123511234112331123211231112301122911228112271122611225112241122311222112211122011219112181121711216112151121411213112121121111210112091120811207112061120511204112031120211201112001119911198111971119611195111941119311192111911119011189111881118711186111851118411183111821118111180111791117811177111761117511174111731117211171111701116911168111671116611165111641116311162111611116011159111581115711156111551115411153111521115111150111491114811147111461114511144111431114211141111401113911138111371113611135111341113311132111311113011129111281112711126111251112411123111221112111120111191111811117111161111511114111131111211111111101110911108111071110611105111041110311102111011110011099110981109711096110951109411093110921109111090110891108811087110861108511084110831108211081110801107911078110771107611075110741107311072110711107011069110681106711066110651106411063110621106111060110591105811057110561105511054110531105211051110501104911048110471104611045110441104311042110411104011039110381103711036110351103411033110321103111030110291102811027110261102511024110231102211021110201101911018110171101611015110141101311012110111101011009110081100711006110051100411003110021100111000109991099810997109961099510994109931099210991109901098910988109871098610985109841098310982109811098010979109781097710976109751097410973109721097110970109691096810967109661096510964109631096210961109601095910958109571095610955109541095310952109511095010949109481094710946109451094410943109421094110940109391093810937109361093510934109331093210931109301092910928109271092610925109241092310922109211092010919109181091710916109151091410913109121091110910109091090810907109061090510904109031090210901109001089910898108971089610895108941089310892108911089010889108881088710886108851088410883108821088110880108791087810877108761087510874108731087210871108701086910868108671086610865108641086310862108611086010859108581085710856108551085410853108521085110850108491084810847108461084510844108431084210841108401083910838108371083610835108341083310832108311083010829108281082710826108251082410823108221082110820108191081810817108161081510814108131081210811108101080910808108071080610805108041080310802108011080010799107981079710796107951079410793107921079110790107891078810787107861078510784107831078210781107801077910778107771077610775107741077310772107711077010769107681076710766107651076410763107621076110760107591075810757107561075510754107531075210751107501074910748107471074610745107441074310742107411074010739107381073710736107351073410733107321073110730107291072810727107261072510724107231072210721107201071910718107171071610715107141071310712107111071010709107081070710706107051070410703107021070110700106991069810697106961069510694106931069210691106901068910688106871068610685106841068310682106811068010679106781067710676106751067410673106721067110670106691066810667106661066510664106631066210661106601065910658106571065610655106541065310652106511065010649106481064710646106451064410643106421064110640106391063810637106361063510634106331063210631106301062910628106271062610625106241062310622106211062010619106181061710616106151061410613106121061110610106091060810607106061060510604106031060210601106001059910598105971059610595105941059310592105911059010589105881058710586105851058410583105821058110580105791057810577105761057510574105731057210571105701056910568105671056610565105641056310562105611056010559105581055710556105551055410553105521055110550105491054810547105461054510544105431054210541105401053910538105371053610535105341053310532105311053010529105281052710526105251052410523105221052110520105191051810517105161051510514105131051210511105101050910508105071050610505105041050310502105011050010499104981049710496104951049410493104921049110490104891048810487104861048510484104831048210481104801047910478104771047610475104741047310472104711047010469104681046710466104651046410463104621046110460104591045810457104561045510454104531045210451104501044910448104471044610445104441044310442104411044010439104381043710436104351043410433104321043110430104291042810427104261042510424104231042210421104201041910418104171041610415104141041310412104111041010409104081040710406104051040410403104021040110400103991039810397103961039510394103931039210391103901038910388103871038610385103841038310382103811038010379103781037710376103751037410373103721037110370103691036810367103661036510364103631036210361103601035910358103571035610355103541035310352103511035010349103481034710346103451034410343103421034110340103391033810337103361033510334103331033210331103301032910328103271032610325103241032310322103211032010319103181031710316103151031410313103121031110310103091030810307103061030510304103031030210301103001029910298102971029610295102941029310292102911029010289102881028710286102851028410283102821028110280102791027810277102761027510274102731027210271102701026910268102671026610265102641026310262102611026010259102581025710256102551025410253102521025110250102491024810247102461024510244102431024210241102401023910238102371023610235102341023310232102311023010229102281022710226102251022410223102221022110220102191021810217102161021510214102131021210211102101020910208102071020610205102041020310202102011020010199101981019710196101951019410193101921019110190101891018810187101861018510184101831018210181101801017910178101771017610175101741017310172101711017010169101681016710166101651016410163101621016110160101591015810157101561015510154101531015210151101501014910148101471014610145101441014310142101411014010139101381013710136101351013410133101321013110130101291012810127101261012510124101231012210121101201011910118101171011610115101141011310112101111011010109101081010710106101051010410103101021010110100100991009810097100961009510094100931009210091100901008910088100871008610085100841008310082100811008010079100781007710076100751007410073100721007110070100691006810067100661006510064100631006210061100601005910058100571005610055100541005310052100511005010049100481004710046100451004410043100421004110040100391003810037100361003510034100331003210031100301002910028100271002610025100241002310022100211002010019100181001710016100151001410013100121001110010100091000810007100061000510004100031000210001100009999999899979996999599949993999299919990998999889987998699859984998399829981998099799978997799769975997499739972997199709969996899679966996599649963996299619960995999589957995699559954995399529951995099499948994799469945994499439942994199409939993899379936993599349933993299319930992999289927992699259924992399229921992099199918991799169915991499139912991199109909990899079906990599049903990299019900989998989897989698959894989398929891989098899888988798869885988498839882988198809879987898779876987598749873987298719870986998689867986698659864986398629861986098599858985798569855985498539852985198509849984898479846984598449843984298419840983998389837983698359834983398329831983098299828982798269825982498239822982198209819981898179816981598149813981298119810980998089807980698059804980398029801980097999798979797969795979497939792979197909789978897879786978597849783978297819780977997789777977697759774977397729771977097699768976797669765976497639762976197609759975897579756975597549753975297519750974997489747974697459744974397429741974097399738973797369735973497339732973197309729972897279726972597249723972297219720971997189717971697159714971397129711971097099708970797069705970497039702970197009699969896979696969596949693969296919690968996889687968696859684968396829681968096799678967796769675967496739672967196709669966896679666966596649663966296619660965996589657965696559654965396529651965096499648964796469645964496439642964196409639963896379636963596349633963296319630962996289627962696259624962396229621962096199618961796169615961496139612961196109609960896079606960596049603960296019600959995989597959695959594959395929591959095899588958795869585958495839582958195809579957895779576957595749573957295719570956995689567956695659564956395629561956095599558955795569555955495539552955195509549954895479546954595449543954295419540953995389537953695359534953395329531953095299528952795269525952495239522952195209519951895179516951595149513951295119510950995089507950695059504950395029501950094999498949794969495949494939492949194909489948894879486948594849483948294819480947994789477947694759474947394729471947094699468946794669465946494639462946194609459945894579456945594549453945294519450944994489447944694459444944394429441944094399438943794369435943494339432943194309429942894279426942594249423942294219420941994189417941694159414941394129411941094099408940794069405940494039402940194009399939893979396939593949393939293919390938993889387938693859384938393829381938093799378937793769375937493739372937193709369936893679366936593649363936293619360935993589357935693559354935393529351935093499348934793469345934493439342934193409339933893379336933593349333933293319330932993289327932693259324932393229321932093199318931793169315931493139312931193109309930893079306930593049303930293019300929992989297929692959294929392929291929092899288928792869285928492839282928192809279927892779276927592749273927292719270926992689267926692659264926392629261926092599258925792569255925492539252925192509249924892479246924592449243924292419240923992389237923692359234923392329231923092299228922792269225922492239222922192209219921892179216921592149213921292119210920992089207920692059204920392029201920091999198919791969195919491939192919191909189918891879186918591849183918291819180917991789177917691759174917391729171917091699168916791669165916491639162916191609159915891579156915591549153915291519150914991489147914691459144914391429141914091399138913791369135913491339132913191309129912891279126912591249123912291219120911991189117911691159114911391129111911091099108910791069105910491039102910191009099909890979096909590949093909290919090908990889087908690859084908390829081908090799078907790769075907490739072907190709069906890679066906590649063906290619060905990589057905690559054905390529051905090499048904790469045904490439042904190409039903890379036903590349033903290319030902990289027902690259024902390229021902090199018901790169015901490139012901190109009900890079006900590049003900290019000899989988997899689958994899389928991899089898988898789868985898489838982898189808979897889778976897589748973897289718970896989688967896689658964896389628961896089598958895789568955895489538952895189508949894889478946894589448943894289418940893989388937893689358934893389328931893089298928892789268925892489238922892189208919891889178916891589148913891289118910890989088907890689058904890389028901890088998898889788968895889488938892889188908889888888878886888588848883888288818880887988788877887688758874887388728871887088698868886788668865886488638862886188608859885888578856885588548853885288518850884988488847884688458844884388428841884088398838883788368835883488338832883188308829882888278826882588248823882288218820881988188817881688158814881388128811881088098808880788068805880488038802880188008799879887978796879587948793879287918790878987888787878687858784878387828781878087798778877787768775877487738772877187708769876887678766876587648763876287618760875987588757875687558754875387528751875087498748874787468745874487438742874187408739873887378736873587348733873287318730872987288727872687258724872387228721872087198718871787168715871487138712871187108709870887078706870587048703870287018700869986988697869686958694869386928691869086898688868786868685868486838682868186808679867886778676867586748673867286718670866986688667866686658664866386628661866086598658865786568655865486538652865186508649864886478646864586448643864286418640863986388637863686358634863386328631863086298628862786268625862486238622862186208619861886178616861586148613861286118610860986088607860686058604860386028601860085998598859785968595859485938592859185908589858885878586858585848583858285818580857985788577857685758574857385728571857085698568856785668565856485638562856185608559855885578556855585548553855285518550854985488547854685458544854385428541854085398538853785368535853485338532853185308529852885278526852585248523852285218520851985188517851685158514851385128511851085098508850785068505850485038502850185008499849884978496849584948493849284918490848984888487848684858484848384828481848084798478847784768475847484738472847184708469846884678466846584648463846284618460845984588457845684558454845384528451845084498448844784468445844484438442844184408439843884378436843584348433843284318430842984288427842684258424842384228421842084198418841784168415841484138412841184108409840884078406840584048403840284018400839983988397839683958394839383928391839083898388838783868385838483838382838183808379837883778376837583748373837283718370836983688367836683658364836383628361836083598358835783568355835483538352835183508349834883478346834583448343834283418340833983388337833683358334833383328331833083298328832783268325832483238322832183208319831883178316831583148313831283118310830983088307830683058304830383028301830082998298829782968295829482938292829182908289828882878286828582848283828282818280827982788277827682758274827382728271827082698268826782668265826482638262826182608259825882578256825582548253825282518250824982488247824682458244824382428241824082398238823782368235823482338232823182308229822882278226822582248223822282218220821982188217821682158214821382128211821082098208820782068205820482038202820182008199819881978196819581948193819281918190818981888187818681858184818381828181818081798178817781768175817481738172817181708169816881678166816581648163816281618160815981588157815681558154815381528151815081498148814781468145814481438142814181408139813881378136813581348133813281318130812981288127812681258124812381228121812081198118811781168115811481138112811181108109810881078106810581048103810281018100809980988097809680958094809380928091809080898088808780868085808480838082808180808079807880778076807580748073807280718070806980688067806680658064806380628061806080598058805780568055805480538052805180508049804880478046804580448043804280418040803980388037803680358034803380328031803080298028802780268025802480238022802180208019801880178016801580148013801280118010800980088007800680058004800380028001800079997998799779967995799479937992799179907989798879877986798579847983798279817980797979787977797679757974797379727971797079697968796779667965796479637962796179607959795879577956795579547953795279517950794979487947794679457944794379427941794079397938793779367935793479337932793179307929792879277926792579247923792279217920791979187917791679157914791379127911791079097908790779067905790479037902790179007899789878977896789578947893789278917890788978887887788678857884788378827881788078797878787778767875787478737872787178707869786878677866786578647863786278617860785978587857785678557854785378527851785078497848784778467845784478437842784178407839783878377836783578347833783278317830782978287827782678257824782378227821782078197818781778167815781478137812781178107809780878077806780578047803780278017800779977987797779677957794779377927791779077897788778777867785778477837782778177807779777877777776777577747773777277717770776977687767776677657764776377627761776077597758775777567755775477537752775177507749774877477746774577447743774277417740773977387737773677357734773377327731773077297728772777267725772477237722772177207719771877177716771577147713771277117710770977087707770677057704770377027701770076997698769776967695769476937692769176907689768876877686768576847683768276817680767976787677767676757674767376727671767076697668766776667665766476637662766176607659765876577656765576547653765276517650764976487647764676457644764376427641764076397638763776367635763476337632763176307629762876277626762576247623762276217620761976187617761676157614761376127611761076097608760776067605760476037602760176007599759875977596759575947593759275917590758975887587758675857584758375827581758075797578757775767575757475737572757175707569756875677566756575647563756275617560755975587557755675557554755375527551755075497548754775467545754475437542754175407539753875377536753575347533753275317530752975287527752675257524752375227521752075197518751775167515751475137512751175107509750875077506750575047503750275017500749974987497749674957494749374927491749074897488748774867485748474837482748174807479747874777476747574747473747274717470746974687467746674657464746374627461746074597458745774567455745474537452745174507449744874477446744574447443744274417440743974387437743674357434743374327431743074297428742774267425742474237422742174207419741874177416741574147413741274117410740974087407740674057404740374027401740073997398739773967395739473937392739173907389738873877386738573847383738273817380737973787377737673757374737373727371737073697368736773667365736473637362736173607359735873577356735573547353735273517350734973487347734673457344734373427341734073397338733773367335733473337332733173307329732873277326732573247323732273217320731973187317731673157314731373127311731073097308730773067305730473037302730173007299729872977296729572947293729272917290728972887287728672857284728372827281728072797278727772767275727472737272727172707269726872677266726572647263726272617260725972587257725672557254725372527251725072497248724772467245724472437242724172407239723872377236723572347233723272317230722972287227722672257224722372227221722072197218721772167215721472137212721172107209720872077206720572047203720272017200719971987197719671957194719371927191719071897188718771867185718471837182718171807179717871777176717571747173717271717170716971687167716671657164716371627161716071597158715771567155715471537152715171507149714871477146714571447143714271417140713971387137713671357134713371327131713071297128712771267125712471237122712171207119711871177116711571147113711271117110710971087107710671057104710371027101710070997098709770967095709470937092709170907089708870877086708570847083708270817080707970787077707670757074707370727071707070697068706770667065706470637062706170607059705870577056705570547053705270517050704970487047704670457044704370427041704070397038703770367035703470337032703170307029702870277026702570247023702270217020701970187017701670157014701370127011701070097008700770067005700470037002700170006999699869976996699569946993699269916990698969886987698669856984698369826981698069796978697769766975697469736972697169706969696869676966696569646963696269616960695969586957695669556954695369526951695069496948694769466945694469436942694169406939693869376936693569346933693269316930692969286927692669256924692369226921692069196918691769166915691469136912691169106909690869076906690569046903690269016900689968986897689668956894689368926891689068896888688768866885688468836882688168806879687868776876687568746873687268716870686968686867686668656864686368626861686068596858685768566855685468536852685168506849684868476846684568446843684268416840683968386837683668356834683368326831683068296828682768266825682468236822682168206819681868176816681568146813681268116810680968086807680668056804680368026801680067996798679767966795679467936792679167906789678867876786678567846783678267816780677967786777677667756774677367726771677067696768676767666765676467636762676167606759675867576756675567546753675267516750674967486747674667456744674367426741674067396738673767366735673467336732673167306729672867276726672567246723672267216720671967186717671667156714671367126711671067096708670767066705670467036702670167006699669866976696669566946693669266916690668966886687668666856684668366826681668066796678667766766675667466736672667166706669666866676666666566646663666266616660665966586657665666556654665366526651665066496648664766466645664466436642664166406639663866376636663566346633663266316630662966286627662666256624662366226621662066196618661766166615661466136612661166106609660866076606660566046603660266016600659965986597659665956594659365926591659065896588658765866585658465836582658165806579657865776576657565746573657265716570656965686567656665656564656365626561656065596558655765566555655465536552655165506549654865476546654565446543654265416540653965386537653665356534653365326531653065296528652765266525652465236522652165206519651865176516651565146513651265116510650965086507650665056504650365026501650064996498649764966495649464936492649164906489648864876486648564846483648264816480647964786477647664756474647364726471647064696468646764666465646464636462646164606459645864576456645564546453645264516450644964486447644664456444644364426441644064396438643764366435643464336432643164306429642864276426642564246423642264216420641964186417641664156414641364126411641064096408640764066405640464036402640164006399639863976396639563946393639263916390638963886387638663856384638363826381638063796378637763766375637463736372637163706369636863676366636563646363636263616360635963586357635663556354635363526351635063496348634763466345634463436342634163406339633863376336633563346333633263316330632963286327632663256324632363226321632063196318631763166315631463136312631163106309630863076306630563046303630263016300629962986297629662956294629362926291629062896288628762866285628462836282628162806279627862776276627562746273627262716270626962686267626662656264626362626261626062596258625762566255625462536252625162506249624862476246624562446243624262416240623962386237623662356234623362326231623062296228622762266225622462236222622162206219621862176216621562146213621262116210620962086207620662056204620362026201620061996198619761966195619461936192619161906189618861876186618561846183618261816180617961786177617661756174617361726171617061696168616761666165616461636162616161606159615861576156615561546153615261516150614961486147614661456144614361426141614061396138613761366135613461336132613161306129612861276126612561246123612261216120611961186117611661156114611361126111611061096108610761066105610461036102610161006099609860976096609560946093609260916090608960886087608660856084608360826081608060796078607760766075607460736072607160706069606860676066606560646063606260616060605960586057605660556054605360526051605060496048604760466045604460436042604160406039603860376036603560346033603260316030602960286027602660256024602360226021602060196018601760166015601460136012601160106009600860076006600560046003600260016000599959985997599659955994599359925991599059895988598759865985598459835982598159805979597859775976597559745973597259715970596959685967596659655964596359625961596059595958595759565955595459535952595159505949594859475946594559445943594259415940593959385937593659355934593359325931593059295928592759265925592459235922592159205919591859175916591559145913591259115910590959085907590659055904590359025901590058995898589758965895589458935892589158905889588858875886588558845883588258815880587958785877587658755874587358725871587058695868586758665865586458635862586158605859585858575856585558545853585258515850584958485847584658455844584358425841584058395838583758365835583458335832583158305829582858275826582558245823582258215820581958185817581658155814581358125811581058095808580758065805580458035802580158005799579857975796579557945793579257915790578957885787578657855784578357825781578057795778577757765775577457735772577157705769576857675766576557645763576257615760575957585757575657555754575357525751575057495748574757465745574457435742574157405739573857375736573557345733573257315730572957285727572657255724572357225721572057195718571757165715571457135712571157105709570857075706570557045703570257015700569956985697569656955694569356925691569056895688568756865685568456835682568156805679567856775676567556745673567256715670566956685667566656655664566356625661566056595658565756565655565456535652565156505649564856475646564556445643564256415640563956385637563656355634563356325631563056295628562756265625562456235622562156205619561856175616561556145613561256115610560956085607560656055604560356025601560055995598559755965595559455935592559155905589558855875586558555845583558255815580557955785577557655755574557355725571557055695568556755665565556455635562556155605559555855575556555555545553555255515550554955485547554655455544554355425541554055395538553755365535553455335532553155305529552855275526552555245523552255215520551955185517551655155514551355125511551055095508550755065505550455035502550155005499549854975496549554945493549254915490548954885487548654855484548354825481548054795478547754765475547454735472547154705469546854675466546554645463546254615460545954585457545654555454545354525451545054495448544754465445544454435442544154405439543854375436543554345433543254315430542954285427542654255424542354225421542054195418541754165415541454135412541154105409540854075406540554045403540254015400539953985397539653955394539353925391539053895388538753865385538453835382538153805379537853775376537553745373537253715370536953685367536653655364536353625361536053595358535753565355535453535352535153505349534853475346534553445343534253415340533953385337533653355334533353325331533053295328532753265325532453235322532153205319531853175316531553145313531253115310530953085307530653055304530353025301530052995298529752965295529452935292529152905289528852875286528552845283528252815280527952785277527652755274527352725271527052695268526752665265526452635262526152605259525852575256525552545253525252515250524952485247524652455244524352425241524052395238523752365235523452335232523152305229522852275226522552245223522252215220521952185217521652155214521352125211521052095208520752065205520452035202520152005199519851975196519551945193519251915190518951885187518651855184518351825181518051795178517751765175517451735172517151705169516851675166516551645163516251615160515951585157515651555154515351525151515051495148514751465145514451435142514151405139513851375136513551345133513251315130512951285127512651255124512351225121512051195118511751165115511451135112511151105109510851075106510551045103510251015100509950985097509650955094509350925091509050895088508750865085508450835082508150805079507850775076507550745073507250715070506950685067506650655064506350625061506050595058505750565055505450535052505150505049504850475046504550445043504250415040503950385037503650355034503350325031503050295028502750265025502450235022502150205019501850175016501550145013501250115010500950085007500650055004500350025001500049994998499749964995499449934992499149904989498849874986498549844983498249814980497949784977497649754974497349724971497049694968496749664965496449634962496149604959495849574956495549544953495249514950494949484947494649454944494349424941494049394938493749364935493449334932493149304929492849274926492549244923492249214920491949184917491649154914491349124911491049094908490749064905490449034902490149004899489848974896489548944893489248914890488948884887488648854884488348824881488048794878487748764875487448734872487148704869486848674866486548644863486248614860485948584857485648554854485348524851485048494848484748464845484448434842484148404839483848374836483548344833483248314830482948284827482648254824482348224821482048194818481748164815481448134812481148104809480848074806480548044803480248014800479947984797479647954794479347924791479047894788478747864785478447834782478147804779477847774776477547744773477247714770476947684767476647654764476347624761476047594758475747564755475447534752475147504749474847474746474547444743474247414740473947384737473647354734473347324731473047294728472747264725472447234722472147204719471847174716471547144713471247114710470947084707470647054704470347024701470046994698469746964695469446934692469146904689468846874686468546844683468246814680467946784677467646754674467346724671467046694668466746664665466446634662466146604659465846574656465546544653465246514650464946484647464646454644464346424641464046394638463746364635463446334632463146304629462846274626462546244623462246214620461946184617461646154614461346124611461046094608460746064605460446034602460146004599459845974596459545944593459245914590458945884587458645854584458345824581458045794578457745764575457445734572457145704569456845674566456545644563456245614560455945584557455645554554455345524551455045494548454745464545454445434542454145404539453845374536453545344533453245314530452945284527452645254524452345224521452045194518451745164515451445134512451145104509450845074506450545044503450245014500449944984497449644954494449344924491449044894488448744864485448444834482448144804479447844774476447544744473447244714470446944684467446644654464446344624461446044594458445744564455445444534452445144504449444844474446444544444443444244414440443944384437443644354434443344324431443044294428442744264425442444234422442144204419441844174416441544144413441244114410440944084407440644054404440344024401440043994398439743964395439443934392439143904389438843874386438543844383438243814380437943784377437643754374437343724371437043694368436743664365436443634362436143604359435843574356435543544353435243514350434943484347434643454344434343424341434043394338433743364335433443334332433143304329432843274326432543244323432243214320431943184317431643154314431343124311431043094308430743064305430443034302430143004299429842974296429542944293429242914290428942884287428642854284428342824281428042794278427742764275427442734272427142704269426842674266426542644263426242614260425942584257425642554254425342524251425042494248424742464245424442434242424142404239423842374236423542344233423242314230422942284227422642254224422342224221422042194218421742164215421442134212421142104209420842074206420542044203420242014200419941984197419641954194419341924191419041894188418741864185418441834182418141804179417841774176417541744173417241714170416941684167416641654164416341624161416041594158415741564155415441534152415141504149414841474146414541444143414241414140413941384137413641354134413341324131413041294128412741264125412441234122412141204119411841174116411541144113411241114110410941084107410641054104410341024101410040994098409740964095409440934092409140904089408840874086408540844083408240814080407940784077407640754074407340724071407040694068406740664065406440634062406140604059405840574056405540544053405240514050404940484047404640454044404340424041404040394038403740364035403440334032403140304029402840274026402540244023402240214020401940184017401640154014401340124011401040094008400740064005400440034002400140003999399839973996399539943993399239913990398939883987398639853984398339823981398039793978397739763975397439733972397139703969396839673966396539643963396239613960395939583957395639553954395339523951395039493948394739463945394439433942394139403939393839373936393539343933393239313930392939283927392639253924392339223921392039193918391739163915391439133912391139103909390839073906390539043903390239013900389938983897389638953894389338923891389038893888388738863885388438833882388138803879387838773876387538743873387238713870386938683867386638653864386338623861386038593858385738563855385438533852385138503849384838473846384538443843384238413840383938383837383638353834383338323831383038293828382738263825382438233822382138203819381838173816381538143813381238113810380938083807380638053804380338023801380037993798379737963795379437933792379137903789378837873786378537843783378237813780377937783777377637753774377337723771377037693768376737663765376437633762376137603759375837573756375537543753375237513750374937483747374637453744374337423741374037393738373737363735373437333732373137303729372837273726372537243723372237213720371937183717371637153714371337123711371037093708370737063705370437033702370137003699369836973696369536943693369236913690368936883687368636853684368336823681368036793678367736763675367436733672367136703669366836673666366536643663366236613660365936583657365636553654365336523651365036493648364736463645364436433642364136403639363836373636363536343633363236313630362936283627362636253624362336223621362036193618361736163615361436133612361136103609360836073606360536043603360236013600359935983597359635953594359335923591359035893588358735863585358435833582358135803579357835773576357535743573357235713570356935683567356635653564356335623561356035593558355735563555355435533552355135503549354835473546354535443543354235413540353935383537353635353534353335323531353035293528352735263525352435233522352135203519351835173516351535143513351235113510350935083507350635053504350335023501350034993498349734963495349434933492349134903489348834873486348534843483348234813480347934783477347634753474347334723471347034693468346734663465346434633462346134603459345834573456345534543453345234513450344934483447344634453444344334423441344034393438343734363435343434333432343134303429342834273426342534243423342234213420341934183417341634153414341334123411341034093408340734063405340434033402340134003399339833973396339533943393339233913390338933883387338633853384338333823381338033793378337733763375337433733372337133703369336833673366336533643363336233613360335933583357335633553354335333523351335033493348334733463345334433433342334133403339333833373336333533343333333233313330332933283327332633253324332333223321332033193318331733163315331433133312331133103309330833073306330533043303330233013300329932983297329632953294329332923291329032893288328732863285328432833282328132803279327832773276327532743273327232713270326932683267326632653264326332623261326032593258325732563255325432533252325132503249324832473246324532443243324232413240323932383237323632353234323332323231323032293228322732263225322432233222322132203219321832173216321532143213321232113210320932083207320632053204320332023201320031993198319731963195319431933192319131903189318831873186318531843183318231813180317931783177317631753174317331723171317031693168316731663165316431633162316131603159315831573156315531543153315231513150314931483147314631453144314331423141314031393138313731363135313431333132313131303129312831273126312531243123312231213120311931183117311631153114311331123111311031093108310731063105310431033102310131003099309830973096309530943093309230913090308930883087308630853084308330823081308030793078307730763075307430733072307130703069306830673066306530643063306230613060305930583057305630553054305330523051305030493048304730463045304430433042304130403039303830373036303530343033303230313030302930283027302630253024302330223021302030193018301730163015301430133012301130103009300830073006300530043003300230013000299929982997299629952994299329922991299029892988298729862985298429832982298129802979297829772976297529742973297229712970296929682967296629652964296329622961296029592958295729562955295429532952295129502949294829472946294529442943294229412940293929382937293629352934293329322931293029292928292729262925292429232922292129202919291829172916291529142913291229112910290929082907290629052904290329022901290028992898289728962895289428932892289128902889288828872886288528842883288228812880287928782877287628752874287328722871287028692868286728662865286428632862286128602859285828572856285528542853285228512850284928482847284628452844284328422841284028392838283728362835283428332832283128302829282828272826282528242823282228212820281928182817281628152814281328122811281028092808280728062805280428032802280128002799279827972796279527942793279227912790278927882787278627852784278327822781278027792778277727762775277427732772277127702769276827672766276527642763276227612760275927582757275627552754275327522751275027492748274727462745274427432742274127402739273827372736273527342733273227312730272927282727272627252724272327222721272027192718271727162715271427132712271127102709270827072706270527042703270227012700269926982697269626952694269326922691269026892688268726862685268426832682268126802679267826772676267526742673267226712670266926682667266626652664266326622661266026592658265726562655265426532652265126502649264826472646264526442643264226412640263926382637263626352634263326322631263026292628262726262625262426232622262126202619261826172616261526142613261226112610260926082607260626052604260326022601260025992598259725962595259425932592259125902589258825872586258525842583258225812580257925782577257625752574257325722571257025692568256725662565256425632562256125602559255825572556255525542553255225512550254925482547254625452544254325422541254025392538253725362535253425332532253125302529252825272526252525242523252225212520251925182517251625152514251325122511251025092508250725062505250425032502250125002499249824972496249524942493249224912490248924882487248624852484248324822481248024792478247724762475247424732472247124702469246824672466246524642463246224612460245924582457245624552454245324522451245024492448244724462445244424432442244124402439243824372436243524342433243224312430242924282427242624252424242324222421242024192418241724162415241424132412241124102409240824072406240524042403240224012400239923982397239623952394239323922391239023892388238723862385238423832382238123802379237823772376237523742373237223712370236923682367236623652364236323622361236023592358235723562355235423532352235123502349234823472346234523442343234223412340233923382337233623352334233323322331233023292328232723262325232423232322232123202319231823172316231523142313231223112310230923082307230623052304230323022301230022992298229722962295229422932292229122902289228822872286228522842283228222812280227922782277227622752274227322722271227022692268226722662265226422632262226122602259225822572256225522542253225222512250224922482247224622452244224322422241224022392238223722362235223422332232223122302229222822272226222522242223222222212220221922182217221622152214221322122211221022092208220722062205220422032202220122002199219821972196219521942193219221912190218921882187218621852184218321822181218021792178217721762175217421732172217121702169216821672166216521642163216221612160215921582157215621552154215321522151215021492148214721462145214421432142214121402139213821372136213521342133213221312130212921282127212621252124212321222121212021192118211721162115211421132112211121102109210821072106210521042103210221012100209920982097209620952094209320922091209020892088208720862085208420832082208120802079207820772076207520742073207220712070206920682067206620652064206320622061206020592058205720562055205420532052205120502049204820472046204520442043204220412040203920382037203620352034203320322031203020292028202720262025202420232022202120202019201820172016201520142013201220112010200920082007200620052004200320022001200019991998199719961995199419931992199119901989198819871986198519841983198219811980197919781977197619751974197319721971197019691968196719661965196419631962196119601959195819571956195519541953195219511950194919481947194619451944194319421941194019391938193719361935193419331932193119301929192819271926192519241923192219211920191919181917191619151914191319121911191019091908190719061905190419031902190119001899189818971896189518941893189218911890188918881887188618851884188318821881188018791878187718761875187418731872187118701869186818671866186518641863186218611860185918581857185618551854185318521851185018491848184718461845184418431842184118401839183818371836183518341833183218311830182918281827182618251824182318221821182018191818181718161815181418131812181118101809180818071806180518041803180218011800179917981797179617951794179317921791179017891788178717861785178417831782178117801779177817771776177517741773177217711770176917681767176617651764176317621761176017591758175717561755175417531752175117501749174817471746174517441743174217411740173917381737173617351734173317321731173017291728172717261725172417231722172117201719171817171716171517141713171217111710170917081707170617051704170317021701170016991698169716961695169416931692169116901689168816871686168516841683168216811680167916781677167616751674167316721671167016691668166716661665166416631662166116601659165816571656165516541653165216511650164916481647164616451644164316421641164016391638163716361635163416331632163116301629162816271626162516241623162216211620161916181617161616151614161316121611161016091608160716061605160416031602160116001599159815971596159515941593159215911590158915881587158615851584158315821581158015791578157715761575157415731572157115701569156815671566156515641563156215611560155915581557155615551554155315521551155015491548154715461545154415431542154115401539153815371536153515341533153215311530152915281527152615251524152315221521152015191518151715161515151415131512151115101509150815071506150515041503150215011500149914981497149614951494149314921491149014891488148714861485148414831482148114801479147814771476147514741473147214711470146914681467146614651464146314621461146014591458145714561455145414531452145114501449144814471446144514441443144214411440143914381437143614351434143314321431143014291428142714261425142414231422142114201419141814171416141514141413141214111410140914081407140614051404140314021401140013991398139713961395139413931392139113901389138813871386138513841383138213811380137913781377137613751374137313721371137013691368136713661365136413631362136113601359135813571356135513541353135213511350134913481347134613451344134313421341134013391338133713361335133413331332133113301329132813271326132513241323132213211320131913181317131613151314131313121311131013091308130713061305130413031302130113001299129812971296129512941293129212911290128912881287128612851284128312821281128012791278127712761275127412731272127112701269126812671266126512641263126212611260125912581257125612551254125312521251125012491248124712461245124412431242124112401239123812371236123512341233123212311230122912281227122612251224122312221221122012191218121712161215121412131212121112101209120812071206120512041203120212011200119911981197119611951194119311921191119011891188118711861185118411831182118111801179117811771176117511741173117211711170116911681167116611651164116311621161116011591158115711561155115411531152115111501149114811471146114511441143114211411140113911381137113611351134113311321131113011291128112711261125112411231122112111201119111811171116111511141113111211111110110911081107110611051104110311021101110010991098109710961095109410931092109110901089108810871086108510841083108210811080107910781077107610751074107310721071107010691068106710661065106410631062106110601059105810571056105510541053105210511050104910481047104610451044104310421041104010391038103710361035103410331032103110301029102810271026102510241023102210211020101910181017101610151014101310121011101010091008100710061005100410031002100110009999989979969959949939929919909899889879869859849839829819809799789779769759749739729719709699689679669659649639629619609599589579569559549539529519509499489479469459449439429419409399389379369359349339329319309299289279269259249239229219209199189179169159149139129119109099089079069059049039029019008998988978968958948938928918908898888878868858848838828818808798788778768758748738728718708698688678668658648638628618608598588578568558548538528518508498488478468458448438428418408398388378368358348338328318308298288278268258248238228218208198188178168158148138128118108098088078068058048038028018007997987977967957947937927917907897887877867857847837827817807797787777767757747737727717707697687677667657647637627617607597587577567557547537527517507497487477467457447437427417407397387377367357347337327317307297287277267257247237227217207197187177167157147137127117107097087077067057047037027017006996986976966956946936926916906896886876866856846836826816806796786776766756746736726716706696686676666656646636626616606596586576566556546536526516506496486476466456446436426416406396386376366356346336326316306296286276266256246236226216206196186176166156146136126116106096086076066056046036026016005995985975965955945935925915905895885875865855845835825815805795785775765755745735725715705695685675665655645635625615605595585575565555545535525515505495485475465455445435425415405395385375365355345335325315305295285275265255245235225215205195185175165155145135125115105095085075065055045035025015004994984974964954944934924914904894884874864854844834824814804794784774764754744734724714704694684674664654644634624614604594584574564554544534524514504494484474464454444434424414404394384374364354344334324314304294284274264254244234224214204194184174164154144134124114104094084074064054044034024014003993983973963953943933923913903893883873863853843833823813803793783773763753743733723713703693683673663653643633623613603593583573563553543533523513503493483473463453443433423413403393383373363353343333323313303293283273263253243233223213203193183173163153143133123113103093083073063053043033023013002992982972962952942932922912902892882872862852842832822812802792782772762752742732722712702692682672662652642632622612602592582572562552542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543210