51
26
38
32
35
33
65137296442496409052498696615925114272036676729676019739813612855331599873181856940299630286154472574658566463338068874482247598990881868312207930575967991985054238375517173192750895784317117676163779240765236618843348034577365699412996787394635164687215924304246887010783235429769881739161094631039583250172723669865943015688481307296222869406143638063246252394829992478324286095828392671612396166939247348878454837898899526989735978378421489644463345874389632257695573564784751003686159066207338487030132039594780445041401824392846442263722946384669806998474834871577997152259889520237549381713863484668698625994665999010978081659364959422385888766469472933939194416144100836076244480351566342271455025314730236991165228423934858273390848219493743924267058678859594375636027173354957111261086975875413658223513716884191612729706447417878738774566062525785578033685819528734175162877689571995229235410052791256631701567271367100547377760554292225034459917717789319665039393265113382335561465824374184483267266855464404862504866619912568252841717526564985241217961301091106188386840289359332276785978223642649556637514622730621117152147313478989629934627610081755351336932681004535602074327075291455887672968737849486393011482421169918205830262802812524855955541143954679213562128626763259954738741326721429145219354775959137608454068326326477315133410042374443279378929298858389021255334981183563873466278523271340722610010278129284845652369586717727932472747767338958427440363646361384661955438935627589394815269056346694893688724878730507935240149950198851278991495365794419425091178443759615144681826107380496014191273426953991117147358713904668166617976683621351321861799753598095030885482266644692940894423385654382055931557718899497734332817908079357236547537217177995532922906352878988668978242859940538492380111464423028289891618430963932596806785448471681507936122214029165580359642619262222385552399237611334994553456399485388816511762163506755765890543439518360262321128850777674533350558868545074382367614471215490357987081142985074197295701499626946674375763419785317034245958661342621443859616346491468337575212369156890236059849298509972154407997113297785537066392655954641031114154278364281091612315228267615574376815682511422723954552994561127907931036328733918537373923827100302523126974874292156764940556644194605329473435229509844914350708945423874499437541652990451025248642229768578695121828354826633983552710854466693582334836492734652694944374694916690294148644139860984644317888292698873782143228381499291645846348169306576315626168158958714446729573318855780875057666082354065186515514922506827691889958625571247879335811715938493204769658512664185469778642795197766932762555089979410752257654446971006431684055235683555737288892011217768225727221643688516378010719711272745492698491463697950262574358805334704199279871716465616349957110492074708508186305830844472944641658128410454344210238821029902825636466684166519024397629573368327693946361671581185241433468218858129055104183525038869073581131087632797302393775558895043946612917364788291062353495651863148226449941644861210416912407526238753760131888879635699688592487638776136958369937870543952188760713988466110016123597999642235618464559716786953878142281776686783379995988185441434422370402413119867327104673107657661431779196813465139999884832334572973783121852954512897773835563473275964588446977579139577431233335490737753598791858765529725888145844585786414449862957436264598666090397031253720966247223120288558594697709221386194401948421339312827186915493490286606243321733309350936874100515215775072388127352911326083783599138130659923181003196804458253884549615314961628077429221049982214222855724146254499159117276863139573037103551289827852555637373027711293564648919023211458164967458834545432836576020648923437162946602627295277767221839639282789875612310559862278296485459193353677519394913229334938891464392354495164897263185951463174088288583834159869256834341627569365927209094521005295816084586921572521614694994679354314752218143092781431944713207131797164214953363996128797144522887277998364993995996716540424096952436540658058898410225781679623294764528884573822512490645441642224111746412561866602865833531303185782079396868284225158729611592032999293494776167468696247416738617338594268289963542750458752091251376864745633754239053154060633760577713100461029548750917088781277928883895187332863353428490533290363365373649957584311632742687597869266611666593357329108965269482694125879860977770876777802722537912322242899798949197254973796613286877646935871548265334912818274259849688445623815374817337953974955174066944638468752346761977142438823996779639752114250571176809542926123289843921616795754399142844880624929648230304042369274537546628035109793129350189075115262987554905599123065609321533164961869298578326970304375873821861176758858389017547559974207848495827274497725448595991993862672946482041192822424989475397847853134122491362247264393173216398081584562976456602439130954348487745517845166328947920207877308322810027565764431160361532014156811769244428100878394724196253759922195213758760403586922936012351841813603716716979635182622141808511371991576634816037852437177782347342867867179274943918074925596948676224391475433407104386693675363524699521479913509840984432481935867798638100934995159914726624670793422816773138989327362456038336961933162648533983489241838764444194301110082456132663447495362909166292884184886101004438492110076189691220556197644821882917499210582343548086752553214181952671895519317388530825832714770173058982750873260954695481848683251157119939783154853268546937738195948538548608079796903261176867649443966714895477995777761198384834528310082726546986523747126218696781015111851483846967836695484759734531565012475439706574157618197635010113781383288681010258996832592311778714731127859483868077423187391482327988459204097232887673689856516438940916929669798968526234216088394017797882851801471002910057918918515399410549688624611719263059684741404924454219915338928686188117324110977736536138963853687255318241735084876354100314777935111504261225611412726526198496739838994769307813509156127687896810043288467596992354738639355667057909010412859581474132677728973343204415482979489997847739258427994266203239737860814940486918871331315395511009463636259134113697379631585862449279645837552552663259484289822891569978711098275571519262659425178466668352951503192643827629044223740557132956392763314571198108540109716562126532494203625468874212767672242915861419146719653724469668280612044501895863373463857961938748112581535893789923556985227452642632513857056469139675912055424897831699150567711942425306397407587651497792310771712100222332810062691667338744468206163529857795246653065248328326871344684148139519207223864334575634709233731004793455729942343529333865145357831677874750803055763837945803957809914764183859061426243221347869366249252158894441561877965158878355716969497434431923742821147280657842665771423835824998454637485384856190347145713742722627165956804361487496601723261135122548030779518439317191964584140878114507642869059116524554932182996447940788563433828866671079136811292066767395113894748667584757645742228413647951310575691789637522757250465180147077552949809315489369152878999477588555090142451411920821587773233158454121984290615418932589203359638439201725244867989496531183464916661157299934884945988153888388596592244424449681891288508696167488814551138244468268043165433448938815604410025241447100409488794975158966449175515624898913731002217607510191735723434941778992473312679869329257434196629532513133738123544866512791617249849953462958129793631998862504517582540601572615273808587294925963051837985921773629512374948178387980844572957511110073114632879283664687395843549329711411695395371825915877814141738754552374617584635811121162384148516889968243943338947577174988867984873111557692167390942044313988277624369471130767887431592407127664744236953998916151566193479043294714752592988348610010884944373100415492952505346358830831474904124662196052153016843213637309062889508073585762899457180987598886152932993890584471733328465416857636945425759463507351216384235373410094224938354215579743618780549686962919814153677677852865694284756704315645990924996559827347747938586207112172319540363288198861533842778141793828325934685418917641148599355825744588396121025470778129463403917463259142681996585322346924653826694277014772588992303648571513572432241994940858998917110555598757299342799742367436352879378559615155259294425282937782965446469816451336570695177427225157460711856965104261624957318546398644117266492664967691434615040162549727020648868974464436634185913172687110277683541743364386254112724688593233828829665575101156752280953670714385572589883311969420792821643509547608485611682892663743423645368449395268432681842392741728324434581668994368548312773601076826935028477879711449356727137635363074141757799446926112149586911081739789221964873437397855580296436688687792167622218478753449019268351825014795829108668706332245337091265285144810073676828141212442498640538243877218244919614987815579736839108927419087723417516716769844114198244312712258794045291540736333146268857737591991225775612896569623423698213653387717866182738322403161943360822419166596919215958138962471292288806097542155946335235682450698976499352884878145263915778173138187047116772976516844848417378359990389695541126207543871432265759154745562736828051203952124339202289421884902925289788493810736191434027585921442722867672782259176460378772914752351055521668505857877863335322997957856191260163444884988841888311429445063103032100735213899767468415341541557835185522667605949606063219434733683845644164421606410513921247617791662708393597543942373064100914261308443384585726955639972725315819565347372513396642378294219201374616639524663236985719348616272528454471597826088856751878818478521579841537891561374932867393261728447915877820777950319991794555686662992638103640441545521357725382596759339153446710727729181587278073354222715236740653984637478924511745043291681649514786576781863152683886331693839859715315752641272144592736655545052431931888820809150913787391384441565725062565546847774289277679393667478699066172442121385982092891664126293591728668454348131787221343231859393166371882080904979856421505578194241059546047252984331355912062861246968516374210092738271314764714935394207376348099410068594489688560657440716079956182615379237259366594890414844492654380792841670125863923643321696881008017154193328556957244162565829965305253133372440392236522561100655469466177332946564213677494703345459465311425598274100451146457668116347989854377630849228358463985484535367698175715210061627874716823992044618570819829152729157268839088915093074461946432356085836278693729418915354753684508942926191276283189496124345171935210047893535317558970844548629434717639342422472784653424593354558093834796252918786611858521698487123154451529314268656982824406740102440103135491298731358336459163959027524931234582745227606817872946478658948979442185326374387315462175529618739838166473944454679489010063675902712199453274306092270502764716472969915064531147523542749149355141919324512911513944772827784152337977686587634310548369854758593635281165629724695789170752717445019568494378414381327080273479863928994736878735829744366597730597715524274387414134593124237863528150285061713624813843677181354959545762575581208820686953846745430659529889696535210010208658585442388785368918774746856393441483478664925303567362171279284063461257856874838894933522775123358270477419378336931868896522271115724642763215659932571915561386651752727407571727215684530395677376363651324719262722877325536229015604547969969278132698369914960153368211134741297613722581335089352872797187558229113932261761863973930621868745302485427557692115317784317268021998768784298571732826468330885410078205166632299525917592784381100861157514787306454548584628595251718789577515693305560273822617746476725521827896834440773261943167723588588316813676610709242227451688477681777922222574705044266060506692610852861345343478138467229446188156741418496883469335723211162636928062767645210026397601058189711373974418622249968862987378475597161349266100816954464949697299742627445309278515458867546694164138593742097382835259826429441568660368990317055659166288663153547349853908664241003390594115248229555942921576232714334260716954602337713795466010014121734199090597854759853894732468483647814442983881097661862837642514153681567229138229334783108841032368549654832049732625564948125737768538869134335858099542110045568265209428785677221372593615770999145734365736093100475327515254556510059431040981114371598434886093452819372669990466253119243977633613259266951237657183369811435775599612831144351005919608972425518671179023263298518741494472872473964913610754650736530426191481684714114603669686958832285159934804112759557649643725554449737608083401310010616149744763213524311296312731982823637981987435757701385696998139720524973842697326450215589705621658436601847845924316297408194399615732599243968546233556114737351353675869413775507261969790484497281832142593449961178681001367485403169268540215967783963386271134934985286188572764631473410586453276852314265034705137869399743931891478429672325636079988359150701343761876508640599775862263552452725336234272152264246464766996762734554558739757639521937842116816687810127416111199895640698727462218586251404834113146650293514682094471559472595970944156862812389510055364522347568517134910086116191417254188654573165569417181581352353276245539124928503775964343326114342671017597841354256763060209083971843921354260787273162975671041961936053751780343714240802077951868551995235248639693269972428077983510392584727183208384897710358289526582728317772852091198796038781141907047269929173768261758214662307799843250771209353356795112458387596562091410919014379727754632849667842208286728871281470684316598332801610529982448118129294420852646420341233014753153314218365298623467215112771314242394308165185751613834398513894552303779136322687255893356610018894621881634815943792293821586444680388993116928396043875473747835292334458411022191610037485670312519055564183335061100601088239376172811203153627213159439633250956715124496222734278726113217517601911667095252342501653227956122517228595293666244691337603428742024668142715158194933481057815729969594775638378985909115582974210501947442584878820604576723661809827547251653659453551877141621326745232503251224114203914592541582123838643468791918183416116998742111355684844077944856852723348512497669371006733687774533888251797792989164534764270974199589445298703757193219264564275582035557147553924836752505282036356736158963486675275497697841137463535431982416765892994755278559506184323830323166388446514861808820902134751454449197341212996418866257443354020934225862102939405398995438918566591956542047704283739338649615498815451001860274620865157588258838734747658748433443223020209540633490356155455398935097486542237559206345412229756369444899552478468519583391743217093845645167726211263340363737311914012719381581175766986356159139465623655527818534981919018974769908887588482665557316113436777430126242435661055193014659103844283499421983514343632427435158453044504421904646925696109454979384850287081865618137528728187737986934762986279392437455057112610419382814791878959430295216183126280934277673819927654569213567933442764819197193744093305062573567746767621100162992827199369433896665922215956741887437313898885187839401258460379964214533216623763794778270434127198965703496786067951771244488806862679492488788553442918531738710072108270519215483365995942618502597622501330261755256443962210368061172536833997296516652554707929619647314964985642671166722625808399438284221726579328905556721001794734126879547943494955353465856553791441803211186588472871399888885914543046514055106859108380721027787893159366465519882389174764373143608979436814307483195476272184481044671414560778867401271100683956868089772397831009238486156391618035687622596549982298626464657773760256742105922527379810010254673644315894955922792529820168057708699493215229508788976924245100795823811245894937184498962328164482618605711445760322949555991748576532679564097447410743040612998404618943905592245974531988918610578283166290422957165086101004971141365568329139183745489352164283969534228884937967499374669143484849563272822237035158342327621176517081245338543364487742131291984225785816230251008993727774551373978992438194375388332164588902484928455960987599337649425822918459053343979292995140314717145522361488834233669703449100269510018317048128527581651131044773177961707027723504857967362100603352194186694752662404892254271907975976764982522715982758832570738436973644317762029516176222332057572531834134980514857926140508172197929873029954767434020468853835041667820449116679056853804058694792784364286743693436862282237844558625239032733748326332549999820123061374186972137962834964099634631607480707674270449828565111714773724135890505356123708079828246708746538984438131287299688170842360997427548639385077347747688199648899464838518836974995614930692713426290393545132241226782278092839298100254330913533628776934104861394936174890887206453476272627134082294061436418494690717064525346136352192862164402414327025397240663874443919576427163346768256390903256356568863749465668962217218663438716351921026698882343992642902169807209419859849987397292145424145663420283763261887839885226845684046843777767226282316928052839360343562282749217163944601917488242283262815029815788374140981977230446610022799056568545647164724116449787071986712658319789672774291123153735411496398185475522621134361127071884483526115119549760446455492148565423173421717514140314497116321231828932501432154203228464594674765252213443898906330551423943361915843109918529631574859536879561514233939336906825127622294280663283129849548209657638586315651924582634193363275762520455880254999763786212142556575051172395121816394611177854829166014991379656102528679253975395128416232694504765562431924871364888109965832689577681995419246565802366516739232648703244789775225791651810471013692037673936129996606755445505167823312597177838835849843448916667354926702813146947879025101779301695778638837667626827465591879419175660789974675899734891936508690967197267522136558321713386531263135594779337722512150810051898385992198766701252241474937225645663780753510021504387669449104671914253955284465193703991007987681993683196517058431951295656733949451779212850989384944989231399449157423654736528218395502135739967448944796540986927110173878107881278680542791785339864549946629977254158059557021836112674886513964410061277424227897647642016877332937358868285355961217183281652031294516589866343767366661378367544579607650572916576278408948162359779594808422455920139994544978295842988890710083238614861715752388439381251263746410046487751402713737619726468389468576699064718617585173869199587861006577267063197533934914173377571557515882640205377328181922936487438245894175910847431695934677538331986193824554420277361459680538128179333327981496252165618924856354789563961004817797927598239325310470109668561648498534164398188112191629411966397825928213557335445397236772356226515181645888518143805963580753751236495202979584868991359673216687962459232486996267361914261563968973997870559891971967505095903057475750535145342334817982690112242635685558787492036637067199456118106365137921282293743374010976037423890748643163551292305795759695307528727655714196446739322559331175916168150118092365121288381652446118294838534831467157799278411512073859096408193317358368832278912933736359197529429730322119585695295033397115662038569829644327348559133439209874338211357849241828477414593595866752334263454447293939167521122999412358638757611655926143879681603987705611604972807379802414155016276147721145927443465349167973673784619750893463378884115969726467199446729888773851357940398292247249785877778212625826911629384029452482164593147850727142317431778639764130363237850251318144892647493956632491144344732859910077274261383987808949187928161378666026484531296843554836829610063794335761007487135158819571529259104755641248962543855232498437246626197391639783897162649737659767882967751717633845476083434887364415602424827359762535683998389544743101857747691723397113090733874478382617224587661452665754207779365046503139275757902445212286488117216955881167829338278939529518320936052717926804246572111404155182419991312142622856177637797368509979423189162996401528548242806665977451221886095928899479732606357566345141410019075748196337477908881003352686032948175362344561357147197643993365178454488435527225521422215989695163321277333743073946529762442206559776646667678387596177534624145365898614193511549858468212627833571016565447936675595517957779572302249159465610018826228603922517676952108054135176625355086229965176762034956012597754937546561593792120424448694995156482878664783468990377661454792122149758475123914967380481314197717113788249054348865773224866665188447799873118334470749658244595738661262862461148467624824787522551498689160353638640171199215658545891232824840894210025429651921711377265358727601643100694280877499299368550197938100286030143561856617662471901268701522557428392167368848737843977605865938665317783867690625334784688557623117592823273397824302920553744733689483145724715134292229794261831836091901746464716167183306040746175892662213271017771566878276770659446643565963430128718149452723203432946915634949958711223626460621720847901650461258231362473847631005839843139761124920511003531396447013489817899651953771836197394052391953723967690968641333727658977848526643472011686737432266377810865936453749574682298421915341004869381034255764169076721782266031933258769275755544315644863943118125518088841002378535990686427374332255462063135021515335659353896871236840393058789521935116171086697665114886109118143694936447908128784339223669716023533790471822356112678727394336092717462532379100145860994542461766908587854738445237221189732467054333284574522257775847429765884070594284164315507854981047632085104345198654615234104878566017972060789692628679958483432710046768027082713352544468294672788384552766358906053433412228818262977549755715949025224467972155258556726187385304893442879220412323618726411772245669258767930431679164939459079639551104586326537838601586947990112689537926968196942565384973107233683948848212897728926113035287538534334923245343822342582099649696194197469296334571435110022233024402598489729568245795551837528522771821565625464477114385593623487519653683974547383755865421623530523985437108567963337450842882551251765169756273477456288017089274087265756839443685919150247535973132574773511955414133731115889655847998507972097855861866156252475730411397931004316424891007269571383197246866259150889970441763447885877047259371911527355554285502379271004997740659876455442553655356712452945531835691444215889894366083631490927633278663714534639334878279647171002819273539082899461972969479945924451765492396724272721212062633496474443135886873389351641742156661553255433943473330941449204634637197540958134256718791005958495748987363964100382097810081356751325771994243983195199801008873641811114324153820211697586808369544778721840454952775788218571932919363516468342562163335420475567174348601634687918233336565307996111475786644227264953123376885726892437326961232512276104765745198633613635821804989238609773714407626195142849706667394894739863990738417099921010069967514479977350512681347418040134961784762912125532464218585459332241355855619987958541771621353648879973387246597631965197864168752266015471095812877747985910049641186528571258435577129515747513190358242429317541212596402511917551986306874305792778877461009064165816037624091294037741410035622268969958947394329444799599774576796982167641015685699628779754273827577569633912737748776876661821827368167965676294891290479583783525318962174082977928466718017107357871724291495617918644367398044798207348102473764701497801979214788518763125130682557618674556727240518860177380947462221822401655642954515552313321454414896329624362669297264067414039618413421002435619467308687179226350469167651148961655284612915669061197527987483793208979886238181525185816269835376859353233227730583727437325401329534381791237956754445239763012623374576473754248491659991669137417981165718327788343594573777163179579036494923116820568761475894351698247635666166335482845342827354114486146694263997039951993454795826848931009989159772313684559359862386368887564756138774629244487781205158478432950963883783253853156750623087882959709531633449496065841003696123790373148733169124554897775589972078924311100466173152113623589589721191365267858669396242689314925881996172783708125404738876212453455896070301855395037875243155012389856084524945456456424478687166829843267845347415112273161250709077386191582091474391187757749317845628596454967696939837547264730325524239053417536139538758742428611857231363208784332492637445292126198603589417376483079438391313646588121364781772063895283987946435931464794593299989735293111491006883123430592153996426879672590855893359389494567396585724874577187763643880866954696246389273713882706119265427359897931192994231769318310171418931777281701369104415424084222976395587381080509433632779176265999304620622477586535776596084456084602111411864397608905668384733942895370945910093873378704699299585486701003362279127454169748760849524389213493561977207553682438363728348913986770454764878627935777562075969247382584297713361414544625140423091327828216133759223496796264157483515413197639862465554818527545152945021685861539837584394364195982340526473677956907414385653821003073635274105286153046431592949686437716338444326388747311768090388878358558729376979795324554375594358388461824371188598585307136502413433354396645683979792768916542362289540936471616182636981575229453357731378420762346318110031272426027407682251460566652281344554497717538649499214010714339745510063372374526754457482865749358670526559313443889267763617689145938866958784987552439826740219398408674471799517441532128631695942615698344316832526243027958597648246256479649421419914765976643825599010055515854861935720619373705110080533375491008435817562489588158577375348612515242834169679253175295187693587140703461814310049812246933925891193412797628607186519210405955543774449738146386335858153353411710716866616278175403311812768186929784115784366632625539163051196980968569234868234831005792461636889716525349537298187540819411662060857435617171896532565224324193419487723217294210265521693266601596611155514967851686844887527358621178187840247170899169194817132476413655918156288176054843282227441008267931947389818304849321001003310153961286341171738885574179020741578713818524259979949791869143093103966515999194148733055257824787863762727084401411009914641845772156481159679821815143578216798363277100499987052934770861174306663899131344617115708217562265129450892438795362115278703794362521675754516696091451285326315809830586887276162267141207839933552203325982774591135372656466877153689581018686948498675754161196834543550328184148114719613532778546389218567678591635993292333568147135868418463629913976522910026677820672782906067242577659910099946387774016794515819845992264641872218271956194685349586784933237323328098543064712369214515333698198890387569248807126725846931694944678332395931221198993697549402146786222633365821796162813814329921287727042222998737466321395621392375522998517438898869761341637312025654867672726843191585966425968166878155656698253279292651691784899506182192284687588255211777793997529208512889304625815752778484138986863197256498511626394641694082297742325347747154918370706462529451557842680965151122274112187368953136141820248218345339155779907911264475201542454742444926704589846991911458473469875681468853087672155149441879991127204277672612373292261737252738426887918352236928559141293922866664133823703170635510218537599079572867259413998687435064584233438366893271216555048689152369757295292586023609033535060999833954244714687282247882933210010054521847401248222734349372988334896594292423693814929251862585156808697295815753496634176429308277174245713292952968897858097538277032086445934389987238471030819095545823499670712717226181865592681698653933331914182340166046425475624895473120858499364156425982895221732810089571664491984126673119186215949998646115164679145920375708963786776826390603244831065257979215412153539355523426572734712334899633314566135285157121940901766557885679989408615533373812151154070551286572668952151781598989956807577891599592950914760563013651986477057729309618660863774556204590968384192043427242987165645517726469212325731223788458287428144773666983258139646326292781649983428802129583110817011324595680542233309010866764684288652412324813411576120256284650599187943325436514297114694238832651057838786766723110391537101333998575534554816166456738252296178338556918726868874084227243452852902172823618262770603825872042646122898694561129341745231266876719841843471749235525841561254020282421486689756805954563634877424158567258349944118726935308140289658485152452016171515361699327920766054607052359046725648843668949828727481411319626136808946100296579208042872692651971210881160215930973297287483256052559478793846891275866638117191791680734721664617393516089419741998545623234100123243934863925376919902338465662602236753797691968299473577049562943397654413599263476678689628299935911253329946072538244646354299619839895569697947539732727354341016907328374061023189251821132623392113874075134122497775729674179238868896015269845642082846674569322528838683555287768595418757732527419799758268884335865793793816074118939525457351879210389949363779207310036509183103245366398428592935184111897319727865145813346145735919423945796217299488988739624702071879982419237678108010040754294964781883453277219697624276675812632602928074643335421603464895791331657139780602421886214836954371969149358569381100666455849691471399132866061946571929607010338220601432918233117628161296578269154631653993974966447073859197977810032842566628888646892241365784411969277856564129266554272721281934658015945268939547511525568085916572763623206042867474589918060137171843661561864181556418447929893387576837205085634127851828977951889254048845594098498474757935171281145562777385142515536610053837286163153299535804118133498302629244718530728286468228384256790847826715095586709994961106861178358446138377754505227165060162172307417347530111374867793156210043637639741799319747217763356434965049748431176918575684768938167292989161426234287187735761263226446473184199380794185446782204772582724863725285066764938263797735139051170146480158854832796273614601151591563973389542696943485350186596342926335878787953978668510736379712912658953413397298749691006412151037281993466188877838639429978039117483419671678342911478078765749985864350468732839519355044252682123486955515548911598661425886714627527431718486950767793216655867344701965336358782592666876871683722939533359796889771810782338401003136245691130667239266716112907484454749654762497834298067988778676783791244098920864947358201794846225694849599894597252166943598342073186660411248777261794206454958736908627544528457724722716456550535846537765285537328510260467384657339744310100516833986639100924095585562930202991344924302197741957319695822564338318854198356517115390798564442398061229320881164311514458547829711959768893983277646249807759553448167377910426318736465816901292206192484444265237992326763283747610059135418676937529376199491406246870744969521660552625679749136727236256277299794322663948344687751714645777583496120100941745381550717637902155741235327337559635095973599871069867570326626845044155719345826678861733165718713537533353184297824322363974353416307855421291742785392221303763513978786522230752381705820933724428959339582826385778743495286241736767610165378684077702516305996801847617538261239544735109715909152815379998776347176239973595653504823863694448379447268268365488923438681957844882864573426369445379782546987709067192256947214694749784775067090597188216857614912848100119043258113910941632766435762678947218523977470583782388233208942261379621231819513590221537243233547565848061324744552243417155901009091499224158408245767998722022714699173021566090213693438100882181359168925958275826287494396106449225593695734827352297388333656272764961029366692750912797685526065781118955242553658266274359446877404364617928255263282779688049508470332719763418727809248576791139237926524531970703627282590972095950625019843917559130199116153223185551941274769920534326175010115566045627122562895350527557345683354152877426958846324958135512111002178897741966704768939861739611189186686863138121508117641806681525733169793673852172251143511784232747074756461308652788729199377321612584753441427612284122286628246947381827713642359796790283249239131134872856870849343661728757666193826468956127839037546458813393467798139111760608275856087421748225077643298025814686459921160194047202944631082175195252849702210884923129754469725799257692615465031901082042384625535748171710217795823528751338786239553830216584561832473542123219225312232991252075726178695144596593953923257684638402465299832124373553456893611091645187212756951741548920983380213381718312345726405335303594939783393211759417262487578234413385482100319857172820131008694373608854392576583085934021742615438726432918466636993671354424851110821133332164535994120637572658791835235104199444715863277341619486133360889540938758829981481549352034627763179829813710661462887610043413989457557373536935682648487206295183616814268489974483718749497113592368811811040602433376717692116999257995581838299451340768432147458530813949393391166239997620348575204727392492514756555981794793730129431869485801002987748100528998997331586973197099422755424172368065882536191838193821528019993430853252924683581465146214343663263189765648267704532242625136399030998340875554415970793841582072195411717612231039825351963526594058222588758965168234469508793364215985817683862795267904518927465729970679321304385697593427245919688773796633138010016422768592498517213488271964416268143270655849745122615845997165423037271933755313933629183745617409443834359551755983197531233934588580258760435722741988584422893469586914198990435424194887462074399415993785881569152238884332226266845742929441018129875524269178791252346017383695959558874447882123243536888376582977455692311846832873997037896872962986387836316405481943745447135219529344733216894877421283527537418509584080644876821898707912801004766100526479188275836367730361009295437611757752714113859937943889967756358696988405019845389799665780411851410034151004615113417689846355238667115087642482421370963552525342384810018525917580459378311009775429948578599475032125641136956392447499724912277587654224791855588637587683889188349902773859330796430253182201930947845281263570915238906726122025916652099875372647779734442584674261745418257694711217669279324497511549624321427637227936256901153361484072385939574590561171339448943078325691836190609934850542019743776585142991436627271158699754457938771774228987922570436454543998183334299918455367386861802660172581739899385925858438444571537743930168816836927112685255413233508952821642709762341005263944525657087386934876312209363472531276413529315452707313734026614775585040806113569110636713602963401731307185315623847919325586658236598726505484678609927539419624499127068391487219125356335595940929379106621128232254340703414879154958046711009796790728074175941599176851916985311926661378334764627646534237881918280486194166081109066685321163544283071100143914998335207551217971873021918512695060446328221637585144228809292203342208278844129511139331698314124507313216024914991895264423896730926589969042168343661159271608781357633649723171475334234687963409446416369891007392304665907310085861090612642864549965671478783894877572238840317794293110138820173422982777561544967237582136571621465018197627711797777199986805232703629766501475483052734721707983266180831974966577691493226538236294353924517099728813614162491403184127719385039699398168463358681825478892242898411527747221572455628850797178254218962715861431946273159783495097623430233261780197552611049100855667242931635685262777741942911389946812037131196275613372460813431836454148816722831292674202353122532673738425786403830786347567727962357607019309569645661002746351773859266454614464040665658128362124899195576616729979698532226868672742477273398947819315336211264629757539095522679210269144178327686391247569624524712264113862073103281287808317315215988142579165589314132657210547354385233995157369569129173736231365061662968773497754942275864618112119217483679559973166486719437463428125143064949399849224452179306211965868102440892255977783174932172403010368082329327866869774822495851826974436726471353197799331175149465373867171906861112727438553237134997019388115111753149348895569653967821468295129817662435158969918830707093185908092567353173818847140909730594346242482806065429945889757725715491603264473982402775666243361934224713085744831317915998390234499081495139212635510616043541384220604484584321968220970176561830394662919265461427252616189855616777572598604391297262662837997182824615831849974873466312965880266844663485207120491811763777099389649862666796629746765316767757059458286306764819814914702617439074392028574581473296796188833948607965350245408473147373695451155542783196111991035259724525376955287465223674535339872899135288559451279177759752614716039208335686866226581949246837994822237741415236837773544732714582485889428145433999412956575874294574124316867293792383364645804099489613741363405628046826045546669418291565188308459659503270922231141893743681335914446156851572266677795258235153605375312913373944455407143934518287043559688312682567644352062383615533095188719589259672623348276522181244215688227385794954591855362071834739104446631003621532868955775777808710092116418526991431218982919801871363714484646351759422554919957792326578748535472744704152169397888510831589691812978338392097587085171736792543365894672753492571366252691368415858509812672277777754751007359588812811314195863781589780578584663939657170756853718074573431358284941314214433684472864425656243615997619167561693523335167034943188536250650226087111753993062873156355966478812213176402573894711111275598595567989173955429288490323162365569358981890266103737337871783321349460516714652341787482947072799475466397777797433793966287658481572667466291701222227220601019415613457893298426448713124829885149057411786717958377245222167386986342911414915795537949221261679534715679047715041191312686020416243524274578433788329807098167526939936261110333281192180524054638090728196883916973795999789748699225581667435183870276855241915228383167719248336010033939050675447266656217799532859305214651746751463323934612286995769743674338603110047947463425964939774773050207492815169319188844647197066812618481182948011502261988191312094286355507112338056624528452529425388981005089707476149991199227262881584092100857036454039187212258788321529912038746984307357655852980482944777956749281364459028756652780664720461981621161182371591514856768434467734041261488588749882942757324748382915559292741333987519338936941198162151042247224318164537425127277027443625752882489647973945559029911565910072141323285870183589771223824938466939136895686545911157060643652774193411868839961467269444220487373157460171251228576423580183536107128862425371367763176714259110074860828377549917754475995574945462933481097494883545437178852412379868212386213916193560896147914541914653116116794967260245136323757458236225421052641796617846998632514215768775775105650392036421671001032732674295087475322298128177149923504215784275194010037191390895652573880687525410099385385663236872816268164659617194258843882150329112267216442934476992872257562623667663822909688495011846176694967839157689992588287111192577066763475457184698130895710052979897864599296730844291664561151962939056914211838144149678065838782109176837467831673222657191895137142628866276452819856435954244787380617229097997637497378137993495577158310054252291133158744379948683210039495645442445655305694571742927081445728579119319070716010043221029281048946940424523475415961685414515983266383573740265267373812421003889301469784689387866691009663463121670952413319899954856010697758885171745667378594274955814599397827313994779878444964288354717050852138213745396673696632439626164228105693782697050221631434709872674576220417234962571004764779150596811643291989424423597145886453423798975715315176897814373100868764412082312831484163395824408326274730299960928866557918231744893109761532596729123243358554161115211222543856365953645187591684296378262272188231387676676341136662777588582537325289537825904163164822253458790879266829095298211298372349612299438562774724258465727718351141305813690513627823035586356479852299725425443683244150838468098597635982746996145359871862894695919479757169077587640352280285195867872279655294618926133832777531451796798155852110080502257401003357206063413369944687378704077233581982790893144651119105731452046262276805873703493764466225923535620101001317498514323744109485804871395530727025377457683511421669346390444978443196268187455936197823660543691212459420234071166663061814782695493566731784567460961711898029474364473640493823672679665723583369816565141781417980146228277086411481574656945689784381162081273837521917292970824232119325854164253722538644151668227849268856879188934595718632835164162548796429219676332622836132223121316956901791413562397473734873894443218329386759465994682856358353113736897191259342165161901082411455375469222753582435661864524389633814251323093429268973334653317385994369235823749848428752608380727419235163860885498251116319384019922225665735426335109100918714447183366347717263488435328573821851543231854093879506697854352176859704759739085593325375580543491913931971151647731089490991992062596649257056128118529868977080231884422181933080529571402637563277946885837671164032623466376559760625714871481741874792603791451771707858477469276498775287832150709163458487612333068131405275792897058399664606952286442155783655554758219828799771283916268306875694384984917758191093587021366222353614896017497951488735571996617547666161779510974588781212173220455757741480817361283305063108073219844829216942615641862918116233369676121475967986942538647643549748199521495721624569722092951219941399395570191642057745167882347399508819295628647452835832426925826182176715083631918326815634181322216441514812866589524181465616985760637037537653465619831758723242957753944886544906261587541834874319987980551829366912910081978585617383377731474879237962593196321849997388867392280303393806465858256541295767617510098580982825581278834746481991006139814434078532598426859420756168863192431371618824217674771303890662246892673692471397242539533575939044289875325195248235417111089732447442476227195667871261712582428295994538919924337376684111702538336836826256464870485493973626554438779322444179955212205718667622568365863648014897046926777586408395555169156955557599476238946958115892737844786609845343084115415757952167347638987118196752392393042532207026903698629344891930818476551678258724994551697695894144549769662686916788412332117083253533619812342649979778684673644130721827251455552714144672679113397785186321522977341749919190116318663571158502068194781629651910073639393127566100527713837902811357517162266178470527726755912238982319922828131407431805731927458833082944553234788759116565864140711030865135517919695158239297252817951345498382535396383175719714622192191754263559193848212617110996564965842651768925571331601912652834246466118657392038342848127385586703625223648716456933842397146155586613682387229806683555294847493774668884275672803430256136539156375347626434679982669442991263783129977706654692278738186457536484283724612855577389905836483474687448307169852061361714237493233296378645597456446591003228383817255458492356571422268065306288361835784125554793694283102549615967109410072541356322361326369821488029924493339841774299305416505588202364271490244171653812291495640165348805913985484245869877776437556178716352571275910079237411901412392655381474062023876985984173251723824618706629837017554446909856286454964247117744398332271995379963307138321927651439839356419428687478885638141943646511943167613783774525341009772778225371420695413617857435928855070655920153472695168024332940968470468439556214414959275892957256141687628432467604392986452603266162730148733306222388612855780988750462379478876399776668611699264524797878251425867296875265598933844963629192376338098308643916764899689496308498522953610057747510073417475372639218556885558228574188926210320338159062418065874322982202151135962648557088874618524881431007879499442567864791093273397384543257235112184274692796558122187866612487128229915113485415778239327879086958232405565156357412373310597977577419363694434911581390343831488915633884989855170683820914988137642462550159121621100336589088376659929882823885829995315448291571397735271442131876575329131307494649715658790817223306418076207949739638273371280185395791663175582794084167163763323777464091155030211898443440727890804546754081847355437574873755105087579135069338241586445426361917456100888882963675505438607720952424647064496411731989821862681030305011396970786285681547932677723875620469369667563852873771937762573972654341005335802232866978639041496957197821819929221585795155404738399469033446015711290504536774379553731353395237150151749456119776789721131622937384295973127568442213841226115048575533544165578673155597944246850813039551383115970155437256577176347136471681562669588861452562695023111227207785261593249408330216270376019963427219387196921953596829645921005826474381001008345468198609154161973118771487159616661474916372579781089021192883292463577051965725232380535689542752218918728682762046485176636098143795897217825100846555661673353046459262607100219641334968984209667206428476273346781228018295623464593733764364584680325154656418652126820309121786575499222450464623746688717787306130734449693036164899347599264291989873812101884634807175429811792362066823726295819277830854635345275433949458662378438427543425886536955216472153307945264368727234877954511138325336023402574983241769346889399369992967397235722184309697564100579529776745617711001532585443247514215357976567043639496754987757967563365346963596939370833224370134022135068539529247848867164387791352527719137739905285154292782777929295436173914127260893021189741869398785369573826764174973266774089543350635596763691968681259432599788695067453123113299307141596852813015327980777143354320288579048996919045683692211595645135340789310075443171114542312831261160458422228674736334499022753298367353955714855457962458057371380155415915485933010078726090100216444212256853867935561127651150531833293872930681892617574944372384094934075852861184575682351686851635961969055045638328619363693130297542797349241451327463906217509124856874487315483531367627178012928866128731861151754962592785232588657759477754265276636986197481742217676254264703984611422935451296747731365530707134961806896652828336812268075306388194976028269713198769778197790824956132596825979346547783798913353544418163391658151499153161622888358591539741766974519766213320647783373647936049182162997589099468841471987672555379620102625886411216143577728916847176461204232626281728951304292656596153494877755370283686917436456782733419732538341676981328747888022749271522358926171319550912047966916745381714450927974587271920401622313867313868549041595947884625455064289150938056284932841941876164183125782480374146143664588078929446505524103555482695949275131822862535803561586978255781604298376163360387517086497037533514873895642692939181946664212485752983874833707611889991591009579226100803968425134315799100237079638730726759166274738643141421134727165320813144699758279423617369337602681624689892789832175559321995996053517933798522184179203083193240982121176503915989840445294751314505882954609298689596282795864338531384264278905443752770919542101564733683564821563010836147912714231388426927259315663496087118559691516838927861741963877472709219149926221635639672795444267156846561818357430288777611002932876521165180886534442734435956770684388433338739327232715285628953458239542329742273058977762927398048547662249841240548129677845765796100637598629867675641353912750512634768197238784729100349037149497321998626287083121497534770926094154969973731277328495841318140229425171818527484817576645286734695016105641566057724518641391298407027526599111231855543534777171398036763616827181156086588982944349442759323389574442797586639854497978240367332193183484396132348397617231154696518959435196704456244119364498412969287947486991074859665173498596696567897122669751168763752893946551285711124549481547707973992973687640928411654354388769333249164564841232318647810542337763596803099998455356624491116189512141815611856955359499615819586353921283150116721714516189534885680583611618134302389878887370598882629765789273824168960409780932618972199534767843332725983392928241100643371768395837352237932369435224363771735118280591528751966984542327775717173329720524187523375451124992442666982259668377462758297963274553793763678892010296658349224745931796528171275922386704752642662306180612424118546682276652233661660245754821717484797603863949010083147071589446626451955363593389399469525820232088143770129721242631832850644967954726708291578783013402659144173986354648635503067871355188927879814889335370621591389527553041736965795183705118340235071665991401445426954857825714636288942961004821771919115683809199998515569615124153517335562194752547994452794477367958583757875247388721100549768655639031236967698159421954552118118610016692449875538458717194823591003383801983248040453287938619108249218213123771272291579599432515790517265325167972829949663351436871489417585223614534989813695113865571349450100311638010020335657995569729378336226267067297781311371091312741029354459217729365243337082434422809283799271523308775303835662368441566549962535737376073932333914433384661658365024402711791739010019391219607877582592627275717444611745114209395274984520574015745783741046808025224415722172341375679354429194705250548127916386374652778162942960166566753698914830969593391796867562146212190576276414073904975255058151175564174397816611243471405247196715716737211328164731745693749211286727669727540461629714986167598100306385465545877526329136825544671711762331280441213944977771846898275174441347891291340615031406317476447988791915515383401780565553154459258524637757872226605334241464072941890979412926068682528784802694782829096827936659991558662586599943631639775988334845492247567931376757036641471135298522742435817984756822429413279907770839494952326942930758828615869486712656801008344434218109751929509659975168921765252794644451625816999839752873068445132988182260702442903040864530383911429689435321763346260685354488365244767420848810877882972625572154100979172512997960572221444277831985962316696114162645139693031523529461881652815295432423595049211933252239617654305345359121863498177484429213214176534579350896312578333463442765248033902858857396508850754369336010061717734325837419576105821496851296296604598485473768527869622147945739746209210649716722346735817482371776468865707787383580377030229243217332585748996254526837847722965090257782899458466849913816651643296292957257213274386658493866788749368046749580734197932616606968731837369869138346425747135165676610423429223454712385433655245516673546318717987560966894441023606398982774020958450885031584273362844936264785424187408578233918939982541484319192103606057359869188047562693791586641324919770909410104539597139597397760225042119977261049682966467587367999616104967465860992535439582992887493815960648188221229139260877364975883887122595487967331896748266216761892983596059010054694349996967291952633542157661007982339290457682118487518596411169383311625572066962227994643598888356927194248591276144317564142364228665358173941077803655267896197675580897816488428187612362730768699378614138556888534191549155746271521966364328884378652098637535993583339748552119566725383548994225139343172520712939998299864733633030719384371890506611127992842822334723171141648617836321555373820953719475495812827995377683664680574850467653904010032296762365525593326766475743299139342108926755213837215548466677293147652358287364250211005176801143676470229668142674684928856790128960231285965937129255462757637146226731179882867681903478245852130562596304784491428488125248765845534459172617991163226192301140364491101001825593662270478966373954785028164992999938995416235435130672675100983524963978162513165065100687224989507236537957591765816224703299559668191571573358715714802128322219758510763823473108424724694665736945845798545872454902812365192721549571845964861937468099399644991727146306593677624617745388382478525610745456576679698733647753478114136291262842932846315495627162624897651782392892499424922757138394667264863684524025987549846617312366972637461093763497798950104173254559582572952433255854337448167381623176682642741521055337356557587183076884741435329682384692119569490952660675592782086479870434378766582736937926409072725525941067907681009814836763565829113861438968118167693565761860657131839775897889836950542479449881928184179697366893438148692769114522100743782701958358523646465777543133371575248578244497499535238877483115091984960858420443022810333231333079426241100247877788062896881007140979658533154479378943123621512134268584423965970525710736347384084318846408157729732649257549229376918563625042266135702481577399443725548995966961356183210097106427901969714890175642458839941318863557592769613926734809632571248321183640513749628136999332115653276846423992684181921157492823243566975743723124232371543225798682328296086552695459932712276703174239829883675406539015357732788377573276763216847755984567936410065357078508859838846342953260987649927851261393774145917043927282901893887769156527958571484865575766678661684758588180277174398210886657439877771007961702538233397883350425226662246352195929583273809595122575528267679905638924465288399942409251214422312720885188698112696371877879126537311024326635777182868629312778765355938743955490733577485485557154744192848996066312786836876873072699917168259953333132491611895919050402436883759556386839269277897883996888465363138477482173862116628645681798781641284596526113276593942655849792238410077186571941976805263406618964976838363848696813378857268765249018626674806641852104184834474479326016374910139294166992417269696213248524427394815398129341542455813665571878346231003314909091393548580165867416821827933411701075573698746116917103272453761889986556528618821925616964518025941647242777018637125391658989601347785558566640709486602768698588456042803028871004691009354977774325565736934305387935456158386195927541549419830839341593206092471021684376612269844923999574565339719937142218633985295635402266814285992045739663852861982046848503712165120716725506021346588269825297198620249685756339111960752522216346695488170138455273837468168987515325076827322100103177725331725870258384613975291690547299147196284081974918322415243793562543198517675628022671625136177827829595555390919239792434943973613114489631197115467879843506203477368082378695629523172045973656851375624621436134670914575122345957031761816552786448953383146375176667576242255881651353645501414793668158148971879775523691929692271728857128504150971865803410024615223736632591111846493424447597483341568934233699955723831005053361510985583211292481158798162483411051398025593338612707547629333621857666898839889301184583631709867643126106972738781168443743235750315548337883922270157613942499596642051748969517475532666949941268096982167376056146877916474573997501469777968413663227568588859282385270757710104868502789963452653529246525824101001751022907125694598206031155429347714698345710016921469647684755181783410951265603977611326981063573445339088186751317433269854636934194450701048298579447172659681530749617926257452141485382118572794861254413487702087392194549957963610773851118798593274987211882633628141804098689140802286601032657362911180772018943803865186462213985724074444379492717085974470556148487626628662323973239954537502755267314207510015509733463627183863635446423911007924838457581160646020837194752359742540664525912431005979587969805352100189530183394847255721396689676117612627978612623516117759952384574884211950639748949638374653345993334173496659425808517994037151328242218225450717733853018704322741975314570939561451642218212684607048672998503365319622582348465898983942867326676716425453588507189327089958053431086778127206175730253930785949380359171362161754310026189581327917946527319391526159455578684187663926779413259769199217263563554492100886897983308656787377193459283605883791994306882728867386247123634447591135375544447112652227848848478468923946643157675447355515273631006333297823245276172112616119242426695489967558805120498812414618836348899784489997716116326011497877491280239549667783798019320322384773557715598686257274952196913314955997408151324705948418260982920346741993664289977136816250148169854378433846755986405539955456801341972542737322889248957282043422447459017191007891981206362143715255692662468241565873562785785339224489285541519606769226210184446521020127271698996943172646379116999368354566822466832893166454452194280371280365344100495992662852341944886317186026715741003989797113713591846550982052933999324039423561728593515311772910876444819162842100911633967242174276926616158743616515264174067733261549150667549307359739643496848966323252472021333949533527846509571417516432147595938442398579747359157723442512068256096501555237556285516447445516981648769996241817080834155891794623419821768798523490771929392698221726735149802981136574615719426738578090659312361868653494569538202426458891491159741081394597187451980124217412251974950965344962853704661990277881137536372735908587849290768920906870431965631945742843522795179652754154057264277369025735228606773949699801568919398288578105125609612327384534537929978718661125794596238315555158823989179221007861305781196369741297408488773021453665228675894294613962846668333435636172788493118498387181812382199827782169063865714944943993884432880443159406653571713756267438138663157707660913725921656140392894255840204345608093942258414774610147616119268398773531535881463224218527842352392535757205012698731618295677280456331744325414433163461296452634699724376623739534922586630818571855425701541002786489464832673921005758710012658423096702325395627701615627846376364883446573281229629259161641014206450806068956223589314910299100917156225503665962891472362752589598171856445864136811175519851666920152493281924916667422597836158732114881421865618431143721177236359488117522132975438594238684765844122486469222343567849295847981801890407820583475686174194577246146478596114567053264737877674496266710010878697837416124694261667639206791728220528613647798681974429247531577215784100184146512792947956108668100993916828751567273237584798878510401143434971449159185845198653922687136642487277277243825118712426772238482791351253330948164965873828548901792475601916100339271193569213710763514736239443784918829217201938326681110096396551247318537374101621963082237639154395967257789510408838235467886034595614847744154146836725185865213572164247502832528895685187610088397746691557713930683710404867237816387197519267623698230924038882086362824662559671435187349853364738128620227925845225946335057915231246896951695892100818796413868736185487553153827753893087173333585712379951199422222557870447967753685882813624475201158730138086253449856537722262470971398102773968161246439969689131061219077717359188731353159996399039299374585981004236142360249521425230218032886668663738432993765586819547039185586314688724201776323587592251683016842292857835275921363972209771416703589243195982935527068487290419762153239772678777685773613894383349462392924351004261158513691943325915936146354488449884187453444928493605598326774812530846630245956134894251210015521997159997868882839668068319911963331931493594583191199943123841795199551913364873683636386347822143853115855359217374829986778251288636037102563151377157610736542382089936899158844077844018625605932319272057805522539654824192321933516100865764141626461399317847547816792440274640166163415068988238842890782917773241679886284975779188168634354907096149970496433756011397924118248439059344895497374521348157192137693369335154693755928341561552635825649351086232379898092656892234339052100869224298373351017842140586662956390156380193355622876242796273144376194182531398211181245583546029020614472251049779981570586234723463304451559317451790536242911339652914861151132716927111821457919794082616725232053431780798125406310518795413783333718981652117716123694463142445968297127363942451229172784233122173734270954571688650821969522763674127577876823347307383588398327434353257016475716493727123681077942974468352296695993790149394714750156735852793769349088309997543817044169876644220274354461488645122587441573540435879743618391931871798434672013679566987586998280519125863491977468131542892970637528298857820967078648627549698915278858110471932985484179338688688264542172993994834857590942804654721137545010276940445527938844358810035278033508868468078344457187735437744682222731762145128265663388489822362382593532863775558132651567753999100921638533422516046826623247382063462826181810026745218330846727165743364854638486783326591811119832676671193627234652876162275531099524497262707760868230297939774128212298359116836548943878821925753588398762844568185895393990415339850396743345996680332585789842122279553221639418177257363735376339862732141173646622526561292228584962978710864963216677188277590493519933673299351905267748204798208198164313536336188777826589259684022985218506612114181714814324274348948129724189834314495312229251387138294341527292295774890352192695228246922376034458698739331485927388841677797855457995223989778270555265282072837552747749540411100453135193270944907768509841467967694715231495796232788255230293844879057923668302928275778757568319655707670816305393583331344923974058971437915242083342847383732234679481789416832289625922453087970274814618735389666577765762014108184243684444072783138817247668570774556902563348980319054924303581628198116257374781953136308093163922073527588415436303640904263912892601052931259886143133636319091926599324085373438471547299987816053993899265570459217114874822146771822746217121355874772875883592148359271668334288992481343754243108187865189834237146716842453613167837533335524758010044615511774788217521127359531858485973731964479686332822967056238536233910026414242917449770931557136617172888463032554722449198754306115298654764389086973984621321661715675082992334107024937111269296196781038484781842926359192812116146465386478596396627889276658646537984835449102516941299471218830811646278208264489525582672786063734478697831283701441656365527267932254991885968581912653471526121150687835342816259384485851993666697932518389180176776672683548515265750223020156793721005812754597649444954463655142734897778247327576871295762794262154597741337335781585411868714553967786358526524337652021798470754160238799348251677564876414317774795525896323529540531178518374777732050739684352596555586630638870999617045374449464920842183483791339565933157629135770435459271203896510072672986244361006535765526390986369347575192853858249856172343269510111511119868357165758970341015511160487923128987293412972745228096508651493441472888986567484594558113252482431995828654322766880858231196487155965893170423890837880514320255084989445351617124138786515559962769954442358890100714986111453851796936314146811536723162461173103121789292878639142566393407644579570799234259974259723794817039688123655378811781974576741333142851494731110047213851272474411185135684964453837176812534593692897291117383665225173270108293201428196374554977428168914083275863826951417602388648832761161415558119454415978594765161111205785848980262402792727680192656715998285395112822584836956415189356790417430568846427318106578777449281686509474496544191115544539848666583131675597299973768589284896457529926416302398891433294194701485099168992584879362517168132438623264682172078467067379184637121764315226278372256833963629022100591348553749657629154079217262638248728568571288897015682325937022272930375022496686344170471687215085478610027609030956590812466765762858344576198326744743428313508953501096514786781581411415432413482292791116938859804243971723859394120384295608047929140484395226147148832333458413111681606253278672368479361470399663815939199100707429984834323825266877506930613369418155369428115133557919686768746519722776519174438790705876147377666855247841811733258282206961426319822037462095279441987448152384396332679213310050837952688061718721434910738652587332937022285818351053596730522899259417209320232044977578632247568154823854938315023861010981214910232965356452265279399375426551232761555584899357498912996128538034992721702026701210075821734260176664142416841816521694743939202394574835980253411515133629675556917279442939924778275953676665734971002540768895332767739933211419388126295367573131715458144142340545159655453585958364349882425463544681588118463996301394316678176227814815891165889486645830536853321444274418978044249986564549452944211710062434741527025187170685458723849337625546042613591276520577942446030988299642631132318887892197254948581286470784729783664478876978421486898804266736604585585011530188619550847796493869057627113235647224986479285940726144019421316488823992341221225747507463567310052122193160935432452396833179058194241785769135229125239714554131049208718305129942622297649867591531871853415732523455225469223265824959333230693350818791555614110044388753953775825742536229396458061751457363715837773964976371168530573221188332617562553965044578746321065408524284067712317779570725042206665415259751149688474771680774440513544891135715111356655317079451674116205889631315430134716786934737376462891395726115829741247325524256108946186593142127703497974499293446434101387637815852454536251881980195317282317214319171224964167688967641289959729809481392923873325356652641053217052913599646131519935318947131548287374421221442343274397059840827351755156357183697177661794433246036584115665123652925797560595781767058765510027858570951039424136274579163998712848933476189998761981176322851228401748938123742232728638783590622100863954691459100853017746259855861552993547795879488632578159734577678499551987589361614224219268528353183922722598379271171952735622741166276209795484948194336287886658679354726801915018917757100762119979047486835125615750884789321634762586361506618593077371531169540941002111376202327459254669854979783486621580370562938652739265635413243864552942475748216865166258141061557589139441773032255587853857881683743317949679184219326337628548661399448931861517551663450693635477646598824649291884278037824713575100893473865472956235752787745131009010038847273521079817925413743510078257760959575292435301008471114769221255486846447349289308959596473915727293308782298829861856295251538138996304997557383725470259105216621628487293100718988994577448448482614212247100963961007116676969404643603727939721334532202092753999083645447215561226253514368815573716192763526124973797456355127997595881243919355468781816723465406561927095307270483723947344046692710016446976112642316084604740852115690461535224519369538563884494115416389564823692651348948722373871509816164177363673124323612681953964666569949731096142621986293438865289224347409751199531115458132537366644968278476795737658937914629776405339389611931170744361711392374907019772448987166849883491718916821799549714724251792981302669335445677653427088458395491251801276589301932342203948642145792770742841004638939222895423829971382262726423267022789866650411471316287168665495699254722945954629624654445063100654497925334560125765289216942926860515259299193883288639388198413998189365671780385537547536464585165523922698832812618592198169786372447616643889883135111096519631631194741994135267958829353273127586467755965638278161771221697466793262139745139846214985312612270198078305927461327955058852628314413521679629490321135999227718132350269988286412681008765842635983640291470309419507153805713618943325825574837100308874285542104799365785783420597118478269952986253520814480322298341881729326133990100242893885611629602229212558898841488814215622992912037688128184386838172462652267993963998931949633462811916101005810502211171852397688362099116071416412918761635513195880207831191149898393101411178758337823835315430281750158937135755349493787222591949978165369697398365180178748332220897166458688636443698895943834931893767367815885874925514685719754979448601881306466486998877925030335942369138757955159465523889383162881791567758658339519603948460885345178682906735646783349506277636626830203642653774475066085674747333193463408438636262351896923137517197891984399352657055957719635405197764852122981978527915247825694718296259643952361691787353675318373481262999749337132151002594539226734482334265156580703154344095606413407518831773578257755124641251762193134213206736282968140539851379818786524968255872794100405341484295939054425708329577073252011822489483563782744563319494898095344659693115941240734822337354522590687544060111646125955739425376314447378460941198422355999645217824478719615815996763380142689141882737332905869507034908812365176922661975143470101771208278561149904244382949187282421915258646322176513376434567337847045163632576578635839307570777385479241509412193242976639955470192983837595227631868984152398284603601214578288477924693776605155233996974806692612654566104210906213259227728330817425871971384441286133498672691133694184450266652593848239656718629601453358247417392734332998532638435874556143664114815971834842665676374556215771745897708215535210388766303897396695919844636769818448656880741176976475171197440574354711517895180231615951001088841518100949867863939905669284616534415112355166515895421819128126364837969141157537138590895618850826499187193853844336965298347576231292154856361341992281768471667091271100401055623542232639342236514723100388393737575100155271670784833253463965280797650334928288143933546116932712090141784836877648577493949254172127476739662388329894799274947457512349442989100529386996521100877226850335768257519754382496801228517991594110841061911775529210931864383642702195853864162475416535153482456123766231004266722218567658111593876151992448111588331247394848910088237374651230342242355978333761781856879587581227845312021924246393823247425376533845253494393731370933241587043565241724876905776663261126912410066726680746641292998259091425907377279485485329307231853275013495983561213637077801076419130221685888171922052786982459456263612518264980151886881001241719271226249277270664621194165757782431858655314385612942249761653671892378237487342945685391213171915992647154648720441314972451752972555988317462493532774685835988765412467689696397124397560305217974594965795048854631858787526758097835557151018899576554463450396227452227277566342707599935165297609511562147895843344527760466834479127918431265222556373349725519049578386938442294565654345742020895773192993076295925169374618193735259915531002659382526729231837781231189771683069916971325014442949942693612328915126917794673210020883430635527966212367664710613335127889441197308247759647707588283115120421744943492445744758583328425203980866522662498178453867838320697890104688149030717895609925187933289528314383751773632407791206274538803385510596178894569681273739313181239781739517274618694943234077100134975987498458494285406446231137129179298278425972437502564712267391185764843731277140114093919357151292853555514128982544361023881863238357522695914612305414785217021844854265644133299116087455100186452934721779719550438654171692846485291267221005377722577961524554283376988418417019917812749786935431009711494184544161836484920808594964672491025356307331742117795872272240249046167787910064752932745894914593891193978913679828863290807525344983926285198442798625223668490238346523758997834188046787619193850992472555698103181092801882462183843915868913929749236090716710539317761535451836201545841886671348920577199313885886344229139479793718215013475369255657110017827421838056823650121846944166364439195553996786611303614729890344843101353397278705136075760273213901445912337482267080577719151609752549393731007152246836566217131381986613095206781262316337652244212323754836424962860515410021317026062458945511784599244101321552616826037915995852846749584226598949132279099764564715695981473193275018382989731239437367010357597826434964071432248331468401212742313276727391247148314240100557793839367552266911535109479292434556036922517765892662311153579994790745870829882837594846587047407034612791329796157404186789544868187324959581871026403322687828519343892567989790525646276674619134661530927781883827759594347559151225582453949337650403222135269199857227865876041827703934566668739966562553741586345951891965847665742688011814155765381715930437160263743246930625490699287699749341473185526829818574851457164118793782266126381001005915871190679583551759118880921005097375910031621088735829965633878703555134529718776889116789069782745621308153314228533418551974999173476197499458244239191064498086908641826615684038637574459729433248997326334203138943715508416297317627492589574344908556793523249053602194675936649188885112287957449365115695150958262104759115012676298033937119485445898041852341538297688641243864193877480452923534472585836417970326586365115547671591627661714494429678541135515653688419414824134493677601953344398100787495174081912571295697583688410194915845322026905112488721149178661117739508176376067142629694621645057358518775321473716274573595414717442455422931631918138369938969670912775464651897468982100420279319646656545679346243396876342262219076847158973551462984435197237461859738954815601717805626545598291716949394036144877472472168429509371404071405515126572354197789611929870174145331580378932339376305852124052837131769033339534417508340295962646251551518207633692912173741145179862783853636086514965680448952393642620851528276494749299182569525660476395309189916486796653661928495019369786413538352302877528773162359647623249469757826812491861457188392543768599472970863114369012786887172687117925874988796649249584447420874173678264510157616313630151180956434144879140684849865748426920517362449283142372793639571944689743871431904078913576264388664822989952978182357859639180537771100995940543410822473765192212214193546825496545073243630701009572419791618121736937346717366038759615616636856627337133393780866170703237488783317409241311150672817369765251037452611772822863688435310063250685556758349581551656396852690388637321827488990764344868888697558370454441344429807545013978991778386280251417383301893209881903746169162515274168198698748168021001561829284889617197387418989731373757207487997630448415384729356134193642786308767564787938863677508284215472307764305637308211118389402145449342766444667238486121698527296443139625773728106327396336826204659560703641455377705756323770499976511896672183868463416464541303899774076189631943909495779790282370975547562571651881347165229929646941503685623639243121478532169849671247572057675246902236345305212517489594981283230493980969491116829285232198367878370375057597689763538882329479394860543089758279825452489184687030761466558032901455171287599181420956925914542879247833319408655711033607681654990625228235926521176363884673952885411522783846416152657784915539587235414968264985252239574845238302375995674854477765042233516659355569751883141225954169669794426420827969836667381504034996406470322524696665105797862130162856978739595775131023100632285060415629664031659021001875814096769383805718565680527571266846634463514495401885191334769475619389181010074465559259259972113206456711816854561053324689433142442559213612553821634490657019517999735543138366985021585444688585665536190661965837372210649952604189943476932695732466239166371853493023893587527388736168435398321742059509770713066221860139217866729147481658255113323187789057762668906027665155338735814273676699859664961346747437729769759247841480409762336765436075914493522075741869854327804448689456995683396564121214206212479113363944665219656199364858212218197865522872724510626169517997393482095651292951469811864810361005816152144344157383782826514171424129908364345282491534784499181523362464093441088314117939399206384212523402022156348566502828406396815437299533962592661847339898509362757682788028433013227449536319861053768268423391264119833547280263289155969932890821026159788527117361888518710215729644360958443862572100754478105417495395729256786707810696474301825499543889133836693701460901160225542305663327337811008398607165724548582867172056811135302820958488991572365234454212727218936641506759701830694414857712214671371738714525868911526666234454991321522357443336424698820695524304876574646169228263545961012597539532727882492183748473371787743219861409059385125397656287032223481349335944573666721876661860233083398641487159492109658296821057719412816561100762416571330565543556975517648046695075257674379318591201582487051113637641003810641473464078901752392268679685866805231002739915798794673965392281249295632161812861805148955868442477310781315114539481891226094081701969662455380803666385662519889231520231794064815879739591372809430449955633941523759719646939995721877212836307522839216648793459080814339918667373254941959874620326657773511472968571959285627256715253164701464349382609690258586227746132564738341853964482132893124720149862128010050768098984216295016988221001175510693548114810633212866711892533066744715272078403494354337066343076701186736895264730396775232581728380279714825157752754864466723105365494253854168557597498878201939234530566969227040269587636739182249176263895465316482343983661239153872106795741411207289428271030371947154492503526928788752393425219878121008315688098331040486507841962074839272891509642081551919522113223512710052759380873012065634841237894407250841242157580951176541166671713250404616146919225249681287224604634905415760903499303370487190741682436371109431413151271775097987036239996996596305352578648979425864195536774579978432577287291473555485753422524172338349951672927857464226763167519729214751993861710552311478145660506862922133390534163879525924137252745275065617097197432100957622698941674120749216273184241395014163839247738913918721022951985449965938568147903916277178188020765462955996492183415062392217597521989285738703989311097205746224955247298815176195737674734544100406023190836284918553593870939655548512354538482761392490953162958979733388913171250451001997667610161775144226968494505870804592841780100599748827133436377183171966109692211351261181583702746256069708419699867327031828638212739963335078856192377162619148706816513956533263354342658683584469632342021863395577826788024281857181893349379117259242741743981945361891256704275268209424838371831632583011344041714792622567776875759289858694335769705588506743788196267991529738936837279297386735045372444667158627868254275968810945640697058472883252574341202886315334706652182121272963836638962993613368754589776028081249648246394822984430442858438384912667270368842424899113501873759255471458258827745275477271464881467747692735488069327330934630959446974444289992325528580711678045732324334516365416328787617263110038747192676016529073922626155251357858021524686126756526344276212520789285779467924334777054386279848237744746493320491637240213431431950854145886173919759651865581296603375911001005118506991327148553049528126376984753829318475105451981720384337404091892155431597542422553694185243663979681819725585235542479234268861828853731209236318190142769948223452831469222489545959183748937916873865766813064685126562709212504082338794679368484166185217734469587444842165150100555777493992620231926416433711294472046666958950857053201762149725610953491364359178350803134721433493933346737358849354189346935802735535990543724146971744707126896845199543357225776862354321848241488476513456118691290902446953762378569649591354473272348919992456575573136548718670377015571573887257237598395880974202724653668477219382755186772846692719878182061967540487358738695811149406568554139332044769946296182273484514025845821946646455187799365104601719654656748792068834962836752238928659918801846426284659917128140652680997944879668994910083772277976089248346881007074443765684928155725183545186811213142813617957786409452354749693946928972375426306724582882275682992225932492789375416581539797355827116643586572110021733714299774716223454405036936474743447984259814588562816130405564489065658529957788612011935420903174412939245023387233382473467928991539642639152801192342639952996978351634911295687432910738181336461261615281251585818176444618908158929957867995286287660580353298614761433389295201258678732752355382912683978860734341891168416634539839777639497172219468572880228293798259505332959585667378171812634663461046747866603313089862767110477090316541714803235749116711827859351258639743709251584689104679115067734828149758337716817980255455468185942354377864539512550351598322661238898134664377785219235213259312031906858906744227655324334269464876660298653195579732379921233076197492144816657086921138298457138681150677163372588835898147564940638052617289695519019226753568979062232166715838888454613144874346301115838346814794331569659801651394134380914069327248552823626325615262076386538874717658173463753219141383121746995211778036185749389545689884321724365086754264796744392652274545233246197513858392579644998133746871473955988438742626481794146041664885249158583634566754418456351516553876705073653291232962135896138163134965099518898451867373178214421958294198072872159602237714223343521452433210084346346035258980575176616713733570686392393722466349619498366993799482924899798817473311252164546411132685115588899096549483396337443191178639726729137157778314265787514121714101875803258750482976432229402056147999159110862529901162555584747526989735956531629882379586990372833692313842359867702285411927918834679597236509683602939135820816323109019536390496543333933269362415082615527458679144696488068926524013835399796524094326668027956493195518179217823940831759162896124772692232688928195292942683986525495347524236852465843366576291514688317730636449656517546399398831869622590164538309183957636545527347360993136872350638670579548783753718194731763096816322873051564861259631222841981354321032883540912067538583842333598146816681521463308258487428518929135932490446997176577627332612340198486422447559486601223401689577650962934367083648659657722382372363889657223246884565865030523453692276669132569037134440929216698103986478345976816181461649127329540267199859394012559854781045979692100199594287988848290778445605176893056828971159564999923949374294599389186107172962720133942958586998971148714293299771326668823718718032261659223213444797566469394269711544579927113239642812316945545627465947782818344734646941135829133125627991005860643472428327197572864265938544204174272581100337324147294823843795797989248909659368426715766683872581116856446669123897029488381525925259473254969763883883265804428575043587962918096562862775832035673177612304952858777227396798691443551699025142326219698593042504757197248287627975964509964773432707385534192532993836579426819031747613765454101172658142340465556128110151966764929830672590676230354613852142525773035966848884185771868458296262383638456509060392718333064459135769126344698621002640643378719742067179714794138382498155647105917197223237566649218165709463325533748794847225508474992908468356153347834672152962474129036339718428162337164439507868714678814756542892867697379427183334085762254189573749801295726991176236984943416835716466676219714556566138580741837706497424242622598121799828224517442175585617830189926221950268037404320819458353391642303347962959983115129304263438402570917228753631556201211843059362807294810015601656609258150238655322433868466212836729968601779222507646728192829946791645410692126299622518240474432962966313684774343681395296543354468713821399215919587232982704289823954775361375173236852882019126660497941166537896761262820422370401756142555941335036297144235558630698464943423059241963174325371431999397643242827206352659122878778653174867298852144884357728886874145562376489404331657138779159618833496225051564622578935399193182450584647779818839996958987443045933837649444942756598715678759257478052429217729483736331422447884824941836595742848423606850818946159219173289291854751521173155888344934794861747935170304439540984699434578924932283976882353839784685100134254801987247289296098396558483045771615735673484740995391638725106660102678828632667977785690325429168265370657073517197774583995348124456217188286280493433148058902015794675738730528636336397915815752950405633161374701006985384291782323254456686093153719321643562747641378166387033513981101853804695313097144352710549644579397681556396543472526389947469470459838894255984624512262284713306222028681135849978661713683062765051232746099978261100251367385302062179126159211121705626223289862080981531098672055114974776814882827581211755217161507952491885475313979282676069158351692037254447794084842694342491178481299167629453074961282424119925202142834546662834547567854782329239272639238748061442471358794325476999639167014276063335425569555419019528873907052485936895931942207942556488359818147878892719263457213399718995482095181983192955781151518498912198111898965896836150100369251611770708657125061294688178859739910165264779782881003935391916726665013794155769472107426135274575519747428466546529754897689789368193703635994721957354781714292522267027395473822942921281519491999322829479854232264512255249389687690557074816276232540585654236449279772465241465656971628870434931057184856385014374546273643723984275254043671009829359927934963736182266548148862841446762531003393485171087208816291647766712728299677294541930568685946126706228547787366526192876454843167220214772543625856380778534326040277965771226506152111568639846153179573281191606334389017166597472598555857192283622439239581359748337413362866278283112127641664182623312018766924366967577382469264338771374351497765169455422257904815783886336096594482782482644476853757040676547404487675589664262318562938667924259383469455646353489999152100227723135740729555524826554519885215186743747810538047671351964378143514311811299771283991374399610655387446782199221282184447864557138143346633146591947446768550879938632384717732865115856517827983560284111918929756474531534477918463265887065125060672454682481852921836472438935032486319994408150489981669130579937735270195959632485932693886411857391625406730815464844957877816602855138298651682084397962962213432237781220388839826766548464514958634893819023947812782997639124489226469959975726644676207496953673477056785452877957336996358924114768524381009568754083662252333267264975140339053449180636537281453556699199761373652071471891746515637434465014815084598973468140462667872087547779407708229463818962338947018173436552366959527576379718981179328924136491279364073159397782136128815143454114733729327657542995686115564401366217883918838460433833449650576291931939623211113757845369112169519254664673325697606095978597791914273833559621985885853363847396849581836277747172498289235470102426217345571687421937282896943468108434966777357275263526665869739943940774277757257987213991122573933297097937586784773225666433841844631989654603923047723660133797592676413110012122927151005628999192737662551875703317986103285566863334235099168526259350402543871528562037133535539780654987352081625706075586735159495938579905972327245347459463623109082525476819776424921779197059473137761100437474505610030963293586374549119235461491190758291541227849143472592015556625993533705346524691144675908438527121442655119792769184411726256698714908237472406663682624696226016267590511078307921843295139503676322473638196114323659391218948457742748230813266893929535863881065494175502615384368661933666961058515835559133185112116794077444572183774378397342211917037368861492779467618755576212509215149475387118749169950879144025994423729747882350745062842653443743882205343921424595478369506010039580100846480793056204834383156654621998129103865633826164287471891735139227421053246863615662793272938469452969112244918405839585495436345987568833354854149444658423468573035928928826818955522636203045541305605910675225857552529411243384276175277824858577165763933776981915552961755977886388584826613861495295696783689160188145076844075554954901871254299019444651123849556752466482949392725030942662552514166648943134096362080467922133576830138496513582785217477019328862854670439374288532163220699387942862797137745227377073106693282452656203991586144371299597588728978219325143643274604230339289744033846765582490874643386352562758785645655618082496568934726315656728816080188356469635347220989919826767515139663384662516515719164768538929148413277136368988091244541212214466388310034941376193618244260555189112781951009178529528331545721526087311004338626387353862390546225392282685857503746221265219455379352815278375087404039931526028612936755751604899774456129677915513593744531450574865971069630991842675499964974089324985115100678493327565814013436725864522194298822068137776499958275588345745918087228891945580759167593322468586859850237184651914307667661001967761312274580994958561379476874161471629390645143469826937534139663471030323124723725207889229286592943376462342510286227189856853270535034858384874323513199224878768238258871488349596525397379114955987222757116871290921627682910445692863872524857453907635264115527724153110632218122818582219586326977081337699484483616774598353979819567213936031971470489868823062925629223215642100561811618651775259272796274827857365127597725655314961872407166556604722169947496084391716074608542694230631582318459525517714807449763148931586872725279684726196816432747635298839930451005976349988222287296339148478112156567119671544034921249012328567326015558384641004556882210279738287932574657777631499179676832159782168407830243245713140774394628292433379344541855242050374283285529295849313432568295589876438784534975184290351973756322862696846711418552978237224922979297475728285446372210037677868715833566263342089892542685963849914564475532276288334663986127305514075531551678556589469487679281008827164775651005347581546348855347746389242162729075991836149463234399713918293746555498927699452717555535132485218451875828874394173870609853707574808440241779177786898462211324941004121580237848291102884899244539124466434179969399409352316324878816824681086115930100325652178822044762180762475296985422378776715342074676651784429877750261155386469652057651246162790856317134198807134172386050249883141744152603374232419375252556781781544549805153929754598510175682267556497897315649391882921649681178091841004690695153114081802721198029358598281342435461472024837188848974643218427461894679752913197572693667802440272981641636579110034282623232926624126875255241772632768186724153597993792182376392973521445233355721471697948363476884120814731003293148045393839507650725360785897423467710816779765441281150165896838387269725198299404098577292243833154431372354597437489371741163546128877863119132849984157720621671955764186589997934683668319272929993658249461574316426707916189043437998365935782912418851939655921433582238554687146602418841953453252298583967326942679093359656265485678227666513155129699697327757379680493173899767644392186764758924430111238419052594924355352969486916996776248730416783157128339547235414622925217149055646663987871834406779691795100435678383434258311968461395554447963343737309486885242801237614371729368557060919668753860863150917824651089501390509133875115238448620874022208287751558726512133931967552176484340275214948182547726769163237464567428163529353222533355794715412613714737844394715292362352389032624924417226991246895828412337857834897428269570972519913781345432117473703684519694354615852396596011144620346373595744765937263359749021738098586544485320666071376773489638507827431822178543132888161691447191960672170911653427731537325831432596727497577187116285737332506455267134664327160594159161002129229331008407084166251628879112071473156088597845548037426522359696816842968859147592309435829936219111032748396533063293451236805365513854110599768517830344383633642865966464763695061996923525828051336534499172692247649599397957476618913159310017069256100981357618469915025444866039537437295627616450188884805746799142696366846362962829182250128675337596878398999946237399499937564487669146936276182795865646350468334325148225585379894150276165489662734217907377474194542017759715337656268965662427448656342070707127295993253580613530352518398240248918749377839166171737844363948904080964696903556927395683295091455655462409955536366205564131313971396817719694813744496491033915692528393841122447375278897083167537404436923639771739326022539243938717332522865097936812862818961348579995401220899837988541469659898665617323252964100972778241147924478838691873125275785207361188392786470965613622638524766417416685076699925818123929269497125466181560873488186263662892522124595928218949697531174490598965641188638982017925226897222551643631068191419685162732779803143688160719970887968849016374727647417459210043518351006447186648667831111002493473920971523716227584332616108860713426046985411430298062551044436691008118278869995698653635368745943984959461383547361768755955195100589840218917533631158833197273727583560711253672962974699731185707571354031947045305899524612145884354328473478898830518339173898763185417966385469629684269374976768917090419035332634814985239382309188114229964187966831382947068281710064119407220469173858583728492253659697453352372793495727181073855110017855585106275456949576014121116591007212942998997987571673470707893946368571583977396967529954517927376260653584468063491008679459993152794050718286624860153910092249820994041687835701444431115989337524088921685479698553458511678472181729682738877467118748219512509671538438949874911902776635440167722923837365245264732232757293474654766385922749961863547913285683472530155243749846244992978736957899346010043264737501661443444216869307031726929927335481718182121816543127091444435307387415135269268272291536150165399839093354815962474772124834127256484932968708188861445177548314341101663958444786354511470752860572545502168295268875972868241248311182140622555662022895962861273634399751151524160454224779927187212070891476143760993231737050228991613311392418425719961652524824183871428574935571845712896734516133888149336336196509011164764598536459143422839258327394910271882487538122222902216255286559956676488446785938888264377728688236935440531003370656783688199515356826455439997935092956976645122173728806883214156839813622795639151142332877060362654576549544633474746919246058887990639345413847582711287858413494882408709802022551427376837371455526362918520746334709959914346686435914130964169511377780832714743519648737121896719948629442557964011421152445298710724696827218622644431692567562549010672505394496865121836629515244798874929493318275397289579193663235849818557242854649279481540844341955941264249986885446883545856289357928796988235639166131625824961034211007766527246944837435754440136801698774842336831829704325528996141883852430259590209339635241734111789359864275883085955610145777963738968973547982239385463115586321991354233327946704176503935819705574341358855788353759630168261631721629321493914276395641468551189401518519810072881423107623641004354196434127980641978608422317223686428401020328956424116517791142855916152985398506811990812891871010016336353924863363367109361678342876769698855260206287518947931186753255750808476152429033687832752323566994375714931970786554327341729102481713746605090377580137214819409112762228272519334549747762589338248465582299177825719247939555939830961439862860108487103614442582889765791637641770324124875164938663756665149741351290101084127512832131004743462676277192692313483826992762155324205139795795849396832673823779045804733813455353965171723406522179631835864025587036588169117166719278784769496014744881363159055241018316158354887952994414100439852534018245689515788446149485339721186767085423512799142735129275634608980174677659567925444393078612629601711848483778586092677724244758523042101910041735351401002860318858228316673432587713849079123672886274464028238577425752542753397304707129649593749175153761234428082963882209285293727662100933575592598492918284688479987039755816465775648212271685791682140125688905111582253192823421739389152894561798191912874798616413534524489228078927268434766347916751464426498424512730488137398234873624734347333134696443499078246716983345593969842429599130251899667276657508912706697395435110171074715659846773617179631081114970137713813388385771249382888170109133693698203861159274327841925736481644785761331754582113397993120911875917708867498821231546199397529646290904332634410965313424147239817502229199926357238718723380644182437515357228698891925793765866359082549358420601696633693436848103498978206810303481227164100694612635382597952747477988489990772953423791827488983229486881498846226113595313687945148131262937338703344401005821715192439772869721100214217278537207878100190701348245221429182770682323141003267222054756483665677739566351117150463799414841809410913395981601558154510971464459717181866349076106313754371303594183943881279978312567511738311341325132254687496631942980459448307311155578856716539477058444382525528023342668948598266568306164367814393494875471487685714136835567150427429782882774630133835110012756744788774641114662246391677093529956404943278433653744611497767195556284573110064136343983932998253987689386687018697542336442518334281133373133824613129091753645880267189251563782892567922514223679100721644394665100226676672588111444418259989893665727954889796843751265389637865858639206735861871420953620456393865365630524536677446328683768962243434732344696207092642872615526421292105014555036308110026965641889577691627738894089762822289016306417976814578506697286756464825530385496188858558181725889239147147931022684847999336234323546140907866427735988737274281905014100362975732875297370241779749184467856810164656573821216682116493555491662676297729652937193801847533656134125827575264932231431995910834286117141532835032703387759087938917572213373785141622131356327310393294675899271578012114993217865612151184514119881872767566369657365259813719219413170100365071353734036462970491396569379297498462216604244549487082839782459864391491997915289273714360845825114314893868784365844695554612559807931724088864236096234939335970607153635311768650298896231112719497192531996974486115856824674881881369697838624612754470575555764562142322829543354453469484293194264469412248931174627344184419029863251709544928733976583758996443223338592981880197112988839819466976352882337876407767268739434281969131008224208511642294877142342821841680595593546776282996527529457611074664121254688996710027666665334585499692828561561584263929269943240155565547958835899119585210055529858147648729710114113697562592243463460463214405319725722783225828152939872938138922683527123811507735942238152100169183988392584418486567205618322399887343857109349786569744105793311998262255956154321784039962431461783104097639819189776355272665436052616803880231346877842815792911522997989938264397910036385098226671322273313749875100303863211677684494494464123208133556306238209148525233420773910065806679183128322970719863309863463565423478778638439512492065114099252048715697672156868343027191323917786201158363483931119578632472649562718756999090903772100707621947386329261629046673716216823792012442614297246598820121737446616248268929953659868392021503194641727158703686922475484375673397578537077928814341276689818423846982554957563608290671991152862373386537428517475231945124492454338765167484734296431876328811742743942585839193577274965489588781089779591515947251231113284198983899123987777725047822411106895643992534512379947060865187977732128679763610651582788456454622745073791340821538376965813096781357739473734279050723787269452325881417601854035424262726486656012927085966231269468558277869442383769771155222747094285988387439814270418238698736953505448718542286247704261232372652310615295425063023156322138941568411141198100242174761831665823405054961397256930615043719385593145812625055429395533881977364832334291846298995845322138234539524580453376237164035407844722392742862485494657887615563952968529165559138399842856543258782349233412947853033451545219322637441027365927027838528269213394604439492233881649579538269382216342794371723991952676994442037488467818453260775790892576223631311375758898289246585093393145573557985053945956717359917801773183193631839374967941607898154874711218599667765962728454151965881923976735666284355695854682819329488175504364991943217312413696253202544536355429946954192772230574263999117473512731998974211328855091909858385126886332271337522923520468547527585728428854856461486254543310065779842990618252221877525691160908010694883435782918374263765174779399961694518945268742443150418919642179864065802297893265858289369336062468045433729783746839535185842396933371743810249728373982515143457548564359143183222926475286489769115506287097891949816892719097322475625634511757319163215578866284873478451062692405095211654859847072614756722318218660415014393785762439455168150378066531431713981936413696344934295287842793451914575018371697696990393100242216818268568020223588391412937478658036263853322922393641239434827086656637151691607045026259059788858621296977512176484706323944518282967993325993277422455326867014698669616968344552371257199602165986312726919544699867897749843726876179320442028619032432603065429377407496955986499458039477068247193868259472772367879842529858171538336750102553131009601357373722616584483999691814847293010135348379655477514515263971309118647231964275657461080657710643579247723563226184885966356957411110016633447972288957617849