X11122334455667788991010111112121313141415151616171718181919202021212222232324242525262627272828292930303131323233333434353536363737383839394040414142424343444445454646474748484949505051515252535354545555565657575858595960606161626263636464656566666767686869697070717172727373747475757676777778787979808081818282838384848585868687878888898990909191929293939494959596969797989899991001002246810121416182022242628303234363840424446485052545658606264666870727476788082848688909294969810010210410610811011211411611812012212412612813013213413613814014214414614815015215415615816016216416616817017217417617818018218418618819019219419619820033691215182124273033363942454851545760636669727578818487909396991021051081111141171201231261291321351381411441471501531561591621651681711741771801831861891921951982012042072102132162192222252282312342372402432462492522552582612642672702732762792822852882912942973004481216202428323640444852566064687276808488929610010410811211612012412813213614014414815215616016416817217618018418819219620020420821221622022422823223624024424825225626026426827227628028428829229630030430831231632032432833233634034434835235636036436837237638038438839239640055101520253035404550556065707580859095100105110115120125130135140145150155160165170175180185190195200205210215220225230235240245250255260265270275280285290295300305310315320325330335340345350355360365370375380385390395400405410415420425430435440445450455460465470475480485490495500661218243036424854606672788490961021081141201261321381441501561621681741801861921982042102162222282342402462522582642702762822882943003063123183243303363423483543603663723783843903964024084144204264324384444504564624684744804864924985045105165225285345405465525585645705765825885946007714212835424956637077849198105112119126133140147154161168175182189196203210217224231238245252259266273280287294301308315322329336343350357364371378385392399406413420427434441448455462469476483490497504511518525532539546553560567574581588595602609616623630637644651658665672679686693700881624324048566472808896104112120128136144152160168176184192200208216224232240248256264272280288296304312320328336344352360368376384392400408416424432440448456464472480488496504512520528536544552560568576584592600608616624632640648656664672680688696704712720728736744752760768776784792800991827364554637281909910811712613514415316217118018919820721622523424325226127027928829730631532433334235136036937838739640541442343244145045946847748649550451352253154054955856757658559460361262163063964865766667568469370271172072973874775676577478379280181081982883784685586487388289190010102030405060708090100110120130140150160170180190200210220230240250260270280290300310320330340350360370380390400410420430440450460470480490500510520530540550560570580590600610620630640650660670680690700710720730740750760770780790800810820830840850860870880890900910920930940950960970980990100011112233445566778899110121132143154165176187198209220231242253264275286297308319330341352363374385396407418429440451462473484495506517528539550561572583594605616627638649660671682693704715726737748759770781792803814825836847858869880891902913924935946957968979990100110121023103410451056106710781089110012122436486072849610812013214415616818019220421622824025226427628830031232433634836037238439640842043244445646848049250451652854055256457658860061262463664866067268469670872073274475676878079280481682884085286487688890091292493694896097298499610081020103210441056106810801092110411161128114011521164117611881200131326395265789110411713014315616918219520822123424726027328629931232533835136437739040341642944245546848149450752053354655957258559861162463765066367668970271572874175476778079380681983284585887188489791092393694996297598810011014102710401053106610791092110511181131114411571170118311961209122212351248126112741287130014142842567084981121261401541681821962102242382522662802943083223363503643783924064204344484624764905045185325465605745886026166306446586726867007147287427567707847988128268408548688828969109249389529669809941008102210361050106410781092110611201134114811621176119012041218123212461260127412881302131613301344135813721386140015153045607590105120135150165180195210225240255270285300315330345360375390405420435450465480495510525540555570585600615630645660675690705720735750765780795810825840855870885900915930945960975990100510201035105010651080109511101125114011551170118512001215123012451260127512901305132013351350136513801395141014251440145514701485150016163248648096112128144160176192208224240256272288304320336352368384400416432448464480496512528544560576592608624640656672688704720736752768784800816832848864880896912928944960976992100810241040105610721088110411201136115211681184120012161232124812641280129613121328134413601376139214081424144014561472148815041520153615521568158416001717345168851021191361531701872042212382552722893063233403573743914084254424594764935105275445615785956126296466636806977147317487657827998168338508678849019189359529699861003102010371054107110881105112211391156117311901207122412411258127512921309132613431360137713941411142814451462147914961513153015471564158115981615163216491666168317001818365472901081261441621801982162342522702883063243423603783964144324504684865045225405585765946126306486666847027207387567747928108288468648829009189369549729901008102610441062108010981116113411521170118812061224124212601278129613141332135013681386140414221440145814761494151215301548156615841602162016381656167416921710172817461764178218001919385776951141331521711902092282472662853043233423613803994184374564754945135325515705896086276466656847037227417607797988178368558748939129319509699881007102610451064108311021121114011591178119712161235125412731292131113301349136813871406142514441463148215011520153915581577159616151634165316721691171017291748176717861805182418431862188119002020406080100120140160180200220240260280300320340360380400420440460480500520540560580600620640660680700720740760780800820840860880900920940960980100010201040106010801100112011401160118012001220124012601280130013201340136013801400142014401460148015001520154015601580160016201640166016801700172017401760178018001820184018601880190019201940196019802000212142638410512614716818921023125227329431533635737839942044146248350452554656758860963065167269371473575677779881984086188290392494596698710081029105010711092111311341155117611971218123912601281130213231344136513861407142814491470149115121533155415751596161716381659168017011722174317641785180618271848186918901911193219531974199520162037205820792100222244668811013215417619822024226428630833035237439641844046248450652855057259461663866068270472674877079281483685888090292494696899010121034105610781100112211441166118812101232125412761298132013421364138614081430145214741496151815401562158416061628165016721694171617381760178218041826184818701892191419361958198020022024204620682090211221342156217822002323466992115138161184207230253276299322345368391414437460483506529552575598621644667690713736759782805828851874897920943966989101210351058108111041127115011731196121912421265128813111334135713801403142614491472149515181541156415871610163316561679170217251748177117941817184018631886190919321955197820012024204720702093211621392162218522082231225422772300242448729612014416819221624026428831233636038440843245648050452855257660062464867269672074476879281684086488891293696098410081032105610801104112811521176120012241248127212961320134413681392141614401464148815121536156015841608163216561680170417281752177618001824184818721896192019441968199220162040206420882112213621602184220822322256228023042328235223762400252550751001251501752002252502753003253503754004254504755005255505756006256506757007257507758008258508759009259509751000102510501075110011251150117512001225125012751300132513501375140014251450147515001525155015751600162516501675170017251750177518001825185018751900192519501975200020252050207521002125215021752200222522502275230023252350237524002425245024752500262652781041301561822082342602863123383643904164424684945205465725986246506767027287547808068328588849109369629881014104010661092111811441170119612221248127413001326135213781404143014561482150815341560158616121638166416901716174217681794182018461872189819241950197620022028205420802106213221582184221022362262228823142340236623922418244424702496252225482574260027275481108135162189216243270297324351378405432459486513540567594621648675702729756783810837864891918945972999102610531080110711341161118812151242126912961323135013771404143114581485151215391566159316201647167417011728175517821809183618631890191719441971199820252052207921062133216021872214224122682295232223492376240324302457248425112538256525922619264626732700282856841121401681962242522803083363643924204484765045325605886166446727007287567848128408688969249529801008103610641092112011481176120412321260128813161344137214001428145614841512154015681596162416521680170817361764179218201848187619041932196019882016204420722100212821562184221222402268229623242352238024082436246424922520254825762604263226602688271627442772280029295887116145174203232261290319348377406435464493522551580609638667696725754783812841870899928957986101510441073110211311160118912181247127613051334136313921421145014791508153715661595162416531682171117401769179818271856188519141943197220012030205920882117214621752204223322622291232023492378240724362465249425232552258126102639266826972726275527842813284228712900303060901201501802102402703003303603904204504805105405706006306606907207507808108408709009309609901020105010801110114011701200123012601290132013501380141014401470150015301560159016201650168017101740177018001830186018901920195019802010204020702100213021602190222022502280231023402370240024302460249025202550258026102640267027002730276027902820285028802910294029703000313162931241551862172482793103413724034344654965275585896206516827137447758068378688999309619921023105410851116114711781209124012711302133313641395142614571488151915501581161216431674170517361767179818291860189119221953198420152046207721082139217022012232226322942325235623872418244924802511254225732604263526662697272827592790282128522883291429452976300730383069310032326496128160192224256288320352384416448480512544576608640672704736768800832864896928960992102410561088112011521184121612481280131213441376140814401472150415361568160016321664169617281760179218241856188819201952198420162048208021122144217622082240227223042336236824002432246424962528256025922624265626882720275227842816284828802912294429763008304030723104313631683200333366991321651982312642973303633964294624955285615946276606937267597928258588919249579901023105610891122115511881221125412871320135313861419145214851518155115841617165016831716174917821815184818811914194719802013204620792112214521782211224422772310234323762409244224752508254125742607264026732706273927722805283828712904293729703003303630693102313531683201323432673300343468102136170204238272306340374408442476510544578612646680714748782816850884918952986102010541088112211561190122412581292132613601394142814621496153015641598163216661700173417681802183618701904193819722006204020742108214221762210224422782312234623802414244824822516255025842618265226862720275427882822285628902924295829923026306030943128316231963230326432983332336634003535701051401752102452803153503854204554905255605956306657007357708058408759109459801015105010851120115511901225126012951330136514001435147015051540157516101645168017151750178518201855189019251960199520302065210021352170220522402275231023452380241524502485252025552590262526602695273027652800283528702905294029753010304530803115315031853220325532903325336033953430346535003636721081441802162522883243603964324685045405766126486847207567928288649009369721008104410801116115211881224126012961332136814041440147615121548158416201656169217281764180018361872190819441980201620522088212421602196223222682304234023762412244824842520255625922628266427002736277228082844288029162952298830243060309631323168320432403276331233483384342034563492352835643600373774111148185222259296333370407444481518555592629666703740777814851888925962999103610731110114711841221125812951332136914061443148015171554159116281665170217391776181318501887192419611998203520722109214621832220225722942331236824052442247925162553259026272664270127382775281228492886292329602997303430713108314531823219325632933330336734043441347835153552358936263663370038387611415219022826630434238041845649453257060864668472276079883687491295098810261064110211401178121612541292133013681406144414821520155815961634167217101748178618241862190019381976201420522090212821662204224222802318235623942432247025082546258426222660269827362774281228502888292629643002304030783116315431923230326833063344338234203458349635343572361036483686372437623800393978117156195234273312351390429468507546585624663702741780819858897936975101410531092113111701209124812871326136514041443148215211560159916381677171617551794183318721911195019892028206721062145218422232262230123402379241824572496253525742613265226912730276928082847288629252964300330423081312031593198323732763315335433933432347135103549358836273666370537443783382238613900404080120160200240280320360400440480520560600640680720760800840880920960100010401080112011601200124012801320136014001440148015201560160016401680172017601800184018801920196020002040208021202160220022402280232023602400244024802520256026002640268027202760280028402880292029603000304030803120316032003240328033203360340034403480352035603600364036803720376038003840388039203960400041418212316420524628732836941045149253357461565669773877982086190294398410251066110711481189123012711312135313941435147615171558159916401681172217631804184518861927196820092050209121322173221422552296233723782419246025012542258326242665270627472788282928702911295229933034307531163157319832393280332133623403344434853526356736083649369037313772381338543895393639774018405941004242841261682102522943363784204625045465886306727147567988408829249661008105010921134117612181260130213441386142814701512155415961638168017221764180618481890193219742016205821002142218422262268231023522394243624782520256226042646268827302772281428562898294029823024306631083150319232343276331833603402344434863528357036123654369637383780382238643906394839904032407441164158420043438612917221525830134438743047351655960264568873177481786090394698910321075111811611204124712901333137614191462150515481591163416771720176318061849189219351978202120642107215021932236227923222365240824512494253725802623266627092752279528382881292429673010305330963139318232253268331133543397344034833526356936123655369837413784382738703913395639994042408541284171421442574300444488132176220264308352396440484528572616660704748792836880924968101210561100114411881232127613201364140814521496154015841628167217161760180418481892193619802024206821122156220022442288233223762420246425082552259626402684272827722816286029042948299230363080312431683212325633003344338834323476352035643608365236963740378438283872391639604004404840924136418042244268431243564400454590135180225270315360405450495540585630675720765810855900945990103510801125117012151260130513501395144014851530157516201665171017551800184518901935198020252070211521602205225022952340238524302475252025652610265527002745279028352880292529703015306031053150319532403285333033753420346535103555360036453690373537803825387039153960400540504095414041854230427543204365441044554500464692138184230276322368414460506552598644690736782828874920966101210581104115011961242128813341380142614721518156416101656170217481794184018861932197820242070211621622208225423002346239224382484253025762622266827142760280628522898294429903036308231283174322032663312335834043450349635423588363436803726377238183864391039564002404840944140418642324278432443704416446245084554460047479414118823528232937642347051756461165870575279984689394098710341081112811751222126913161363141014571504155115981645169217391786183318801927197420212068211521622209225623032350239724442491253825852632267927262773282028672914296130083055310231493196324332903337338434313478352535723619366637133760380738543901394839954042408941364183423042774324437144184465451245594606465347004848961441922402883363844324805285766246727207688168649129601008105611041152120012481296134413921440148815361584163216801728177618241872192019682016206421122160220822562304235224002448249625442592264026882736278428322880292829763024307231203168321632643312336034083456350435523600364836963744379238403888393639844032408041284176422442724320436844164464451245604608465647044752480049499814719624529434339244149053958863768673578483388293198010291078112711761225127413231372142114701519156816171666171517641813186219111960200920582107215622052254230323522401245024992548259726462695274427932842289129402989303830873136318532343283333233813430347935283577362636753724377338223871392039694018406741164165421442634312436144104459450845574606465547044753480248514900505010015020025030035040045050055060065070075080085090095010001050110011501200125013001350140014501500155016001650170017501800185019001950200020502100215022002250230023502400245025002550260026502700275028002850290029503000305031003150320032503300335034003450350035503600365037003750380038503900395040004050410041504200425043004350440044504500455046004650470047504800485049004950500051511021532042553063574084595105616126637147658168679189691020107111221173122412751326137714281479153015811632168317341785183618871938198920402091214221932244229523462397244824992550260126522703275428052856290729583009306031113162321332643315336634173468351935703621367237233774382538763927397840294080413141824233428443354386443744884539459046414692474347944845489649474998504951005252104156208260312364416468520572624676728780832884936988104010921144119612481300135214041456150815601612166417161768182018721924197620282080213221842236228823402392244424962548260026522704275628082860291229643016306831203172322432763328338034323484353635883640369237443796384839003952400440564108416042124264431643684420447245244576462846804732478448364888494049925044509651485200535310615921226531837142447753058363668974279584890195410071060111311661219127213251378143114841537159016431696174918021855190819612014206721202173222622792332238524382491254425972650270327562809286229152968302130743127318032333286333933923445349835513604365737103763381638693922397540284081413441874240429343464399445245054558461146644717477048234876492949825035508851415194524753005454108162216270324378432486540594648702756810864918972102610801134118812421296135014041458151215661620167417281782183618901944199820522106216022142268232223762430248425382592264627002754280828622916297030243078313231863240329433483402345635103564361836723726378038343888394239964050410441584212426643204374442844824536459046444698475248064860491449685022507651305184523852925346540055551101652202753303854404955506056607157708258809359901045110011551210126513201375143014851540159516501705176018151870192519802035209021452200225523102365242024752530258526402695275028052860291529703025308031353190324533003355341034653520357536303685374037953850390539604015407041254180423542904345440044554510456546204675473047854840489549505005506051155170522552805335539054455500565611216822428033639244850456061667272878484089695210081064112011761232128813441400145615121568162416801736179218481904196020162072212821842240229623522408246425202576263226882744280028562912296830243080313631923248330433603416347235283584364036963752380838643920397640324088414442004256431243684424448045364592464847044760481648724928498450405096515252085264532053765432548855445600575711417122828534239945651357062768474179885591296910261083114011971254131113681425148215391596165317101767182418811938199520522109216622232280233723942451250825652622267927362793285029072964302130783135319232493306336334203477353435913648370537623819387639333990404741044161421842754332438944464503456046174674473147884845490249595016507351305187524453015358541554725529558656435700585811617423229034840646452258063869675481287092898610441102116012181276133413921450150815661624168217401798185619141972203020882146220422622320237824362494255226102668272627842842290029583016307431323190324833063364342234803538359636543712377038283886394440024060411841764234429243504408446645244582464046984756481448724930498850465104516252205278533653945452551055685626568457425800595911817723629535441347253159064970876782688594410031062112111801239129813571416147515341593165217111770182918881947200620652124218322422301236024192478253725962655271427732832289129503009306831273186324533043363342234813540359936583717377638353894395340124071413041894248430743664425448445434602466147204779483848974956501550745133519252515310536954285487554656055664572357825841590060601201802403003604204805406006607207808409009601020108011401200126013201380144015001560162016801740180018601920198020402100216022202280234024002460252025802640270027602820288029403000306031203180324033003360342034803540360036603720378038403900396040204080414042004260432043804440450045604620468047404800486049204980504051005160522052805340540054605520558056405700576058205880594060006161122183244305366427488549610671732793854915976103710981159122012811342140314641525158616471708176918301891195220132074213521962257231823792440250125622623268427452806286729282989305031113172323332943355341634773538359936603721378238433904396540264087414842094270433143924453451445754636469747584819488049415002506351245185524653075368542954905551561256735734579558565917597860396100626212418624831037243449655862068274480686893099210541116117812401302136414261488155016121674173617981860192219842046210821702232229423562418248025422604266627282790285229142976303831003162322432863348341034723534359636583720378238443906396840304092415442164278434044024464452645884650471247744836489849605022508451465208527053325394545655185580564257045766582858905952601460766138620063631261892523153784415045676306937568198829451008107111341197126013231386144915121575163817011764182718901953201620792142220522682331239424572520258326462709277228352898296130243087315032133276333934023465352835913654371737803843390639694032409541584221428443474410447345364599466247254788485149144977504051035166522952925355541854815544560756705733579658595922598560486111617462376300646412819225632038444851257664070476883289696010241088115212161280134414081472153616001664172817921856192019842048211221762240230423682432249625602624268827522816288029443008307231363200326433283392345635203584364837123776384039043968403240964160422442884352441644804544460846724736480048644928499250565120518452485312537654405504556856325696576058245888595260166080614462086272633664006565130195260325390455520585650715780845910975104011051170123513001365143014951560162516901755182018851950201520802145221022752340240524702535260026652730279528602925299030553120318532503315338034453510357536403705377038353900396540304095416042254290435544204485455046154680474548104875494050055070513552005265533053955460552555905655572057855850591559806045611061756240630563706435650066661321982643303964625285946607267928589249901056112211881254132013861452151815841650171617821848191419802046211221782244231023762442250825742640270627722838290429703036310231683234330033663432349835643630369637623828389439604026409241584224429043564422448845544620468647524818488449505016508251485214528053465412547855445610567657425808587459406006607261386204627063366402646865346600676713420126833540246953660367073780487193810051072113912061273134014071474154116081675174218091876194320102077214422112278234524122479254626132680274728142881294830153082314932163283335034173484355136183685375238193886395340204087415442214288435544224489455646234690475748244891495850255092515952265293536054275494556156285695576258295896596360306097616462316298636564326499656666336700686813620427234040847654461268074881688495210201088115612241292136014281496156416321700176818361904197220402108217622442312238024482516258426522720278828562924299230603128319632643332340034683536360436723740380838763944401240804148421642844352442044884556462446924760482848964964503251005168523653045372544055085576564457125780584859165984605261206188625663246392646065286596666467326800696913820727634541448355262169075982889796610351104117312421311138014491518158716561725179418631932200120702139220822772346241524842553262226912760282928982967303631053174324333123381345035193588365737263795386439334002407141404209427843474416448545544623469247614830489949685037510651755244531353825451552055895658572757965865593460036072614162106279634864176486655566246693676268316900707014021028035042049056063070077084091098010501120119012601330140014701540161016801750182018901960203021002170224023102380245025202590266027302800287029403010308031503220329033603430350035703640371037803850392039904060413042004270434044104480455046204690476048304900497050405110518052505320539054605530560056705740581058805950602060906160623063006370644065106580665067206790686069307000717114221328435542649756863971078185292399410651136120712781349142014911562163317041775184619171988205921302201227223432414248525562627269827692840291129823053312431953266333734083479355036213692376338343905397640474118418942604331440244734544461546864757482848994970504151125183525453255396546755385609568057515822589359646035610661776248631963906461653266036674674568166887695870297100727214421628836043250457664872079286493610081080115212241296136814401512158416561728180018721944201620882160223223042376244825202592266427362808288029523024309631683240331233843456352836003672374438163888396040324104417642484320439244644536460846804752482448964968504051125184525653285400547255445616568857605832590459766048612061926264633664086480655266246696676868406912698470567128720073731462192923654385115846577308038769491022109511681241131413871460153316061679175218251898197120442117219022632336240924822555262827012774284729202993306631393212328533583431350435773650372337963869394240154088416142344307438044534526459946724745481848914964503751105183525653295402547555485621569457675840591359866059613262056278635164246497657066436716678968626935700870817154722773007474148222296370444518592666740814888962103611101184125813321406148015541628170217761850192419982072214622202294236824422516259026642738281228862960303431083182325633303404347835523626370037743848392239964070414442184292436644404514458846624736481048844958503251065180525453285402547655505624569857725846592059946068614262166290636464386512658666606734680868826956703071047178725273267400757515022530037545052560067575082590097510501125120012751350142515001575165017251800187519502025210021752250232524002475255026252700277528502925300030753150322533003375345035253600367537503825390039754050412542004275435044254500457546504725480048754950502551005175525053255400547555505625570057755850592560006075615062256300637564506525660066756750682569006975705071257200727573507425750076761522283043804565326086847608369129881064114012161292136814441520159616721748182419001976205221282204228023562432250825842660273628122888296430403116319232683344342034963572364837243800387639524028410441804256433244084484456046364712478848644940501650925168524453205396547255485624570057765852592860046080615662326308638464606536661266886764684069166992706871447220729673727448752476007777154231308385462539616693770847924100110781155123213091386146315401617169417711848192520022079215622332310238724642541261826952772284929263003308031573234331133883465354236193696377338503927400440814158423543124389446645434620469747744851492850055082515952365313539054675544562156985775585259296006608361606237631463916468654566226699677668536930700770847161723873157392746975467623770078781562343123904685466247027808589361014109211701248132614041482156016381716179418721950202821062184226223402418249625742652273028082886296430423120319832763354343235103588366637443822390039784056413442124290436844464524460246804758483649144992507051485226530453825460553856165694577258505928600660846162624063186396647465526630670867866864694270207098717672547332741074887566764477227800797915823731639547455363271179086994810271106118512641343142215011580165917381817189619752054213322122291237024492528260726862765284429233002308131603239331833973476355536343713379238713950402941084187426643454424450345824661474048194898497750565135521452935372545155305609568857675846592560046083616262416320639964786557663667156794687369527031711071897268734774267505758476637742782179008080160240320400480560640720800880960104011201200128013601440152016001680176018401920200020802160224023202400248025602640272028002880296030403120320032803360344035203600368037603840392040004080416042404320440044804560464047204800488049605040512052005280536054405520560056805760584059206000608061606240632064006480656066406720680068806960704071207200728073607440752076007680776078407920800081811622433244054865676487298108919721053113412151296137714581539162017011782186319442025210621872268234924302511259226732754283529162997307831593240332134023483356436453726380738883969405041314212429343744455453646174698477948604941502251035184526553465427550855895670575158325913599460756156623763186399648065616642672368046885696670477128720972907371745275337614769577767857793880198100828216424632841049257465673882090298410661148123013121394147615581640172218041886196820502132221422962378246025422624270627882870295230343116319832803362344435263608369037723854393640184100418242644346442845104592467447564838492050025084516652485330541254945576565857405822590459866068615062326314639664786560664267246806688869707052713472167298738074627544762677087790787279548036811882008383166249332415498581664747830913996107911621245132814111494157716601743182619091992207521582241232424072490257326562739282229052988307131543237332034033486356936523735381839013984406741504233431643994482456546484731481448974980506351465229531253955478556156445727581058935976605961426225630863916474655766406723680668896972705571387221730473877470755376367719780278857968805181348217830084841682523364205045886727568409241008109211761260134414281512159616801764184819322016210021842268235224362520260426882772285629403024310831923276336034443528361236963780386439484032411642004284436844524536462047044788487249565040512452085292537654605544562857125796588059646048613262166300638464686552663667206804688869727056714072247308739274767560764477287812789679808064814882328316840085851702553404255105956807658509351020110511901275136014451530161517001785187019552040212522102295238024652550263527202805289029753060314532303315340034853570365537403825391039954080416542504335442045054590467547604845493050155100518552705355544055255610569557805865595060356120620562906375646065456630671568006885697070557140722573107395748075657650773578207905799080758160824583308415850086861722583444305166026887748609461032111812041290137614621548163417201806189219782064215022362322240824942580266627522838292430103096318232683354344035263612369837843870395640424128421443004386447245584644473048164902498850745160524653325418550455905676576258485934602061066192627863646450653666226708679468806966705271387224731073967482756876547740782679127998808481708256834284288514860087871742613484355226096967838709571044113112181305139214791566165317401827191420012088217522622349243625232610269727842871295830453132321933063393348035673654374138283915400240894176426343504437452446114698478548724959504651335220530753945481556856555742582959166003609061776264635164386525661266996786687369607047713472217308739574827569765677437830791780048091817882658352843985268613870088881762643524405286167047928809681056114412321320140814961584167217601848193620242112220022882376246425522640272828162904299230803168325633443432352036083696378438723960404841364224431244004488457646644752484049285016510451925280536854565544563257205808589659846072616062486336642465126600668867766864695270407128721673047392748075687656774478327920800880968184827283608448853686248712880089891782673564455346237128018909791068115712461335142415131602169117801869195820472136222523142403249225812670275928482937302631153204329333823471356036493738382739164005409441834272436144504539462847174806489549845073516252515340542955185607569657855874596360526141623063196408649765866675676468536942703171207209729873877476756576547743783279218010809981888277836684558544863387228811890090901802703604505406307208109009901080117012601350144015301620171018001890198020702160225023402430252026102700279028802970306031503240333034203510360036903780387039604050414042304320441045004590468047704860495050405130522053105400549055805670576058505940603061206210630063906480657066606750684069307020711072007290738074707560765077407830792080108100819082808370846085508640873088208910900091911822733644555466377288199101001109211831274136514561547163817291820191120022093218422752366245725482639273028212912300330943185327633673458354936403731382239134004409541864277436844594550464147324823491450055096518752785369546055515642573358245915600660976188627963706461655266436734682569167007709871897280737174627553764477357826791780088099819082818372846385548645873688278918900991009292184276368460552644736828920101211041196128813801472156416561748184019322024211622082300239224842576266827602852294430363128322033123404349635883680377238643956404841404232432444164508460046924784487649685060515252445336542855205612570457965888598060726164625663486440653266246716680869006992708471767268736074527544763677287820791280048096818882808372846485568648874088328924901691089200939318627937246555865174483793010231116120913021395148815811674176718601953204621392232232524182511260426972790288329763069316232553348344135343627372038133906399940924185427843714464455746504743483649295022511552085301539454875580567357665859595260456138623163246417651066036696678968826975706871617254734774407533762677197812790579988091818482778370846385568649874288358928902191149207930094941882823764705646587528469401034112812221316141015041598169217861880197420682162225623502444253826322726282029143008310231963290338434783572366637603854394840424136423043244418451246064700479448884982507651705264535854525546564057345828592260166110620462986392648665806674676868626956705071447238733274267520761477087802789679908084817882728366846085548648874288368930902491189212930694009595190285380475570665760855950104511401235133014251520161517101805190019952090218522802375247025652660275528502945304031353230332534203515361037053800389539904085418042754370446545604655475048454940503551305225532054155510560557005795589059856080617562706365646065556650674568406935703071257220731574107505760076957790788579808075817082658360845585508645874088358930902591209215931094059500969619228838448057667276886496010561152124813441440153616321728182419202016211222082304240024962592268827842880297630723168326433603456355236483744384039364032412842244320441645124608470448004896499250885184528053765472556856645760585659526048614462406336643265286624672068166912700871047200729673927488758476807776787279688064816082568352844885448640873688328928902491209216931294089504960097971942913884855826797768739701067116412611358145515521649174618431940203721342231232824252522261927162813291030073104320132983395349235893686378338803977407441714268436544624559465647534850494750445141523853355432552956265723582059176014611162086305640264996596669367906887698470817178727573727469756676637760785779548051814882458342843985368633873088278924902191189215931294099506960397009898196294392490588686784882980107811761274137214701568166617641862196020582156225423522450254826462744284229403038313632343332343035283626372438223920401841164214431244104508460647044802490049985096519452925390548855865684578258805978607661746272637064686566666467626860695870567154725273507448754676447742784079388036813482328330842885268624872288208918901691149212931094089506960497029800999919829739649559469379289199010891188128713861485158416831782188119802079217822772376247525742673277228712970306931683267336634653564366337623861396040594158425743564455455446534752485149505049514852475346544555445643574258415940603961386237633664356534663367326831693070297128722773267425752476237722782179208019811882178316841585148613871288118910900991089207930694059504960397029801990010010020030040050060070080090010001100120013001400150016001700180019002000210022002300240025002600270028002900300031003200330034003500360037003800390040004100420043004400450046004700480049005000510052005300540055005600570058005900600061006200630064006500660067006800690070007100720073007400750076007700780079008000810082008300840085008600870088008900900091009200930094009500960097009800990010000