9056124123 99056124123 99999 1 999919909990989 1919191 3453453453453453453 3453453453453454345 990 999183174866553530484333327127690262672319222221121420720618181317445171512110163 98468165204405317273033024123522852222034520181178417171514451411382138131141090110 59344530363232228917341601244120610291010 4294222532101813731341102 528218171905185163 89622991 883777226766611575548416362331067252172510024779236622492177820782031199719746191919191175491716716154142514113968136313122912121180211110395 85 102410210 990 565 123451234123121 9989879876987659876549876543 999990900 24187 9876543220191817161514131211110 111111111111111 666666666666666666666666666666666666123421412341234 635235523523523566666666666666666666666666666666666123421412341234 99992602182099998261491004599972998026968999645491450699962120713218999619560471799932741117219999319306208729993139783319993122551678399926404515599923023815134999216442156139991203221580799896355289859987399337199986841614725998523377115029984450177729983870141219983295128787998328555500099832752711033998212783334099793034626733997719163105159976301329971997611418174319975285121661399748021316309970912105899703277168889970257802043199701244030356996919794308239968214117999671744310829967119822940099649619661996336502138699631267222299962242401781999613045019179961053622367996031773024899602107617354995917431915199586113210229957471172109956194623120399561864719080995614930198799955184893139799549308175849953876431495995318311225999952150953392995016599310699949325302355999491657721952994812082642099471435622862994628458269479943635811188994313812165899942878647299419061870299412500821459994120509520099411441687599940266904981994013177450993925175906599381927712776993367283222399332383426930993219076744599321860419814993115590196949930411319159992822743970599271041166929925581151159924768964799243021286349922248713106899217014573799208560173499919516210777991849236506991825899240919914972616499128093248499912787915474991258131745599111198282409910637171529910313030211990916044320199091003428027990624253426599043245622083990222242427099021003920350990157662503199007341101569898192501555998981050496769897104417820989610756206669895310953141898952085185069894552228029894246771252989323469594798931530627159892117841368898920958403298919482875898918789125229891328311381988996142668598882460928690988820852235359885190882387098841326827351988320704157319883191716769988312538264739882603011034988215650299979881715610381987923431929798791639912208987780015113987610692842398752670142798742390524799987421681435398731355913731987293922248798725201215409872309862183798719179122089871281062837298693775285198692395247198691983510706986911354738598685945302498676865153269867222664669986519623531298651317228941986312039459098631090921193986213179414198611315014341986111758250169860248972679698591858410923985628072263799856101438074985465378388985431974350998522346731158985223405155019851929865969851584329926984928665145098491909038699848304762366998477171092498471152912850984623348243489846164251953298461409214858984527600107469843184757771984260469589842204501642398411702031464984026384428983918652159298369897173659835614312379835472150839834131617705983329946243439833185570559833107021648298327202089098313528220899831177092647498311364822825983010691315659829277362729298284295503498263038612457982621610101189824326193449824182610827982381413112982197420034982196501089398211618015880981924876419398190573426981735528300981731381795098172538376609814735928522981451506303981440825796981324115591598112764412931981108212396981097812359498101083979479809478323975980787114566980732988423980711251523098062499511317980319624333598031633631967980186471695298012194531137980119281751798011343224705980042131100798001211723839799186224056979915919478397988021288369796331830210979419325324939793227321835897912712603497902635716054978733651707697862547414690978410803227199783289603170397831192632729782415382809782253224184978216725318497821443327210978123556393397812292298259781129932440897791288728769977825509221229777297352888297764690678097755295501997751615432420977475303159897743237585009774296771044597742960331445977129925461797711084819849770112688179976890941847397679879180509767306432206976526676805397651364932259763218041363697631103288829762113322406497612873131997583140158609757288461788997571228515926975326169299829753135277469975297721701497517623086975026255999974947761600597493127923632974915156121189745724612416974560825138974294941901497427934238769742764616584974029566899797383221520274973624446114179735231132865973521259234109734327673159497342693726797332795628111973272102397318422102059731221861091297311314113916973016655307519729321522488897281723531284972758568009726187946239972520440625972226006158609722159802565097212232236799721040857879720478819109720132651920597192775222282971918448154059718152885059971614834379714272151336997141328427822971237179039712275149759711303871631997106401380097101534735409706922396999706111585742970457279319704316327058970427737256797032820988519703152882499702907307059702650450899700223918966969946282403969922187980969814915272169697950526807969766210061969764083014296972777128065969714905136249693320247004969331584224849693199321073096927322240959692555313260969029563759596891299821583968645222155196851904013038968517608912796846988465096841860772249684159972909683789727496967522526316689674722331028967413106696731474829403967229967233379672232322131396722082815619967113958114789669361227108966929760308089668100233226996651616814685966512166245759663292642646096631180918532966207083183596616184302119661193422231496601781692796592759110679965927395211349659108523012396585855285289658284921400496571815116869655292771614396551931519571965518093738596542717122192965422543288209653263663476965310915106789652651726239652246242156096516029246889651323102838896512473277649650135431086296479745223589646302421670096453346258929643208022636196431061525721964295621282964283726321964196762105196402438493309640153328609640134362726963945392261196331772622808963314548115329632190772086963181292202396312233029709630185442410696294872294796292013720379962919182482696252474930670962518662549696241203215042962269711858596222302829640962220465547296211567148969619267863200961732339323469614962922160961471051969961366997789612305192246961215713105696112273525367961114868191769610573627499609235213160096092351722827960671121703896062770614198960597221821960338591520996023278272599602154692215959930500267119597567823236959724306192669597170392667895971087570579596166124877959532393252909595174045945959423812811959310637300719592982645599592745222020959269181873195923175181549591229513085895911973617720959111011254929590669930092959054742990495902470423445958922528236195891883117689588183464844958817497283079587162713009495863069510859958511929141039584320882549295822772432565958123915112309579315212012595782041270439577245634598957510890209295741096150889572283431653595692462325825956826851248389565963596289565436954956516024192019564685026885956316583062295625522114099562085930876956129583216939561205826656956031629664395599933123809559317792820395572943732683955614030772995557561229679555124212383695531299813621955205852942395518940152379549285029657954922079276249548293531757295463176512581954623728125749545250861334995451047556569544295682926395441393522402954410729107179543116043242995427057876295421770575779541104882905295408038406954019102191953998061144595372926512343953629011984495352843565309533178401643695331328047049532573132394953252496010953224498457595321408812007952631087281979525258952096795239253130249521254201013951826056290619517407110395951731658208509517314772346495163483948951526661514095151240153269512176355568951210919249895102486924306950719461164795059912515195052769126619950517530236859504116812036950323487937895031485227146950129899312169501260802649595007933275959497223262109496232155590949528704124249495275925235949431726246059493783215647949028747206994901239221896948810559116894862472730268948587501288994853164279609483251221659994829822070994822287294409482182547394802671515434947911011120919478871972947826592797947823163118849477262022836394759382101594738334202494732894928930947321268490947114609231369469452125900946873141661194685694186394672126242229467164122839694632194217634946229123135379462110375572946136713732945920240114669459185131110094582682194581147164889457135761302494562158913350945614599268949454163134259453408952559453198243233894518317455694483027926690944754842303794444979662894442066732372944412047316919443246223175194413173227220944117529195909440276182604494398537856994393395108649439278486701943814166107879437306681772943725365117049435179491679694348532235759434256501380794321584633879431982560649431969279669431102713263694304148953494302110060794291527321429942816161145299425221571678494241394013249423640220007942327540325594231897423433942023565261389420121892249294193757185349419291603117494191542764969417721343479417667152739417286009996941620825325959415140302354594151175719828941421775272379414216909923941296982370794122872422299941220846286299411540216509411201517366941113071123909410705416049410318361975494096732789940824747183429408203371471940816552286769407985133894072490829357940631155294329406152861434794054514250319405292742543394044277876394042247822452940267629984940132096984940095813955940032447209239398207201940939762491435493963069730094939619399558993942436491989393299411937293919980289379391182931288393911757166719390302065393901264642529389147243114993875462682393875047219799387148311326093869228260109386122001549893812965923208938029950540793792965425043937918329678693788048160549377164261715937663301050937611706289999374308418311937422565201249374144424779937323899212189372280272516093719941278039369126901183393672696725162936712199197649366264283819366235822881693641197015557936331136543993622861323193622273229361222021600493611496044449360449724371936029484254739360242093045936024146135009359662578419359320211507593592628116491935755991855493571250831211935621393168693561200990149355202634175935514693154979353101392175593519496181379350107915241934847982690593453046818799341574628410934149628887934018251552893401737731285933864112631293314525376933144528564933119675831933112559265779329122012448693282203204093281439328293932682582575793262965618886932628913203093262105134193262061959793251062628199932330690167289323208151135793222720449993222580722834932130380140009321219030203932110401706093207120295932025255192019316475014415931591342751293141942710262931215980229829312126131695993112585316213930846761289693081522330913930730473193269307270652739293041796967579303320696749930331599380930327942946293031109632681930230557296269300996210307929976882919592991560326703929828426324879298139932810992974845679992972066426474929539704327929432643181969294272431528892938552136239289291391050292891445118679285296188077928429152197829284124518675928129441791192805707799192802947327699928028864126429280274111372992752130122068927410896141369273213629496927317044233919273131155626927210197423092712452750649271109371321792659554608926575122606492651156256709265051137839264222942757292641594129881926231804130992622230188419261970984379260305265570926018307160929260105112503692582079829669258137012028592549640217599251689717468925130753124279249357175729249300331965892492366997669247269302014992471593416158924708413230924688913664924662982369192461345223279924598332759924589149111924418182503992439832153439243293711615292432672724254924318005180529242458928794924217331833292384076195639237100481152992368629372992328697152169232165311222792312395570589228221432470892281540100049227159461258492265728276492232136218843922212040964792213392650392202191822258921819917204399218197691358092173160452399217270177800921614265303592161363026994921345196849213154719689212192151902492115912410492112731115894921126487290169211225696776921100942579492093113431950920911963292039206111171909392042650080919202321911185292018822294509201273312938919919605274619198196111012191972842215969196265972313491942960128316919424190173009192694536599192237101468791922079226839192101842452391919516465918968152679189245971839591887142291209188698324760918825829320349187124222082918632594250319186191482264091861302877249185721522680918524057677991851918213419184340832137918412507917891832743880591816269217509179221091624391791509121334917894812867991786841294629178247791447791781497187399177197712342791761821212197917510790990791741257830468917357225396917318304471291719807237939171928293239171240494609917111386198629169739450939169296661327891691617126939168310182532491682612720691682194519875916819488802391672733023949166168822661991614299249159323692487291592431922685915810068243259157137452152491561128632277915531224316959155193317994914925721242999148566770189148323018843914716089374291471267513058914630600225919146132115022914579327536914548731018914474959984914431019227179144211217644914223206152259141760014700914111092120291407209114759139646159919137268551714191368987270769136298231650991352116524574913411650579091339408109091323018306709131792236059131122642215991285036239739128188091986191232877015488912317413208199122161835789912216173143579121366912029121338729088912116497573791192232126174911814999147039117914117911726505818691164809139239116357424279911472654549114515176829114186857872911416575112189114147693112591132593628931911325068458091131749112771911132594257029110243138560910928483292059109279271423891092341330543910918737701791086530304291077559242939107492529897910727633244389107247971293191061198210577910527896820691051144631959104223487071910411952166839103240966978910222266504391012640175729101236331334091012214264979097176063233990953095170499094159102294590936597232479091932295729091787319431908941091340990883839126829088269717084908750517259085710630448908245781681990819371309390801909213461907867622154790771379819363907639434902907390154736907121143236590692324725944906919998560290676502287290663126930285906630635947890622594926344906177891524390611185288719061025423367906030381527990592584627338905915756677090586971681790586698262489057192995946905539752698090530949119339052743247489052604784769051922321179905129713098590497441427790481070529896904725580174049047116123197290465776185729045845927031904318364253509040375116127903819040211029038132272545090361000632215903426114725090330912126349031244642333290283302548690262062618711902576127289025159694747902420476183679024196841594690241081920289902140072289990213513322209019542325209901925832560390192422125076901910022101289018177421004690175912197009017173792331990171160214828901613472152589015158252144890151276319989901385353066901324533280329012254062897390111475633199010573622682901013872135089009197361320190053036681659005237081198090042102122033900418552227029001198602199790008061120159000155553200389991319418875899817106866899610397325628992919212190899269143193899124731238689902233516799898910545827189881690186648986211314920898523772183989851715518264898510326221948984283192002289841609317093898347582605789823136321137898127422784789811789826446898076832737689801521850689786111368897495936328974856422756897313510168038971845530664897123391154418971108027150896979117233896811472157089674251122978964214722531289641518415191896328090947489631446313790896311561680489631052858189611669109768959257222883389582017813724895819285578389581603528231895715280216028957102924783895653984757895532013272895525745189388955122841831989543873131789542427138798953288362139189522429284738951508913222895077375846895031251070289492908394948948544720437894720404646689455501502289442936628133894224682284628940659830168939143495459893835623789893814942242638937236514149893666001223489352674733768934831281078931326538219893123767236298930280811157089291304229583892820367491989282008722783892724634162448925277291942489231523816494892311465311798922232329851892220361495892184622451889205210167088919923625152891925464121228917299226195891650952415489162561024289138665276898913233242318912873530685891281083137589127796453891249781318089122568598989111158128328910291211198489102085131179890818162204628908160822223989061925921964890525260143388905175403058903998410012890312653118890282193250889021039144448901184125189010666523288988435261318897243952353889719040102198897142212803088969011984788952163875488941851412923889411941165088932696864008892920027845889275242494688892291822053888921716315688888263275942888811355559488842806525610888218441125888218233673788814759592388812223728224887913938248528878697092618878159602075887725445269668877221731301388771291327518887710964312718876229752354288761357818668887374125850887322224352588721000887058871218312897588701900589008869298351373288631235025081886311354255938863110608509886296565388614584422788601159710993885930417644888591091594778857861311867885729609183848857227232347588563102059488531725226648885117238230888502673917382884963501985288475124335884719618134458846205913190588461214713768884211243315188840184167900884017139323458837024235108836150163256688361238112298834146261127488332138142078832195171116088273336326298827228441028488266993004788225710617988212818839718821177594404882115672174528819411127688819227071117588189645515881824450103558816313292107488162607223713881469716019881464412754881325172103888128248287778812265641739988122227253108811261142535688102100814811880428063456788008386201558799263301255187991982227319879841368230879618784564587951495928872879413497143918792316572000987912831522299879119578259158787827824428787611656988782672423781878263916812878080111349587794221539487791122710542877826221869787782371621962877818376119668777229013770877719233266788776146492389687742131630166877420861146508774150932172787738488115168773247812489287722208713448877216017186648771295167030877117297236218769281523998876829665164518768147061828487673102578987672722514378767186930949876629950187687651924422875876415327926787632091024847876228686890487617483703687582232576487581972521623875705067418755230042686887542105320459875420762532387541992410363875328327104078752161621706587512736359858751142901254387502859724304875022364834287493151318748212325716874730744173368747128983031987454381257238743203871132987428475834787419564164418740291561338687401373527065873916305258478737263252184587362539522650873613065952187351675130920873225782222288728341684458727273748798725355921092872412798353987232556939787232013621869872025760278998720143211941871825329401887181232310870871731053149838714619211623871370233060687131927344987121110731458711229622278871082249539871022019251518709117662059870820581270298708178041040987069360288087067691254908706303421117087062357399878705248732194387042844813622870312890185288702159958788700105811807486981634688808697955993298697442619146869729724316088695222356864869328390295708693200630371869314319782586922481080386918603840869163169539869132207160838691311205318691228216658691181022794886908475202578687259912622186871685529251868644557643868612082195848686115022965886852015032724868515305300838684315526923868426547109828683225422680186822496032699868223259280628681877825953867997412114486792792125548679166302680286781727710951867742171362186771081120261867598333231286742687114587867326543169988672305674671867029934172198670277522349786696739293608667138319019866596278318665251112531286652162375486632385925302866211363296928658307518337865724039155986556939309128655258832491386552555179438651453633438651288901063886511787816465864923272677786481927713758864732307171958647305292083386452732397358644322953227886441302459438643268071996186431150425390864266041054486412534313878641208353055786403072232039864025611146978640232682118640146232825186391912527029863815349229198636174504592863522763127908635132051555486347872129408633157961190186301071770286261730310544862522462131338623221100358622494116106862220327532862190189938862185662509786204666186058619286401789886183157337286179407242168616112821236861489516663861350551935586131492730654861313126265658611937620403861125713166678610313421985860918015198860727033145986071303125506860658427751860614409252358606138672426860431059150338602886030594860219042144368601827025120860022965132668599241129592859917887298288599171883147485981224243208597112273152685952112729118859370426241859236891836585922008210670859176512669385913170141585911295523488858915102306358588728467858812225171278585484125818585253782167385841773413418583107042699885814898226388579878762188579206211717857752283200785771880415604857715565275088576271779288575190661604985747239223378574566279248573830011369857267642454485722850526074857220076142108571264595298567991258568564287886461856326491728685628026307738562476420685617442214398561365119102856032764220588560186503246985592307426618557643014762855718760278918556488127732855617182768585561396279828553838128858855361662595685535279248118552319722495855131326255538551157186008550307522558855020029263568550190957782854930122249058549273222528185492716819671854915277197378548156971788785481378531547854510904198748544573027689854385272914885433149925665854326978118428542820188088542175623873854148212183854127912290385412707519198854115133264785411320616540854083713005385402330121744854022504125278539283341108585383102643218538203752752685381264116208538124051113853810838192228536307071398536162973018785351194560868534690378328534194683255185322974813707853226352574985321872121306853163361449853016568285788527271213181785267065265348525493622880852515679304418524906180298523319987685231166315991852230943135748522267581942485214540154218519255072606985182763730309851714036162398515110113188514156971339185126809266858512248213151385122306916765851130191812185112289252888510192134699851014277121068509181131168985075323960285072778420578850724741200508506180619325850613323244248505858511940850522238260998504147832267385038833202268503332310345850272611741850214097229938500124902103384991685715132849817658170308497189831060084971537121718496124373322849335071659084933074221728848930402645484891578927138488164204726848722535128478486566512248848587123018084852660618536848332656250848323487208008481912816051848118254196138480150362044984793198918178847895432408284782752932596847724136227988477115573064484769607558184761627532035847530721248184745708196028474217342025384741406336078474117332577284736602143184724374152128472156601926084702684407846969001620846819385264298467857791398467439928439846730327181928467252092016784642535829588846166616585846128853724184611625121474846111764315328460226035050845911734487184582968828148458133271144845512536179638453252491933584532300728750845167868349845122147782884511896315868845021016203398450183081673784501529522685844815502424884473162632439844721045721884471737926173844599141111844432114476984429104313678442140732879484421253731384415529130268441216313814844114419713084409691309848437993990658437300792756984367741190928436228432339184342195526785843410237314158433261472027284331445233808432393034584322159430623843149610539843114461119228430539922627842911299155508427668750384272461821230842722617168498424867511641842012092121298419930317268418305906768841827818155988416649758984161265224316841611272224708416037720484154873320738415262231779484142779110293841229899866841218081247108412135572486184117360147138411252122322784112471513169841097221728841028905166778409234921546840852891246184061723631864840435922976684032635011671840167471174284016628151138401162091025384009038244358400268941093083981797797008397714813500839528795296168394264211074839410907178518393164119491839300706878392714524553839233842671683902204618397838916044781683883176320718388312438864838817055322308386934819383851395423286838416189905183841433627620838319853209483826416258788378238509185837812669510583772911616045837725019252358376641120478376244032401283762098910581837534273588375147552131883743123813349837317020241688372181351292837194225991837092823722836881494094836878981736836821310555836611038157583657052545483651113024295836427786269598364115297448363194583122483631836812968836218937220708362140211234183613246524958835511231198818353270842459983523172947878350546326014835018878258808350143453262383483162096283471354231170834522316133258345140896433834419084306348342445925300834231324196538341308312092983391593562378337120613108336552867958336169645328833341723191683322879024795833183442644983317857237158331178036166833018571603483297043217583293173713070832923624219248329216172881483264127121528326296941320183261278626832832447592279683241615517351832325171467983231779210283831729516404583172370971448316323742920783152835224052831476451977883146608324038314271114866831137961311883092870462648309276688867830825661324348308113692344083053023741438304294972046483019232233048301530870058301107391499983001208535728298191233276682952232810151829431264682882932875962228293209021338293125692111382922232278948292175619357829054111531582892413886798288195765388288131122293482881123715709828668501914982845605245448283446163828331635372682832694220168282279871754382812425052738280125701743827518116306088274165021519782734613138728272204651193682712145410556827021462306638269779812933826922076136788268274892674826826720119338268264238822826819626319548267838614921826713982737282663103825323826630925156468265194992522282631165416595826247557722826225280621082611718828720825626397198368255238096008825391882612382517869314668251244621788250700868758249297431382182472381923780824721385216318246205439685824525021878282448329215208244303672616182442942361328244206384317824244658001824229330660482411376672082402297729543823929080234858239272011355782382942732613823815950698237284028581823627884201988235298130341823431072174238234290262442882341227932397823210885248658231187514292823030993120298229208073344822725882219728226257561874782255975135278223175271837082201473810764821926781760182182633210150821754438468217308742095182171565169278217145872907382171117863478215621300278215206501494482151675723177821416440150438213294129240821311770316678212253581137582101108799678209636153978209126821896582083158770128208131833172682074570368382062847825430820625333079482044809291698204252461925820425144642782028072129982013678485282003248213204819830943176068198255162293819518484264208195182253124081931915714930819311447374819236172251381921819294038191845127883819160421539381915248269478191184481966181892545896108188318085183818728430165981871446714978818390881219781829445270008182155388618181139711348179916911418177184327992817718243138981761046316910817521169312418175141773206181749880187978173490948868172312491605781722919726287817206351138981715125201681712980412528817080112151781701539319829816882873218781683681786281678284133948167326414437816631485922181652101711744816453731313816432259193428164131219681629853151108161296312882181581489036488158102413136581538506166038151619427560815027777313868149494532229814731426287638145286691366081452191529358814418494211298143123162405181411711130528139307424981373971164198136771699588136337234028136239511037981362114273268136201021724881361270440308133189193025581331376622808131844519362813115809259278131135071770881292826716169812914955204338128267091159581282253110788124495228959812264601829781222035016186812212107441181211247117558120578225782811912929144818113855181938113308404799811272213948811245103713811154942743981112334023367811016281617681082797115935810816888126978107167225493810685858598810520752549810426127163598104182152155581041514510597810327697293081028626969881019618226098101614318751810091620408810019302339580986175163798098573185218098346818846809825642242138097324375034809728628264888095186422672880925740135748091749095288087247552176580861938321242808523063291898083154512266808232511220138082308601081080812301175268080623529498080579917179808031336117528080254832821380788964147238078321913041680781666715827807722498310638075488118634807542592880751246431940807460420528072902916048807222404330580721689532260807213631288071971613875807019038326128069632713758806918175701180691778171528068341249308067277273219680662359824806526700121168064295542046180632897111741806031720637880601200729681805930916104098059240812561180586402136158058126901569280573811571680563073820265805630299706980553228127197805517654312998055168462458180551546532757805425729231458054174408642805329552205478053289809329805313573069080527660284678052312632502805025972271988049320824382804827719797804819541115308048108146577804722609183958047161911843580442822620995804389352847380432725222148043234201728043156506820804224223872580409703176848040285259186803939502805803922274170178038342916978037293872521180372460430182803716604731480361487216243803069316680803020792158078029912558258029550926980292695229580286841252368028255991914880281628059998024706430334802458312175802360881977980232671067080217935224978021225141355780202767948748020151284496801922427249178018509716121801829930302678017252973207580153313263780152211549480142252687238013196292098280131358738608011888058058011759420751801132269252878009298342954800582463220280043874914680043162211963800326214242808002803969058001304032369680011110813770799919071259579966788120197996239342935879954769729479942647822390799414293537179915781317457989109689037798818318148477988131041005279881210710564798810654116527987314561860379854484286107985145183227279843770179147983146345814798261982585279818231576798182001957679813129713884798126315266087980104215773797923657430179792339120392797598787007975947327267975648931829797516778279677972395911045797229896106097971195093397971157661065479693698601579692568024541796864481279279671795915047796626823463579651640513176796493201883796419036388796394030781796332580106647962429291507961727119355796164361991179602125555777958162527986795763572153679572441527117795621798234897952841719860795151471256179512279393077951158162467951141052264794941551438679491432526820794827368137847946283759242794625323153057944474686979421855821950794172384420794022282204887939134302898779389614208997938271279687937759524219793732621252067937154518186793617141811279361473910215793528234286467935255791452579351952556279351886761127935143652598879351128327550793323891226757932246201141579318331206077931778529839793127521271677930108271913579271370413046792621593248477925152081885792395911702792218226239487920246753097179202064914482792017932174717920147211310679182433325132791813610650379172093827332791519817232297914282925639791319032405479124374563179123231119285791229621821791199864942791170631086579114241563179062048111903790418756181937903102868357902786322327902287782193790157351328879012515832508790031546279677900314819607789832077230697897272161057897251922874678966842188057895269411863178943517125578932585618365789226331608789113063216207890312287336789027752190617889744117349788942641214178883115825555788828859280857887670012900788517005325757884209906249788332066207587883151651704978829808308057882240527508788218021116278812967619807788115992172387881066030167880890517942787622636102987872229531748778721030915018787194541967870935927476787015159129027868838711579786818823102578681393423321786730361292377867112511742478663233417120786589101385978649303323717863759989407860682212407859240772950578572700117378561211318975785418472795678533446301267853141341682878528506112487852766812023785131172971178512622182378505218242307849669154497849406925788784815063963784813622694784774632008078475833305787847372411557845321530902784428964322578423401744078413611963778393742304027837754424757783616394609678330433311467832947817569783213100183557831252152689578311162017645783020594161837830153191800782915066220487828278451508178262916630671782617073196967825999824557782513187172447824268152907782342131817821971510098782183482652478212566631749782069961704178192702115706781926801286978191901360867818179342008781517192816778148179162597814544228340781426604924781222348106157811201899497811111291528278081768911212780722204202157806943627245780510491341278047157232467801152572340578011283631482780061981209177982357359947797311861575577952154224396779521408257867794165222114477936512785577916800291127791162930998779029188156947789111372356577889905285787788631564917788313742272777882297730065778465133195177836471720377821293927295777931932713077782549729572777626999371177744325284677741102576887773258392642177721563819509777129061228057770460220172776722782149077651873411722776412571680277637356287067763213211341277611636095857759120762322477582711121162775815622737757238482731577566421732877565690677755527201397754430128201775368787667775274431604377522297166357751290162843677499645299347749106001271977486865192437748514014925774728906205187747186372135877471821611069774711452106137746917687317746853016536774446984151774415732160727743458619783774310956582774262131323877402882796407739729731213773932166158427739285652038977384808288347736309582309977332903283027733168676938773314694126937730257482006277302111315215772918750307637729152161088177291456699137728453448627725306975259772522324289567724277438657772332342202757723203432609177223885115827722216692375577218059268847721576300007721476931947721326510847772129303833477191553637387718269415676771735885550771521266240607714292622206577132915110998771319552707377131646931389771241176197712323053577101939516617770619085164517705367421562770321310153237703125993134577026043245907699454811537769930223295827699265624057699245652951876992447431520769731396161537697169432086676968459357769524704625769518231292527694223271596976941346326381769332753214657692192861602776912051222870769032158298057690173351572768825768477688158502880976851197090177684539217281768320727149637682301292077681689614753768130934709776807299801976792581110908767824566767376768882179857676168027080767469511857676722990623380767211171589076712667227964767025458918676701210020907667269481449976661219720054766527878214176641571932272766315622231776627813119607662469332412766225643187661220281779876611178631044766034304477660230901348676601409231287658100562249276563300330676552995125837765216599286857652117131343476511499512751765114255265107650913923737650120581846976472836324449764618643227127645851403776437742050976430662632276421962627120764170851210476415478323047639150597061763825203176967638139563302763716711268967632174411878476320733395676311936839387629370110502762562216487762417777300537624109062730276231499713292762125373173107620972416173761924512311327618978144377618902921109761812075243407616116192747776151618211120761457178301761331646147307613138061644276121555817076761161624629761129542839076111735416344761023726235977610178232797176063542216037606197665870760524121739760518310128857604235064587604127743199876041154130356760310670199797602287823230476003142226037760013230198717598290229227598257632188175951173822104759494911865475931585236837591145911889675891254530439758732515249237587125132184675862730220617585161425567758416565285807584133024281758320956223607583191613172375831763323018758228887100507582223122365758217671148587581842734557581198411503175795940575675772128331589757718975599757426400280837574101426396757310960186717572194861726175721350918499757212464276957568790415018756710167970756610961163367564263041744875642444310427756229291413675592223115352755759602426475552601974975552330020984755421624140527553493815519755315810626275531237321966755230971241027550236842649075501004727236754886735754823294318977547308053204575463094126702754461513240875392780917795753922973856375391927426383753830377755753754431450753332698267597533200092907753210604238657531153071898375293070246175292101721698104437704656875282814615535752628817799875261997046407526173406877752588329526752520318374675251368819007523272542939675231834316309752307302476752250802193375213512219547519284282459875162272496677516215642981575152103819935751424293148917514128484677513466222599751329702298597513272822791475132345014944751225308278937512148313299750858372445775065597607175061682815582750615581410175055561208877504185812287175035006231837503249112753575031556618657750219442222187501731391247501290141965875002526830657750024646735274991203430739749830830284897498306293017374981645623749653521725174942795721797493418764677493119683206474915005717974901353328515748843238225748631673149957486201582869074861402455247482207294067481294618745748119111937374802672010697475112796803747422321573674724363363774722933923578747204632511874665474101307466312122576574661748925287746511329250467464363615374746426065517374632006229335746319428171746310064676574621585156927461467421988746059942090174592881412394745730157316187455206381210774551542530058745410642209147453212732347874503180130988745016217215127450145062544374496452700474484308212347448114271757174468712098744530721320357445191011476074448345758174431983422880744214051105274411739432588743917386176067438679326037437653783367436157101323674355088207577435298731886374351111272743152542701674272734320193742715131255137426937961374262431914526742525133286267425129892224174224790975574211852124204742110512107174191928330755741819350310487418151322995741811625263107417645380127417321125084741726864917674161955986587413555724937413283826851741226530260067412174482912674119103191741118421857974091515631578740517597285874051667028527740331674239397402142071639374014703125207401019928302740058121429674002245610827739918148161547398309411743773972530322147394149642127373929388259117392268062638373912557212603739047421387673893002479267381810515306738131931772738028593309417380208025814737917500160877377303244707376191968445737521991464373722089981857371116016715737098697599736972318370736929232643473682595626469736819968302067368113576256736718516629736613699492473652689319517736519366170497364547221807364100073071373624456205167362126222019736193122153473601901424902735832530322667358277632741973582585263357358106401978373571436290367354225342822735416116275867353280134110735260482323573512028211229734826536259573481418284387346319201985973462362666057346173632577345280763317734522337274807344270661028173442450114202734418204262673439056406373433213521527734330756257517339206222169473391515651573382831615861733319981542573313270422671732913431476273286878309807328298003208773281863622282732813323327377328119917261732765218260732623858301732530267783732466001724873241741719900732153602855673214369126117321315925858732124700219107319865321207319237714648731917713301117318204222625473171893324090731121118295917311130522267730920397160527308469623458730728319287573072384441273066784901973062682510005730456501941373042119218255730320141266473025532135487302284516884730139226908730130345206937301290462668730081293139173002147842667299150692441372979634102097296362779729624220608272942587278507293021922375729258542163729229075133257291734484567291393112542729017344263827289279462246972843666222057284304672899072841246283067283211262083872831443674287282314977097282234838357282140742634727934788447727887956957278175745736727814476241672771031258307275276959231727330528205977273205941687727237342528872716939112727117421118572692996219323726911138705072682014547467268133392035672678270362672652505416171726519777137867264200902375672633123632630726318995214517260221177587256247651810872561695873572553201222349725451181347472529316373572512260850567251204301813072493166748177248234801858172472003723395724610914225377245147144167724037812959072392542115578723831574316297237969623303723714153874472362299922124723473812026723429848157587232192442618672321414929819723174937522723113971104147230311961354872302133096317229656729847229269014007228880411496722867072506772271560205657226303783054572252540618609722512511586172247359272077224129773133772237767212007222724710070722213532261217221747813474722034362743272191023936367218304521313972173019886647217214220587215144423559721513343269237214019268597213267272426572132291729042721322507162557213124942017972122078228613721213302705272091525527019720631037855872063052426970720376416788720323500197827202724964177202504535947201170221974720116192543071991904128717719830732142437198260542715719770732352971962541010847195157781936571942413092987191796417107191312281926471902903211787190172183183071891647013930718912839300677188667770807188501230417718717721152971871325353571871008525713718350667182323821456771823011862347182235812256971821746410356718209301849371803020612136718022689716971801911924849717627341534671759294139437175270601714171752234542717419241226671732451823304717314227144427173108342878171728388250387172274952412671715116267947171225786351717044424952716925439281477169172687370716826118295227168220488328716810586281817166247717578716610534226097165558618400716529614299217163293718832716324769512071607047278437157342267671571168131159715683272731771552695858657155148007322715432402180167153279501721071531720112875715314644182487152219137470714875758331714724879259377146970229617145527235267142144342474713912130771713828883162747138285335029713710326112427135154912925971342432723487133633219079713315977296787133150662080671330371271277131730326547131278371904171301753220582712923906158377128614816070712821739425271281265828142712732021222697127285465320712614122307125255911267071243769713671242554131467124223271882371232451223371232253317127121128093266671202464710351712024482152857119865447657118309941185371167615408711627558220737116194324025711419884300087113289408414711325659968471132217599347113134426231711254831714711226103155607112255921939711223571186397111182221120711023737142907110210261405471098607242837108167771537106195211820171053265631637105282861696971051005060977104188571154671041292716099710389868879710267901553971023336138067102065866597101898199777101277595558709821518321057097831107567096486609370942347716276709191154637091266712088470872206260157086147257191708525325920670827072662270822804325456708031169231157080171681804707915026126467076895919035707622285890570751385024990707511863147447074943428022707489851732670742442038517074147363008870733183211203707325255296307073226438075707231716321777070589923286707030323226687068163592187270678282570706729167133377067149702720470651577722369706513112687970636820853170621762168867061728222375706026648202147058270722713670577927345705712282267367056289912948970531107419879705128230145347051030392837050696914086705029632280597050279661862770487102558704816439166147048159321247045311752600170451570820274704450574641704414495262187044104042611370432371170087043227331649670422304027715704216228338704212636258527040297541060170401209456067038429729109703770025872703565673071070343167432194703419537145387034193252043703332045309827033283071008070329212620703011231249997028964777070288278283977027684135757027108994522702582465688702429383152070223770324867020253182927019173263227570175571896670175234138417017167727370171355324799701635684409701617336262697014286492881870117242207077011241324169701120312340670083221025417700620783142237005174742371670044729161170043071531017700414013256247004138261927002597323131700166210680700110522411699987915581699891446266699830204103746998299381176469964617249306994865324805699428784104369931182651506991041699706991025675866987913824280698610892267969852810213469851442430680698431595129566983317602469869825399244966982253062346369822036416029698181567960698119451172369782611615262697813678245606973892849996973291861525469732752228569697322436150026972233312959869722256925609697217214173856971571912622697127845219256970704635626969259477559696924174387969687186195756967213361300169621930592446962131736848696194241629869612146618946960695306959159143269591572023213695810641170286957830716306695729006303669569961095969569169197466956407930175695418657850469532954717869531915518562695182532785669513814125546951337711033695037797326694921228238969481837429375694812614171366946442118034694630576439469462100529700694617856249006946146042657869452850810327694512031082569438241118169421894911560694212394108746941352918619694125283108826941203891890169409092556369402678123131694025294170156939539173406938150818982693746411948569355656244426935548233816935101531188569333121193356932668120831693225961924869313436848369292351923443692827902219069281068128062692429249115836924118226745692324297233256923154841305669220832221969211179216466920263548338691913593207736918313092856069181933624036691517608348669135782726269129905256912107454751691075615332690962661473269093057056866907292146084690612424320956905265724751690327868226366903192544615690280441920690279144037690216605592169015802221266901213862355668989087100306898166622795268972849228906689710924325668963529194406895311448142689432175476891154071586890279452307968902283944886890112733666888248602450168874788209916886278015980688525263423968851943764086885113861286884318093017168834348882768831362312746883115624098688294993270968808475631688016764708968801466229955688011160192536879851476768764892192796876138852481768751539115774687360022493768732474726691687217781678768691313290786868672317348686831833109276868248907156686781913746867327082656968673060025962686671982633568652410219556865110942278168646470268619900241736860700657816859497635546858226371718168581934382256856193612978568552630425510685511197124386853814827720685311057352668528036222686852123481402968505143689268493215814760684927021177816849213314296849118502518668479265226926847201303275268463082127486846267017530684610579268076846103961472068452064531603684446919869684353485577684320973176406841954113765683911845225706838204133179368374574298416837299892996068371500732112683639073246836234981077368361551811582683532765263966835206339466683313428233068326272147406831625842168293090219766829155041299668252752473066823278314411682321847188966822288912818768192647212713681714260205966815186952968868146192895268145618214066814303255627681318384786812763102468123529242926811249681393968101828479116809616721977680711886261456806322321996805844126867680412418298796803216571232668022817370576802175382044467983557279356797742611975679626584151056795849611092679578781323667957404275816795151481657267941209224471679313869228096790299192570467891365059406786207156727678553439746678516214489678515729460678514663090867847045786783144261143678121342311667811222510086779324611216767791048229113677821017268826778154332295677811539132767777910140996777189672955677669551719967761769520081677532129322677326527277736773101081117367726931306886772574029119677122255614667683219017597676719324237856764474331788676326073641667627412131646762190992484367602409032226676015467207976758578281136757434310073675417789109346753714316798675330680698967532532130806675318613311666752318493167067518338311396748299712489167482493032706674822646695674776236416747254221929167471179515767462214729920674610350220556745763030973674542134818674433738196743249671694567422747481166740149142750067397302243936739173722128467384202893567381070534626735142731701967348836420567342524826008673246922662167321913363356731951415056673125729196316731239219026730293591549167299363197966726288521059672346362661567219735262716721877299167212219132586720285983038367151799772406713312222494467131185303036712326627562671131653125496711266081963767072234222069670626892353267052013992096704437625094670314628199576699317591749366983433314066698263803021766973221815528669527563142896694152902062966941218693066921887296686692186051910366899772310966689707310294668823636108676687275801274466872531931250668649688883668646725772668625828072668525251786466842917131623668252908754668218161299916680211993235566802081196756680192102408466794823832066791946627169667913153254126678296643196566781154516796667588783643667521339187496675181912806466724041150406670879461546669298962089566665552204796666312421203066662989920091666398662509766633209289126661986915661666029211188806660252621020666599703251356657188243250866551664773316654243221059066539453143736653270042372665155781139866501914381026649125991354966481461093626647766127470664731313294556645389119956644305375664664284935917664243702831866408235358666388306152146638819094896638243027566638190813195566372391122253663648842563866355031975166346811188376634108451403466322664717273663140052603266312678311930662986321289066271351025516627121073181666269379231906626848264776625274029428662527053142746624659430425662310032294236622763032361662062506379662037272865662011413177406619303691589766192255190696618182012848466162804231189661513577154166149058271416614312839850661253414883661138662925866098567295896608169722568066069137440660414243215936603192892536602647324383660222667252466001566514474659923795271796598224841165265962026813289658926938464065892265417694658920821271716587305362467565866132309658616489261165842671029694658417706266556584136192727665832335717805658313258205066582711123756658223869280686582186941313765812054158396581192692903565809352696165784922284436578219811912657718007260406576261121333657610492277286574164925987657221222546665710299320196569278597234656920313305346568746330997656675032949265663179441526566310613136265636084242546563263401571665632332264965611281111297656045911785765572275286736556297062533265552743021474655524092219286554320981941065531292029910655194451039865514376178056551278451539065481733945006546213032398565452881019454654423721137926542125767481654211255252456541747630596540323918709653610334265596534640517426653351631689365332053111170652932378195706526273702906523274811782652240959966651925709239956518317841145965181736114604651776274618651537431686765152821611658651522237172651458998790651428934289765126584174651157693212365111612165366509240332124265082035844165081540857206507913618548650680872760365063032317446505659239426503805913666650352392313365031876225295650231638311686500158112730364992017747256499169749858649890401595864985814113886497449012335649681679533649620472630464953006920103649124303303286490844423352648930069306764892312822043648813314182156487144161788164852510022648423465405064829333141176482273452699164821487230864811898706481185822706648028321931764796086190846479258572738964792505649564791120392364763027419460647421994311336473159713785647255461993264722508024814647223825114936472193010161647216297295564713045415647027232796664695409124536469304956351646843541610264671767621923646624191655264652492720822646518059246464491316151646321309695864621873520033646211830810264606184141716460124381708964595703139645919151260876453487383076453075865196452149212688645118552227346449124062269764486363242286448239742379164477671487064472220915495644562872958264452563888564428055290296441569720581644131271338644025617100164368023134864366572349964363017921951643627602303466434246044317643317185127756431488517317642732761265076425103892143364237959306196422648315543642251311449664221371779736421260522987564203156943496420134003260764198631831864195654167776416527028666416311792643264151887256864128814807864122803813510641221339314146411464813626411270101954364082058413233640819680238826407277233127064072628432561640724242950164071276721105640634916591640584111295564032941961464031616618686640314148137664023121341036400215261213264001825520925639927099135346399191252856399129993219563962323560163942605215716639330820311716393263701836763921715714436389829330363895536736063893123819158638928901137576389287701760638927997270638828423323963881716433426387820880263861483027343638521491101406385137772762663842928124466384273513185263831221825028638216697301946381811436916379216141834963772680428002637685831219637615531687863744817524263741794615590637346671096763731167017670637228141542163719353118106371357728042636720941109963665317408636612823104116362203875165636181976073636125273103946361151451663963601004012749635721578327463565028137463562232936936356152322101163546532210056354283641190263542251120318635325792276806350653922904634931141256016349243547397634831265186646347318481326963472377125375634720942253446347183886526346316181849763461742286344982607163446801949634421513269866341383613601634108404752634026648183426336250832957763334165534963332927719698633272512923663321914721851633111753247063303226610561633025632079363302421625052632970552009363282222032005632717858842763267020274506326495928181632524249856463252320123689632510232366463243022525980632319971129096321275082546363212745346046319442632580631847383712631811163231926317282329969631722592269276316835123063164823059631628644294116315775313050631569428378631531050150626313284542508963132609221983631320718228506312926610956631283345106631225240205826312160982683963121073016434631187315141631137524753631126595166786311179914203631022048257796309163716570630431738140256302263491922663017923844563013648140006301362513249630028940752863002004120758629810678115356295734817981629521441186376294269151919862932045511167629217246134576291904789496291726030886291313243256262911257166436291124272322262851663610039628277612314862821107723988628056171207862801879713884627929598122396279197971960627828485958627827818571562771320616676627698532951062741502225507627340265425627225915118386272145833155162717404165556271705421401627121291151006271151702885962702976532254627018487314266268268531335626629002186896266202216636626618078198116265347910206626418056126716263197021519626248653004162622965921555626120877143976260395628411625964312356625927794832462581619922109625612474139956255110872539762547021235836254187457681625127254326266251225581014562481410290686247117221366362462787221492624432614845062441886822992624410235101096242969929426624237222261962422123224707624219216600762411473060436240476920079623926416114726237127934376623692081578362362810831046234252223151762342074230304623342520093623321151423162312152018992623058692787762302870112918622928003231966229120523233762283572209716228162381844362272649152606227250087916622712532652362262987826915622521573811462243088618420622426413395962242417253296223236816816622321457692862231184726280622216480270346221057617564621920011793862172677519002621668681860262146822263262142845811346213126071367962129733109196210293343248620929295220166202047811204620130191282096200197902100361982785728073619614719208106196129153997619415010301061941334355776191996130587619122961249856190265561561761901266215255618927202325356189200543169861891553317836188977616969618710460110266186238342498161842072624746618314999303186182317283005061822212960896182130881179661818921233076181873130537618172477692617823920112461761720122636617574832755461742409261896174153331474861734973201526173283272904861732453232053617320205565861722334026930617210060236976168983661026167260222581461663174119374616610059863861651966317234616283531227616216387137486160226593018061601407410591615931743004761592619221247615811128623615763111716261562290782616155619211297615523222316361541478374776152279682924861511047248806149578214241614716229192786145110085571614424748109326144195462638461414736758261411860014847614014245886135281124037613524250297766135210202447961331312021692613218059228761321388963656131153814910612717711189136126199332722161251460265406123100772534461222887610746122191183024461202446521510611953679760611712688104761161843210966611585478094611412211258596113297891017461126147243436111766111996109827927193610821787230826103493012610329041449961029970270286102401817926610215069249966101275721189761012496371606101235181972361012301528686101061211467609623163228976095142701271860947998155246094376015215609073372415760879595326087601711715608617106284046086109211985160841251614734608324153202146083174231694160823833270706082327728780607826163311746075184675270607518195791060743101449226073201691049360729696228986072417887576072303327133607131669258556071202662516071152112546060662532732767606610161228316064188562723560626700514160622688275806062176662072260612926829020606042771110160593153678756058512894460577122205546057265721345605626998290376056126052863860561025316964605524542258176055239811012360544019216326053046926120605225108100566052229566560521183097460493006629560491013312130604819757177056045168575101604421775295326043858520203604362181834760432524326960604011753143816039301724653603815581291886037192922356960362076916093603599242364160342588520633603310901267366032253622199603181571846060301340194960291606328521602871433065860281142749360263126512088602602815776025229922053560242558829748602413050254806023192919760227827167426021107887711601911214132436017191112649760166103249360142810257826014226015399601398851251860131673225609601276668446012337030716012219071033560122041822285600945302748560091675249666007272592961260056314102460041688687006002388118114600109661152860002163323669599930914147735999278055906599911857277725998296736185997101542101859962735827174599437011034859941291231224599376762535859936282233085993286877357599219801038059918624285565991021014921599026375289225989317871989559871209910696598623480317465983894610295598319893168995981275301222759812035713685597959052096059792415065865979128265759791207711243597823927252665976243551880059762190528445597568451671159741870826845597310369888659722905320395972168284779597013466685970118062215659694096262535967309966236596714324732059662514526545966113387608596330593261395963142642560359631324846359621256136615962123182599059614686118359611572557865959925441459591965714115595773032054459573989307015957294269731595720987231135956266831699259552503224442595524052111845955160331408459551596425789595386255928595257462441595230443299755951655622937595015488123505949321954025947190032779559471499395335944654920657594329402113095943193241098859422704811633594147882369559401573334615940136692621259371111310011593578167825934109202770859329692513059326292202225932430351759321532212859321436981165931223012659759310050282695930201063128259298688288859285141186159265189747359227770599159204827264575919981512484591848491597659174066166591415553121005914141172611559133000125313591259911416859111816015306591021735698459096410193875909246714195908238464225590818565319055907374132347590719544632659071779815051590714506214359061022411830590427833123159036951149459036820438590311429176025902065588515901297981494559001172321158589844622988358972315524089589366121150458931769968375892129181041858902272513964588998183028958898087447458852018224667588465532884258844924459558839837141845883226719149588322023450458831908922947588221999234765882197712303587825381248065877309143577587617609132465876174616387587586171634058731544131095873138562140258731295743158727186236235872257025178587122943235485870306392985458701861551975869845587358692889097635869231922985858692181967205869179751233958682919812937586567401724758635598161665862295433114258619442099658601760712389585919944283975857169132793258568942224458548436298765854724868275853349742258524407428958512052215848585118787200985850729139325849145941703458482870298485848123241997258481204527814584729925594458468993367258462713221458462661266655846234799358461379335845845243561761584316391133825843120258015842289582668958419253126085841106732441584074297448584040861112858402546217300583930885571583926252236735839210825081583747234432583629209200575836162511763958352758022509583526601972458331641631944583312405237045832253382841758314782898258312720626729583026861450858302124790582671071236582511150206325823262701372458232609630915823254942620858230491610582223640306625822190101820582213955261085822138582935958212903195658199455285025819200033729581917649281895815141893126958128122129355809596217364580722788305215807186203064558042276265625804171132206758022647818347580212338830858021042161155801878816897580111662881258002941425212579711666274845794682023313579432677287225793250001187579232096105675792298992468757921432426687579213358136335791322757812578715047218005786107052994557851093232622578430943130165784193391671557836013127305780213746575778207872456457771577213993577520184274985774805979295774514318671577320858598657727093135285772365032457577134053141257713196928285577113642305357711357217006576729621456957651369132534576513295386057631132811995762306582615761312764457612034114323576087751183857591950926578575728925824657571323198645755295163100357552716525399575485472687057545399200945754325441721357539198197925753493922505575347742744057532478121222575324472590957528068154855751287078575111165275775750308627545574818579254935748106392223557452742079415745194753065457447267590957441085231345743305912259574312265647574290842742574214919809757412929710269573818603293555737227921816357362374120850573439423137757342482422148573286921267957322500173725731479526290572832641319845728116442546757272214599635726309263007572629727172005726268674036572524194243155722707921990572220133151825721910525975721126741966257193944145695719115206378571837878818571715006671457153053859557152153530324571414827306845712106568508571012437150357033216135595703273392321957019609424657016477204205701277952718356972819430917569599965815569514945186565694821215455694300395411569419914284755692722829435569241453149456923187299165692297786956922443213445691321991671556902045121575690120732313756892838711330568764578505687246995078568613538246755684289821521656831525628712568257476335682535717592568230545698856816738260935681277928703567922831109465677928313675675237321076456751148012106567443623244656742227021005567418352623056731605234125673114392058567017857655656701345713885566982792097356682599620715566819397530356681053119667566730156107056659863248056653921273835665256192025656651623124881566423293169656633632337566318357425856621636948056621319705661314029564566127848198555660292361101556602627122396565932923108156593151117436565813348303305657239552421565709668565525436123495655177349269565421804632756541600422877565331462130365652178463153056521223273445651998428928565123391164335651180682741156508991712156486502589456473108651185647295391215956472715325463564424391282875641326442895641183692935956411498414359564041905319564031960217915637530822452563725563139135637116982200356351628415350563225692222056322205832331563032144199915629211261492956291554460045627792581005626701946356251855912285624307352740056227579665956221524276745620404720635620315444498562018317207561831831120756172788711379561637617397561542572970456137585761356132462526749561317438199575612624597756124058312515610297112678856102109033605610191113860560931083304356082322811030560522998273056051212078560323170279235602324313009556021276021241560031876525600254032051560019515175559928217300535598643923154559831197885555982327321405597133731742655963706157785596222592066955961402583725595265372751855911235231985590743526236558915045915855891270329730558710917264315586268002882558612629311325585312262661355852604382525584296231674855842773432065558417916108335583261754745558311832264535582774413812558031665411955798264125385578793242005577487620144557719861052555762412725365557575502108155744062253855731753223263557218343185695571107482839155692111482095567103051154855669617193285566855595255565202532459455623110528545562300812570555618533282665561656026269556148701913355613150113235560124752732555960893060555591191376675558142257317555794871955555555202451122955533703107835553261217033555312036783155511617527928555031288055555012002132115549609231419554715079321375545640878175543190653112055428422710455417701972955417460520554013076860355396999109765539119252215955382497612553553819404112955365189166285536282352166553522861197105535202733060555339142244985533166393812553212433661455311044322965529911280735529270711318455282492220596552762426411552715912845552523522824455232246628570552222873245405521966628145521210644555202855277735519259742334551826182307795515186262241955149798305995514273262827551418443209405514149188580551302692362255115898775955111411719853551045282206855101519402155072057226212550689356616550528580562755042774385235504244942094955041249428742550228197305545502147546143550180252839455016248159415501520429013549997891629054982091920867549815133128995497588531561549312882118705492732119702549212754145735492109302352854873450280054872744317139548423445559654827084451154818685122605479121905480547868481413547817385260225475316117907547421596230025474139942696547319174108945471500511055547027089190105468260192955467277531667454652567750635463971385175461624810284546116551662654611140228237545962376254594461267954592747816254588255555458755814259545824961140525458101131117545520408102885453582513611545129731312655451263312410854491822494654482841014730544616543150645445131291831054442286034335443201041912254402770731969543751173511543728902117554361738074543314126265165431264121885054287196159365427916411137542729714609542625341313725425636590454241153724914542331124231085423139353185754222287220488542214203037354191990516223541853622352454181247037065416317252830754163096013570541525805303615414278616415541312917345412205831058454117142321555411143701025454101900811735541013410226495409312771527654092074314165408445824238540830043322875407176991347154071705413230540672169721540537252321954051756830148540426234137654041590329349540290303194854027311324505402216196091540123932204425400200521674154001142465615399561219541539576239871539528363921053941229017829539319509216625392677413735539213638130575390113021975389316322814853892355722187538915999658653883086261365387707419275386878326671538631969236845384237827242538329777108875382108042363538194951537538032711136605379293783151753791851502453783232117090537723124291855377206589811537684727690537626929195885373250942753553722890915439537194291647953712144209845370316692169253699740199335368184313285367212763050153671709784025366871238065364203044335362152429606536021529285485360150235255357210704846535528666142635353212387152535126788748353492079242835347178281822653471058116547534664713218853452451734075345235032375953442051203785342648422816534119182950153402989683915339582821253373894180655334950611893533363415724533118962814753311169272885329141172415953291126217005328284013896532732551709453271152114195324207261199253236895111955323348221615323113033004253222487123145321183822240153202793224839532012768129275319358691365318294085053182928768195317273914592531612297343531530553141345314150882310853136379130175312265520375311896179115311118846531030954265005309238993617530912893149530881271804853086727920353081556429175530616194251185305233941193053052247213603530419263784753033273826005302883413816530153389715299459163305299311073022052961356020787529501923421529427956977552929733116915291156616998529018650180455290166281866252892976823745288607825227528853154395287319619037528712100455752864787273085285042562552846065281715283318675835282199092764152802751617915280170212467752781433019889527773542559152771252423705527621927173085275718255225275569194545274238579117527363071716552712867752452712495586425271144231555252698926265045268310122246152682149119041526814134264795267350624825267172003952653939108575265290051582252632387728928526323678205905259154221738525804516146525321531121395250692925140525019646799952501589842985249168022641752473009517715524710724166515246231641203252459957245205244191436877524345031339524314747818524132080249015237994710569523622269222455235121712553252342564414925234114722110952339015198655232258381166652316384482523142261849052303213818652301426430252301295423578522718546375152262845918152252396616807522301622582252211281315835218309052815521822880316875216939245485216298415596521612762213195215927265952129331248075212782629053521276103123752082744120900520369712192952032583203085202360273251992322912455519823145178865195254063919519426570315151941798712377519412471572151924573185925189137861100851891117862715185801825186518430242118495184202033368518123908115825181197562463551811630524044518080401119851802994513863518026547294515180109133261251795344278435179462612468517516262164185173225951625517319124121015173157821182951721839125197517213211276065171287291067651691869814256516859323818516731772143535167123761558451661337022976516611369185955165273741422251652012578645162459621810516231873209055162241784577516210508221251606728327065157222908928515628002157365156276211380515622319260135156207131146951552137438685155153402901351542967850851541567017167515116650168965149926127735149157381256351481442715689514801524456514721462174585146284176625146212262393551451683240514416022211805142618929692514155581710751411566196835140315644245139250256597513910223811151373465256455134341852551329900250045132238201502751315774116265131396310672513114711632651301631254451271555312365126507055325126072638512525699185275125150826145512288914338512262152504951226128197325122274615481512119762671651211611639885117655777835117194001859151166243184435116248411194851162103517452511435107945114286056418511266824200511232615251951111659230835110923228545510966702712351082808829814510827294146695105248662246451051170911708510412041493351011221185195100247832497550992218914373509827634648050982161621807509512183182205094786413235094173661244550932817718322509224780779950912500644065091128552736050903064818826508923151476750891774284525088814828594508830698248445087842295555087368129560508622153374950852555122904508489071028250823062314693508141702756450812684432603508075063267450806794800350793027967375078207792501850775831102365076243445080507425379701550742184427947507329759254545073241472007450722841431399507023062137395070115321252950701004181895069369139950672208230435065101032331506194743467505997021477550597513045650575321073650568378182845056304512039505511119605505195232368650517500762650509170264155050159971715504961892940550483180011023504827033122465047319262485750471814427935044171079935504326442238745043238341109250417854327315041305861908503945371615039231741577250391508576315038164081926850371245784785036643621688503596396533503519014324965033282482482450331151161255032613832393503130669263350302905119262503024919312705028956022355502615685581650251724911703502219652925650202653586585018377623246501826640255135015320281329850151479032705501223207208155011999627014501120091171505010941632628500846573179750077747256185007665525430500717661288975005137631295004253483024350032398615213500257711473450021445642705000119992774949993170696484999285072355349963201421453499523526313804994169721460349931831591044992177220034991164849146499032402155484990148941461498844601375149872304877794986296643938498527149992349824422446949818452797349813147573649806160139374979451916549783076415243497729574228454977018327424972250271234849701229427167496837931077749681919816938496718571282364965199138036496426041183364963264981670496218891536049621340044554961178793236749611417952824961108572671049602484219001495978842508449571438129493495680622810495632492271174955287441734649542026029976495326411244849529568123414952805957134952199903122649518018101495110774282764949307958147494822671134324948178842572149469906170954946105512538149433715302494332069536349432529423497494323971305134943136873574942298865572494212271300044939241862413649391422448184938465379644938316621042549372973536974937136796591493713146260494936286051225549342716812156493210365305044932100721144349313085012644492931177314494929173012536149288684112924927176331212549264749736149261645325273492512476101492430889121704923191958436492223045262904921204781609649201701819124919189798385491821609187324918128397098491810963791949171951414235491624392192049161969015433491467822766549142619326638491319675117224912283931106491111638162544911091515449105194447549092562325223490665641394449061724423915490510501237149032136614993490313544221384903114736716490298392371490038882055449001786048952901176224894698024179489364633184348932911525568489317448754148926442132748924995172844892247261430748922450625081489222562215164890391314393489020811384948899978271034889129947181488912814584248889682139714887686125415488714245303834886818020235488610108275494885198141496748831928226966488314682440648831235413377488217318164004882165375411488215565197194880130487497487991582040948794895284654879282231084048769764272804876764825805487620793324054875276339885487411576253624873439532022487332142140684873083204074871149522633486926074143884867316192203748667194996486618600125944865232611573248651118711757486419351216444863246752734448622136211388486121311990948605511784248602985118725485820517159794858194032276548541645774324853637516993485329872123048491942914628484810986212144847890819625484381578364842181137284839258116884483829011768048371794140804836160761436483517576736483286312565148326518102024832226912134483222081237984832173181025483196582525548312596914838482944202334148282347722974826325057580482413330127374823326605730482314677160104822443215205482184283049648209731593148173006927678481529083282534814895826630481419742890348117567684481040672579948103230627199480946471610480932507137948093119929369480829911174764808224498645480714897271244806259502388548049311882048033208729570480310902417048021878523289480124251143514800184927214795326691972347951191554347942081431672479064901664747903005732934790268771008447888489189114788297682226647879893434747872759824655478721469828547842490619866478417808144394781169291987147807973181714778913165144776792025183477629446347047752628821940477242762817447702544527117476951084953476630386149534766283831650147652183345147651958929909476424658144564763407185884762700575247611323424619476022776881475951882975475641117890475629636293224756217422093475514525241554754238704804475321640203514753151491527947525635256447521094172774752106843094747513751168734751175451206047492571726314747204962776147463258123168474619556290894744813631346474418224444547439658105094743236067008474316463492147429841848147419984165894741983538154741611417574741425916233474115421213584738184845336473640464770473617949658647353152255034735148716072473511477191224734201112198347311909017331473016064236624728725524727472431570102624723280590034723160961691471932408211224719138285801471830965136414717673196047172229454114717198772226047169013208314713877829871471366193063471218887166264711891621361471164092334708870717885470820714315894707911146904707231168467470632167479947063161044547061997221071470612506281914704278342909847041779194434703527517280470162151453347012460722998470119460181946997409267864699214858444469874852853246938924162754693130613832469219609108824691764478114690509132565469022770572346887219799046882850561424683115126446791596630191467727526767246772588332666467718654313324675186221666946732935933194672315521319546723032631074467219302105854671331306546711167752984669206002357466818487116314667606323110466514743218546650264103466415986824446626185857346622095459254660179482788746593276192384659327218511465866672494246572477964764657182773903465629360714146561926103414655157722801946530581158246522942810582465228106560046522438151204651276293127465118412262904650296571186946501564123122465015229142874649236273167146471900817592464644156934645253714894644149801548464331118218984642317171275546421701316704642112352526464161432317746413148325888464112107321424639174992613746382960524314638294191236446373957195384637283771621746363175432325463626018177904635292871295046347677259804634755111424634303082272746341870290794632252072154046322323675454629180209265462819082129984627791911825462745941445946274312176224627303225250462728002184646243086313058462326039321184623242041278146216491374946212863851964621181401733346203116528089462024614220614619109122719346181766530148461719696168704616616023136461523582329846142716911649461371452161646114420176694611288542259746091406530830460725386161794606309002071746053089718600460429691213194604252423129460422010519546034850310294601413220192459945231186545991745011504597139623236459671031071145941888030229459327272225945932674088544592800312505459116841397345911125118732459076622941345901092018440458822339172144584374226857458276238985458226099803645822451513217457932123139745792637731432457824480211594577183703241945723040110115457169071678545714606209494571240175034570322302719645695028879456892704845681960434974568154511852645672034913210456688831822245661223412954565227972617145641651915526456230982108774561326982632645611501928445456028877175114559934828764455932188313504559252592171445582223612095455810042203214556267721985455525785286744554963711409455432269420345523079422873455080972035045481761635864547321211563945461275652804545274749198454331063277794543297222384245411483758245401501432571453992982759945383926251004537695910060453654518941453632173138394536170724033453616941303094534155732457545341493877204533288910081453263661771945311140227121453020720281324530148326597452718737151054526217663013045249222495245246078892445221894312054521811930526452121663276174521187713297451859981413845183253193845182772227462451822834261864518169192914513293732977451311272030845123076419000451218783300145103116113784509143811882145088150951545082466420944507703132251450425403331450325752668145032288216024503139630338450231478136924501891313146450185021072445001493116472449849225397449818600269184495906323394495016237844929205197094492280931955044911010140694490662117216449064071671944888333582544872163111965448431471166464484307131338444841568022102448313312302684482939629823448235156234482259352164444814503920244801871712327447641077783447523272304344474174573266544741160643614473276083005344732725741084472503518031447227881113224472227882957447216195410447118692188024470214343217144701391076824469557972684466965125704466644054644632678058154463255994262446310381189604462312021879744602676948074457135902633444565909414144563039138644561225063064453180858153445271002250445263762723445224675166294451501312574451302113087144512664622579444830722209504445619106244452382769654444339162053944433024125984442208632149444413052420298444113141133904440414310534440304772956744391590528415443842453188544378772364544371483231720443711101162244436172902748144357687114254433264283169244332408314816443128590429944312507273494431227329529443111272515944261484711967442511025710544233008319415442310182645844221316529476442060222995144193120629229441818010291964416708510134441222001147914412172271923944121433184804411923722547441186331688044105867163834410291751391944091033614027440529556273304403642118267440315343147404400735312565440016241148243997523311034399275291823043972283331080439629558275584396244911492143941483517430439328234310664393175124393439221913371943912268531908439117051680343898627249274389254653104643862133427549438523153375343852007514088438511622292424384240502909843841616924679438322809265894382179657857438169371342438166071318843812516731530437812505126254376126081068643752797928296437030091198643691252577144368156091887643673080127102123986020196134365230973838436520101402343651920113224362645214718436187734903435821530545435640222615543557547324454352900832754352286682398043521609248024351874823636434511344216224342283352984343387945307834334856219063433369012096643302076020640433020193162174327110128526432631291415443251229610650432346091640543233053512086432312058230564322574229203432250211593243202825641431928598844343181702829954431737991269543173174715805431627607222243142526563343132359631875431297771720843129532593243121801014178431217862793543121065762524310792429667430925328334843092324421076430817097633843081594773104307986911659430721604119124306605812343430649119949430324756786243032332459274301382522256430135211626430124247128864300348464064300180971014642992480330416429769434944429631709127274295298965068429523100262244290260761378429017215225394289100972066428821995938242862787320584286250842185742843148367714284176452529142841428630743428399352938842827811231794281138572142793741848342791794530159427819878221094277248521656442748351400542741369209784274109971864842731948266054272243736491427216752064342712274287042708621656742704021127984270151432806042701171817128426917524796042676155365142673109534144266833125321426518255591742651333714255426491432925842643828250124264209152076542622512116784262248831634261761220946426126738270874260149126676426011512905942588971408142581563966542573000228035425621720189384253092010472425206439859425183586218425165152456942512349090442502910921712424942901837842492887410122424826407760424773221592242465328169474245207767628424329817292054242686234564242676012594242373427774424227660905242421917823798424211835314404241209743111342381692117364423730890214494236546015057423031227140654226314072659742232763029002422325554315064222115382257542211707430747422032214414042191501960934218456028723421621750205614215311781186842110861297714210247131825742097243405642086575472042082109136664207177281702342021434391254201264382675642012294347834201185451134201180041614242002187610930419923506171104197145956586419679243174194248452405541941765138114194152863077141926633118324191300551459441911539434464191048418704419082132012741901640217112418811693217134187125324644418628433285441862417511636418579692223041842851610006418314682828941823111758304180189752277741792402272664178268701526241781063010021417805732569417673361167341752273629924174178453039141702339715741683090627363416730663143194165197223177441641432222797416353982223241617375812416110973222444160254770144160223562325041589708226164157551589444155466324221415531872169534155121587487415413199222884153857915544153286352549041512669723237415021757305044149259331041414867252115441461986114748414422121168714143706274914143280862010941430173194994139843719427413713887421541371044650784135168543225941347753103114134241272418341334234320324132782198014132174122367641303127399741275756827441271457247641267538733941262040724483412440288824124183963123241232669120350412285114225412227891906941211963117369412026250760041201099013641411831461166941182933732072411713681193411689731008741162943529407411523264149884115163061299041138539188344113397619100410915861107074108924181494108167601308410719417220844105280383139740992734316734409831032261354098184794986409729868294654095888026964409347722453840931754812892409285020304092236161162840898583148634089132292525740889337039408816275123974086316286340842289013095408420577234664083269599294082603427718408123721219840802943717452407833603144840761953728244073105727604406846811540661199482844065202911817140651288610156405818841235794058162431919405544525802405473303702405225215320034050246404553404979211293040461514512008404516989167084044734440404423711461404416859998404387622042440432649424463404322130227540422877549114039220321460440359893281854035714265104033113062935403297831240840322079185764031199832915540301555824664402832040166944028316601901640282982818472402824264185234027206692240740262893921865402512455196724024433152640242621229916402236008533402229297169424022157267914021987886064021880176484019181348310401822136902740162291287740153494731040142086128575401416918863040141101128955401316074039401268397238400974668314008155036124007759196194006815011339400536556454005137433650400330357628840033025291244002115216788400017958260803998785113799399815086219293997317532209439971760586253996909621573399624248232593994266279843994171017051399315538257523993128884312399217906347239921413622835399114608439739903165442173990312604358398925906147873988156718605398715595953239871077138703986888197923985291491678139851526523940398332492136739821023487339812959064263978156178714397716049271113976681712123976641810648397617913307663975320311303639751485711967397512436139743974180942266939732567651833973129942829397226191281703972202152743239718313139063971364426444397031317155103970286272088439682892684903962125017953962119032408339591332528739581820819490395634403077039561231838853954836429815395020122201733950175422388939478988199943947151882070639462736137103946235962823394421862323823944140582378139436304125663943314568733394303541310639422666034783941315514332393927775788739391831279523938168091900539352685431361393267861446239321563311433931238295510393011773211183929306856853928957932458392732196148863927280196383926129981838639231473059503923101042556392187123391392169391211339213058730048392091222858139204374246653920305422732039182820288633918165841525239174423165683915891017118391323470172623913216561962539131806155023913133211807391263362733139102739923474390937161896539082035099503908143014099390811184185013908102455453907233148553906597613043390428444528939041020132387390369602352039029124192923902310166503902246222380390128468229389718301129483895215322687638943072023935389313182469389258105312388913332117138884879224643885318061287638841581830763388244033177138819472325483881435616318388118468159283880121643485387811113016387777023048738775488175633875224898585387314049118053872266259889387224509245053872231369412387215922149373868696203463867323902191038661338723000386542383666386516711625138642265237373863265445526386216110238853861194222770238611200898938609299856238591279931262385822186286133858101102859038562866213297385525590826838544582309483854249812854238541241521890385349577716385313799183933852613229172385222885179763851306472655238502636331559385018335269373849970232707384892252825938482454828238481364210903844308199987384320696036384316894151453842164662038412958128834384113451119143840336919498383916037753438388335231073838507930127383826461795738342839127445383328333144913832624177503832527126632383224904255793830847121193830294754606383010989805438292087191673829127801464138271971820247382664623703382616400135873824261291129438231718325748382310794181513823102102552238227401163993822239742251938220152209813821299278538212694532635382123081850838195726206613819306391949381766856083815191461577138131478631616381211855280403811505990638112727222266381087487493810312743102938092482136823808521486738075949265438042878632385380411546310233803288389727380219602440638011943510641379928341214703799213691122337985462512637981694120533798126601132379624547290237952342717137951629483273794887410715379325603265373792221021642237912309291937904369249673790244303097737892189623893378733351813537812371720508377913410127937784871177723773304113019437711625910514377115676178863771117052225537687609789537686941146283766757511299376598354791376432108551637633247048263763210411092376220988135873760238971376015864269737597265323483759277230833758116717679375626412941375615352222823755294981498137552688127444375522054353754458429599375430566941937542052322958375330459238013753132831000737524050268973751402022396375118570224773751174743019337511516665473748326912003437482476925751374813465211493747529811003747407515612374722765292753744551811541374313388143653741855861423741482731459374135372095637411824165603741135701233737402795027234374015822626337397957960373930291192473739272991412837392647625274373913685306463737421655037373037176053737199252787737343153231419373430513202523733251030067373212927290013731327084016372999102069537291124938613728284892387737282285318815372820170189873728130784264372067126881372064112689737204461326263720324241196371771401819937171048224541371608732145371481346853713275733398371181282366137112039139893710760440183710302852894337102896119281370924146317493709119531993337086365142343707749582383707255231736337062824817803370615957192603704306562063370421836277883701237058033370076302060436991383132493697312461780736965307305533696220270083696198267480369521613529536949749972236942026177093692116322293936921016410763690454010778369037431765336897112203093688279465649368433322059836842229879336831692813757368028852934236761834116379367417673952367373503235436732775619993671469563783671301791725536711246614147367065501692836692306761403669209402932536691592124097366713748162336663517290463666150922193366562711381366430308812436642407614909366212524136551393223843655127851608136527336167533651338630275365024505151853645563733323645268919596364513451138936423007031452364185241537436402309921791363994631053936392638471333638198193638104736137363632106159803634153813447363329318005363266551582336311826929603363076191973363028603229873629212722017362730180848362612328150813625735817846362518192314513625141402556362419821148843624181514726362378817508362328281513636221266815882362129141145053621204711036936211060710545362010383433619198512350361832034233213617298316403616743315141361630922287163615119482216836151000426648361277782914436122768169873612252151166936112776010770361127296326383610481278653610395424236092595077903609164156142360812065275343607282911845636071188610105360336754590360312630163123597194533133935971571917234359694952137935963432867135961081795935944024837359327359158413591265001766635882805410547358822342111435871499195093586290369213586273101809735862112427610358414912111893583294671865235819484190683581261202219135806651004935797596202703578226029755357818943134835780012918935772792517430357726523286283575797625050357515311139793573025815010357210213942535715201539335707822184963569287972196635685099252973568201651969035653252031935653141180213565187119225356415617252853563181213043035625644157733562200917564356019515425035593013125163559275482020735572922288635561571513629355313798894135516671197973550151752929935481478728777354811788216135477671310503545152492146935442443432502354327363119335431512668323542199069766354162812073735412921432543541235402303035392733279363539101841454335372354114553537135193927353711624579335362207631740353324315308163532743421763532570449263530475218774352720471133313522261412465135202461994335192248619534351914761147963518259631644035152820722312351424612147335138673016535132189531162351134761680735101371332124350920075232223508969629672350771951311535072168025627350620061465735052287619925350419522100133504177472439935031385314424350067381530835002026618196349824698306553497307961977734962276020356349527674112923493234101584134924147316534923004950263491185589163490400520157349014896787834893235919236348847602130234879152506034865619938348229416111453478282092901034777298136943477163122199347616925319943472472646634723073714238347211721156134718032362834713215526576347040441033434702264424609346829615146733467156471315034651889959893463146231442634631361221463461273362384434612683112918346120758738634563194412263452457818055345210443104634520869283533451081513599344612456863934441087815132344105021423734374518560834373224613423343723751989834371343225350343671347706343618453446634352198618279343380424257343323349117343433151071466134314728211113431150632056434304441715534301705515446342896618561342848930203342823974220983426267302762434261506014940342531124321533424876145033424227781076534239102283023422313662757434210583866534191579520713417181302810234163144923174341629084127534137579118341338121182634112496718611341053461577534097443219034091924477334072648320238340427610201713400322453211934001441917358339937002008633987742247813397229316442339717749327133395194169963339431402255233937511290643393252303092333931314874273392185081696433921018419393339029962189893390122434543388192292151333875944343933871814412616338530654109923383897014817338319811232193382794531598338199296576338018956197023380178681417033795043429333792299718328337824799163473378213322755033763138072783376229861732033752871733633752570520985337523451201743374132497193337228554311653370830122223336828102228913367233028183367178312161433659283048933652602186273363590976033363275693138233631196929093362946122346336168992885833612734813927336111112255043359278772907333582491310247335817690304103357174387868335513075129653352236821234033512831284343351191371398335110581493033492033213762334877322660533482780277393347278053070233471841190453345796430595334527262611933441429919895334410748198533342873428562334284382721334273163080033423992871233416101240193340220032612433362178392553335234021257333418631431533332725612563332276052757633311915626433329264511773329232911199133272703921653327225671849533271103425191332637641380933251429774853324700851943323256530565332320669147383320199341767133193181618714331927033317303318280923276133182757532379331825943542933182498716575331822596230833317967204993317211051493316687474333161333517405331435885743312759719993331252571188933119443103373311845032002331163519787331016982232733307108382184633062866616564330620512228303305141665823330425562190313304237582218330312602447533022254516794330130840788733011680324138329910706134423297301551486232971241319392329712047199413295312791011632951643715697329256341215832921557914313291905620533328872491418732852064123633284277114146328418610732841101919243283282851569232832825932873283140883153632803116514282328030945334328024594253903280166314785327912987225032767212341452932764325726737327623117792263276142321298632761313148763276093262800732760793132113275926045551432759226882369132759112451170732754624137623275424302220673275219901172573275218705174773275214842160963275189331970332751884622432327514708750032751367814923327511811292803274921402598132749154218033274620245127163274585062234432745261471031832745119972750032742529971533274226411138132741133161593273744958263327362995470173273519564240123273331692196332733300408827327321104161432731117132724232730242018453327301929436883272672612549232726116511064132724844088373272230937149132719313976181327187222613327183210559883271828362868832718237001048332716158011860327155398185583271478632579432714127034962327131876817672327131048213917327112146027585327107820322833270785543038132707243083169632705651422607327052926623829327048720179873270431728283623270423802586327017070298053270085823240632700205663639326997782578232699212621596732699156816032699102851532698264820141326973235028563326972168010024326971389829193326953346230333269427666208473269416336383932693265371331432693204042094032691771526350326913144921333269025078201893268927294317233268853498989326878740664832687310516672326871834118610326862512411952326862056827645326859008138893268429164312073268362527999326832916650943268327235178243268232764145213268227285238413267929701322632679287971611132679225597468326772096730434326752388019551326726524895732672278424776326709684224523267055286326704942213793267014334884932669138452807326682896510013326676579188503266681109343266616131173363266513496127773266218942589132661182343236232661103232951232655308161216132655137454614326542478025167326521455823252326512930830281326482803238432648227585413264818607198253264719567200143264614061286532645495168763264174751474932641151986762326402892632690326391126932374326385465301303263829944236723263815159300693263714445254423263624850316932635171249039326351615714052326331599624252326329656226733263269063257332631238193578326311352424780326291044819610326286586213832628455224893262710649185133262620580125603262592725736326252850088193262427224171733262329014176913262172751067832621293942795432621114526680326202775748163261912561231483261828640158423261827389324832618260719014326181704831743326162446390303261524262106732615189704032326131686116009326131358192333261037009651326101352617635326092234198373260822759280303260819136480832606276042518832606261215314326056890321853260458131832602914694453260267431222332602334117063326021037829154326011761729966326007273689932599719832438325993044514316325982374420082325981640315726325979309216333259713658221732594117731673032593171382953259316217953325922630320419325918970167543259169548076325913162822166325911553232363258817471204133258810762804932587317205663258729512913932587274875077325872224258033258424018167253258415226261813258316350475732582109091593932579307324149325782666322379325781251322883325771223279793257524093220653257516922347932574283581064432574260791212832572258451721532571679689213257031564294293257026361221353256912169286843256831880113103256518434343532564178909301325641679615041325638879134413256311419198613256263901040325612040157373256111471781132560167482687332559434110467325592834029625325591892250273255815854254473255773092848832557639081413255422888317533255210298199373255171172263532547494601032546376704325461915423804325435665924932543393232292325412647732354325411478967232541106121799632540308681412325391324621024325341171813533253331715223573253226997685032531245182669532531243711769325271948219153252699855830325267825063325262503722766325261394780533252412171289543252314186254943252124205563252038732616732517639912786325171015830665325162178234293251524096552732515140821947432514261861383532512123132521325119855723325117096141473251130914922132511195286098325111898086753251115005289953251027343208313250831035821332508215303020325057679583132504787914755325032643933032503204441731432502558866003250248648273250217692451032502134914337325020500276633250137543415325003457829324991542212531324991441521612324983135234332496545246324963081830408324942875221843249410097179432493151661304032493113292483249142517404324912663112567324892697429600324861781014601324853180923187324852956724556324852699018432485187911746324849705127703248320668151232483174268736324828611271423248212202644032481145972735732480322782384832479110308583247729405297193247721064510532476320404072324761981838453247517030643247385625648324732098532479324717362426432470267822639632469283427419324685229241503246814144717232467107428431324661422350032465233661399632464195881383932463273869575324602150710232458169339381324581287317793245724712122323245613095826832451233753232449316839983324489518533244624193119373244588541609132445213961699332445122867706324441235612679324433262817068324432365527162324432060445732442244921015132440774610661324395071242853243917014323533243716899211453243563278863243554737975324351350319253324342661222601324312113518393324294794821732429323902012632429309810376324292884020163242927668996232428253702112332428219411553432427321290873242725291192363242622882677324232973924440324217530324983242118660264673242117257149193241964102641932418556274873241804816215324172091557043241718755156163241629868028324162325910441324161461026029324127014279643241219096144413241216496111573241211826111043241117928953324111187615146324082844623101324081515235733240263106553240227765257332401255621187332401137883038832401135251132399806023822323997988167333239912700269732398131113216132397608419708323972181429387323957206223732395315982323132395249872838432393120369213323901222727291323883252121200323869504139093238659081113832385121772289132384164313203632382252119330323821354025632382117814825323815457214503237985942940132379123711544332379123112860232378227074875323763384137813237628349112493237613976175832375669116871323742445311296323741192211683237012228115153236793063909323671234125730323662209464413236512655958732363274349183236310899294433236275601171832362113923072932359228149460323582446725343323577238220683235722309152113235519121231113235479391296232354143181501232354122213844323518670894332351399113506323504169468232349172671052932347249351898932346341024611323441965423493234298119032340737923249323402485963233961341803732339106127933233619947017323361638026734323361062129195323352059112633233517615103083233323902602323331447393233130310526732331134333203132329283883005732329110188652323262213323632323255146212623232427108100413232225166217633232177251601532321218081916932319852397273231810874173073231728796307933231628101806532314427114338323142033030239323131935435933231316844183503231251750223231212661601632311964029216323112251503032310144728203323091811256223230829829135763230829715389932308256211776832307178111239332306120831994132305321252758232305177249638323051247576613230339352810732303326288843230324265126833230286042406732302529024202323011875325407323002743312930322981382021988322952011321284322951040129046322943046328743229423805147343229320141242543229195483218432291264633329322898239722132285158782785832284602075232283190731381232282309652844732281305314474322792924617396322792754280793227834111812322772709422692322771640219172322752259515064322743907091322718533065732271386722732322713126923063227028631177903226932644796332267318775810322652384183733226328802320232262954121325322622684432201322621236124723225911875230043225774111255832256441024640322552847914026322542896716562322542526245933225324268103225216472943932251505129278322513043283732250758340393224919194218373224816918179793224692030319322459668663224420314283532242784718240322413302153443224119360452322411025622685322393272316907322382403931220322376109776322362545620812322357362280713223427759215713223423822377322323556139773223221126290732231759524601322313027927833223074128373223011463186633222922219284043222818775104733222816742135883222525164651732225203431160332224297032324732224117172277932223304628442322222752977332221615221300322212038951532220174591083221829247315093221731470297953221727554303023221630025154432215515210119322152223273133221510536872932214144941081132213133405573322122587910427322101583798513221012316229403220921616149753220823202325413220515156114833220511237159423220454831913032204300152740322042789612677322042295529965322033127516787322031260115467322012815022277322011854088603219818192572932197317325777321971871925345321962425080683219617489183613219458057393219428852143433219415965129453219345013265832193111433061532191258811937332191224901366932190117685648321882782026143218753235893218721174125613218526354288053218343428341321826663943432181644216126321814835709032179827329254321792416431295321791866322868321782509026257321781585726469321762440914719321762314178493217362212244932170682097993217023265307603216851371670032168195852735132167169775403216715256293232167145812898232166704723669321662508221524321652495732232163023427084321621530031414321611488258432159200209255321552287224115321522980712903321522895122914321514485760321511928138033215110302299063215046261282132150204368296321491424928417321482731214336321462607384613214415805199083214369814816321431506634623214313837254732143114846964321417532127232140913019872321383109119259321382325221522321381969115933321359924320963213413939102713213366971273321336085191321319637817432130247742302321302129157632130104362276132129215291743132129161907434321255804116273212461851991332124218251352732123197912666532122981818477321229718276573212218434184313212161362509032121304323126832119833303263211932341174673211839102118032117294092449932116182362384932116112172894032116111302362332114105759242321102028322555321096024307863210427301184953210348322274232101319736363210071854797321002572720232320993006922695320982846132733320972126426464320962889218362320962191411340320961663110332095581123503320942059629923209381732112632093066218803209213235331320902521622781320897078233593208827384108163208813659303813208647127413208631960313833208611147269313208526522205463208520747573208446273205932084273602628132083869176203208327774900332083139031834332083127119623208295811542132082193141933832081112702453332081084328683320808931061320792637260332079184881425232077276283060132077271681435832076136851873732071067214683320708235174993206970311743206623526499332066158844845320644920455132063863321679320626876186493205911837257633205859811736232057264773658320566417284403205520530119593205518757233320551591810746320551119586283205353111649532053143216287320525300192133205204673075132051526830253320513663205793205019288245963204929165285773204914965236503204912277232532048927727131320471328926033204699602316432044323613157320436698198813204331080166753204325828119953204321527407432042325032014320404832166723203823150390432036221114390320361505722321320355256287183203420425858932034197219240320341314513820320337426186320328199812632031225621216632030242714142320283208326780320282183258043202743446303202615431193603202521851259743202460922590932024446925135320243088517423320239095636832023139141328032022281916494320222247731799320217063161393202076272846732018303992923032018117062895532016212671280332016184171092320154641759320131745926798320114602183493201051841493032009164892816432008193143332320061690125446320039245352032002712720062320022172104473200030420984531997889291793199730542686131997145851922731996291122628231996128771979231994203971137231992314213632319902802624486319902671192543198921022297813198920832228963198917353218973198830994776331988125312040319872370530195319865057271653198625086326263198566551563198532672116431985264332602319851663369673198512921651731984135301352831983236723393319831882039783198226912845731982246908490319821442224931981255661411131980154682544431979207951716931978151882721631977263914137319762477813448319761677414576319753062212211319752561126503319734777296113197329737183073197190722227331971836076253197124332136631971142671243931970457110383319693270641463196916563264463196817419164353196722773105443196470415963319631325240831961196512783196029850393431959476919395319593250121433195929179266183195896982489319589217535931958558794993195621078942331956161276583195232941846631952303207157319481770320242319473024331165319471310852583194632359243331946305421173194495488413194330012268173194322602180743194127748210453194115777553194019894190113193616400249093193531476712319341231148333193225061327163193200452918131931165381269331930749933331930659625682319302945971803192412420662319232974326405319231941129655319221714026523319221430823788319202759682913192025788742831918117372603731917222654286319171217204263191693899021319152382595131913259381999831912105386518319103080030084319102184516386319041890116393190010423322593189973081052631899160274003318978832637731893143112706318931082823191318923029819613318916644291243189129684144383189096352867531890311269780318902999413659318892715728851318872991836031886295661976631884249191332531884140611671731883935218755318826737278513188228703234273188213722999331881827222579318811621727294318808647205331879173851313831878998885523187766421011531877292953265631876581544433187611607192073187314760131813187283351662731872744144133187225536138313187214162296631871263232308318701720839813186812624278983186724448134253186527426148323186426341200503186323573215603186271062227431859509668633185911738482031855240107558318547496693331853407196363185319784336031853121113147931851259813931318496522702331849144226110318485599600318481768127257318473260290123184628977249233184610719190493184184751204631841270994028318408668222231840203732013531837232664228318352155039253183417620209053183414239127013183327040174143183212981772931830898116372318282772718712318282380610446318261707824436318249525121243182446322495318232800945833182262301575231822151392331821171306903318174431134223181711694300053181632002135103181593852852318149471101453181429815296693181364317539318122530498403181212757411931811119231169431811108091650431811016897833181083781098831810305162919531810147491765531809809173553180919747117903180787676613318071873532728318062878218003180238264303318022979932115317992128714130317986989638631797691129221317938068345031790318531055931789920274331788321144349317876254295903178629261719831786245243157531784771632519317841839321720317831779794731780140485588317772026370903177632426310833177630362130203177514040763177492031867931774311321953177235844386317713251226873177121625764631769196064897317663771162553176584462764231765253271605317633243917845317631538032522317631272510355317622107027651317611354390913176073862921317582409023601317581773325184317573471830531755322862248431755157882615731755126138951317548130562131753254641029317521725023016317521513410934317513072017043317512523061163174919035647317491813325997317491804127999317482866549733174711564196243174621460306043174435135523174312937151193174290241028331742209486923173918947953231738961685831738325822532331738112521185831735345143563173512150699731734202818649317331221694431730313812036431729281170731729178471265631724205131528831724131739103172330591756331719853326683171926455239693171925615241623171823436170523171721589182813171714776434831717119726093317161990232501317157396464531715148391254531713186321546931713166412519317127033204813171221222198613171112011783031709325461186531708326432529131707224032046931707100526183170622620156233170616832176773170498633076231704239572944131704171175079317041034713918317025043031131699148551459431698465325749316982858021728316982465311316952079829344316932411517797316921135812306316921044417408316910940280363169077041523431690315758421316882222730194316881083511643316841177722095316838470296133168215421101143168143851882231681258951694931681185502656731681174072153316811642996653167817523460316762356620103316751209428340316732697324603167113761617631670225165466316701917832619316692116526775316691980115112316682474284323166410468215843166256924183166217652889731661993660723166020236131073165930913752316582086937083165810841254963165721523321013165629717237433165574028323165543062190316533047325475316524006236623165220790255993165217895172293165178671398131651264712125031649903667943164971863343316491135231307316462913184553164563143224831645273971131431645205862817331644887331554316446610014316438021022931641245933020331641141801277231640898811611316338375282373163237814333316303488538731629160915855316286083105063162819643273931626250425298316243092430644316220031287831621664719058316191939036263161532128133113161419397302473161414432150863161021005515031610164782732131610151049543160911901522231607305303051331606266561554031604194243074231604134865167316033772168813160222112318833160216557167113160125799186031600315541534931600153327468315993756300831599222021167331599163434661315982923814443159528436307833159230604188183159015070929131589882031822315881168529622315879185277663158761212360431587191187253315862993865393158577071703331585181691773631583180722355031583136501919931581240371267231581134102790315806129286513158029826272963157779281453231577213478470315741390678113157349926533157230672274031572207892579315719654134143157128252261113157120545323263157118866462431571162531136315702973018031570212273636315701692013056315685265278603156613958114943156524741316653156470666793156364031981131561307516235315611327237493156031608186293155992201276531558303711684731558247821312431556291032058531554247019706315531519326533315512181553523155018575192313154983641284231549313704713154929074137493154916004340315491353821704315471295384531546303715183154495401272331544880331162315442979030156315421585717770315414887181393153910843244623153820136110903153813638112203153812624315723153746167315373086723127315355985247653153418453285993153017787117833152822255533331528209876509315275385473431527124858186315262274915251315261515724673152521626125373152425422571431523947121235315222582217359315213260039043152126401319231521202451493151866073112231516905304853151684009621315163891266533151515116583151320813157883151273741845731510313572561931509131878971315089921601331508172081668831507301462212731506934680531505363221538315051545711157315033084589283150321949248613150251829939315023145478943150131036228431501202082131314998600323883149927660220933149915900261113149829440645731498199222380631496229012323831495901515823149424024379131493721112054314928026180343149222111300353149202032433314887672173303148715323209083148519711314831483672627009314822522584631480326912316131479148212037231477278891762531476810630472314763272446973147623243319543147619867325233147516870649331474240171262314731838621650314724693201893147120633135483147114981102583147086851338431467260592594031462227621333631461427710275314613144724332314612900272233146066622015731460250722461314573914251603145527558182333145145593183531451163291991531449515227170314483089039683144667526689314441506310711314432682633263144322088130023144317785251253144310094115003144202430270314419250043144124769254143144121489247083144017486380731438458123663143784884643314376080309913143729856936231436279522038231436218953056314340901417431433219882636231432260101798931431324844063314291344119828314291201318620314278571480831425320828461314241927920285314213064012174314201210912893314193459243883141917727256553141736822692431417267724007314162394531836314154856195643141515518266283141512264556031414296164643141316992170363141217984168331411597257703141120151238753141019627199731409608881231409315679925314092792252803140828258294403140813697151813140728472199153140726224981031405702084903140429245178983140326498834231403253871153314021377127981314017609208031401585911016314011453315879314001516985973139989501149331398166561727631390249989349313901842818481313892837629551313892768518593138913020307983138868811751331386324186016313861069131389313842971323770313842095532384313813216893693138056885376313741093282443137323822513313730212151323137240315403137155891798431371386413665313713844308023137117932174231370208671362631368270921262931367228262858931366144263313136517373343331364305101114131364129115126313623231188431358267587313571809630853135624226943331356154821825131354285162241531354124097152313531621175313524002115063135196921815231350268701903931349120058023134870251820531348201891769031347174221722431347151151025531346327154272313461400730492313458296242713134568581554031345267152250631343027245363134290316278313422817466413134218772216703134118165522331338887025109313388100357631337312122217531336157862905831336131308868313351266017870313332563429123313331315617767313271211823378313258152433831325189301036313232610321413132288441045631322847929185313221316229329313212355429597313211934325423131614792265183131515381985231314291474873313132814621335313132439729333131311220179453131131607571313111892269113131109081948531310265402800731310263522323931310135403163331309249751802731309143122903031308276761074031305280615638313041965318038313041886927092313041110126243130331527317423130129029377431301286136831300817227384313001729422174312981155741323129628953258053129620852241153129616011222013129527221266893129519614565631294196161231131292924212543129218567152973129215671692731291284631794312902045364943128929207238523128629205223213128554931750312841213918064312831449516350312802629060073128025473325803128011322974231279367017369312791467620836312783814741031278203999054312781350823440312781030610506312741437516055312741103027780312736750107683127326664245931272573617005312722469615890312708864273893127030180159283127018622068631268319931810331267571928312672474733331266977107983126617158929312652262722855312651595929169312633328671931262699037143126225487244663126188861970831259678938673125617262728731256128732745312542499813883125332229174233125175771888231251012434593124922885108631249131805622312484568325312472343121115312466536228113124624381198503124513352217331244349884931244246179865312434709255563124227787382312422399013118312421672917304312415497197913124079311587131240200812939312391852617159312391596029125312365395213713123486065553312341611621792312332625816353123316917156443123232184696431232294383476312321336781423123210316616031231236004051312303056527546312292485315255312291959323822312278776317783122718426835931224822445331224269012513312238610210673122325620900431223206478443122300262025431222119702424731221109151180531218412918909312177172440131215245069362312139914318631212176462335231211528711313312111521668031211149510952312103052170643120639401679031206246535700312061106111293120511115219883120343296346312032782079233120314626429312020384310123120116767304023119938232468131199318217122311982999620017311971006419936311966585295453119623380426031196178355242311952459611627311927145109403119241193138631192132988337311913102314873119032239188753119021318307463118814357205613118333451739831183272962110431182195117364311813134615114311811126221562311793159824127311793090113776311752070280363117431834614311721992220063117121319310603116921731969031168227961612631167206912897311671622711213116629241204453116541741138731165317811899311651519915786311643167124430311632060822709311616963286563116130833257953116110354263153115988552665031158292681837831157214331727431155308478964311531393436603115223112124231151311432919731151237803140311497219571531149318832406931148299373250131146106431511631142285843209531142118831061131141827730047311413276313380311412857811184311408972226673114018861282413113828554160423113743432776431135320483716311351877111231311332394013884311323081902431132139171633113116853363311304983615031130344967403113012394209613112937181200531128718187073112819982108573112817373809731127215681233231127213212656311265412798311261773025334311241841632115311231418871463112227689143063112133762110731121188232260131119182792846731119157881138831118242261665931117202621632311162621674483111610227056311155097251313111513710143373111430709314723111417966950731114159563037131112262721825311122500211862311103267519073311102687115231110235401405831110130491243110871902429311031780331173110310600141893110310112303063110141922908311006223299131100229826766310948284179923109327439839731093176709274310921278232720310891999168703108919840120093108883943265231088102522892531087157744126310863050224198310832467524836310823504300083108213025277833108111235217813108059121864431080291064343107979292790831078276841523931078123196988310771981613001310771105410867310755412126931075118711355431074272141269031073311017682310732688243633107230861538731072104321317310711205520744310710760286733107019514107813106929516701310672445917412310671236825231310669430268573106653511225431064289261293831063221522617310622433085633105885102875731058148522697031056303453098831054719107833105164672063931051267632753310512227923559310502496420021310489602840331048295984684310462971191403104516399451031045117811259231043279949965310431440017392310372478223308310371736527813310362759012247310362321626231036224214111310344370286593103430529218153103323923276953103214306134113103123422196231031199892178831031199542460531031153353268731030217252419331030171273122931029539527610310293008631670310283222038703102813521077631027145292048631026288812495331025278532294131023251562725310225076165931022492427053102156902019931020232203185031015309282271531015141801598431014321197654310142188720377310142065917485310141723512623310128045177043101017563122231009319672384631008303523428310082554182533100815281590310062682520657310061237816075310042759966423100418002114973100416210886231001090131744310002046118452309991145513296309972997118888309972920528873309971823021861309962924224665309953034155373099519512154053099429298213883099246419013309892174223530988442821699309861232126181309851219917613309849833573530982204963006330981299712270930981296031251030980267822197730980135131543097914102182323097866461678330976690621181309761235521474309757784763309757285167433097264531488230972635027429309723797761309721951341673097198522921130971796479730971771924829309702637510003309674124260813096739819927309672449431312309653212717868309639814161230963963629089309621102084930960813012466309602090829373095931005289113095920830177273095826426268563095819018809230958111351369530957142643014830957132315630956272961961130954138147900309517677279693095119671294713094956755703094918632219123094873322805930946244732048309461320530943640619473094228205270393094119708274530941113771235230937251486403093719164131493093697073204130936235042761030935294352759630934518746893093419797304493093215211363092929816823930929177431091930928967176613092816291267073092711121445730925281841113630925267972056230924208222041030924148053178430923216699003092223857120253092222631138133092221537175773092026099319730920158691196730919390134493091916622028830918109351893309142562685513091331499772230913255568118309125945108283091128143264843091042739161309103837314373090829718163443090816508321973090721986876230906153071485309053762187243090512948305830903286663098309027921471330901285602611130901125133045830898102395930897671226883089714822780830895323133482308931445226869308912075019330890207715803308892277141153088915123248330888105632881530887189152679430884149424910308841445231049308836562104130883101922970308829970116283088128965157403088110825116393087982092271130879141255816308778321282953087727111106183087618217438308751879020289308751752025417308751462243223087425364581430873988228558308729578286743087219919843087016188333630868612444930867278702471530867200761559230866735980093086610359246033086418871666630863292803419308631532520166308615703289633085918107906308582217527230857816884030857226852253230856385129436308561546525214308551576721005308493171228846308492013322205308481232895113084713384144943084616666218553084427387203003084423262410730843114231314630841659212041308408576233773083914375107793083812299319363083731343173443083715446326433083492731630834811988933083420238175733083327930706130832187233353083116538238413083108763179130830292542733030830252321354430827186112375930827167642498730826227912976730826188915319308231011199313082132644144683082027272119693082012931136343081916912254193081914840139483081913831323081811512244883081732220313243081521609202563081519299948308151380696783081430568266353081315356239933081288602209730812546227664308124945256030812178743131830811967173143081116241230213080629605118333080619703210230805248368962308052383828193080412111740730803105566101308022720832760308016785400730801289541189730800321122059307983115998383079650075997307963832319530796366914785307931131528244307897275513078969028567307896049376230789373419953078879921991230785764613932307848102153333077638829527307742502616834307739852240993076988072223076923405311830768153124858307681185415537307676335309013076726101218030763129119223076278331748330761982543203075747752385230757399821635307562185790730756194232614307561442851123075511471305303075510555148623075326078729030752792732386307523664924330752204911629130751215665553075121368279813074950671373930749182514894307482341574483074823291310623074822875024307481925263233074811591138763074592381478630745408163113074521198110613074352906699307411785598433073717524976307357444974307332261387853073213977285303073196751651630731368530979307309256189523072916663275543072510290274023072423888518307212542227212307191102430624307181685521137307173705157873071729728142863071721510884830717159099683071430930259873071243618041307122658129312307114317687930711232362085330711208892402130711189761493430704528222551307033103315293070312164263070157287743307001830721755306993229214046306989543141230698284434824306973462277813069717711537130696487530761306911612432213306911543345213069012668268023069011513129323068863595587306883321785830688127672216030686195051079630682798916891306802648926232306787733679330673978624433306722642972930671211212000730671171972571630669157602561730668196132145130666922011606306652866356443066524116208153066482001302330663744115743066324584102823066212996208403066203602108030662005228514306612862222663066124371229306596233685630657910017380306572948915497306571380228589306562433712244306551960285323065464606612306541273228528306531403911146306511614720384306486210389530646273136923064624841232573064616527450306453164415553306441955415912306436428102433064282752946306423811814330642041519779306417289166373064120301815830641165633003330640156591852130638179902773430637436424004306373097151593063622940164383063425103298583063423097186813063222549638306301162794383062642382798306262817727070306252877698813062420760136930621869716111306212329513578306186558749630615305402689630613359256073061227813217930612175825292306121632375103061178593953061162772148430611296772251130611125664331306103096210433060960771454630607193323068230607126751729306042675020693306031290863053060237619226306022281719465306022013020886306021996019025305991145929334305983068967853059733131489430595432819851305952527825030305943049731137305942940415730594122695042305933661271703059331132915430593155382690030592746418831305920271465730590212042688730589132838468305888185135230586209641106330582320876727305814103257093058132332103343057912823291733057821502186723057717527309473057646002557130576221772795230575153242613230575134323070130573188341005830572174027106305721283220583057119413206133057022788220213057016766185543056915787219733056718679302023056616270359830563833863323056327547109413056231991108793056123810233933056025546277753056014015285413056011065320803055995101353230559320222657430556901216643305568016151793055660002061630556285131559130556172161383230555348332530305553173231431305547415141603055223454109223055222335169813054918757116343054829660548830547300742097830546124834278305448472608230543248253217130539235811343130537107352482305363026418373053624054362430533307961361730533257094002305313562257413053027850143753052918974231933052882703219430524881880433052344253079930523261631913305231931115809305217267365530520112772304330519285171636030518495925098305183179710997305173249940083051621962733530516104885704305142417930356305132393961230513146202295730512491902230512281532075305122601329510305121682843623051199878675305111548483313051010598368830509200961408230507296302026930507203594506305021697116651305013034478603049966556576304981100825194304969918155703049614502103063049524951941430493108712959230492127212499730492115112501330489156231858930488296601901530488155712713230487311692072030487294617547304872698118233048631031781430485251101795430482912188283048132431503730480306922593430479177411480830476269988793304742240327163304733094525957304732701258073047053511097130469231854440304691376656930468199871893130467649924560304672930959683046523862428430463237662479930463177064770304628314318530462256792584030462221671763730461811519569304613672659430459160541873430459123152453230458116522394630456667219189304562355513922304552788718884304545530143030454127458630304535382279253045282132656730452201742086530451972417124304504114175493045022892184613045010997777930448251887745304481579628320304472167712267304452468518176304442073473853044328554128243044323717297033044148872595930431680314465304313218554043043131110161683043116824139703043116249227953042922287939304283257523776304282882313030427104223206430423259772153430422323863064730422262841961304211291416017304202588726684304192760184893041819815136933041629013443041288463613041193771509730411359630602304102380313847304101816380593040856930575304081667522572304067822891130406205971533330406112985231304051968930953040316236170633040310311726530401300036113040018138312113039922191267130397267922754430396164961188530395320972426730395198611381530395192281773030395179237023303923230276083039191606414303872441476443038626530970430385295632743330385190939186303851192674183038314718105303831375810524303821617764003037958159687303791785157323037917221284423037428918116630373235532016430372145202930130371147082602330370924018730303682379928896303671511337853036621295182683036430337298233036219506234603036105199623035930992162330358116152271230357537830747303572330872130357103412711430356237322123030355127622964530353307372407303523133119235303522503620385303501415213933303501078579103034942001076830349165049515303487035209130347894713154303462318223894303459358180530343225442357630340137811991130339153102057030336161081428230334344234563033425627161723033272733022730328266982648330328172623609303272991014758303230517014303221445921015303199330332930319888926854303195133216993031922301240173031477961160630312292221141303121968026273031090182226130310477831974303101173277503030740501361530307254917355303051886720937303033684126333030298232043430302923182853030118649268143030013070145233029897542921830298251521388230295308293324302943833216963029271906082302924361298863029218904234713029167273813302912466245933029118456133613029105154163302903719251893029019244217103028930751232393028922466946230288302501106330288219111150302872052625277302862532412464302858396316793028413336225330283299812350730282304642729230282136418803028038722890930280257486230279232983950302782417415640302782414018458302781960619131302776164137630275315773214630274139113037730271666022488302711943302930270238296703027020515885130269992527528302693006323287302692504115355302672661325258302671764266763026665381904430266264952546230266155712658430265640519044302648438434302632605230779302631278711659302624609240583026219564142953025958921883025837141133530258300572462330258179771385230257131605550302551232650803025464901837930253202733239730252246812045230250270132161930248322199456302471824425273024521683182013024441222267930244151091914730244104982005030242272224441302378014321543023712464288673023688021666302318009832330231495119588302312497417667302302799319101302293107321490302292921122515302272298622567302262486432495302252622415202302241866929002302233205628461302230156181793022277424962302213148828577302212417258353022030635245330218526927005302173005126023021722258138713021710567122533021584871461630215259202820302132787423563021277532111730212243702837430212109748883020925404262163020893122585930208179712642530208131912546730207240274914302052503619165302042474825554302023964240723020237231450830202173971623730201217173223019919920153301957519978230194779221843301932194189383019229103141933019179933135330190293352622830190260802322730189103441677430188306808732301873035471893018632763283113018620457879330185870111853018422145304903018318703252833018318489247863018316877215133018315650554301829584181543018089221919301796639259093017868602179030177293631926430176260163213017623378276803017616820223153017525010218623017456283134230174309862260030172901315566301728795884330172427231740301721717251163017052272513330167181441947930164232361022330163121612709130162115822107430160460324660301591189279063015729655158933015727486323963015528710237930154262521115730151202591870630151165021630301511433518056301501486817252301501097110643301486131931530147286354813301468259255543014623067147453014622452898430145218892394130143279001637830142311288950301413136813807301412667224094301403040720133301403003145273013923523299033013923405503013728005240301346743277483013413522203623013251323513013181595201301283597266833012728790715301272813599730126841110708301263073610936301252328910940301251679732567301244099178703012436736855301243186719641301215753961630121314368553012127303276530120289617808301201182183523011927424254143011916844249153011814111236083011785129716301177142039430117295332660730113189381632830113166127806301112927741730111193901561330110302292994430110113651369330109598196830109279341908630108319941966301037831149830103514828369301023192261483010112172326363009848612148300977122133313009727673179243009726202100353009712724212103009629523293300951536309643009466823137230092304618083009215291400530091200319372300901391524530088258031362930088160949263008750043312300861358024010300861292742493008593047725300832139765623008122753324330079215031595830079143521241730079136103012930078788425679300781894345143007817871260263007814969228583007755311598230075471268230075348556030074117142583007325793934230073190412108830072265341028330072262122555930072119388183007114171386130067187237093006538742476830064104752876930063585311987300626188143723006260037793006220802273543006191791894030060748821456300591968351843005827652994530056302363773005624686260830055605829325300551335291833005284269293005119546307973004934323134430049227801466030049126843008630048165446603300472931949803004723064101073004714248118363004713371268453004411507283153004130268672330041238886413003944513060030039207026564300383878510300372159421099300356008343830035168731152130034214115505300341888211287300328594237803003220825343003155401007430031308392409830031137532030030031115312062430031067017774300291900447963002773052703330027178911823730024309621649300242806824523300218379173013002125983301123002098682202830020177432967230018262102730630016128291306930016118272894630016103752001130015391332024300141550132073300115673459130011207067771300103104025291300082901315830007207471489830006189512016730005693328933000524520475230005136784395300044102148593000433022766229999686295602999720618117299938161442329992274222194299921865712387299913231415135299912715972032999084295653299892667910659299882198525626299881318828286299873062323145299861937039312998613758293422998524243910299851795795822998374732646229982491223064299811815442512997929928110452997888112948299787673238342997837007434299774373181042997726861314642997516872189792997477002271129974177522580299732728273029973244425936299732409122902997197111304129971477913129299683057025346299673193210170299672999273312996712014263842996628198603299661189912614299661072824932996521721124122996014011495729957305457685299563810172842995516207598429953116261812299529726250462995268718084299517024673129951245923238229949109021087829947678736332994724839144152994619207203529945301110131299445398215492994330820235229942890722804299414923176862994029837323292993922122109772993842982759429937307312476529937198296775299351082723452993428572249529934229851954229934226891445629934176242258929932732722641299322877015372299311537730482992720970165752992631679169322992519699323112992266016866299223431012829922131461612029922122493217529921446875372992126494157929919125152727729918217629660299172451330629917224632656299162800057052991426841171729914259101254429913168882525129913116471002729910655518925299084285324702990823222229299061147930554299042918821382299025310153302990232541306529902291701299229901540164122990120235249472990019072668629900135301330929898938134912989821938307572989820935238872989817211298882989722340127729896171171368229895214413189229893140798397298923238622265298923009125521298922278017621298921889817286298915513903298862136615572988568722414298855637190298852041473612988446352501829884162494119298832110823641298826741235082988177131724529881162081272529880219071261298801989820149298792233518932298773241738882987678563047929872761927380298721332618760298713179619061298711732994562987010560228298697961755229869300986852986873571854298653686853029865325633146429864250792763129863326962598129863191762652229861340986729860141027864298601079685382985989195265298583108011014298582366421589298576357144512985725249311102985712978234752985577912133298556520301452985522540153692985425729198629853253242328029852326842659029852167929848298516172245402985132003170292985120474305202985119288302172985019917143829850150619342298482063429397298471768228843298469487250622984519675243112984479016075298442845873332984422265200722984254591439429842293923747298422865710188298421942930822984115862768729841137318271298402568416608298383093350562983827842776629836264444951298324878123302983138868002983128903993029828249852836298272382422984298262180942842982618488157629823172643950298231606213464298231428837142982220934124202982220016677429820126241352229820118483207629818100317599298172028424622981512221173352981487083062298142479519371298141798624232298132371517269298123167520068298121067723572298115211253832981132061271052981131921067298113108960029811216622399329806190186428298058228248132980423346505298034176251792980228082322252980213572533129802109342688529801210711522980118938196872980076561067329800265318334297982071610566297961451917095297952570231082979424883865297942029308432979311474250582979296694152297912552028914297891952717182978914276278302978824438662829788145752150529787545993752978710522995129786603417228297862002827064297852225626076297843380223462978316650280782978254462292729781959515803297794748110452977931172228542977834743212429777296162132977720126260162977611964471629775326403972977322053237542976912198285322976798482351329764204992152429761920717773297605703269132975811203711129756136493207029755394831263297552296430378297551857524392975481646482975277201307229752405522006297522936317854297522394021335297522305026118297518125210402974846062667029748139159551297474845736297460722125929740436625993297395000226642973928918512297383485482973815412199112973806561192973727485114029736275758252973621534669297362020018229297361703552229734255388041297341739944902973323345168182973322351730129733131132954129732384529862297321909913666297321161427900297318455255992973170201177229730263493063229729128582353629728835531273297282381122972516709198152972431116123742972418824318982972216650942329720582720605297203039131462297202771612317297198356315002971921591233732971832742149062971459082820229713196952134297131136090392971231439285632971216210684297103055532683297101026207792970947422393329709248102730329705238262648829704287056127297022790955422970219184213602970120311106852969832655285572969817831123222969812883222282969721562152629697175371996029697123725902296951340844652969452234222969425459106296931999120422969129389129952969125456920529690666032084296902688639129687202341612729687136358760296862875425988296816237986029681193272822968022011221522968014431195942967923962413529679191715007296771714126344296771165612192296761363531593296734781199082967234715940296692796432522966796117285296662752421294296641176431837296633965159172966233252641929661914828795296612503250162966119095848629661000813279296592786522682296571478923030296561305117118296544044139382965427461061329653314481682965316913169682965315795290962965232520281012964919714466296491030711296296490991969429647362519968296472025015569296445222393296410857251472964027078152332963927690163152963714122592629637118345973296351884122034296341628822065296337842181229631510147229631270554192963121345236722962998201770629627745817163296271972924797296271256928435296262720189692962615411145562962532186924296243897609029622999923979296225030108432962114646316422962081321412962054852285229618235081106729618191131912329618156517149296166088295822961629154602961611348190382961588895069296139973439129613138016892960939711838296042420522677296041492916209296033031916097296031294214008296022698813911296011601337429600133182413029599267762460829597138927372959711855141882959612048966129595265965648295945107292232959316241203295925868695829592229781043729591972595882959127444340229590199122083629587259602318029587193952301629586157514792295851148512707295847117201295831081024642295822282111192958219449101632958128483358829578318199649295781688672102957811267131012957732551716029576299716205295762346232159295755756158032957445489422957350642541829573225692875629571266729702957114753105162956912062375129568314999061295682065831450295681813527936295632078621733295612507127919295603012282762955921422276212955822656212172955812542256912955528359230652955465749092955126456185802954915470146532954841313586295461135912086295461012412421295453199231877295449772124429544155662852429543167815098295421549719772954026602884929539283201230029539112742458295382764924962295381867332353295362095323409295358638271612953317965235562953023269248182953010990217992952829127177142952762976560295262937272072952626792485429526125082949629525571629218295243182618919295232183223774295230965400295227822626295222872532135295221131980829521964068652952176343733295211028620830295202638731272295191120312361295191052930366295172828814628295141501527409295133169619732295132239613583295126141336929510126427204295092783247842950925954215942950912508192022950811044147432950759314104295042341316205295032443600329503206071783129502977410881295022887872672950225789301222950022246330429497410864442949635582358129495275366924294946221320929493156467576294912877784882949024969118762949022148466629487196013073329483309437576294832566154712948316767448294815341299742948118024242832947818987130602947643071963529476266221841029474183659482947321508176052947222138215942947160661214529470149311841029469191092580829469110603225329469100421911029468376300192946827311128342946694101556629462214722051029460323341433829460228108302946014823283412945921137596229458453910769294583220320994294541984529258294537621216294523069919657294517036447329451118321738029450900129346294496257325152944924566768529448199601992329446151094417294433402277642944217631230772944126042621294412437512440294411156016155294395088226212943938702783829439306309875294361567516973294322231733772943214897299022942629793342229423324641028829423102705966294219459232442942151266143294214649974029420311552007029420300725243294197301237202941826985186632941816335151692941617512105122941398331165229413209922137294131253731204294113769181812941113322227362940930653798129406482048152940527462769429405212131157229404416524336294042336934962940414210235222940412597222262940319695215842940248731002829401131959575294007659120112940025580107962940022488209272940018294253232940018155199172939836461028629398110538652939756181442939726030160092939623390107232939420913694293933070717961293929051135612939127355147042938748702526229387172001366829387123152314029386234672074329385295881956829383935299622938328571236882938327379795729382236338852938129781477129379816421720293792060022444293742426815268293741979020572937330096278002937310651494729370920163162937065472994629369290252773929369219582739829368189186826293681302928082293677602669929365246812630729364223166384293641843812844293641753818151293633248059522936320431422829362898523517293626567957429362548214791293621148228109293582497013491293582473722085293581880419982293579912605429357128251712729356143253264293561177217410293527539300102935114827249729351121310969293506675737329350325951234929349405713767293492731498242934722623176129346203418922293451027912630293432131024410293432007927252934291311477429340710890229339527832109293363572232392933627911530629335237830113293352260929939293342781314262933261742895429330968295162933029851219012933012210115929329254242652932917231336029327202291142929324725919342932387493293231443574929322246361463129321812311152932127467132722932119283211072932116397202602932114071431529320337320452931923702152952931832366656729315153011100293145883297182931369182302129311252891641229309320192831729308309662860029302478430194293022904525747293022390426065293001124117182292971771558182929628951166422929511560310262929121206120052929112244196002929031582060229289238522512292887252708529288218492680629284904321782928208972364929281666348332928127044149629281135861604292808559196442928016099162482927831602536829278278062472429278276742292773008344462927729483155662927632641143229275176551578429274533414716292731825921629273068812291292722362023560292703030728784292702892824962292702397716074292654274278872926429694146182926421541888729264186563276229262388129876292623055212412926229431273432926133812928929260342525683292582821329054292572843524935292556022725129252623417414292522106315133292506219185972925031895189829245256621578429243430012378292433185068572924227675413829241796232516292416028726129240685654732924023812300422924014347207822923939331139629239157723196292386758213092923712938150212923666943535292331716124203292311460211369292281573222051292278741295262922596712521429225283393061292247799206912922330064179872922311641109792922310828457292231082112052922296151011229222787318345292222658448502921989478162921914990211962921912273322322921842311293292172331210852921628555180929215239018616292138829759292131041920329212994622989292128012299072921273321639329212467215452921132919957292112738423511292101544826918292068645910291995761834429198771372852919863581119029197336614703291962235719982919395076999291931597813117291931587775962918911872530229187316133175829187233662591229185297943189291851122681162918462012885929184103326572918392861588529183206241160029182076858092918166151612029179189182745129175315651500229175259462893829175240572150929174200892858229173761824607291731523224347291712869419483291696810143832916930150896029167167642042291662046062412916329319243632916223546105302916196212206829160108292160129158924423274291572525212973291554314325802915519982187929152247417054291522024282532915126542922429150122331744291472793589029147269215356291446772244752914429094393329144288401555029144246041128829140133311433529139887146442913926287287512913921203047829138307619918291382876226962913821951256242913810066835029137407162012913623019542291361211718749291352698187562913515494113291344674338929134284120912291342123325395291333011758922913236051546629132268033272629131818193342913127022867729130250146029130155174372912944151531029127320602716629127312101983729127286374237291271196415343291241563213651291226006260182912231442682729120106381125229118275142179429118250352298629118188683145429118103867363291176369170492911685861884291161790329008291161749929671291132631729115291132217631623291131252077829113005046002911228558136302911122571240232911015067232112911014984286432910814679166202910813988297412910718736195432910421185836729103578118884291016982384029101163231599029100718418880290992497111009290992284616127290979311290492909715066178152909621553607029096214001713729095265192379329095234583038029093964514423290930214263642908924101536929088138652953329087266096622908510020854290847705257852908331306282672908224823185792908223143899290822079318040290801636447772907920363279229079129714337290782473536872907814834186782907732233443290762981619089290755216150032907529657614290752592125205290751949121676290751573622590290741003578002907331966124290722325722801290712030741802907010167149012906983305584290671641575162906676252362729066190321568229064310041998290633259095432906321886787290632159716300290632151137829063176312746629062919059632906266471047229062631762272906020683787429059285944655290573472908629056208172977290561791015173290546145210262905331590282092905127321253752905113798712329048185791671229047158038724290451574915150290451537215212904415624266252904319380176652904316656113529039275791318329038250682991729037468719139290371806010348290366931833429035977112292903545802745229035132482773290351300225864290343835203012903230685129192903115865221332903017402897529030156211713629030138812263529029213913082829029161021512902830995665729027117091486229026514325602902617590174612902417455233902902227246287092902219251459029021204171848290206103787329019252312061729016166296932901613000540829015237811285529015124381034429014116445806290131989128329290122731341429012222602879529011248516489290101706168290096218283862900913756122642900874222355029008278721655429007268741904229006258377531290053036510083290045632022529004260442990629003184862491329002604992229001505753852900127958254642900112325266482899930350195422899814672199742899634712557128996118831843728995926718902289952845231875289947911023928994312071267928992970013163289921108229709289917286205762899119387649289894527235402898815695327928987970627646289872324215310289872141922289289869922487428985300821413289827252163982898134971042128979122831282228977218602766628977178893203628976749815622897623441303912897541422837028972131151279328969293846889289662840325912896626075189452896530256630028965230151395289641122396528961781374052896149162914328958526281582895821123156272895719155433528955389188832895537953016428954296391123328953208194190289523759971228952187317076289512355316691289512077730863289511109055382895107811894728950274362911289502601345428949275165385289482053420382289467963255882894623264301802894564862857289449302327128944255343178128943815317628942198561864828941170071359328941105762008528938262042271328937305191474628935140025936289346768225282893215210144112893122942326002893018723312462892989226852289287801744628928215076388289282120198702892820637815028927712416074289273157115137289262861231072892515346248012892496473275728923130318919289229353192862892229981691628922259811838289222440684712892149232106328919302923515289182860828721289173052524419289172645828088289172202454672891615992275228912952054822891216511128928911110381668628910446924427289091739632366289082811229497289081487261062890811509278628906133817052289042906039562890426138790228903217677593289023405121502890223116889128901194983072289001694511149288972900010686288951639230707288943129624693288942628024143288942019971362889381881742828893762229682288923771148992889232180256972889229382221212889179251006828891162042722889022564139228889986234872888994181542228888706325768288881915113270288881710226203288881338015532888422655170992888211899187428881246711620128881234982414728880584184242887930363152628877258952955928875266162547728875198812345328875015350628874587520068288743771141192887418449542728874122443068728871780718533288698169178432886865712538228867318412359288642002928423288626771675828861200595280288593068625770288582579023626288581936526893288552537973322885339403085428853217505988288521107112694288518592124112884915706598928848580548902884828873817628847463116788288452930913186288452372662372884329386155182884227373241028839270611076728838756321082883814601270392883518490125962883516352155342883410457319702883268086949288321286524275288319637138242883090652304728830215303024728828570743632882819451245652882798310206288225155190892882249083092228821246619960288175371101528817183877352881117109181662881010132112228807582631758288074958134762880727937234442880714339281682880587946989288041427216322288032873217015288031767434362880229156239372880120394157342879816323712328797306382033728797265912140287972127211918287941807133022879401188612879220501222082879109482997228788283562132228788187392919928788163872557028787310012989728787215321991028786315524262287862343248632878619502302828786158174916287841604424270287841197430762878411543260782878298975642878221094204712878210575109072878015402318572878013917137422877868663584287767499189072877610793278632877532033252632877526889148332877466841132228774338822410287731959817081287723136215765287717616347428771593233042877135123275287681343852872876786363258287672779258022876617285290702876613462155762876575742681028765190862708928764320378010287612845230024287611928319782287611679110748287604000292875921400575128758177787251287571195130049287561049717021287549761327828753253923076928752168956474287502439130232875021289129792874917984453287481329916873287463451774428746165299287442267930034287431229042392874229938323622874111617208532873818192169872873782462551287372052922128733367122438287331838026879287331043614849287322397552162873173316056287312872223693287312212725098287296097282592872925168741828729200741514428727309145339287272899720249287268242521287262559314927287243723198528723229491147728723174113197928722942459192872214851736228721202482132628720953120101287208317132328720103571970428720102821867287173084490852871715989444128716171041433228713248123328287126537446228711236691157428711216612044128711100253163728710542535528709877331627287091385125673287091157711852870811686287892870775481233287073191524521287068462704228705265537384287051309811585287031382610933287018491104287013176629301287011496915163287007473258262869862187022286978907421128694299921056128691911630066286903957297082869012745175502868973342716328689216734727286881114055682868716717177286843106317952286812593516943286792289223402867918097197912867721653644628677103631616228673117274112867268392464128671968026302286714010114582867018892124182866827779223162866731970318942866726079323802866718503325252866716562149852866532674881428664292822980928662948032489286621596730028660490332211286601350531961286591891716865286585431104962865832421120262865727005236286571825718983286559870203152865583401556328654193026280286524972673128652275442828652035723585286513736145602865120113414828651167512964428649306082266228649121622204228645243793061928644270047471286421990128602286419201862428641346032228641196491410528640981210596286392734727067286391883545442863913016282092863852296032863721597776286371403721895286367645202272863622666159842863559962372428632325112777286321829194652863129772388228631280161449128631251315142863124074616286311460293552863113348598328628621925315286278685585328627264025451286246781435728621279971167128621175988559286201589672228619237942522228619184266772286182250325326286182120987028617137882043728614119194503286132398277822861314164225142861287537132861213847143802861134475198286101952739622861012022111962860950311867128607300662367428607206062121028606201421287228606157035615286025519308702860117381243272860020556269528600200322967628599135282632859910464473328596285466488285962147906128595297372419528594193461039828593186819465285922501222522285921058919598285911918254832859030778133282859010406100732858832481484285883138534728587995530614285871515444132858623638239228586232261827928584110956822858323897187872858227082193792858189473268128581346416842285812114314432285803158222109285792696712528579243062199828578212992561285781202995442857750822370028576946326048285741628411229285741367423992857390421427285721238852072856952299431285691782128488285672731232712856615892196432856529152258982856524004294422856515488122622856487392064128562353562732856099103119285592408528994285571590419348285561119217293285556537742228555123291414128554317868383285542910024506285522746111389285502502169832854915833285772854718590160372854617847316322854481923216428544235682380228543292582697728541300927849285406811126972854028151896228538612028381285383033527993285381836067922853722088160782853717714191352853714192580328536504010188285352346417782285352148715059285342554712639285341725454552853317737924028532557529779285316375824285315214380628530835115037285292275128888285241118210758285236291154102886316075296302852321970693328523178498396285211022049452852099228288285203275920371285202936539192852010051928519134536875285182797144312851826342688328518224952647628518127268700285162000213349285152662990828514132422496285132626888712851227062240172851183773035285118196281002851127463232122851078472449285102888018873285101326622964285091018424527285057306542850411345261812850366511035628503273212337628502271517400285001537175962849931138204982849611635119742849521589217942849190316996284912476347012848915109238862848867571179328485976223630284845008129182848427473165762848200059902848193552671628480192041222128480184635210284794967910284791377180892847627552306882847329374237284731658615792847225341891528471785157812847020012958284692960828871284691511915632284675504602828467201052426528466180491767828465307035510284632778874728462299161500928462169982455284621205470192846130304100492845912584288202845848422176128458275811882628457133669603284567032479828456286212148828455574523696284552497114535284532860110981284531553318267284526769220612845222732231462845214038273742845029479152122845021366738928445921914034284443205910551284423139458722844225294226792844125782252152844125314554228441043717776284392947126570284386826981284352393329451284341994130773284332839924977284327371259572843239732211828432297512442843219851172702843163741256028431266281990628431156912945628430309511734628430203062927928427342306262842657372601284264419558284261594430284239953144222842212421633028421253972105428420744636542841944682148528419148332543928417429186062841727930291692841682214340284162711709728416178202830028416169593151528416163101445728416108012599284156747271022841518888146932841350241334828411770617606284112852769432841125251230542841116904364228409243788584284091834811710284083110838132840819993161172840766791628828407202802231328406299252486628406260741096428405228165846284042536131646284023878237652840030134760028400230238624284001559896992839968051308628397303561408928394249782542328393265502471728393243321854283913106429628283911965116076283895173256462838810034104242838729158143952838624795839283861489211302838510635165672838427725169992838349292774928381113311734228379343523327283782715595142837716074296092837632520334283761389720523283742803735728374212361471728374183061523328373278536923283712588222952837116221473128369801109512836866813161828367116331439328365124261740028364209382580828362787425001283602890271732835761651932528355179202716428350571114742835015068245302834830973313142834718254276842834525462259712834520782325102834462496521283432379120352283421608917271283412271322929283411537711255283401123926488283391104723556283388439272828336877810988283361758532528283332587573528333247222504283316498195742833127355312283312179613418283302251224700283296421825128329546815444283292160214438283281815919252283281791928128327319912868128323625481482832361571140028321174292606128321139492316283205094247892832029931310302832026421807283202373614953283202097619308283157721281328315501196092831326169002831128692100952831117965154622831014777668528309176392452828307126021090928306815911557283042701143492830385982929128303226921187928302922323378283019584107228301837088422830120101287022830115054697528300844028079283003344230802829920063253102829911670607282982456718160282981497089002829770529275282961202113025282954772625282944297827282938394102912829271147897282921839224816282911738732506282910304210122828920910180262828919676833928289192163282863241820732828622240129092828475471522828416889240652828218491323992828169521562128280115909057282801003767128279821567428279406928085282782501132396282781101377192827781532125328277290623049928276317772539328276144955351282751425935282746245240872827330799274222827330221254982827242081038528272175001098282701227774342826984154663282694422072028265968226678282632368916534282592439612834282578943632825423101790828253294911886528252314082260828252205218692824930571280672824926861322962824926188216262824627788114428244853544142824419529284482824321261301272824305079463282392537923040282382958818848282381422529390282372331835882823716940323292823633231396228234407383112823424148410282342414377292823419144322472823416089134472823223471243442823125643537282312066919742823019888323842822730434241482822625789570928226249089969282253193015122822528784155072822412171220862822316318269592822314311318732822288272832828221324566496282201995912861282199433186028218423823289282173834983828216632316482821531135252912821531060241312821331031353928212137321394528210761111613282082201778282062905972522820526493217812820017475150228198821217782819625847257202819559602229828194591519569281922291278882819212626244752819211266215842819131234941128191120353097828191110971655281881355810727281872469232121281861003924403281852040126240281851368911512818485236252818316136241332818177932202818117854195392818030111298128180288451066428180255632195528178999824019281779585171602817612279211442817551023050628175130761552817328157140728173267182698281732369150852817118459219572817116042307602817089071311281705506288982817033592233728170241078429281701048066752816945432052328166154511766628164610322762281632823029353281623050012301281611376176092816028318130962816024707101212815932443140028158297452688828158258271269328157753223612281571676423399281566873237532815648026844281563274210573281561067924318281531822826914281523765260802815162629389281507907161122815067841339928150147641865928149686832690281491763129184281478313095281462690693982814517200325882814410849248762814314962030928142305162752028141155361826028139189582298228139124272197728138318961722281381933716567281373167721128281371244819541281361225031572813472373003328134265972752728133869260702813146372324328128265631937928128127096903281263213459728125317761262128123758195312812124492161812812019976177862811831434244902811816837230712811770011495281161768013442281152188212476281151893199452811463131988228113292811823428111975818216281102683811124281092174118710281082685722663281072325227070281062261294892810532753133028103405623110281028927240422810116003367628099162380192809652362825728096184084473280942104716273280924513567280901713432652280882960122372280869362236552808626129461828086131448448280852218713502808211345222092808131013289462807724612467628077177221665928073159219650280725598163292807225430329280715935179352807013701251428069961280712806970863166428066492145742806621864108712806598999777280632082914060280613022719521280601989821380280526673880428052228835512805185304527280514623147202805132181186982805115913647280509416178582805021826248292804832475242302804819332463328047152883158828046217652036628044301283252228044246996461280433261213990280419284338528041315132156628040732716293280406391263932803928149308302803877907009115773034849112803815725954028035473016743280351350216379280332155244512803318587778628032137473059428031666121361280292552525976280269068120522802543633149428025192683154928024821725352280241525242228023662431641280231464230717280221683658492802032020273232802025993251062801948731806628019149353018028017307411746928016258832325628016165416473280148132208492801469604073280121526920093280112260918379280111791420622280103014418209280052794124588280051933311386280041223514590280031920211972280022866329137280021398020425280001756127531279991999175962799910894177542799822153353627998155633039127996311103252227995309225593279927192038279925705734279922128821757279912751614832279912136127332799111552533527990696011488279893250812193279891698620351279883076523621279881158511375279842908527156279841753512877279831417215122798229429041279821950631411279812499315498279801617114384279797454863279791652230308279791521623553279781420577712797632338276822797531510320312797527014984427975225571635727975100281961227973281732700227973260727225279732602211669279722520394272797222722326382797166032185027971117816716279705781885927970300432392527970196476838279701557816436279682096225654279671871253792796656852330527966314901451127966276661103927965293513334279652163242562796422750266182796421859865527963117721748827962546220410279603118613681279601148919120279592197018777279582481928371279563197257992795628468318172795421593289262795289071681727952873616932279526352412327951106661579327950623528642279502180119120279493227117182279491271766627948221281517927947963822282794775452654727947148451829427946201411356427944254265263279437741776527943280892281427943172231670627942767126852279423030912328279411439122603279376302129527936227035051279361654162002793516867263962793427148136212793394521342027933105345500279323106643527932217975427932123662469727931909822078279316750252452793165402729279314659195279303252244227930264222819279301287013242792949420183279292575915447279226711679427922532180402792228692163727922247548077279216842274652792115362467227918840930530279183034976302791773433910279172531831599279163196530283279162598110024279162096517520279151358290032791448741071279132048431584279131104232027279123081121538279103973295692790714845315072790654432436279061171936422790460819235279043021626956279042834117755279023151310097279022544372682790012491147952790011509215802789921536284672789622552234032789317885286152789117717112492789030918206402788730870972627882296191286427881262112093027881240603031927881201792603127878194619125278772224629175278771936422985278762028932061278761954817004278761522554502787612804135272787421756901727873149532930627872246391679278719514499278713182116862787119369470027871174381940527870172268412786549961898727864315439158278641734422552786318815287972786228004158342786213970200872786019110323532785910588103532785629517135278552602987992785458731269627854224551616278533148228642785328504139727852834411231278507174717227850516296402785030411625027844770918147278434792939627842754129963278425794139652784255882212784213053314322784114206844127839171712167278362183728210278346259261172783124222533027831059377927830179641836227830125461254827828947195362782888881277327828190309752782632102208022782626666307342782616212873927825692467462782521494182827824926030800278243150297612782426710523327822260902998227821701626187278212796730492782127613109927819150102594027818873272502781758939552781623561287502781553019387278132748975427813228412186627812308472541727812286743802781024702234042781016448308052781013056235527808219272404727807182131950427805126692304827804749620841278001953025377277985232324927798232092923127798148444936277952746616942277951403520824277931519625985277931370429163277912348189892778929983664527789290102852778919148197402778820917857927788176492812027788143801686927787533111101277851397211323277831786611721277831445024989277829098536327781415926734277811751327035277810659162182778026049379277801964772792777723484154942777618269126752777321012185842777123247310482777120367128602777021361939227769287751363127768872217120277672301519772776718055263802776710512717227763293004062776229192086827761154151012827758324171782727756305102673127756297461972277547364115352775200562365427751316001931927751286873276527751204081773927751186161312827751127801779527748197230682774751029400277472002377812774623681536277461805325842774396962052774123757189662774020514140512773899243075327737185211404277362425526103277352744446752773330866742127733293921957527732801127703277323954167342773216115493127731975332401277315775252962773113508148952773111797127562772928275268072772844732124277268654378627724287517901277231997229808277231587542542772311899182727722155476664277201373069102771921968219102771831676140082771819364285082771611350327212771253481665627712362132381277091474413462770912144308302770882431266277082182137262770632287238082770624985931627705211812977277032424317451277022803813027702227482655827701190872817327700567516895277002156210164276977252194792769722009293512769623794639627691272622637276912548525662769123399136382769116411980927690407916616276892790915846276871868941242768717345141622768630792759527686248611306027685248791596727684285818185276832038417112276822566230104276816152136132768141021184527677319453050927677215702356276768831978227675219371907027672131092981227671692423379276691690429369276682268788127667317807872766728276268052766227651092627662216211297276621878929644276615206264432766117664308832766022088542276601111785927658159111262827658157353008427657593110102765699582415527656138472126527656118866747276541786030091276535522160942765132652255932765039112203927649186722049927649134741195627648472513978276451478956627644273443648276441954624589276441424522523276431945216429276426922236362764230030148102764210950261512764141483650276391170513182276352723112852276352099442092763311030028276322209257102763165752125027631202641650127630295832358127629211442284827629194854122276281658327362762742559180276271415814959276263853245452762566041266827624639145962762432208753427623266506921276222906255922762210868132762028033993927620251676070276175893431627616272519216276158346180042761426492476527612303551068427612231202727627612202664817276118777305652761014019730527609296532082227608998265372760611354255302760562352143627605187178797276041036146092760335261176527602913015772760247688791276022054778112759977522697275992784828818275972164511874275942040632697275922456829729275871084215582275859538321602758526058739927583134192233327581279613479275771621241312757626319275292757623981223327576154932342327574164289816275741439232382757315790693527572767726552275722755430343275722500873275717765297382757081101809627569205291043027566227332643827564240951382527563120331042756223520701275620740240952756100902060027559340010200275593236356822755929755256682755913733277202755861831434275583872245302755832043126327557824166312755652888053275552720312171275551782421582755517677260912755431794426727554249907879275522061286512755219127274252755210428309262755128526122562755110144725027550762057132754849163922754682536921275382752412714275382408025574275371574428386275352726013301275332051917064275326031231762753124772201402753121437550275311825429360275292156020312275272480089952752714141227012752686391624927525801323594275252298025191275251451526168275241176558632752310657137727522302433524275206844166222751917054282727516324542143227515458530817275142039617927514100153274227512265091225227512242725607275112228133742750910955224242750890202031127508180061239827508158322210627505198692256827503326008194275032321734275023406186812750230302193552750030935260472750023059103572749632671249462749610768223827495485632444274931474090622749218044261262748817252156127486657018718274862777625006274862004529563274861220112212748310654080274822764411477274821180212891274817978320432748017119770227478806431859274772799517342747591191665727475296711320527475200641053727474108145122747258019035274722240470882747130390217072747014291182827466812573752746628510208562746626765256282746610458120492746514066129072746423012906127464142222319627463137533022327462277461221274611908902927456198432557827455943414943274532221424654274525743165962745222965427451282362263827450227362891127449190061143927448276067096274442228044052744326204173492744027250695274401598820841274392688191482743821742221912743718625224792743619986123327436198412984527436193005060274352203549772743330531257652743329345739274332576342412743253872498227432212301354627430314181477227429224001409127429107832424227428192503222274271786118577274262621717282274231182526527422160422591274217478294242741923368312741859902784627417797625954274159912088727415790589327415578772292741429384317302741427711108242741314263123852741297623087027408512203072740817088724274063265764882740522529274352740518114198592740513375154202740422951686127403236331855274016681142442740130799153402740122513196312740032600214052739921855117272739683992909827395572810680273941936727197273916776210152739115729183312738817137170782738741608246273862367231393273829971034427382291332429027382264819571273822573310422738217179106762738125799882737923724837727379131491467527379109737706273778710193527377687101782737711557289727373229499895273721208424557273707183099727370264417541273691048421934273671518931753273663137420673273642371613727364216752454627364200717182736132171269692736030226112652736021449269942735815237252727356282864919273533085720965273533055410472273531351326080273481228111495273462551208892734528882225612734469733079273442913112195273431066448227341705914931273413944239702734013721124082733916254260062733915412083927337163176032733715198155412733625365178112733428408289482733329331172532733303752397827331960319872733118931267252733016374993927330118211970327329976815819273291591115716273291378320392732793702584127325247842797227322240773131427322142432794527321984935252732074321262227319268812208827318607711044273183038293092731712912144962731630845315522731622162282731524083216602731386304222731320981121302731228162141022731176805914273082413609027307105002016027304364630924273041640418348273039495223672730324997252772730244282073273021249410146273011595026164273002616725821272997258209572729895627308272983184018629272971283631717272943226430090272935590165092729126432219552729031654221342728728880127562728717532114952728522466100162728413752319672728223686306942728128183402227281278338868272812225715371272792088124860272791724221477272782627016151272782038832205272762367524203272761731810632727521848829427274867117237272742282429457272741300640427273220802837527272604120061272721495521149272705898646927269570022853272679324584827266236688162726531293802726526382118012726444272235827262555616707272622979417631272622961934327261283351389927261171603131627260158123258127260156881735827260110912044127259604930233272562072930759272554566152662725526529167702725526113222272531668277152725310014400727252467279852725213013245532725190466772725014793195252724957165304272493271663122724930928242827248201782479127246336442382724587509504272432523120188272431333627573272431042610953272412069687232724117438196962724106348262272408447147442724022916310052723818272905227237178949544272345852319727234250871823527231309942717127230317481361627230262693098227230139753171227228102803963272271484115695272263148310109272252844028234272252539114254272251897126293272241653920778272241305014232272232180922295272225034572027221144472352327221141162930027221110871427427220918413297272203237492127220311328535272202277021094272201797916566272181918313162721725270335227216216261789527215309613183427215166076597272151442194082721511237145272143647167642721314884175662721013005215527207638627070272057324322572720425217225892720376199114272033686233912720244603153627201143882090527199282051799127198215492846127196165053367271951910813082719432268247892719429198578527189234962223227189149028748271863182823819271851820024042271842431131435271833179919904271832282321225271822285524336271821502520006271813411101142718125486146392717832426182692717811149215702717732061274502717618099227012717331177941027171564824404271712129313194271711722112043271702650108912716824057160812716790057777271673948266327167255351271661939618067271649552088427162511668927161466183022716127208105002716026970128842715630151924227154134912509127153304241119271532096924104271523737203527152253761413627151283662320727151191182519227151112521095627149315882156727149235829970271473011435162714631798138772714620256171432714610768248792714431495246002714329012170202714327841947827143152141538227142228473032714218182227952714202463053827141454415162271402681413518271401580720072271392635132042713916683256922713823658325742713625395188882713516438272092713425425259512713326263236412713290221538271321662929197271316286067271295996380271293096425282712825870289072712816811090927126729326897271262053424176271246050202952712453231348827124147853954271236641263752712311673906127120679123122711897591007271183875485271182912716045271182509447572711727594692711623586303372711489983027114732315627114283072031727113182052287827112171572995627111659628412271112595511206271111322921702711112396579327109272973240527108208442114927107263032955127105717713032710030543134112710020793461127098163135959270973215792242709711609234252709640428933270941756029021270934633953027093241072883927093038522825270922053928452270921715321498270917820248222709032662047227089222221058427087838210897270872161913518270853124430022708328346192132708121316126892708076132784227080310979899270753051890062707515408179542707488271349427073586814642707323071256882707222421862927072152130312707027548187152706912587184312706732019854270659684305270654947336427065171191820327065124118243270642219828926270631023227832270601100115067270581137332508270572897418479270551966110736270521888777152705214970822127052146172901827051226171107227051225529394270511388031365270498900188527049805313350270451551127270451180524879270451140215521270421056210231270403213216852704022289961727040159302319827039310117773270391018350932703718375173652703715438230842703713021109527032390931713270321569521271270312776664532703043821101270279289325692702684201626427019277484219270187663084027018169001018270151679242072701324592391527013179231803627013177362190027013140328683270128356319302701220669240862701037331034270101056071262700818281403127008177821366227007229701665927006671625915270063096622709270061403929340270052027998942700425556309322700220476267232700111992833626998276782275326998261831320726998245823215726998118282271426996780020784269967103290862699620173158722699391430534269934221254592699324680259852699282583307269923219524883269911263135982699026252311926989953274042698867232300426987793717645269875806931226986817110062698630677152972698437397786269830180612698143222967626980325064148269801548116662697829631200412697724828971269762752127925269742809127712697329258502697117249170722697114051309772696931826134672696820778180192696811803734326967831515498269672653127415269672132593732696614137292802696611674286992696431247105992696297482255726962143591967826960208772106426960165862871226959849584322695926475121262695718920376626957146315882269531533814369269512253531246269462546697412694620526639926941145861660026940312112280826936207571398326936132311493269341554630544269338008164602693228948607126931456922001269285125694269281594318047269272669927788269261712294372692615908675026925709470892692371512655826920326291878426920292296526920285824629269192494526656269191856117182691731364272012691715764142691624907519726915882250542691473073041926914635527590269142352271632691304018626269123026022498269121972222025269112913319058269112024131352691114322914269102351488582691012235196126909266662246269082474919131269062938328517269059726218432690547732495326902195588932690013834116426898749315612689671315461268952532828383268941752323735268933198036582689269591418326890282803857268852983129365268843124315532688423836553626883517024322268821084611201268815435203562688117746829126878411811076268772769513877268771057420942268766760857268733131161902687330932190268725056314092687210793922326871720910608268712164018939268702019326852686938733603268678511217612686723519926926867102014498268666869594126866550358426866147528384268641833881712686328478161032686312704976526861085968892685915528141942685866291331026857531914460268573485341268571037817597268562875613831268562386516507268535075595526853149241559726852173411740226852149393247826851208341860526850196474187268481681947412684619538270602684522481419726845176301065526844268142973326842260373007826842146597222684178612272526841227191537226840287480326833267219661268311514123650268301451130268268283262304342682748018388268272447814039268245832201626823210732130126822618115381268221571850312682114408815726818688821702268182514930279268175106252002681707322692681612412158226815174475624268151307059792681337232577626813262751982268102155411058268088597178582680725729145268062270351026806177433098226804504312192268042794743222680323865223482680317219559726802154354415267998675117926799117961420226798252122435267981175922949267966881297812679660462872526796103927192267959748155832679528790238126794105714468267922836237792679214147294702679213402366526791575385332679125008146672678850001737826784131031417026782442223278267822603612814267821445182262678155426353267806357506926780520946512677825041842926778129523094826777318347316267762531463752677519473227026774222685706267699110287502676819224818526767742174262676631268323822676545021473426765298332833126765198455238267651690631000267643138071742676428433214612676328475160042676312054255162676229206255142676222928128932676035382955126760156467962267601343630510267591297916970267581368033252675714773201912675684931956826756160959082267561349219773267552807520988267531428566892675230911289882675222742209362675122354373726751202321960326750143876726267491834676226744315031664326744203682392326741245031915726741118783173326738205721595326738141151994267363755321212673321276121122673290602533726732146121915326730100772436526729169721465926729128892405226728225126881267281072621240267263235448267262933414808267222185927574267221122542412672132031016267211850498526721162718933267211623117897267195345295122671923118214382671918291305126719134472315626717130752086226716205172466926715560217092267152583523573267132215324116267124053307872671225324245042670915180231626705227908430267051828918284267051755931521267044454673926704269345792670313164174162670260052986267025903748726701249451293826701184612131726696220422726695599144002669531178381826695287262546126694670429656266923831882926691794332611266913156473482669127015174926688731211000266883611247282668718411244426685118182111226684250981827626683256971087266811625621162667921692773266781884412437266781175214391266778371248422667730111969526677230818787266762772713563266758047219092667517179222452667513315147952667416109115752667324828237062667232299122226671106374141266702989320432666819969989526665146824526266632679423172666230678173532666130114151826661240072959626658325672383726658223392865526657187415264266562778817396266554216239542665427865257982665219864155142665210007309266511250510814266501801727350266481297235892664721114104872664629624228472664354262461126643311632554626642042154472664124512206522663919706265282663916600303862663912169245822663910242922226637195736344266353030312311266341972925182663189289287266315091739626629307428471266261311417194266255334220526624214691985226623230429125266221910441026621119818611266204561781626620310174082266202336030429266192119629593266175639231726617194603033626617142552272266162358629599266143141029695266121175228382661132515118802661026086977266102111427206266101323527442660426449870266012232128668266011490114379266011255167992659712713103552659675411022659667752010926592272421072265921301315223265914379224302658915018248702658490335452658427693675926582182062919626580310212606726579322017092265793058215434265792213873192657814077243092657518220629526572204231016526571261311427026571141031360926567302222952226566694262502656629745190032656617583364226563154585253265623893255142656211114314652656198052619126560197532871265594663107732655917430223972655818392105872655768041310126556388197962655408501326552327211442926551324843092826550986395222655030718941265501041926465265495957181372654931004161022654930679256226549167527238265485793912265472578611167265468800148662654513072249412654419159246082654416564537426543281938011265431326155722654267593326265425162230032654231409131042654148902311626541266983003265409918265152653871444602653520919556626534391242412653421802728426532279738052653171931867265242195730475265231313853642652256433074126522189851882726522174174168265219007154432652170682316526521558210581265202786515274265201704358262651828622230752651422329872026514119961394626513313712832126513219911165326513201345358265111429201662650848620440265041241131640265031636255062650298172360026502382284742650201562772650112219478265002762832088265001354620888264991338324432264982657117529264948711873426494254651421626492217902623426492169321336826491446125130264902927528677264889501647726487551618914264832038214622648315996170402647990912025626479198743179526479183872567926478664113810264782622753492647576592344626473556525605264722753597692647220970176512647116913059426470239225663264699483282472646931208148722646797124811264673727532646725379809264669204306062646627158138482646618974216832646543471648264630746154782646279220118264627170968526462280001482726461624249132645876701065326458281788566264525058189462645116477908926448837223935264472966874502644726097251302644695451855126446149361196026442853658442644253930742644122565170282644086753277264393839268132643721122227172643514800320902643499601408526434279341902926434218243590264332506242702643212292923264315779151782643144601007126431312315602643025279180782643024040964026429244491833426428305386003264281871036592642726304311432642680903195126425320971372626425313394394264223127201362641974601546526418864321697264184851293812641655311268926415237782362426414173632029826413118128598264123073554382641212074827426411828424151264111314695082641020441982640714601282462640714073297782640539925180264052144525106264036752989726403396633822640320348267532640234920310264022688322415264011394012742263997157158942639813513824226396330211442639631663143832639626823185382639623908131902639498962970826391782286622639138319072639078719477263893105212942263891813650672638620618914126386122273190726384316301392126383431246826383158608310263822491714162638221457260702638147243057263791042030685263785878576926377379147032637705757902637611617169372637515037316812637510216100682637423873046126373176669259263731164638162637166282736726371415621862263713220111699263712289160722636912800247872636910518135462636729089525326367230422214926365637230475263652178728067263642483124832636385531205826363277091657826363180522047626363108184300263613167659982636123625324862636079872687426360258295119263601667042326359128392687626358236611416426357249146452635716304221882635619153508326356168051827226356137441074426354273337129263541169922442635246802816326352204112762126351768017508263512331327572635026135305402634917579113582634911873199782634624125237612634414247262952634412563159332634294952830726341973821167263391902012857263372808186662633525823243922633514564244942633431803278332633421288290182633418801607026333604129193263331236332404263326831213372633244563272826332113471787126331196368238263311199628860263310782147263302340926322263301826630592263301604718918263292984437226329110133213926328221352524026328127922652426327225457236263261527929349263253254324323263251098053372632423834226324202159803263236430203672632325433173012632225290117552632214191659226321499720995263213721265026320270227364263201638103562631916147164802631625778133462631420953182912631317015157502631251811269526310511040602631030878181272630927732274263091841826354263073206876042630631149591026305171482599926304305763199826304255881320326303180662813826303111921873226303101753031226302266409414263022322816753263022189182552630175553261226301331016876263001776260932629725138412526292318662452126292103653125262919368196062629182696052628716895132072628231312103672628120082492726279149073127726277137718226262753027399092627398414962262731649287562627316169304062627316039184082627123933209142627120420127112626956867058262688322030626268282926100262681430329758262681097022894262671482079802626379953060262632544361692626223484290982626216635113282626191667698262602226147732625931727206892625529620171612625323909276162625116317130426250737025780262504161762262502493659382624927444198552624837852914126245524712782624531099186826244204412829826242764126734262423875542426242207922403826241904813894262417461280262413135113443262391644025002623827034138102623728827354262372855610172623715641953026235293352656726235252523192262349944285242623341816122262323051925932623200121480926231510013852262311979565702623012913434226228228991120326228193602336226226802916962262261857111506262251059489492622212448764326215143401273826213163581395726209130051326226209120721136426208221682066126207905671512620626918300326206158802919226205205582660626205128441302262045572286172620432344702620346796561262027143055262012205627303261993144030583261987821114626198307301256826197237663047226193451810333261912360810312619093478626190286319172619024136322682618891012884726187302915269261872453773272618711634177232618647243176426185280651632026184285991353926183157321972726182804286232618279808542618127524294272618029869549026180244907606261793129921398261784744242912617813175241562617725826239862617716462222232617617364296412617571632272926175648219237261741716123139261732034321027261721677324592261717663119126171145072825726168267885749261682169914201261682160620156261671948527977261662134112111261661762429587261648804842926164294785500261621650234742616028052241172615910982852526154690234402615449322842826153269432929526153176124929261524357689226152149317724261496371322622614787221591261472652422741261472364660026147163561440126147162987516261436841229012614364471697326143323691799626143315312893826139515150362613915129461261382008552612613820054107812613775762612326137144651510426137110782081261363246311683261351353115768261334253299302613330998117622613328760319252613225899662326131238154802613022170305502613017381597926130166873109826129942245392612644941775126126296562751026123639767926123298877082612277842912926121263412867726118873016426118271602997526117655364992611723083200522611716145917261162757216650261161109411231261142907728235261131368282192611312021128472611219692535826112117791450526111334111796261113049524483261112018015939261112017917915261102890505226110205942536026109304922434226109120351817626107296419383261051458416473261033148931517261033018872610188176962610173646767261002022830089261001720457692610015895210342609916282642226096326612716526096169091187626095263412256426094326092159226094281308381260941803619854260932648424603260931776971302609215681160852609214833480326091279112571179762308095192608925198219272608847220685260882319824201260881116032109260872872810877260872651724793260856535151872608391819688260801933426415260791974310386260791552123006260791050716528260782706131738260782673881772607823111169952607735831625026077202452373426074306152293126073869184362607284165745260713260085626069265591708726066135837972606527839470260644184205052606421846301792606329148583426063267346632606228559311322606196402072126061479019329260614051250432606033491652726059107919465260571060741552605618257177542605512062264002605420223508260531161534260525027294926052322961935226051922628222605028994175752605025310175322604990787676260492157019236260491023632294260484303160762604827532117252604612597258232604450795122604432514221932604330388212422604236759752260421702417371260419771142192604123624153032604015683795126038302041823226038301851123226038194823237226037207805491260371765015737260351154390426034389772512603413997512260341340022465260322638892002603221370199526032144922470260312074951260312029425343260304361462226030182531091426029234261977626028639120019260282033720471260272387115162602631302158682602612323800726025258736484260243744224982602325308670260232514232304260231268223854260228974261072602264152665260212069643260191537185826018269602365426017158701150326017105513125326015191262116026013202798776260131362220637260122302985226012111243150526010166961272426010124201859926009192141395260091325012859260085750472926008189141225926007186512498426006154662695526005170481004260051655827143260041501120070260031501219326002215426960260021599011168259992502913951259991970526905259976484230982599719309168842599414728466725993120611169825992228832370925992117425432599211591657425991453311825991219361356125990305351119525989221142748425989119882977725987206062029625986438432663259841604619758259839342658825982812021242259816933204212598021095285422597984651823125978100933034025974146961247825973319482801825973204714176259712690836512597040937402259701853331300259679620625965181718885259644502292662596427342257832596289373200825962290414167259619879287325960472696422595817926522595721877202482595721560201592595642323213425955539666432595520031140172595516472211522595511959107592595318512932825952320006261259516181014125951198327152259509645121402595030140325942594586501580125944657812962259422645126512594221496258042594125611904259395463268482593911118722593831397179132593816102205025937898300042593726561633525936259912141259349331179892593429818495259341700138442593273461439825931597121911259301038416762259286852121672592836512815259282560630075259266127206472592314891300232592157538776259212874512293259212321252072592017946450225917113432566925916640226866259152228814066259152099018787259152059216225259151097924828259131155119462591252741190825911194110562259111411919184259101285022336259079385194325907225922420025907205732535259041548530489259004249263025899215361535225897279422176325896179491659625896157091401325895187401097225893111712408258924434310352589129008252782589013181275925889648926070258883165145892588760218959258867168300072588626293193025886224128846258822646813016258820876373225880164313145258792190677992587919767146892587919391904258763801140492587431381754625874208383106925872907616879258722366414869258703714778825869338283542586863102760825866274281644025864788814101258631719623680258623597539258613086628607258579137136122585218286120925850157321184825846243873092725845192161869825844927160212584338552178125843242081606025843187421285925841746216570258411867163572584103012320025839186511980258384195225822583827358184725835266901918925833343708725833327583810258321814328745258321246223022583115953155032582920574977258282075522656258271037424427258261895771562582331394110282582162362391325818332358425818250257510258173241117157258165659158042581526339141872581326430227932581225981142425811476212212581117704184262580920577277022580914179106062580820757490325807565919984258063112394432580528902544725805169582035225803059022672580223073198257982075923784257961221174932579517856231782579432735214352579420996124102579015501785725789263682259625789135391806125788530823982578832597217402578713185247432578686014903257862723414625257831036827337257821432248562578030060354925779786313202257791679671762577731622386257772872427624257762288315474257758397316362577520327475725773261535151257722463226574257702953718619257682776735262576810490893525766309572349825765394314241257632788028350257632115615781257612266533712576030394276625760262521529725760256023448257602512598802576021293495525760163422079025758213077721257572769247725757273169594257571049432495257567969669257564862402257562919046812575622764260142575615117904925755212671435125754294151131025753557016414257521079933462575122368291632575110721261812574925765948125748116712945525747149031470825745288402431425745116229932574410415232352574286023225325740222081684425740128662478425738480220332573581781890325735247617823257341981364325734137111632725732214706109257321891213459257315268174302572642771377225726154332819225725940619905257238391281182572359718995257204125582825720232022257525720143595829257191756726145257187930109312571832707242612571811333288372571724022484225716153163060025714493320232257142006619011257133108250942571303112233425711213082664525709242542494225707223361966725706212623101725704292623172525703225553208425702811915125702197491761925701274622880825701163243141025698359032115256982761458256951858726660256921782553625691766430931256914826142256902345125882568928808321682568841602872025688290881902568815345273425687246961899425686325711450025686239013627256861510831422568424579567025683189794202568228779865625681880499392568119671173025681081666825680781361825680280382893025680172951529925679160658315256777824378225677280921351425676958325492567630528223182567613232267962567316991642425672320398518256718955935256712434568912566824492202652566812051207912566724311228792566612825208912566417266287342566367717856256630042342566229775436525661317432626525661186982716225660176815000256601568517020256599036817425658242291244825656154913062425654236939605256541097620222565331008101872565288062904325652198323769256519659649256484834158822564760631072825647167962632564712251300302564417877256439874909925642456922983256414093313256411667530069256411168310548256372915872563728872440125635316431265525633144161603525632270615644256303204118365256302870623498256302285521892256293065511699256272917956462562725947627825626704465425624255969593256232390529156256231946070572562230628288725622124324626256219259268442562160741972625620166891040425619219931517325617127296791256152535300072561511853223862561411754215452561293391484325612267992956825610262852582025608265159039256082159386052560817506152952560814576169825607294226256072778144622560549172015625603186141079125602191312178025601274531328125600141179819255991397510342255991164428414255968585142825595176762646125592212632427225592104751398225592012864182559132091334825590282549212558917694203782558830163141902558823382278225587354774952558730280184825585352096625585306743096725583371616456255801000710522557886781992525578120161947125577341323673255771876728354255758675303922557524922163162557238281498255719319283752557138935743255712097813494255711654696662556946278992556854117562255683093131292556718226157942556630815400255654524315342556315453700225562213882182925561030421766255579060438925557220912603425555197419795255541947810994255522294312376255522195202142554829990228392554518823543525544767284182554419205117452554224215120132554118166228392554011421722325538630319806255373003123538255365541264252553622119607255361722228565255361292191625535981635255336310303372553315616246925532411518344255323297259042553230552156562553197039928255305363307972553022602174592552918541143952552315272138425522306331228725522303362526825522292462171325522137012821325521817824783255193084110526255192471621582255182687129597255181260416312551720033279812551528142023255152220420412551427920195972551402621872255137481193525513292251421325513115151987825512135414879255112012721668255101179318550255082286730943255062806592802550610609522255041300661782550327008194442550230227272392550217533293602550216332569025502109427920254993027223252549813122291325497871166712549626821645225495505329643254952776191292549524280185052549511718125802549462316332254933581579425493323912421125492285583194254921966719854254921343125912254911002317592549088542246725488315882334425486127433274625485228951404325482292723065425481467313530254812983639425480243771848925478555219462547811085303392547667672207325476267922483225475104127125474224451008925473323693149925473293372847225473246481944325472688309612547233789496254722887728906254711881011972254711746065812547112310301692546992330243254692801317866254683239335372546711254161962546622334670925466156428692546364269382546116237172282545955272140925459312952708254591630761092545893592026625458203847987254581012929622545229462067425452236591763025451112316636254493140922635254491836895582544856784360254481261517425254463212528434254462530132225446247482887125445256241781525445186432279125442659314990254425808530525442279941082225441203992064425440145553248925437782615687254372576128791254371896911836254355492174825435387431595254353221102625435123841725725434110232379254331345015647254322921228437254312790910271254309451437325430202662680025429247021724025429155976352542915046111162542822155600025427143393850254267431533925426147731024925425367429413254251961839225425178821107125424325612965254242048529422542362828744254236054112892542261645125422529714281254222257125224254202861420186254201632920394254183124019785254181382313718254178758882541731805301362541731780243862541620606317812541529959319512541519497232032541515062862725414979109425414280467042541370072207254114075192602541119007297442541103926111254086911347825408249162061325407164241979125407104287542540428938148012540417895261492540212119549254012256825398254003199279342539921903287652539907831327253962447730837253962198113031253961906330032539616103151102539533101638925394458923322253941638923282253941045827835253933049824728253932877237322539221419225052539127837144192539124911176382539083541033325388935923858253873213159672538671262322538426774142792538413103219362538191005573253811072475825380167261144625377320331735125373292409604253731736726692253712229217691253687553524225367125614924253667407136702536417996181842536294241942825359314014571253591587310359253541000026922253521431120791253514756193792534746321813525345364111725345136861914625344160723254125342723767125342272031905025341583819010253403067184332534015460118602533515538147792533217113293612533216422093125328266921004625328203481381025327228332606925325151912043825323143153266253222977726919253222973918989253207940231572531932656276325319126647208253183681371025316493956192531532569186622531498593937253145792753425314340821496253122526723408253113420264025311322953037925310797111352531025777235092531012704320432530971701443525308772124583253063487864253063057711868253043251216543253033086439492530239402690525302231893253253021884028738253021011210392530182031937825301376572825301358617438253011332293572529918245775252982410493442529624578303302529263501133525292223233852252911275757482529026963180572528826293146282528714323476225285687079922528335349452528321371193182528218450717425281117242525625279278086102527625825845252751217230915252742095458912527413544717025273161031452125271233101478425271174185692527111817936725269971918845252672765025739252666681344225266204823786252661937530093252627389118502526268442715225261147348282526030591162952526024721198282525926609151182525882645904252584562295525256151152228525256134271174252559729135122525557083051725255135582378025253384226162525224926439825251104963912524929894126862524869401710025248132241040425246306701944125244224281688425244151081461252421050549252418437162662524131735163012524111649186552524032399138125240142910812252398235138562523916961127392523823484424525236206653097525236127662365025235239951904625233184384319252322517283202522914831313322522825271309632522824502745325226989213582522630498157772522522365196082522361051298252226049191082521975912256125216208012792325215180251993525215157783059925213384957525213220982971725212912817660252121206215894252113037277422520730007275302520729552180832520417531273672520319402309425202173532463925200327585942520026639251012519926504143532519910003239542519822339277882519730041388425197208131571725196226182250825195204422812325194143391809025192452910896251921262726560251913045240925189296266025189287282288825187307195632251862814631431251852851830219251847580144952518276345149251827368312622518230671471025179281447512517927522186225177293473350251772861021789251756409226692517564029724251752738722186251732596823018251732054714501251722825216191251722418824539251717270507625171707129506251696399813225169448510222516921522136525169123807621251664375721825166122071622725164186322356925163273378796251632674030664251621818354132515965787581251584368140382515828007579725157167482257725155168926549251541033616471251522370024880251514210208802515131123196325150504314328251492562828687251492505707251482937229392514711340630525145947144862514157462563325139539821044251392253461372513749471686225135296161985225134266622522625132180991224251321799926495251307780272842512712958864325126399118073251251382523418251239739226492512326211826725123049823953251225161195825118912508025118284672720725118270367225118181861782225118114732754251167451992511619651677625114301751765225113646230802251132107202225113048620382251124855221172511157801517125111307298343251112667516168251101751658725108830519857251072656432386251032800841782510321347300132510239602010425102164472516625101297530292250992845733222509919420258472509823153111525097317037432250972761882250972466521614250972140537712509588313099625092637315637250921136723161250917241178282509158712059525090244252284250891239982792508532252115972508331407136262508326828196172508257042791625081542203472508136129031250812152685125080214032961225078224841818525076195241676325075323352899925075284692293925074406124347250731242237932507285432417125072803665892507128602200182507125572696925069135431889225068748591025067284541828325065505425312250652614270812506520407724725064203215692250613390302772506018612897825059112169103250588702150892505817410430250574617123442505620412739525056180214493250561612528573250559881904625054611307625053204471189825051291451095925047635524999250472027627746250453257475582504522355138302504520281528025043314344501250415466272525041295341624825041128822937250382613021533250372584113807250371897926625250371733541502503629216313052503618867155572503613513733325035791238325035694630772503525502115425033311842102325032257617173250321851727504250316715804525030475030953250301414515057250292837423242502818190834025027779129951250273623220302502616753824125025290801062225025231133292250242622862250221856212253250213020819187250195922700325018896821892501618400128762501422692521825012263632291725012230502107625012205322633525011186710377250102205520198250093515337225006250361019425004299963114325003662294142500272233071525001865217398250012414424054249992523119423249981406275752499726582253992499710324723024994255321427024992267099613249919169191142499131131306402498917243315902498730414371324987193352790024986237031197724985283197848249835720267962498313449753824982253119569249815442852524981120175272497535931461249752114181202497515242284682497419134302562497317482927724972882680824972124889999249716158168552497101371945824970329608249701083467002496849481852024966914119852496619532183452496575511097724964320091472249641085315317249637560230392496311004213324960856029768249597402491524958825281152495828666189082495823119716624956293553670249562456521888249561589918012495594551474524955241015475249551779158642495515120353724953596216104249532372729323249531793113832249522139631304249521781624785249482318922387249462565511556249444974557324944115353033249431087915899249412104716194249408001207124939272471946824935446814918249331425527555249328336115422493232465993024932315313275524931170581653249294607113332492826453156024928254272923724926144362655924925232963209724925198412273424924801634624924214451650824924141983092024924124841408124923262043050924923106901539824920202147993249192963414524249192218578732491885292436524918548723837249182937217227249172553029502249171580322359249162325024917249161787289662491583182024914207922564924913249668184249124901932124912101942480624909414166762490927840100002490829546259712490616241897249057283278712490313765326124902408511506249022918288752490225652191452490218053958724902095924454249019759219712490143941624624901302671092324900237872200524899305442568624898586213212489784277020248973132418468248971796331415248963128627214248933129288732489215005164642489125084314862489121040307432488910102343224888157001724024887472714906248871671141742488691461714024882259942983724880300932730224878445121000248762789089592487619816237682487568511046224875103324105248740445036248738614036248732806620765248722402712703248718183120002487098802651824870172124699248648713242252486356081001524863112821496224862201986615248618713135452486124373892485717096183002485527948267662485523040184902485326308176022485292112931248522774724943248501657988324849208321807324848117216670248471645825669248471306817989248462546486652484590341928524845810714162248448711284922484424859316422484294699171248422280128242484141731688624840315422868024840222793243724840122611895824839314107124837224461806724835250262495824834317819846248334151032483328722699724833145611607024831781921810248313016927788248311118550862483068571145824828510980452482621820235232482616921247452482432309144702482432221171992482424814211822482350292130424822289918396248220840262762482113567328124818877168352481813544147932481717150951248162034126992248161806217772481610651305724813473016042481263081140924810229242503424809139172990024806951211312480661082511024806211190292480513825123042480310130273442480223162022480017073256322480012033314702479992391450624799262711412224797140975212247961274806024795552106112479430512322802479424115298852479183929391247914562192962479118593103642478921041198324788281052550124787158721775224787140614216247863015529831247853195823898247853068335772478518042381024784433094652478416267408224784134792272924783253527618247828903173082478255712398247822297310237247798774306192477769001593424777209865115247753763172672477491768240247742843629029247712235564224770266231772247681937216044247681501232762476714621732224765166042209324762153592748924761300662783624761128012072424761099132367247603160939772475929812924724758250771555624757318001401024757233372968724756297371262524754276512625924753338116952475328076413247516389323262474829952274124747151112499924747107422073824746331828469247461453619709247457434141412474327289034247431461910770247423253723530247403028513283247391652456124737735331939247362701018428247331047200282473111224216902473032582270324730117515457247272545454724725336714031247252852727743247235462499924720206033700247192155931622471828116165732471827858194172471826942970124718101323080624714154432884224712483865022471246533113624712325541879224712144507921247117266383124711725228350247113253537472471019692176622470647062223524704119887567247028307308572470225297218162470019166280522469871523015824694414915986246943060228202246921481920997246906336236042468557312261246812204910420246802124021770246801968118586246791959211302467818928186122467813623138442467713380800246762544619999246757621582424674314812016324674298332973024674139082853024673198152685824672201611126424672194667568246718777471246715833706424671258567120246702099026154246692868843712466926230971246691533013366246672490067132466721925450124666712414646246663015222000246632755125232246622981187022466119506182882465821336173022465729401196922465518698106262465511432796924654155231009824654131442880824653531227624652253482459724652215741653524652121192342924651277471544924651233277146246506198113682464930357268412464718059174092464438432076924644375575224644143658313246430493528824642910712738246412499266432464115404129512463811567265382463610544172072463532466200924635190536821246339442307122463327127192972463118597125212463117792245972462926587137512462827025208772462826627202922462712277441324627114032212524626116502375624624387115422246243258122521246232931229923246231472271322462169762111724620595547962461976022997324619256826517246192253622390246181299423968246153257959312461211250972924611262789072461125542232612461023008222472461017822702724609311783088524609241441302524608811177842460826254163424607198903742460293031824824602316477542460082323558246003581145252460032549107342460018718160072459913471287312459878902843824598305992100224595182148229245946799233522459430108479724593297781920524592124472043124591262801983824591005479624590178883766245901183121185245901089030558245881433510239245869574127742458521491109992458512440552245846208126824584304872728524584260615837245842505227124584212626205245838386189852458329416327062458327833298412458119760442324578922715871245772881816769245752668522995245746583290982457415075138292457369827524245732699073752457323402199324573233561942024572911926557245714863188382457131667234422457039222332824570101556521245691213630601245679672701424567722930957245671681599482456539201613245651961073142456516097152022456424322995524564228972147224564131846487245621613138832456172769895245613829676324561156861470245602402716062245592150384562455423371279832455331069142462455310947314172455236418194245522183015942455203332581245491911924550245479798533124546045290582454526036190632454412686234422454237522734724541203322885524541174462800724536753251002453639053260224534317672293624534316049803245343131221534245343060029632245336553297652453325379531724532138792982424530755017700245301703331682452930350102392452925261186912452824636321062452722523105882452602326164245233190883852452331041289402452265041439824522224531226245221911089372452120711247312452118475168052452116199290382452114577156524520291231007245182521116912451810929266245154451169124515283924950245141909727028245131163033562451263232671524511345244582451116686210532450512972236112450489542920424504847780782450450119259245043875290892450432185209012450414217233402450398821019124502895016292245026331220992450243591480724502300041167424501810110529245012876619913245012135464922450022894293752449988251230924499235522572724498130918882449812335183962449721408775324496227053170824496206573828244961913066424496134751187724494550326724244943720296352449432525127122449428568172862449322288105942449318097277142449125166125502448886802294124488196301754824488110072279524487843431917244771697013972447712862721424474321690022447429305258612447416404816824472921932165244711138219476244706526132642447026950166082446822873160924468114523112446745451903124466359816930244654740292052446430674283162446313768976524462409229410244623912646124462210124506244621452220932244621223018260244611501475182446097582697244593091127549244591002920342445818118288282445732452323652445649011025244561420839492445520915615124455148601157124450387526883244501049521207244482419113818244473113532289244461525512244451817882972444510432658124443237520210244413206301872444081071850724440684176852443718592254052443655292537224436325422856024434588698412443431883126112443328546236732443087532234244299654182082442912433228292442866468792244286276166602442821549208452442812516133052442731811151852442722485133072442718587227892442553462807324425392532271244252114329999244247227384324424719122752244231931278124421200092430224420546631603244204952192242441927069966124414142974997244111909010697244105232241932441022192247662440730902523724406995334244031193023998244011807325352439821030616424398200602515124395730816879243951317631414243939931838824393433110575243929329668724392780426709243921478526501243920394260122439197473025243911216830918243911092824456243903001624590243902136110636243879839934924385271251600224385213742796324382376725619243822045787882438218147218622438124906155222438117671444224380218041206124377272682375224376260512897024375282502757524374557724733243743189575482437413482608624371968479982436895843130124368183927609243672046425474243671469215734243647506148324364228599352436140316544243609480559243602540030082435919204156072435797532520424355220201660724354303530625243542582113524352980271872435231165175922435122219240002434823879447524348141462528124345120584030243431795528812434125021973724340358623378243392506121632433921572168624337868625597243364727940124336133101752433413528052433392011033324332919620214243306804653824329217301220224329106852780243286193604224328230773156724326305223325243258027238492432538646633243253155118515243241556025654243233214831978243231503711822243222820270232432215924689824320774926794243202754622782243182919431869243175878148122431752872663243171157059892431414876216632431130738567524310830978312430823143138224305242362081024304287062452324304226055162430249002713524302266062186224300300712522024299854661192429814918113952429615597314242429512822214602429221566258122429187921835124291140971413724291133812150824291120811152824290582037902429013743268882428932322133932428919223172428912649165372428846572379724287465331702242853015810042428379943044424282765723355242821088232032427967302079424279220321512427917561156052427738372989242761433982552427512566292972427493472604024274705733252427416585182202427311101146752427132145311632427114596144882426922765170572426823397100324267280681970924266244482588824265866322049242642500666972426328246540224261967112560242614400105062426125603125524259673530467242582578326623242575762221424254229826944242532643911224252764125529242522953559702425159822893242512411228104242495021963242491627710909242491282027658242481251531726242474189124724244295357588242431751633524243171283199524242580921120242422548217975242421576195612424016772921242391471738602423851192934424236113039668242354214963242352871715594242351441324442423425773983824233204962413124233194683016424232641885224231523952252423132052385224231123891530242306581232832423046322901224228213612069824227269917464242264160117612422343710303242227130238132422232565174442422231919308924221356549482422096172524220259412495624220124611536124219260153956242182886615522421819282251824217109331785024217105611299424215101301383624213297861897924211854128219242112783316522242061140375452420510192149124204202023504242031421104872420218289317152420210574184092420164062716524200794692352420023647204822419814737600524196174281987124195211953115824195127752272524194928017428241932854024103241929711457924191469020435241912326622612419024372825624189984132522418935369128241885624107802418829921149822418813509259472418712512246924185183747944241822346416755241813149618011241812385952324181119126429241796595267642417950122192324177212853086124176460318353241756299268022417561131201324174302081380524174131021909824173145111330624172250455006241722359418818241721628531687241717641588124167917281402416694948322416627547292502416330058317552416219901154332416132233165642416022911173892416014000232624159837626144241593235022875241583832215241572311170424157140672990424155304462036624155211032824154279912321524153578833262415221670647624150327111773424150315035751241501163116648241491508822645241481068129872414660192246224145292891660524145106953187324142677828872241422274319935241421620023406241421021105772414027335267332413911074164682413892201485324137755712077241361998430000241353219117884241352015718473241341454490002413392352018224131273108485241312490932193241297131939724129325406024241291034019043241281941515056241231093241362412310738259324122723534482412231700305822412125646988924121138661495324119134591547624118158147693241164052262712411610088299422411316628188722411221738240752411219415220124112180525383154782115210511241116838167012411064793070224110150242159124108130581088524107847810806241072572730142410324400144272410324189246792410316372158742410225782148832410213831261312410027475256224099180851311524098197581990724098112802612240971988497224095207655343240951653522578240951062120322409412667310792409217271273322408924302209142408921150134122408912244298672408829701116832408720884734324086865115702408613557137982408612379631724084534194382408431189129022408310539155132408211037948124082108514362240812690784752408012361502824079235301555924079181111172124077398785402407720281582424077154641163724076780629939240761850120642407422280247662407375532195724072247268911240722337130692407011322106324068183333736240652045083592406413584290812406317562539424063166683219724062349813778240613022065624060956199422406024685216972405724933239142405721266403324057199835005240571284516682405416942217392405366291180524052387829312240521319866262404830772084024048149612597624045252982403824045171701897240427228222224042276073218024041936226823240417834217582404026545217240392822305662403521464917824034118673268624031549018292403126894156422403020682357924029165521590824029152402324027280117584240257520195622402541024137240219839191352402019885102752401932564124892401735115318240161450855182401612266688824015610138572401524622163124011984326017240107261256412401011823653240082839314677240082097030453240072254820453240068565267722400516254302342400512788147382400428056408124003371019170240032361928202240028472649024002311509237240021871645622400127063985923998304913688239982624328246239981617256323997582025488239975780275792399569701647123994811418724239911574811936239911470215062239911419620227239903061319432399026465157232398915097746123989122175364239882440282682398824266116352398712609278292398712095542823985141774237239841523628013239841135229654239833058411198239829014238152398016346276022397912043236332397719033226732397713801247623976164972561123975561450623974164281515623973138143032223972475812554239722310151239721232127431239704931221822397030295102142396890251285123968264552109823968211492028223966228542820823964405418179239639089322432396219255278592396140913146223961282373128239611409717810239602880924954239602873627887239596790232212395913278155682395727520923239571920471223956250932085623955319931794623955256003236823954151822225623951139012440123950215237602395017344321702394931451269602394931178768239492366022394920063109123947211551386423946382711162394623967196202394623899132582394568602753239456489206422394391064673239432353122298239429472127552394283942640423942568813261239407319200272394017634118942393889847298239382253715937239379111272012393763302653123937210431502223936262491894923935157112710923932456220657239322980579423932132852290623931447128252393090972056923930649218535239272348827612392713624293723925255431388723924318182439123923653314109239231295982123922213512778239216791082223921625211789239178834172902391748171030023915227604673239143036014816239142926538802391413088270212391332635312592391204043029823910212982003923910131492505623909300173216923907687269522390662831458239063269027037239057081461623904273752535323902175162881823902105481125223901391032675239012882112382389890404650238983059015386238982316829186238972631717895238966749212172389628001221882389624215266462389621154171422389571811489223895128362088423894317971779223893931778612389317512909238919011207892389186772864238913017217464238912191342723890221372411223889897125972388868711728823888451815636238883146097592388719488199362388624168296238852552614171238849458742523884266433071823884256572032238826819240482388222830273092388128881107423881262292839823881145831539423878211845280238771069717481238761946124294238761390217027238752857714264238742505022534238741331742142387229181250862387209871335123871269411643423870981241572386831311318892386562912009238646918472386419025144752386287052329123862429427616238618130215432386128500177292386124622161442385910775300523859104359304238572016161582385642202353523855171482949723854290183542385127263281722385123893335523850632444032385040943273238501435817072384924115239582384863785078238472566710184238462984732283238461857714023844548196902384325619259682384285861223723842032854623841217632384238411678216604238401076513864238389669241422383827509224302383764381475323836638132362383621848302722383611526231238342520817360238336913286238331292395222383306662625623832206213052923832184751394623832145553040323830275531463823829256873161323828953129952382829021143412382828517322312382788372390023826185431995023825542286752382530011135482382356302538523822426830912382230059940323821974128983238212384927867238201785526784238198746338323819818332455238191568627197238172123629504238161765128982381520910118712381519419502823815192344939238142754750082381419122734238141683927397238141241126273238133123710457238132482926651238132322440622381317827327123811328321180238112729427818238092922736772380896844704238087837139782380749182260423807205976081238061258316632380315685102482380116592311223800224023058123799306221861237992480718208237986592129462379818818239212379814174115512379718007843123797107941198023795325742202623795205546142237951646734723795100683048123794252351628023793837112456237922747774512379051041846823789128845228237887201854223788698216723785183393214323784875429016237837136109012378217895599237807565323780116042917423778279322620323777253811621223777190971486323775242451995023774310031558723773311672930523772280981030223771839421630237718256353923771104878142377029732910323770208821371023768135091941323764158672691623763189703096323761839325123237614093915623761100127333237567996552523755997612928237543931264572375326939406523752283842111237512130722932375031071132732375025395183482374996381491723749616412668237493822851723749337224519237473085930040237451789426182374516425547823745137567830237431969732015237431895525005237412358016923740897986302374019115238812374010636166082373829262933823737922728022373613737211012373132524326237302506530323729506211782372672823209223726215611476923726204191112523726153501048623725812217784237254972054323723268237373237231323331618237230766177492372270231731423720279083141723720243426389237191040918784237183252217126237181676529785237171235817593237151150093972371321819455323712297242123623712187122341237112064117382371037156851237103382246252370987203052923708272817448237081235127623705883418632237051841811597237043102628882237026930463823701172531946523701111881736323699235402805623697312832765623692214612749923690814228919236891386124456236841139232482368228981146272368218453222632368197221952123681395829301236807540173792368029567305882367655762802923676322477242367621185244223674881215985236741502312222236721296047682366717019194712366469714053236629617163862366197861705123661327552754223661308022150236612281321878236601832813869236601747526583236572377626102365713702858323655201812514723655176342999823653162182687823652230591101323651323482163723651194452201223650147367959236492208327743236472380491742364719972269952364627119156942364594160523644270521189423644175981352364376325398236426426614123642361810484236421704523201236412979623872236412360418544236384082271572363732243860423637208392574236366401563623636302123248923636192371545523636151028669236361444110201236332047817020236331687196702363028139596023629279491575223629126241147823627488032723627302483187523627274311127723627178921497223626255464575236246092641236242513431070236237529121902362025454819523620227152532361822510110702361816164101542361810497106142361724447137682361616227122832361553422996723614387522805236142535326452236139178234802361314986103602361311874235122361013445126452361012756572323609868617297236081527905236081078423362360614351363236053037423863236019272365023600192661393023599310663254323598232942902923598130403007323597321824791235961244732483235932576630118235931480793362359229562904623592282402015523592144101738223588780221731235883502905423587281354917235872774325828235872381218085235871512919814235870862268423582879217431235815459292192358131375314922358111039153982358016487282752357920711622023578141582023523575766452235752853524969235743152527971235743076955235741301310967235723126610631235717384122312357022321669123570131863979235693165155302356920460266952356846831563235675976228152356688602761423562171132731423556473925212235561337418052235561185631570235552831924647235532725625452235526477604323550266192315823550244626134235501800117123549919963422354730812252772354718179224123546774127918235462652174223546263468176235432394313676235431249696623541165810344235405588754723539250344289235383209812534235382611228996235372744319340235351645028661235302592920503235302114447042352824117114542352710209481823526261822205723525225851321623524565715755235241806132020235236225121322352222684191822352220195619623521251983185023521198381532352111855310272352059689612352043403271523520304201237235182773819952351818476284992351726304287362351623872474235138404240082351273601723512496711482235122443730065235121889329071235103156724489235101495332458235081430015259235081243317533235072165228223505267736291235043083313893235028929132862350226089265923501706629851235010911116832349912108181952349911802197002349724778189552349627075123322349428280241742349303951635523492248735823490271019477234901614820414234891789520321234882271511142234881605929658234879922204672348721302187702348629009648623485124701620223481399721455234811917361252348114660284992348032074165823480305512249523479981199623479755718523479289387084234791469722315234762028510393234760275650234752712831389234722120752132347017308192342346990176382346848078782234683112919234682155711561234671661866223467164785376234632586924670234622386528193234614877294872346125152279482346026613141992345917119312302345870181023234575502621223454134081176823453307380423453137974831234531183615036234524692885523451831216051234501822110353234492555119185234491141329915234491138367612344429359234842344429350300762344292703076423442273302930323442181421812923441623638772344117377120242344011647487123439161562514623438103022749323437106889807234362784819304234361721279682343422010304862343314959263972343157342286234311889934112342975229092342921134325532342715745210772342627056149942342525101785823423505731454234233064527506234221258170832341923085209812341912343537523414471284392341431367697423413174833081123413122514618234111203148823410290932037923410131441949823408242682532423408220992573723407251121978823407160232613323406322565784234053008330223405170226172340262547412234021330914205234012028122922339827699170262339811759156222339750387733233973111913116233962087395442339530982354723394139042262923393367916036233924037240942339233661667423392283412225123391232751569233908444132822339048372712523390320883049123390227682538723389350510527233892665610358233891980452523388284139742233842766233323383262873198223383150133188123382941686372338234241891923382270121928233799927234382337910476188852337832675325652337829754981323378279301269923375288902349523374300086023374143102893523373319652998233731572965292337223438150162337222483322312337176223081223370242692595323369848682233682973310945233672017532362233663151313963233660331721223363158259434233622798111930233596946267432335922554115523359167061636723359138985268233572481624049233562608719506233552731316282335523140752335120624321792335118079189632335117871917123350284842748123350116051679823349158951310323349119456405233433123270922334308471024323342147921295233401834515683233393215056723338161241856923338106062998123337238571869123337226066097233352662331741233345554287422333264202881623331050879623330283052038823329103215951233289071100723327724294732332618283113072332588166123325215782691823324168192352523323321252277523323164061059623323114282404723322623421162332235681606123319188792382523317166751901023314385324420233128845235523312177962473123312167338859233120124372331020396305772330891142156323308325481625523308120872772723307299084822330617174106623306147662741423301526930776233013542568723300137045762329993042655823298275561956623298258231181823298165359825232971189120202232965228191972329612797222782329517122715232946792939023294158262516523292321701844523291719826179232912893180102329089303135232888962168532328724454122402328711987231072328683031699523286314653100423284110712865423282304659216232773022180632327534121171223275322993214723275114747448232702219126381232697662718823268368416759232667177285702326613974543823263790711827232632797112494232631265169712326291953282326206858926232615687188062326129676223962325932615152872325930473019823259282642000223258204023121523256307412532523256138053248023254529320565232542270331833232522837117845232522316071222325214352049723251310182246723251274393950232501360183552324813993227742324784008303232451476520757232442940112040232441684921683232427716239102324216548204082324154361755723239285103197023238894022567232372695818101232372560439382323715021154382323714711101472323628390139662323416217117122323323302480023232321552569923231520829441232311884918692232311474819109232298878110902322917150126652322617068273142322416227732323223299162729623223244292395232232213528398232221495410335232217140228862322123175706232211144895142322024733542823220174512265823218164262334823217292601251923217232861646023213252191097223213072910992321249851788232123656180982321218227204232321110899121782321031328157232072046056523206266191338923206175898553232044955141922320240241418323202127772628623201307301150423201287437327232012823176722320125422219123201253142039123200232291339623200143667717231989001685723198180052170823198135508178231962919619782231962682418231918655244082319169741213123190240821349423189254561856523189194076645231891806126282318718630130602318621379711123185813728486231849486067231842635916993231842216118686231839161582318330084115782318327202325823182309962045023182107561917123181328427540231802385320925231802289194023180162364152317924449966523179129683056423178138819830231772657551332317429954754231741993228392231741498816278231741467212237231741163823184231731285314322317238865572317021339230452316548155322231641134714958231632348113821231623169123002316152343273323161209641598231602309822657231601157167412315924676207022315918568179882315912820990523155254864455231548055229072315094036062315019323146812314931680547223149122982299823147305281493523144382454852314411258219542314327713282772314313271635423141710721478231415150808223136537367162313627635932231352665278372313425359141282313415260268512313320643274382313115152210492313085545637231283086228267231276536608231261133315383231251343428823125132484426231242292041231233225280423121474232661231214006062231202545067302311932200256352311886028357231182128133472311628964100362311628460279252311617036249172311417586427323114151622632423113209122870231101664224114231083142261722310714101901023107106258231033227745042310330865242702310229138319502310194343256923100323291520123100204915463231002046519627230987652139062309830199160852309827379830230977754333623095219422334623094107501372023092979659432309215282276062309165987300230914288302712308919570117732308813895194102308812021757823086471315619230853264719111230852493827302230832359224542308319419285512308267093244423081295433218623080698911073230799319216762307828388676423078168857939230762910712704230761646629028230752180828902307417151044723073067642452307236731070923072304192333323072286479631230713000518451230706542119123066164952557023065302651934123065271718702230622077819618230621009713599230617705102552306125304180772306012884556023053457357182305254869739230523200220444230518692128282305125866161230512044118686230511092778723050759013080230502369327616230492755228856230492725631814230492342241432304911234914423044760527040230445512024823043125198402304282798496230412264817723040306851686123038746721275230386227228592303721947269922303621226775230361312331312303412252943123034121082802123033127741112623033100731841223032667721377230319233507723031187821695123029049275382302771698230230273111120504230262325784472302590827191230252196814621230241445620988230211611225459230205160203723018240131728023018154662171123017556414543230162127821901230152085630266230141589577862301413638229623013293066926230108564803223010129611467723009980153552300930689189823008229298610230073240235482300728222258992300727813278132300724828140123007207673052023006447819847230052687419119230052407730244230052298211261230034940449423003312011121623003282851193723002621732419229991042682322989853618546229891006852312298822456232692298777224340229861224934922298530795553922985208662012322985173762162322984117902060322983288642280722983158942684122981263422990122981116730770229795642242229793202930959229793075312614229783008323300229771055398302297527981989122974294878482297314475232212297250271686822968520224580229681276211506229641757312068229631505592812296222879254682296213288663229618949238302296137932394422961280332126122959304642129322958324949991229581367629237229581244317574229562978015692295612202111862295416066131532295372802999122953273281970522952304374436229522339417891229521590335822951961423380229491612411048229486860148052294828868149452294721803273292294643263244422946112693446229461113030809229436380670922943287602582022941207382857922939860113486229393163231588229391258822044229383679216822293716742718222936184632984622936110802348822934181741407422933327392299022932519323169229323558309822932353179722293150482922229312577013312293116568127002293083367058229278542172952292715516117229232950317054229227251305702292215967213442292176861255922920238352007622920168852955322916952386202291622554161512291515782309182291459117209229131294113202229111190025686229108021010622910172675299229065640311182290612515118502290380342142290330271120632290329250128942290311815286422290167504992290014676157922898277832753322898270543272422897766923411228972332726001228971800869132289714552757122894995317170228925452154522892269357261228913288109228912222025032289091553532288924274156052288923173326162288913911163022886294893159422884272610580228803152806622880219831022228792047986762287898681369822878264491264022877105792425422876494918529228742614625925228725009186322872052215076228715093297862287036722593822870298653552228702581610127228663066215917228634209268922286321852286722861190961051122861104769830228592598126050228591027740542285830336794722857214451049222856795027391228562166743962285615416202722285612969789722854668183832285399810615228532689718613228532375418633228522253450562285217347187372285171616340228483150787228451312015570228442130530481228441548818012228432436525871228423502118942284212177167582284128897699022841275682330022840270802332722838299492185322837517998372283632334311552283623211557422835912105322283527594286922283511513152283423254148172283329354247102283226448188382283032753363822829301211589722828875351092282712143294662282629796826228262758128716228249001791222824146462247222823132561508022822458423850228223127721122822261851906622821569029762228212200515062282016901284082281932631239722281816878459022817290071333422816205352148822815211411577422814119392305022809750530276228092625710737228075685197742280628329949228062018663772280616521153112280530245304902280422011288002280328765156642280247362477322802288911282122802234588779228011713941782280111292647722800307633814228001728124322800103737674227988662893622798255117622279824895246102279722792002222796620179732279529182107532279527179183692279515565165222279319981800722793172024153227923218329909227893163141162278818798155312278793042649322787216011376522787144012753922783862952822783183873775227831205530632278232556289242278152312273722781307361744227812862177122780273561219422780163342453227792588913664227792579625688227784994212992277714655120582277435972971622774128293148022773321634772277266733196522772578712753227712137228884227712065715112277116186244972277111322981022768354028542227674501267542276657658761227662883714750227656852215322764160447984227602970015270227571890210041227571382029969227565846214832275612952788122755122412747227538915208892275325242654227529850233722275228303288122275210536195462275146676988227511806724717227481460621142227476019550522747259371401322747223791917322746322688656227451353890822274334032718522743173751729722743110822253922742875425012274214585910422741455847802274115745761022740166328755227396081619227395105289012273732743212372273727695156012273723762298772273670882686922735290662053222735186091251022734129782287722734103801761722732659416592227313119120538227310785197372272814753754522727489915830227273134923368227273111678262272730799218522272587004116227253301762272523538585422724887531427227244211261722272423529150082272330896704822723177362694322722394211331227213007625435227201007055402271916063192072271827857827722718264924660227171982517629227144241464722714146291830422713809212479227116279234742271120322399722710259352605422707315362238122705733367412270391342143822703325211479122703095233752270234209200227017063105542269916639273742269831566230162269827919101342269819144582022697199521312422695175550722694816678852269128617261962268944645967226891520122823226883020714283226881545119112226881124519351226862757624062268611680324062268560065299226845633110502268312884738722682437258392268219121170922682146459473226808083145752268029334235912267911124110112267822560201512267628994224722676110949072226743042026061226721856319802226712971517404226711297416079226672291126140226671003424220226662233481262266352931825022663350925114226622325281112266127579645522661194931017226601913569712265923567274762265445007285226541247726519226531712617455226529964836822651579599322651291433122222651182831384422648289373064822648198022563322644516099332264331941334222642236741947722642197753093622641670150452264123458249092264010246306012263931080139642263613394712226361267332469226353994188332263513669178422263510895139472263414681261652263320428331226312034824175226301016926965226291522959662262914985901422627285082178322626302579692226232994324890226232693423520226212376718376226181568781812261812449181082261786693250226163248028249226162834226692261617608293292261580651620622614674291062261410661418222613455024539226131272210571226122459027501226112350426649226097247241226073000535552260723176255532260615369228802260520366270382260513794735422604757025614226011869417325226011129480602259919489250112259829052209982259819706282112259615107211322259584712251122593017897122591281701217522590524235102258827231160652258621480305882258530249300832258527056192522584240871514122584166638171225822853019032225822447161362258168971032222576754657042257630929150082257218219128022571456832613225712723137982257121758330225703271225853225702798422382257021747163422256927487811225691306420633225673378196422565985231414225631928493332256305182590922562217356822558500924462225581608612272225573041124122557267392849122557228643158522557227192940522554274971822522554274030548225542630921874225538093113922553185731159022552290207995225511923322642225511598990962254813682294122254777263019022547132168349225459926187742254521649682522545145016179225441052782402254356882102722540286721516225391297525739225363043782222536129782493522535220136363225342966031960225335134229642253129398225242252980013283225292033851412252872263244422527822725922527309071874622527307552783722527282161139522527216011582222526316731739222526123489035225251850830492225244679257432252230402489922522198321799322522013828852225219479372251815110209992251613370210162251533632369122515217354497225151466334302251411516194002251330504206692251322815278142251219866721722512165121141922511955160932251172312342251090432446722510712516630225101999817824225101065315015225062697999272250313811838322502248143228222501262812533022498195882845622497325401331224973062318217224971559152382249518055321952249428869998422493306391959322493292782474722493200501764122492335829188224919269170852249121351212422490545623464224901845119111224891902310146224881372447142248421507478422482224128620224816453190862248164083061922480931816886224802505190442248023601183572247815472148692247810334279122247731001221392247610372136822247530908226102247477749632247456059422224732316321480224709600179032246824727244462246726201424622465162105735224643035564802246395717554224638316440224636559897022463117510360224623255272362246213522971922460865213912224601472617468224573083973022457175682224222457100882915722455919249852245559492223022455282226279224552610120169224551543823126224549597129522245167181492244827866159682244724964463224441700815852224431716023438224411767530335224401961919785224392909215712243832061137762243821040120802243723879121752243561219204224342511504022433240271552822433238721387022433195842422122432397620031224315232622522431187142854522431129828668224292389618676224274102279532242719725256922426907017002224241641630716224241340685762242215652474224216457254822421150302661322420139323692241894221845322418799184112241845531613122418122542118722416343522776224152876217822241528247152202241527273254352241223444177302241021924621224092163210657224083075720802240810132104412240526817221452240367511294224032124084642240179042371622401740826320223992494098822239823249294452239747861781223962925013773223962686631756223961880272052239455102512522394143441580223939858202692239319987400222392644397862239233917148223913062071512238823354908022388189135775223871444811421223869868193882238626102298302238621018289882238616925930223843197520955223832886221969223832026321172238224390141642238212868244292238128019200462238025480202812237930797292062237826060670022378105241267822375208741292122373235303542237264612291223722632915113223721797515018223721688040812237215513441522370552522722223671531615903223646415287922363309842309422361292611738622360119663049522359315411648822357251638954223571220711216223557413457122353126273882223455980174242234559412756122345379695622344442318919223443214313283223435487106542234295642116322342251513823223422030712048223421948611195223415790317552234128641025222341257626953223366626609223362949246462233615228276642233511594891722334322581711822334283437603223322482323255223322167023798223315502643223314652587022331076525950223305795125252233021634311542233020147836022329951712452223297564321562232928064205692232921859130612232818898130292232425894280832232219131349022321788377502232021478109312232016886471922320110771177122319145128065223186482645222318244431362231818644127342231816249104702231721303215132231618694126832231566424296223149051273932231416486238182231316318286132231314506324223131175481082231221952683522311793386122311771919427223116793207082231021595274902230816041485922308148711748422305109726135223042897931514223039884381422302156937370223012564464412230108281805722300211320722299245843880222971945626622295216319841222942200619377222941573226252229344837063222925191220012229228543216942229191726536222912892329981222911183824207222891273919486222882851115663222861702319603222854093115242228532261205362228423968300292228422401534822283111273194622282181424202222813401167822281159361722022280117624480222792734221860222777977120872227537097277222721415377722271161125921222707675259582227019597143022226983423180922267182144271222667790140612226644732817122264287033850222642055482222264159681406222622399414520222621843114252226122013257702226116381981222261116022910922260259281312522259795986322258212759910222581413232545222566890155022225527167186422225416833217512225293411705122252697521264222524520643422252306592636022251814165722225057714525222483024828719222471788329015222451431464682224510767318742224434159552224425655488522243295291437522243245312918222412892617308222406689143512224028749286952223718573140042223683402870322236304185702223539611889522235309120657222352193471622223515272418122234209351360322231229132752022230277905042222826860119172222730988158602222632040201162222619422532922226124933739222253266024628222243183996612222425318813322224227641621022223301279022223129339475222222660614543222222176751054722221670314892222214945337022219239714501222181090276932221726642174362221714241293022216211673143522212516723592222103148589702221011935126362220958175932220948802449722209282976261222091047230923222056265302182220521662188352220519577279302220513778324832220513501360422204246520358222022773216181222011238010109222006821114732219921297164632219916316111192219797891340322197298214312221962542117242219612442449022195160946248221932433615906221932019518415221931622145692219134325996221911047932892218730246220622218624467275452218528367247182218310211249512218231880113472218110141684222180847625694221802763581942217821394160882217814277972922177497025459221753214388712217425744265192217317382834221726083277502217125666252182216730794217752216535631188122162106363218722162076223526221613162413115221598821322221571354498022156958116824221552754094252215520794259912215226950145392215214749931422151872918596221491313920221480864417221472273929784221453183159582214227708139362214194402915122141201021534221411353145972213949122898221392622019221384311115282213814951235912213612986169782213596332281221358211253782213479130442213332403178502213238129713221321250312248221312078417838221302851112554221302626064012212929823004322127326762896622127233734023221272237119899221242168717522122652621932212225588140252212123952277482211631532273852211610084607822115146514029221141056789722112448587022108292771407722108199792869822107174924300221063090524209221061643814604221052315069252210515221902522103213471306221022676032422101121126904221011090182302209920023295372209826009317292209775123831220952171229073220943331711122094123431049322093589023959220933118231601220921394264942209130521109722208825331646822087792197362208625654284762208615309234762208610446179292208590501178622082291263117022081848030580220816937114842207924649271762207914022253392207727144247982207624776882722076236082554622076221832318220747022325322072517378562207243201428220722344024857220711099552022070927431672220708161333222070305392480122068912226642206812963109122067937019122065221183151422064319067431220642091034402206321661385922063185618423220618467243622060224514749220592533321547220561568126758220552051419759220551005173832205415628231622205301721866922049536824511220486894144222204727868279132204619327695922045295841059422045209141450322044229362449422043303302893922043279872478822043267463626220421772095372204120220200251562127788260832204077703007220404174249582204031688755422040126452880222034868227611220338651364220331311325369220311240512034220292833328520220292149917023220291204113169220262037110076220246352623822024198202918922024193822244220225098137972202231985170482202019888593222019480713922019323382748922019222683059822018552811205220182215387822201810105916722017225515905220165456667922015481523842220153110923653220151288526022010126482188422009101903066222006241641938322006197501846222005606732570220032757420534220022381632412200220141126972200217309996322002157596256219996320119642199923483175082199910493206122199897315322199814229126982199619798220052199615428304221995121072505721994472282082199216460215142198916880554921989106169223219885543164902198725982119922198720050184421987197501877721987133861693021985203518243219851221828165219842922393062198411745264192198322489239592198313410217362198270371902221982391512689219813249217050219811628121952197835112180921978227642307721978127673129921977692464721977569227082197740327572197624075912219742573796432197283343047921970314362719219672690933152196627620219162196396263962196230707262042196220728106342196125323092321960866235712196020841619621959358165972195814601626321958100162937621957174371148221956651711932195614881765219554320259202195530092794621954837026000219547323124492195424368303362195322911853621952514576219523512325922195214131141032195143905035219512557230039219511233426952195065281442621944293872563021942105791217121939196541879221938139493275219361835618029219342828660072193290027223219321312728177219315512203322193112831897521931103152602193040630475219294579230322192919773174621929167381959921927193898857219252742874742192522344146772192495830291219231040181562192305778656219222024628693219219081874221921714247912192012495409021919654714368219193814442921918511030360219182291817492219181441651521917149721368219152175611386219151715964242191511359229752191324156169392191323314291302191228529174321911748921313219111691614597219102167616600219063017912002219054661226921904326072600821904312812029921904287092744521904238592605421904134182233021903194121793021902768128482190073891251321898223272431021897564011075218932936729953218932695228735218931427750872189221595244632189148404218914182210992189131303185372189121160245782188920019215212188811421244732188773911786521887243511843721887158742586521886592410703218852838432287218832835716374218823083124472188112115704021880295294921218802003431974218793163730251218777682235121875908910450218742907625908218702386430331218701405631322218692870728878218691061914321867353162702186419046291292186416435559821864147801839121863297571141921862787307221862301348957218621075128459218615673431218614590349621861304038252186114317267302186011484183521857290917053218572363728913218572089223449218563410317902185581014392218532851791382185229458232721850715219706218491978829354218491341632709218482481818772184711128272572184621696762218461947131827218461634225982218442904288421844286801727218442337816382184420813283042184420427715321843133032267321841511914632218411593422998218406753172312184032415170052184018499130092183919799169202183620906178982183557914233218342755571472183422440319321832164932210221832150827124218321489282852182530242574121825157626165218225392642921822252888092182127668174972182114961810821820304774459218202469628009218192491201182181828874520221816306602971621816161586251218152970988202181230243253221812295932628821812252126236218121025916477218104824289712180914569123222180815423626421806940115381218063043227126218062851134462180624027213012180428866297302180320866255152179963221554217996217291322179822751655021797266554450217968010202142179646155738217961134631758217958616164772179470847632217934835222482179323425427821793213146722179126294295042179123946992521791148172640721790220331000217881115223788217878109302178745271462321785986153272178513873997221784640030339217832108689862178311819180862178272761420721782207776402178215057268122178148293221621781286895156217812316429815217802827024269217782313025173217771110030441217733936373221772428924516217723510957421771597187472177022814863521769291751709217672738230512176255211940921762174762300221762121094553217619657101042176030569159842176016267155582175923250114721757174502632921756738734421756279031753221754384604921752694740272174821284675921747286231704421746464181172174639771827421745271751944421745145162481621741737758342174173293100921741129084648217411042717837217402153671321739111993191121737274967762217364984133742173627913019621735489588721735407911884217332614519495217331864625479217331225219362173246321938921731309902469821731192143048821729306734732172912602339217291198836272172895061879321728244111277821726206813938217252868832212217251183162421723309431340217222712727497217212744614732172069174142171814601522521715128902839621715116456507217123605260082171176011286421711751820272217109515388421707127352031121704534031012217021048723961217015861205682170029624539021700265928263217001966022792216991191717710216991058352621696208589630216953123732441216948662137642169332362176732169313205231752169224148210072169152182114121690289048169216901362719935216901076687472168980241403221688317181253521687442315072216873060215228216862156735952168527408324222168324392170221682267219502168147583052216812716131823216811279510392168023793197302167922983288216772014613652167582301433421674251907922167417333107552167415955692216723265127092167212558111102166920228181812166548717875216652008084012166330235849121662491125023216624535941821661401114239216593026822796216592167213751216571514426057216528634110642165211960645321649404930888216481319672912164413687170682164374682800921643707761312164027765246212163979381608621639298092156821639150793017121637190875502216361795217286216352755623906216331541661092163315073163612163276101461216323096723082216303239020056216292737615554216273263177621627298741587921626277321867621625694062162532554302672162519861826421624712151312162437852023621624186543622162133433502162130832251452162123882265762162030487166032161949111142161828465258512161530249082161416749316532161244014065216121453224982161117681259512161110702269752161091776858216101589716724216092641773821608202781300321606253098273216051907794321605155884672160419281266852160220600541421601709314023216016142886221601254291180421599286892416321599132959434215982497423572215929789124882159192241628721590854721837215901722717405215892489221186215892080431829215884999431321586293741494021585307493921215847328721215831743120042215802929133362157930716104732157756475367215748942606121574865471832157481821542157454982170021574262641676821574058269812157318961209292157297226712215716941463215691065586432156878559742156729467112762156729461225472156726615616215672359011966215662569714549215651797825239215641811716530215632220810566215624711491321562308876421561618022273215602133316372155926013262772155826118284312155318189563821552745213505215522276415598215513011511386215483894237892154584644792215452510425319215451810324686215447571155042154374892869215432855217724215420324228321541305963134921540128218752153918323296432153688303782153674331837121535230111300521534255919289215332821022135215292160326484215289445138262152775171712021527239341295021525106321727821523324672953021522759732763215221230828748215212482467321520153879332151923351752151913590162242151825775171522151825227136592151712185582215162148116613215143306259372151319536175862151312549911021512821526754215123300700321511340517433215105025138832151018821194742150857862241121506443594215061901428117215061461911450215053128830409215052677832740215031443127898215023513814021502266007851215017726248912150113831198121500264615008215001462613935214963109525001214962225443032149517509308921493291669352149221512104622149167701747021490592715547214899693606421488130733094521487201575377214864532633214843307310172148432611965721480311492213214788023106942147712528282662147558419096214752282119648214751355019975214732394522947214723021112062147221291941221472161061307121471217881340221470720410069214701409617532146816995234342146710138128412146413877262842146127738446214596816217732145830038226232145723110196432145720344524214571431616374214571013122223214556725288992145534212046621454189502575921454170248424214533336571421451226462645121451154773913214511452623831214493092519317214492188613027214491422744721448880716742214483034065042144819164117521447249942643221446912159921446312123742144439118511214431089477321442363816293214423226280542144231596108352144220359286862144031680796521440181102918821440116082661521439327162203921436295331457421436172015397214351792019382214351307122084214333153822244214331711427365214331593818494214328606322682143232493156372143123551609521431205548295214311191122634214292568913765214291098330095214271538065342142425041245782142377811489214234986927321422269462921422202041929821422107761994421420197163233214201058019421419218712990121419210122111821419163861048214191127416474214165551321221416262471133921413306971865921411298839098214111876683921410205205945214092907431055214092645831520214072027826256214052555416502214042739723178214041994914551214033495274672140130984687421401289716616214011735811190214002433726844213982327756302139534331342721394184361886221391121171682321390797732412138523941417213852362129405213851223714284213841369914650213821472917835213813015795622138013266220072138010536672621378533480642137841145572137780736622137756452198621377241561624421375235392701921375178672675121375139732891521374170528558213735365182762137330223214942137166532666221371132431648421370194281896921368581125324213682644196442136615142304912136530103252922136519293332321364207172852721363939416925213622404991392136212549281213620568217102136124566181522136112673416213602866523663213601923374922135647695128213561309128811213559767153542135525868714421355187331653221355137539212213532515225123213528638164532135231880243032135195673012721351319552802621349921116382134956001314421349472276321348777213192134825897719321347564736821347470617787213473015214361213436496147982134330591795921343248211412134322286172134277524225213423221833902134121876258162133943941199721339195972181721338284143997213382546475362133811480219002133810220178321337293712422921336112042637521332708723683213312899287912133073092350121328285602703421327248979855213262155681932132360531179821321867586572132118608235112132111743255802132023893313022132012834197002131879306081213182544835532131823487322131724041326782131658061376121316226272560521314325743258121314198242386421314167427042131358752129521313527417714213121332271762131195619011213083101823110213071470510780213062444232852130613665293342130578994229213051306435922130431227935121303307458221303233121426213031155280362130222035247362130020731165912129974811237621297913822916212973080224676212967740404921296294969876212962892713602129545911592621295176092932221294274074716212942287520091212922762634121292162141572021290315802653421290224516173212895920173242128921897193621288302161545721287186161381421287144292968521286902192332128615922434621284869682772128471018381212841451934052128319749130832128144273008721281242822499421279188182040321276168603105212752335193822127430331774021274261402288421273317202771621273309541495521273263381103821273124903008121271859818732127078573247521266101819307212652004910579212642626524220212629912184321262707910852126166733240021260627329992125972918681212593172529702212581201024188212572396475982125623728962125559649488212552591715179212530924229072124962703176021248176771379421247285316213212456459129782124169951941521240168327642123993113040021239512331570212394733969121239260703321238639769842123821248892621238144503242212381129115056212361569511017212352612829964212352380524767212329121611212311348167312123028147960921230246491610212297265274721229175742256221229119742685212272461932439212262251437442122521241148012122413550258982122214862259202122126525190842122023109323522121966220929212182943153572121614714202521215592154452121529374237812121477728336212141168215602121329309511212132809031268212114602730212114010301882121122828316492120632407209672120526577248212031064869532119817588298232119718713938211962055024371211941850238152119414939115312119230612862211911212481972118927283060721189192309832118877499723211883134813596211881823426198211881377922689211868924232211862915829162118532263196872118526571285112118329614612118245682559121180150701674321179862729686211782351126693211771472215211763199625258211752108718538211744978258812117310539506021172296911946121172277471589521171278902400421169273862777921169205808644211672057474721166203732491211659814851211642203261662116130932162121160631127647211603095822812116027987884121159302844195211572568292112115511033288212115482251772221154610735232115431890158182115428773099521152342422802115122289839421149380016792114712529299632114585131749021145339615513211452864257252114473667050211442634520980211437010317992114219563141102114113898192482114030288213272113831431175112113519689189532113464622444121133099479232113215645147032113119438236962112996412475121128374357162112826178109422112736012291621127326229362112697517834211263255723600211255801543021125288721946521124301272671621124116912557421122446467582112222179377211206674134722111927920764621118270883224211182155744102111627777466221115235143137121114291852321114158452942521114133021028021111209717714211096408276742110931215471211052825726602211051328354842110510284196822110325938999321101409327524211012017831108211011786753452110017794269312109974213457210994822026421099193411184421097113766452109622115289092109618116814921095947831845210955811280552109527605999210952724713023210951817916346210951462217553210948564289022109321662395721092895731527210921944431707210907981584210892584832332108891831678210871439224399210858720197121084731203002108332115321092108241412124921082309031694210821178486962108206571147821080625644621078181416802107815783198802107615713335521075130502311121075115292588221074697914213210713299128462107122692079021069259452501821068573530802210639817304862106172012274421058887135482105770057694210561387222302210538185263692105328098942921053214752381210521018851021051500331043210505388531221049267362972921048127803236321048106981943921047145907113210431386215452210425155261312104214116285592104117293140121041170442394921040904737842103927039116342103921390210692103921076503021038257624951210378949221822103714719252672103524017151842103518582311862103344301150721033440816505210333892151221033309942674521033220773099921032223849450210282229892582102815708113902102775312463121027279792765621026699752522102627859709021025311601340621022163562341121021670170612102070212264121020277812700421019188422821121018289721988210172548814756210171420227176210155351719121014761217755210132488929024210124490122521012291882678321011630655172101117986257252101115782241210102764216422100727731242222100626573162812100619335321472100530979163342100525576107242100432142255882100362463090121002143315548210018290198032100028764444220999217803143820998602194892099810119530209972137021213209961942615562099618747268802099612576185302099542243115920995243855829209943296138972099431678475320994162072104620991284292420988487212974209881879331812209877476893920985321256905209845071264372098438223821209831265977022098293012346209828609213920982306432100209822396821662209822263431177209821469517897209811758714042098111285519320980210745833209801754347452098015708161992097942095961209792812127849209792650415803209782827024686209781667817502097728535272482097710566694020974275651915209731052286512097278159827209722730118592209719175222220971221726923209711782726532209711254711423209693123247612096828407743220967615462472096714393253412096511714327542096174711155920961278672112620957326892921020954307511086620953400016169209512917260209492482120662094922472263620949218462440120949173702391420947952044620947736344292094770129820947185081330320946893129972094581862861420943862329671209432785752862094314160252592094241341103320940155184192094010185930420939193303047420938311051861420937656910141209366881220872093560701464320935242472865120932325241135420931251872637820930193513163220929242302538620929185492366520929139391652320928164803157420924115263852092253403111520921165196378209203116878872092010489261812091919598213522091836952378620918225603001520917682824289209162601134352091425118277902091328055326792091170683478209099350923620909785271520906909773232090542532742920905241812647209021195769592090187841308620901115932220820898251923956208952387518940208951732829729208948331542089432580308662089429350255702089326174209482089313640680020892914327988208901823912934208894717375208882521632540208872421516234208871883929099208851516430420883195426766208822790724831208821474352320879146482370120877565726582087531192178602087513775198382087228833300412087124822304332087120478238772086932260113532086682546028208662225224636208661112132644208642550016749208631841317454208622899685162086163732685208613188132942086120139824320860131461017208597826106052085915924154620857293377341208565521108772085525841226752085187228666208425780731620842234922242220842121332972920841794119907208402505628895208392522426663208392333919961208391041586562083816759547920836477888208361717429601208342933312054208342282020025208341880215011208338199315082083370904277208332963744792083324747820833201319308208327972313942083271051113620832119941241220832102501520920832097527613208316808333208311555111205208301812853722083013480230672082964743231520829298395944208261905916462082517211485020822770514796208223125431312208221644479720821740021920821174314270208192410927694208182906344820812225671235820811219935091208102369336592081019385898620809887249542080750862187120806871511662208063204522853208033071121622080227779562208022564316224207993005514992079928302275652079813293112412079724798314232079719648302882079618181901120794211252537520788291148984207868742163362078630840781920785241915042207851725629424207851315127138207831430512778207822881819629207801634519607207781217221412077639211755720774643939120771444838020770163764151207693240515551207693189223941207691602216902207691494721597207682438815085207678052492620764281911200220762195451815520762166136612076055493092420760311371286120760130581637120760104619136207591541823430207582746215820758124107945207581172944520757291452917320756672480592075610571656420755158207120207541509711648207531817714037207529225699520752379797492074930667179982074730822322392074318612183820742209329982074111319282552074022038079207401903186522073923032113452073917663190082073912272224720738242092884820737240722812220736123581936420736101571666620735991722417207359780216902073529032823420735289345440207352888426121207352394218686207351584112542073227820674220731882187942072816791674220727242942818320727122668232072521615169432072432045170972072211404698207215726555207211560824874207207646162071715446168662071693426833207161019518842207157812166920715527212338207153030320121207149832180012071349131222320713012473720712322520325207122787331868207122602829144207117519422220711319929635207017336881220700984060122070071442265720700354571622070012477715206991940825472206962138141262069613700981520695274041997020694133518743206932619422548206922924516484206910210553920689164432084820686217613036020685308002253520684804331194206835659183862068225138239206793302191552067931863213712067912007438320678126493897206771555520376206771016516946206762644540052067510109167162067225222696520669271151161320668252402304120666353248620665274343152720665268111019820665142973635206646634251622066427154899206632919447982066323556171320663176956700206621798589432066189363942066031476251020660223462901420659231921952520659160391993720659128592672820658164764317206569742276012065638012404520656325701191620654013226762065364941776206533250727742065318250297992065316139184442065222658980920651670810905206512650081422065125086713820650306581658620650186482687820649512723326206472938720184206452921516206206451243130946206448582217232064185631121720639267839746206391926260272063719487212882063558521866820635283762723420635177273039620634685124811206312532894206311741988220630227709638206282434388820628131401806206273184822852062363114792206231981894206228787952920622274742912020622185702786206220570103842062041395064206202969727406206202343710152062019009326592061950919811206192156923919206191635118397206172593928766206172460726283206171758029920206171084029145206162767258872061627463226292061624299292520616116416022206161023713426206152308230889206142364111698206132612431882061048524310206103077347322060930768287272060930056603420608129902393620608129627437206071155421861206063524292362060616131986206053097410720605259998235206051128143172060499652280820603296319902060285578662060223723230302060124153185220601125753994205991963824824205983802889820598224861774120597155251362620596323063151320596178542620420592303528228205922654115626205921093126642059175641442120591265672196320589326693766205872515178612058624620472820585558218657205851320186672058418056131962058418032547020583223182577020583160081003920582101432490620580742150092058011770289692057794212452057719017271412057714333168622057516758706205743126726245205742030415343205741204726111205712201824723205711402177020570268734681205675667814205651958710217205651223320358205651058311092056212263133072055814672309212055732704193620556378832514205561016021113205542637130485205533219104702055295551388420552538213508205512359262652054624471191272054430002205032054318258313812054271381486720542314492520420542283235385205422270105692054146755942054122902747620541126017181205395678216042053927469165682053649772976620536313241101220534107596801205336061933420532310481959205321715916438205315125109572052644631253205262550079252052623024318820522542520951205211870841402052104402476220519322981720320517225861085020516942285222051567061494120514337727342051414136312692051314576167520512241371614205121097116103205108715278772051021404270052051020953182852050928232426920509121036741205077692433720506282223069920504324631352720504295962165520503124803335205012031715633204996326291292049912669192972049910177543204972606197662049514043108392049424269199952049376822890204921093224182048981972371620489263367048204883902811920488254132737420486791613351204861605261532048530167239720483278481855620482367423509204821962414368204812503731820481146205112048024049123720479754925539204761612493772047552820883204751866532474204742779231142047411837203132046923715907720468256101781920464216548864204642101121348204642069231281204641330417541204626854557204621437228656204621087232655204602442164082045810153275320456160491050720454276863266520453119841732420452212781060820451296324634204502114727286204493133764912044825590131092044823192308892044822352030420448181552275320447216091193320447157381744220446293313064420444242354742044310451287502044252421663620442468375982044122794319212044116033944520439261551703320438144031944204372895118492204371873136212043718141292912043623327954220434295321961220433717020085204332999025693204332625658020432231421919204321617014352204316431363920431301871582320431140165252042430644148902042315085298182042275814794204221565074022042130112036020421262592622041977543006420418314513127120417220552260204162719639182041582532659420415553476820415267421127204112349079292040813802279562040627433231204062250530222040613158182802040330386393320402965115928204026389241982040112010249632040043882237920399280544384203991284618822039694764350203962218132162039526253114892039331486197772039314077312542039266651635720392633430179203915466182120391402534520389976925029203888404729620388204285254203881213923519203878527129203872556311620384279611159820384116701899220383271839042038297222530820381436626920381205162166203812022710531203811080155102038020376154142037913977269932037894853025520377316912264220377143541041620377124921144120372311291602520371387624962037131122131812036983607620368213489824203661147530642036523599291482036516066112512036424231130932036326306452020363159242040620361658827230203612977426672203572950324414203571555531922035615161119652035562371337620355248672410620354942411991203530336193442035221539124852035124021033320351141815808203496065145222034930454247672034724025298692034524231356120344206641023203441968117830203429260179692034217851982620340592613296203402820624911203402695193120339890137932033970501659620338187292268820337115147443203368189287312033291842683020331988916312033170523093820331334323992033112608113662033112172108962032822802185820325942127520325257602242720324279022219220324245591585020324233052527620323246591530220323156591496620321141101382120321077212322032023511224203192777526067203191663213828203172437924175203171226581762031457403123120314125321303203130071138612031244714177203122018010809203112592714799203111045328388203109777175772031091501826720310143991219920307278223292030628683168182030624862160502030611129241402030518144189082030436621912120303433636782030321173137502030229431176832030174022451720300145212048203001150399852029937114993202991835614367202991571911772029832629270202971458300382029659935228202925190284982029132563182722029016576946120290164692991220289157569195202883087356532028728883154492028722696108482028656571643420286189652007520282184841892028211218168282027919324769220279168831879120278281426448202772385924282202771615584772027632739405220275212304062027521053117932027520311128272027474283081020274281801762820273238405729202701605261052026727989284522026649667710202662359019690202654906128232026526723221692026476123098520260203781635620259908144502025819607543020258114872810202562681628440202553446152462025532038286182025524466476820255205253229220255188052001202531630687772025116902302852025103447202501265915134202491779315692024817175607120247270013270820245204111268020241539021467202412430229615202341565193742023243641802920231325213074202311620220107202311541019663202309962130220230314151529020227536587920227306139885202264796170852022629595153962022513087301992022491126705202234187137202232328422620223121082557220222657810667202221798166420222124436407202216876321222022134108581202211225295442021957922016720219240601747220217914189542021758324529202132677730215202132015749220213158768272202121499621164202113831319892021121739266182021118662418520210272101643020207303524271202071562728302202063138213525202061168749902020418237175342020382663209220203783021599202034632151520203290812454620201591412372202001456273922020011754433920199204200142019771621934320197289791003520197208662086620195253532141720194164708738201931057615152201930821102720192160552250920191189102083120190892320485201902836237752019018389116782018944632685720189278572561720189148831692620188559315202018539525378201852037710958201851082464032018384761608520182538728978201823047627496201811234927551201772077727862201762335219002017522062255002017211305289292017125708207602017112684266812017028352313112016965914609201683242320323201672877714096201671948186742016632476290432016569328201632448380752016227104169682016219502475320161189191266420160306472418920159872911884201592692262812015828016426620158124412004201573170877382015645722268020155144742238920153253266320152794011325201521062676842015203943264820150315771344820150309441538820148206928973201469891616820146126472675220143841329732201427785324142014010109220902013254301946201313658191072013129375210872013127840156082013082824510201307202680220130454782542013026967252742013022296171762013011604277712012912969172742012816495196112012718115282902012519413140920124833073420124107127666201238452218862012320963767920121966683420119502912126201192126917367201168681580920116726143562011513797161592011466531934201124978165720111155241360520108203852566720108165312574020107273322409520107196991537920105274784115201043122428446201042356919812010329106620120103068924616201025918151172010214717271582010210177435820101252197702201001658024743200973576160902009625614213172009610533595020095293571017720095247141857720093958156842009322033193362009229981702009210583648420092029888422009183951209200917148207982009164711355200913958470120091268946675200912313627633200892513015056200892361113874200892288521768200892064020434200891821732463200881436825217200871111528871200861789912191200861780526191200843522292582008313776140992008239398614200822520017107200821053532562008201084902008145214793200812754912550200812557025917200802410427386200802114529471200799602286442007713152850220076216825020074251994610200737298734220072244852546200720726104222007140911431120071310736342200693072528452200682183314320200679789936220067307861587920067162924924200661583384172006528956139452006517824299982006419449367200614767911720061119803593200605312265842006031940664420058209106057200581617731161200572022845412005709153632005524832315862005512202212752005422667193420054119374598200529645311872005220896215862005179649414200502641911487200501631273552004920848106712004822193131820046268832751220044367893842004352492674620042906587832004185319971200393450324612003874452170320038241802625420037313718984200373007196782003671045842200361675219144200351901794102003312722211672003234111144720031363941022002924588138202002916271297002002912309274782002797276272002726965876200271146527531200262059427726200253612136020025267523690200237705205120022416630887200212794151652002123204214972002113426226720020901718750200202603027342001917544173402001793531626220017258883054220017244452306120017115623043520015325641354320013136282553320012325052985020012170492162420011579123539200112997226859200111628423563200111442291442001037691290820009779205142000963082328020009306782454920005764523569200052545974752000465602878720004191063716200031378271032000226743242320001496828941999627543125811999613495146541999332669165981999230576268031999215384291841999181992349199916216892019990123242026619989386142081998810946898419987241256271998717614464619986712145719986159191543719986110365519984267868016199841673215422199833246914416199831705016096199831364111221998226613307361998054271243199801110749401997914553231219978195742601997732047218361997510127424199732186734919971178791907519970495185199661782799961996521609214881996462114056199601814115069199601347924515199592365726263199582740914600199582187317036199572566429981199562845640151995612510158591995274643191319951759919591995128517207041994823513268731994724527231981994433470361994323115314121994319907297491994294322942919942187901774119941836823579199412995830248199412551814945199403653188211993723662298661993613441239991993569942619419933778132427199331473629746199331427711527199326095179721993249828375199291897216386199263005930958199261019556199252009025473199241861024762199233172026134199226763320951992020782943019917637178951991621839893019916177203116319914314751259219913174532100119913159680971991261351041991250952852619912149931507819912033212771991160232471991026068940319907757866411990614442685119906141644368199052486724042199043356137771990120727296991990030072374819900300602286819898289912177198972577630439198962107125158198953216828600198942946756811989344771855319893140482601519893109427119892856616542198919042807198917117424119891260391128619889881161119889821778591988825333206971988816037152741988778702799219885316501162819884233341141819882657305961988262992636219882146772811519878134371814719876203032470919876129502482819874156661654198732916320181987315528488019870277602580019870170872928019869180466722198687063491219863259392437419863179383483198622280356641986174043102219861283634886198598160803119859131202444219858351883861985512862768819854688527579198525225174191985229571130031985091258588198502562776181984952871552019849212549419844675413692198432605915049198431121071791983932657128401983200822556198312843829780198302973221721982955985034198271091914686198261964924317198261868228921982530951107111982417451216219823255502843319821403517441198212305123961982117385699319818294942668198182295130274198181392594871981713901264831981648602414519815431453619813631218619813291801775198123351394019811680294311981137472801019811300862250419809458411585198082822232019198081978099301980740801536019807172741130019806323252414219806198602301119805323351557419803160511426019802397624650198001270844111979966151660219799218511285619799216442581019797219871007519796740854941979612502205141979577472786919794103742549119793851817221197932712011452197902544978091979023909358019788184883039319787306092939197831515725401978178032328919781316631897419781281632297319781252541242319780540524977197803269812278197802866419058197782949521950197772821511510197772405711112197741996577197732458530796197732346213841977227647811919772256951123197708287059197702655885219769116829434197688855201721976814782487119766319572320319766315537190197649105190231976316693230341976313737507619763134323130419761730622176197617120240631976110022187219758314512998619757137621046819755229331325119753122329392197513078411638197511625715191197491994712594197475136914719746114451881019744298741103919742180243234719741485352961974012449207821973929642622197383211248071973827532306661973714181219737134511399197343149027265197321544229319732113972875219731616226235197312514316772197312345127703197301298114111972924326253219727313932606519727164001206219727147271587819727141181947519725195733014197237287158051972320412254261972166203117019720671978751972018783304401971918877349197191408716591197163093019930197142933432148197141795311099197132493629455197132230315481971315946285971971282995640197123194178411971010392289197088495229771970632495179991970591362703019705588812757197055615173731970526997620519705174612869319701134625012197011338924622196998250235501969832588323161969830431202081969727737168101969727042292051969626622255711969523785799519695234591252319694212608434196931706727531196927333132161969079882180119690320702760196903080211982196901254724902196901240124698196881947523919687616927976196832735668719682174872379219680616714893196786841326196765666239331967411319197631967317890258519673159373033419673127137591967222636636119672169422718219666323302203219666321005611966627182692319666264682296196634532324371966266522915519661649910805196612761119696196611136319071196602995070301966026994118181965997092261965620667250031964814376224271964630680309819645333518270196441290525732196431124419004196411122625681964047472835119640197342692619639279952493119638300682031019637233078442196362822610519636224332813019634311682846719634196883129819633310642082919633277081230719632245329125196311912247196303744115461963023319558519630166723162319629186520272196278043017919625241762344519623948924531962323378208919621260642327419621238055645196203169916196196203017130238196198158172331961919139249721961737352744319614024146291961257810224196122366825189196117150168971960922346247461960831172640319608282059331960825016310251960823293127331960819870306161960774201359819607247472027719607246621100819606549275241960573683274919605240772489419602730976561960214401223781960138892575319601366225052195988106139511959823852379119598196372123019598126758484195973262860195952544546031959324029242281959323338293041959230969313619591634160861958925818940195882980598319587110420060195859778294621958517546913195837094114261958315249112281958277593097319582235348681958182162391919578244787368195782362620082195782107318137195781571229229195771148322328195761814012444195752457486551957520816154981957441601539619572501494619572321122179519572206922755919571106336009195701838811331956916519735919568166693701956719588228561956712001777195652989031782195646683699819564240813078819563198072722719563120124628195629373813319561108211251956029511469419560260922970195592142189261955918936213891955825734129581955718971211331955619159239251955531411258919552831249861955131885685195513100781881955114366204291955018252173981954922563870519547240564319547239014455195463193176881954310184587619542199630881954191182176119540324113254819539209712524319539123892444719537111352838919533740924814195331611818814195328033300531953265327094195321497018396195311099810627195291594832099195283292938219528221764511952710510714719525118432170195249044252931952411771217801952356701642619523288471198619523109382540319522448213319522383932559195222789838151952220597140451952216154288081952130431174141951822559698919517322329950195173104920395195152760118414195132962320359195123024387801951217502956219511586015939195093258026281950931155202141950928453153631950913732234431950713126236731950663501964719506285803083195061313517081195058562304531950531934175341950511150195591950424390207901950332548172261950153603175319500292841219195001989025747194993468231201949862341425194975711531019497306432579194962260014430194962247631975194955355309941949530045426319495168321323194942887927637194936507286321949332160223119493270842288519493262872975919493228843808194925827251361949226473373519492153321424219491633219421194877149111111948713315187341948616714198221948414464223001948325830203991948318063536194829299255001948270422523194821340313321947935542465819478278973217419476242911581119476176425661947515259149271947226831136019472183612958219470273301327819469128253788194683248713750194602042982301945928243217194592385957741945918408315931945622837309819456107201716419455802719835194552957417847194525528224711945116264232831945012053504194492831628163194471984918977194462979329320194461442813022194452915927166194449579102411944378041248919443166412243919441914342871944089850971944025642257319436150043112419433286021232194292509238719427788985719426696629228194262320914426194261844430349194257524180831942432527132219421247081570819421206299152194193002017838194192754630791941923489168331941830996142781941618811325901941614934310051941496882566219414270543222619413278072064619413206532910419412286091252319412235519252194121942910848194118008749194111851624582194111481635661941114716288371940910179132791940612456283311940512481189919404159762584919403913127458194032747810560194032075299891940275882915719402312643082419402277552532319402256172021619401260531461719397268552986193942026471419394178481239119394163515603193932038526716193931303060651939120107844519389185544598193886508116381938847952559119387284773847193847148157619383905479019382164101040219381721828698193802132027896193797006319461937912916323911937819839211161937810623175801937728247521019377278522144219377109337111937689251531193766259929193764748249251937613329196521937521309107971937395407879193732796112770193732027718666193731171160761937014614284841936953851530819369256524776193683116911512193631920415542193631360731136193622293569021936189832544219361197848031193605409272151935714184280221935681655119356232032124419355053298741935391614931935321782260281935156956213193513163581671934925083288371934919689246801934644931280619343778930980193431724560181934229865273719342212484759193420020234251934018170276781933961783085519339231528401933916533256419337563119903193371562629749193366191480619334312891346819333295724533193331563726305193330437133531933290241841819330156961768519330131401303719329220733173419329158741493019328128273232919326305215219325731128235193251580631760193242503274561932326113666919322934023046193221005522819321884426114193212983230551932127031422019320657318321932029452234781931871191631319318384306071931617366438019315198751025119315112871875019314314784831931243730276193123523186221931222227232719311546316022193113498235231931115264182561931028758589419310235985282193101565332731930830368317731930813497311930721451219121930665362238119303315611986119301901510223192992611696019296797140619296732014151929613058395219295412822702192942209420561929421778606019293216562221519292159532746819291546921801929112313260611929098803056719290236772006719289322198840192893029510298192882695586351928821666187711928814771092619287788880421928719636265661928710225214881928625343792419285289523152919285203622123419284842929320192832435825177192829667155971928222616246071928195610104192814983239721927927515576319279236942913019279172592685019279161282070719278320818200192782988622761927828761115611927610053136441927519320454419275107116215192730659631319272187821976919271303671024192712202617224192701926722164192681640318881192672434526818192667639313071926410441252819263661244319263158826137192616015684219260231421520419257347962731925425660276541925321956165181925318443119019253102341844519252404773741925222322582819251659776031925132600714719250526958461924714647430719246105391881192453162428415192413134228657192411473085381923918581832519237533318810192372311703719237222471953192371265524212192352844245011923450642064619232839185761923263152097219228712625625192282634715737192272923022513192272011614477192269028230961922622410298731922431136146421922425852315731922326795274319222687630954192194232734819219363665831921630172159301921621933296041921528315116121921321479313521921283182396419212379313681921224993307192071021916395192062984520544192056284265781920513045824119204642131691920417292195719203232794719201296062337419199194521780019198168962982919197838213235191955233270891919463423018419193212022144119190303754181191898228119719188257294395191881906694591918732313302111918717222715919186719690661918623906786719186181892308191829866860191828817189171918235811048919180802842919179217981085319177991224931917793023192019177174082629119176295481585819176286272418619176253552187191761441417079191751572420468191739034156891917347013135619173180215799191722480932635191722156225018191717780125251917129175201119171234024269191689591550319168918321603191682488112081191682138985619167263872776019166223161658719165133622154219162129431849519161746124434191608850309741916017749197201915632677183419156303101409319155183921873191536773104519153327571491519152510723547191516175160091915016855988919149129891443719147115982569819146136532819319144101869190191439651054219142168851893191412562631772191404875208171914014221197191399439248419139248571082519139190753583191382513210888191381655224792191368901177081913629393254381913628578724519135693283921913546696128191352841412766191352612310094191351908728955191351796315191913358106265191334339444519132674925566191311313729070191282815655119127184011830819124309023093191242355012361912278182203719120273278494191201736317850191192979526478191192084795541911919811334719118158154708191179047202021911721957313031911690482685819115290871004191139812153421911247642031319111255737948191101852238581910930109588419109117657631910826553767719107227048476191054208150091910282092026519101283421727219101101298461910058727491909722031106181909619913231171909324287145771909244192607419091263462840519091255160171909016236275361908729786118981908318552128541908231549151561908222111324171908220933201908116914244601907819464212819078163031789419078023822190778811745819077321421436319077180301277719074147981399519073305773166819072231521058419072165720266190704514237091906964312730190683026725433190673198220151906728674091906291341123419062228981226519061656813706190612825214420190602654821781190601963723097190601457321209190589517863619057242192434819056220692371519056197765501905553142619054264622415119054254031705119052463449961905180368957190511438217918190502891172190502685915160190502240632422190502016997951904920160109041904822564165981904721183638190465994157441904426506189211904358182164719043263672214719043206011115719041910929655190415928136991904128750167471904112002197119037380226701903725412323481903581142666319035266504511190341060285031903088532000519030723730706190292947116845190271505532361902315003226190224773129641902224751210241902212042259919022103491112519019307345008190192653510653190192506531580190192153216761901810733266531901726283881901724196399190152754122788190143167732137190143017023431901426168263481901250462093219012254592501119012181821781900731071294461900624485262361900624472160101900623167320021900566742031019005440285471900322521282541900227924117041899884522435918998560285081899821323081189961384126258189952227414126189952157221701189941035211667189921895215956189851354732007189847285956818984694620547189819124100351898013020450518976849021051189761214726191897530779200041897510537402518974293391522618974238431359418974135141289218973189652847218972318952243718972244047128189712927326127189682719011673189672209926054189671715315916189662411316524189661932128087189661883924888189633214610321189631439513397189622012120409189616926234361896121892219731896025765167621895630153270781895211384604518950282855161895027088325791895020582273031895013348308218949212201954189491388690731894527643170418943278714201894324241232131894313978308491894310632137591894232484419618941294091116418939706432611189391402324587189384226170111893622682196701893427796195301893217958190718931323623257518931190862202418927566029781189272520126637189272137813143189256422093718925268728155189252273579189251271236641892431006300521892329529929818923210001466118921178892839918920246913071718920203821132118918274871608518917244979576189171872578811891627902154841891627719281201891614065239831891519266271831891514283171611891269512074718911808816231189115971141701890515808132281890440171274518903144472899018902584425146189022741147771890062922370418900144124289188991139920671889825132287211889649581362118893166142259518893121491156318892215811164318891921523047188912279246821889090202351889031419183011889026790122041888919015287341888825183102441888736636571188864512283518886147532326018885154323023188848073179591888413949513118883905175871888292993318880112101188791093019430188779749204391887726611262401887610198250661887521774209591887426188224661887420080217281887328527264761887217354177811887160562133218867324861759218867120792454188667823159151886455232298418864182298342188634567113831886232633168511886221578159971886212710959118860122591147918859565188231885914825161901885912775163991885593402523018855210799532188551472930636188532115021160188530134160018852917330610188523630195941885203323673188518501235451885031622484188482680221528188482550424272188482495424732188477779256391884750473040218847286031150218847106231783018846644216360188447917588188412322315791884119371194011884018470186381883964669613188393340225621883767382562718833228532472118830358930490188302973022715188302803727577188281622624047188271738174631882660929382188265023280518826316639182188261010227644188254454190121882512195219771882432312547918823243236091882323633302918820253512315718819252571499718817161692997418817119471787118815524021391881526415200171881412393223571881331486131961881329170294961881277122538918811777429908188112052212902188103440376218804534424041880415786121981880411580291141880329322861118803141221376188012816829955188009392953188001863989901880010898140701879913821187551879729331554187972710425301879315889124631879220373103101879219211157571879219164637318790556327633187904039277011879032275833118790171312009618789444492418788171892954418788140448794187874643575518787245022544618787159316061187871083510621878612721835018785298463068618784238991426518783277292511918782699225091878230374699518782144199340187820652772818781248701254118781157503245218777149812818218776515628829187762014022726187761770023802187761446270311877525536274681877321532877218769898579471876920048183001876830549188871876620001301311876514886100871876416894198741876348516871187633851193118763183312451218762583215927187621356154401876125771039918761116803527187596616122471875810132170841875617434137118755501639318754567217973187532055749581875229648301187521467081471875027748109461875026217619418750183391252418749162687709187482702319426187461184833187461044917845187452472410404187424514971874219988273211874123448132751874114221419318738325858091873724954254471873414414153981873316862477418733105919394187328841360818732255524841872990014446187291364112963187282581497351872737462729218725562323351872532293157751872530702143518724306459250187242550131588187231923026349187231863298071872227465210187220789161411872195572595118721309912291718720951512031871930830349187191755530611187190027469187178277395918717112292119018716365715993187155882711871345532919918712343272411871120263116941871016056225421870988756455187092903231201870925178112621870923644285291870730732821187072483820561870520505360918703218891072018703160162822718702560218841187022740027256187014162109291870120146141021870117344595186992060521151869711008346318695842999218694312332575418693191159831869247912741186922383243501869192117261868924994261881868711630248801868614407873218685149520237186851449887618684171299031186823196131257186822602927179186822435702018682148925689186812413815656186802172399018678217258851867816610116571867725261245518677166422281318676961930411867630077135891867624720173621867413230166241867379991755418673240316934186711428433991867114131305571866964616451186691140278171866619349236618664115882970718663326012443018663124382094618661578225347186582753410849186581768125203186561276233351865531108706618655110661610218654769781318653233862368518653116328386186523157721255186521443226663186512749324580186511761150391865019625223411864612304120421864597731570718645226691882186449393180291864421232761864381872680186432815729345186421719220420186418132645018640230321155186385264176801863723556313431863427749818186331661710678186327182667518632443027797186312303314041863102202339318630284441756018627215685541862711205173701862630977958418625151614651186249641190718624281382068318624128492829318623746655461862240531310186192637112832186192238850001861853012306186185030205191861719735616618616252395158186155209322186135405241218613470818759186132612718612241822742186104402167581861011247257561860877522427186081779517529186071846910132186064262264981860623587268101860520105236941860230644200618602196102087718602174831327018600960824865185993110793991859913764646918598945290931859856208961859825831906718597307681628518596281347774185912271529911859028317275471859018127322511858890347664185882841170518588261262167185882445028002185867780116061858536671649918585139753546185835556284661858320577242231858319162473185830801234971858289268227185822045329311858189352255418581538318419185813163515642185813087938218581272892715318580275719875185801608980281857990151091318578139681841118576114022489318575208282015418572326941887618572016212021185702336114154185697628264951856917256161191856817457150221856763443200518566268761548418566248329234185653507988185641272526596185631590626461185623202229062185611189913465185584766320701855717304141781855672550618556147292725318555621839518554901034871855415775266891855313523325331855312222223318552312311473118551176930694185511376732048185511013131368185481151620411185473218512662185472744025564185441888022918185437866190618543323709830185432218727985185424678493418542152721855318540234851171218540113131296418538224927622185342358114461853388934591185322013430256185318316112991853180291571118531110095821853032625216331852788133791852715043150181852611084255201852518202320918525118691507618522179111248185212078822016185211556115041185204144939318520340727832185203209523252185192063731693185173187710476185171166010854185166104143351851615077289641851531336129751851496331330618512283633304185112352318067185110399682185081752116117185043228029138185032234381101850310350463218502152881997218502018529411185012259183521850119393142111850098552653718498783525764184985902967818498115544921184978981140441849735925921849523270737184941664219661184941012768621849229282239661849178993329184913039201511849122018113341849121642143821849031445212951848523773137261848510131217901848497643236118484308209971848416214187541848270225831848118218284011847722476199718476279987989184753169322209184746772284318474286733171847290472767184728255346184717776134141847111421888718470664715254184703225927664184691048213618468175341285718467628529114184662227027763184652765663301846527587392018464211824341184632597813958184632435345918462138316249184613840635918459214010353184582753961751845613042167911845612688128651845422152527018454177496567184541626118518184521973431374184472387527921184452054910371184451768423179184442973020677184442736112165184442667281481844118008190971844114034107421843931751271611843916497158611843913045861518437385539561843687583015918436151418214184342739622159184331183416171843226779248891843131533134401843044633953184302483652321842988702675318425138751218018424265811619218423323062518018423147052509318422762914793184227176185311842107471808318420503020602184202327928621842010252410418419188315761841837418632184163699293121841634226662184161197147321841554721887818414927793618413793819781840924076168441840903722600184084925134184081475728418184072502227141840719430270801840631234560718406301461419018404258584357184031149717676184022936236901840128208843118399115091832518398286626325183955736317761839418361211771839418241314021839300519278183925902133131839234861070183912361523061839122357257061839027100187331838916760211151838730688231991838730091223211838614819811418386105287716183842323510338183841352015397183836230150821838340452531318383301222192418382212272176618381232011895183811106776518379123292146818378258683048818377130551613618375864814552183742790645618373159802001718371256643108718371188233086118370112971230118369237412339183682040141836728272974183664652253971836618974228011836532662677718365256171271218364158431483918363799435091836130229230031836026365155531835938893107118359119266355183581421621025183579968514818357923818385183572933300781835588863172118355353812226183535417327621835221541281851835158902902518351556519958183512053227103183492393868991834913985571118348852918664183472967029338183471693778218347145218847183461200427568183456656186811834463727939183441580312901834228238184131833923749221818339131007355183374824197551833722501296331833528864273861833214052118011833097603005618330719517886183293448141841832827912261761832632433588183233135316323183232342525211832313647194418321902911551832151162991218320133327171831928603557183181113623803183166661418818314131201018312132569231831130944981183066674322381830630910188071830571223345183033266516074183033172160531829932234114321829927588171301829925354525218299195061439518299122012192218297247161904918296315103822182945475264751829319179583918293117132707318292181701887218291242303085518291164903167182911365013680182896013679918289165782574718288506431397182881091714935182871993314085182863887841018286275081789218286180882803818286120231213182861128120901182854636208271828523620107611828514990272801828223701577518281239383265118279751251611827967720363182783047420854182778662308881827712333187291827628978258681827624161316811827431420731018273286241645918273254481230182722054919129182721113577418271445012270182702694117291182701681814241182689333310381826724118248118263262227750182621967389618262169383035618262149735089182609270189741825717820510718256498965011825627418229981825531359608218254566150331825424686222771825375511304818252871129347182522678221290182497137465818249313601376918249192533318248142902290018247396995361824729303111318247206335022182465773250718246169442488218245345628534182424582132661823963118191823937778221182392204914299182389121108991823869966091823822938301451823815681123111823719018118571823567371733018235612524293182345530200481823419720254981823227590418618231960029690182317497137191823119181993018231110432912618230229210377182301042831801822927921294818222162782703318222115951477818218479630310182136529104151821313454520918211456610457182111984266818210804816135182073122522889182052523337391820226204399118200257243217018199210001791318199191082248218198279532116118197233331710418194119951788218193168903261018193120595450181921735307831819212613183011818929628148118189235902589918189225813088718188202935471818667641845318186533445211818621556255081818513181304111818229897224781818214067113721818158271897718181213754791818114226161718180244049435181793361102101817629515110918175196024485181742678030453181721558216007181721157721219181716418558218171584524091817123452107861816999831536918169318237719181681727328268181673117712017181662962626964181641033145318162320782851318162258710425181621736572541816124459306081816115727218318158138631133181572191616588181571780835541815430537117861815418742211718154136516304181537137162521815226151132491815210568377418151507030817181501954423668181492923213418149213041105418149212682389418146821427876181459552296961814424041121431814319655556118143024360971814262158576181411051543581813910981199371813836582397181361686123531813530361295561813410340114331813218153240501812832070647218128245291823181281319416857181222794319518121168922676618120212025751811973499711811752492159018117482218851811515127155491811423131306181132083458818113187051388318112285225571181062021030593181051045621652181042931996741809927440315691809725735101141809429905252761809383311939718092035315669180912957822204180905344754618090126442599118089175513017518086300792341318083247351137180824188192041808221010106918081820389671808116065760818081107041065518077672407318076619093391807628331552618074241002577180741902222511807317036494018071712999718071485217849180681442020551180668264149671806679499041806612313311381806512220290471806444242387518064101932286718063197211362718063114252041618062279062049218061321911804718061183052460180611066569921805927392106751805816652589518056312522859218055125621690618052239917112180515236127481805027397136061804926608793180472613213978180472193014944180462024917893180461642514421180454885243421804524404155881804510057204791804453552594718044195341127180437004289180406891985218039255631512518038782642901803421646146871803111098198611802814971152361802812802591518027404728942180273072232501180261987329301180253123731352180252977310216180223210511383180217131506418021300973085718020625520011180202275921158180201568146631801912218581801862729095180184867925218017302501911801619910719180152032225618013144451861318012428612312180115477121211801124763770018009989323480180071990924821180034411863918001141491222318001100091473217999258111294179932155429317992430220477179922689121690179913222026140179908621161991799020988205811798921998161801798855411637117987957313544179877200229591798724565128461798648661221617984515265291798370327130179828474956717982556228456179822569232018179821245414696179813472277517978880614984179771595712456179752819014722179729562840317972297781480717972240022906217971208172298717970189468443179683199921583179632477632756179623077813132179601542529671795984571209917958552269901795450622944617954303361413179522379912266179510192139941795028088272241795016138304271794721281146041794631825578117945741181191794523231194821794152452413917941155282957217940222902791117936204041967817936187711138117936170061917617933723498901793120324248921792721602623417926282371480017926118218947179253150876317924156352355017923459629555179233145314409179222338628555179221457218286179202099126877179197362512179183038976141791755357098179171471318794179156133871791524362326821791518691571617915175291116317914622304411791414545261511791383092614017913326120503179133064230991791328509295101791328019248571791130849254751790830780256271790618987149821790532177215017903139861522317902199114985178991280518795178991131230018178982940011871178978553219117896899780671789558342778617894951917161788870651027617888344916596178882261198441788716496123321788713842148881788627979228111788612343212921788327269571178831961270071788229472505517882132301088517879158052935178789358710617878127962826317876216355161787617812590417874219331233178741478347971787324362298041787317418299861787164339967178711430326907178692686320693178684091333178673246531135178672350766881786718237950178662327251201786621147102381786572252614417863289227697178621972510929178617404246471786135571147217861185328183178601960631762178585541174001785810199319501785778745983178562728635661785553212466717854208062525617851100434581785023851108651784981327151178489540176181784432377165561784427729586178441434725498178421432232332178411799280341783755446302178369331185211783643306431783628922158317835717431136178353356183691783462183444178333190410945178325474203051783231603138717832260816436178321945614697178314480161851783140782575117831171728714178301552614711782932691197401782817300137831782621573158131782611787376117825218982993917823081322256178221718025040178221647331889178220369325061782111659961217820207414241781922076262391781875502781617817278921047917816311995524178162902647178128466077178121022113107178115135262391781131621619617811257132424178092707966281780831205306141780824577167701780632419111421780623381287517806133544620178061196814045178042259616468178036378148611780111932320091780014643161541779877312807917797293321813417795411816917177952490212916177952032161821779350012794411226231329148177933046572617793287676837177927063232317792187621917792057319997177915946266251779150631065177901348013643177893039930280177881696712002177872770610791177857308304611778532371124317785142511463177841563432711177833179532961778329356190741778322671144361778315377174871778311751243301778278402319317782695722774177823788109751778224455315177818031143817781315830572177811061325951177793084428339177786652243151777829537174911777724183320141777630748360177762996525140177762911231785177751217810850177732049225621177731880384631777310482748917772401716836177723218205261777177312034717770255110260177696994692177671978329408177662393175821776429084220281776418665526117762568224378177611939692871776029360185841775923823149501775915366274021775912227301251775720278001775630635173311775526202334117754198802106177531287027304177529265162151775231102936177522789116992177513044329545177512327431729177472296627611177461885324458177451583229539177451565916930177437781961417741121322973817737153502795817737111473090017736505949801773419218245821773317872580417733153904292177300256201772930040250401772815973287451772728317193321772714991294611772625306219141772571424017177234113143001772318255123421772285494739177227778240191772267021203717722305058883177222928419443177212800410979177212610586217719206983621771892211190217718216021846517717171351336317716322627322177162996180241771619457444517715614410685177152425663331771430107185471771412245105561771328504291177131398340217712302062195017711695116458177102252412341177082666019714177082599414449177081739314699177061876169051770427253267177041586137017703333094417703244310456177032096827593177031743718459177024172690517702199021765017701841373901770128105876917698133781656717697324801690517696238254927176942310214091769320171004817691320042014317691280527211769054819469176902567309601768928797271121768927674772217689104667494176872395810621768713913187617685280081781817684248125611176832591699561768314332292861768299077324176811147414732176811022182321768065192361767921780163917677842221827176722025326021767150772653917669228135051766511046295581766425886299061766414646128721766413162227417663193455287176625167597017662297574510176622211216360176613878409917661114753172417660112611104317657855318048176576381249517657152916099176561954719922176561403528108176561160539391765449321509176542895122157176532173168301765228821268361765211465563517651292662269117651252398178176501472926766176482783879541764726952384817645126991298717642314052195717640205198849176391739618432176382646024989176362833232074176359885173391763428319163651763229636312281763156548907176296076197821762822088121841762725166734176272089419058176225848146301762190371247176197579122151761821738709517618179732520917617140059535176162312312229176161437831069176142686697211761331286997817613301117176176132104022497176129211160601761114609148751760911210269561760832682106117607229902445517605298701454417605249006702176045397303601760431793899317604240822918217603238922032117602257403002176003247168621759850025501759811104274511759713086110175968257432917595758410336175934507232331759213610276991759163732549717591202301595417590155118445175892818732726175891886133951758812863234017587886817637175872639961217587126287721758488762362817584185323172817583758811735175832344516594175825215131051758250281168117581705213217175801205213190175791343696931757817964420017576214262878175761207532951757523520199581757523485247521757521469221431757315056154511757289103150517571387639131757011238299691756914377131311756839189063175681172536901756775771140017567258802256517567110872355617565286404096175642984659161756426489741617564248342020817564141121579175635411066317563293973851175624356232901756027762181601756012177126371755825002250771755713843246311755618568233831755545861967917554293182830417553199022316175531753545917552404333851755228371267891755222691720817551800416215175511872799175492545525979175491506925047175471824296041754648321685917545144052900017543109158340175421058710750175412044230511754118291124401754111416698617537199891949917536315810740175362829712773175359305529417535171752223417534183311803617533852123417532169612627517531591723509175312461221807175311526030270175307323316911753043961216417530166202709217530117063388175276220224491752729347225991752611775128981752499810717175248235295961752146592029617521308830094175199896458817518154968374175171922314331751610797243017515263722910517514279741331751418942554117513687994521751281532370317511986025934175092849426995175092237724804175085170251631750831897307871750719972156031750713955209091750630902299091750425860255851750419953111661750419283132201750414296912617504102727338175002967132002174981613153591749716622266891749527741552617495192223253517494209702241917493891358117492176901529174902617074121748918301715017487240326988174866792932517484424728181174842380185641748326873161561748320928382717481221702557617481174221968417480551826201174794105106117479280471135817478657327091174773247515045174771610378281747712316142631747617660249861747525302086417474319721136017473257915509174731164719466174714826207561747111868927717469245502224017469212593207817464305206606174631378831456174621192863681746210553327317461253545712174612008627527174586933220361745621249191591745619845689174551453620768174542470413217452693158731744955731330317449307602274317449101841846917448858612851744820236230611744717527234111744516314213101744514125609117444209072613117443516530949174433923178321744160361603417441527423808174412395311331744020132364174401689631061174401022426627174392245234441743722645952517437141833127117433638518231743138042032174311806665251743046484542174302455248011742823427246941742775254291742729393259551742475181481742413948367717423377023145174231270043941742104912901174173151130219174172662669231741631860193041741613963121541741513964207861741513358184541741228069757174121940888001741206571717017410944019992174092787114339174073096723588174071223321311174063146214852174047631201611740285535702174022685926286174021533916508174014569536517401256514958174006212183173989993309531739515762164171739426402224101739215854169771739209873004717391809319700173902908811412173891388114511738735092135217386178462759217384612622059173843268423846173843234822827173832386122732173815287523517381384127819173803274832630173797062110141737916104200081737818156284311737729733625617377141561827817376139421171217374304912071217374159588838173731548163651737217794226921737210688579017371165507459173702823332345173702067222672173682611528754173681290722588173681066100191736715297200321736695221819717366231731963117366153885217365326062834317363137771988217362102694360173616657533717361548117385173595255190981735921769441735819678471735474751980517349118966534173481715098241734735429001173467018159291734610748632173422768122599173412204514461734040571297617340322951635317340310188030173392449232474173383537205001733715065276381733616162185311733512899307541733463362115517332862021727173303113433173302657520903173291036887511732809427112173271923715743173271355115272173238151859717323789663591732330759186481732121770183751732120628352173192429243741731819329179211731783912748173161835620231731411523178111731346232328417313280679408173131565236861731302952406173122288255541731164363199417309991817023173062332419974173061472032222173061078531798173052932011621173051395223413173048941216141730481953253017304327541846173042115718997173032367983961730322433142117302205632758173011056713538173002614516218173002605818947173001812529140173001437512713172993153982361729930788264711729929698623917298965024091729832674903617297309659601172972554123104172962602668461729289266693172902203012566172897694235901728878147401728847028011728815009749417287130041299417281917931581728177532207117281291482917317279313311741217279178341097917278970417513172761849217939172761459820103172754319254181727352132590017273107125512172712262928459172682165320467172671382416137172663786143111726546611603172652072050401726286012241417262389732479172621899127280172613136123991725831865316231725820597222261725798173921725315428192161725170644246172505066144581725013822178421725011931360017249940561731724920068299141724910092370172484683012517248117032427217247300282239317246644032699172462675331045172461674427065172452217020218172441069657091724218524245991724016148238521724010374943217237806836361723630328102261723523892501172333036516626172323482142617231278455081723123683233221722615529125541722613552785317225149348309172251204547591722412966506217223789583761722331913204201722328572891617223166801216817222614329621722222801109931722210934876417221214223051172206970124701722032921117817218511324829172185057326451721720841843517217126541338717216171588213172142499845601721421635928517211143481423617209789323609172091869513351720918611874317208344267131720728533240841720716084131351720617484325881720479826009172035596298741720319072246271720252381110617202277144219171999827258081719918214190171953265712741719526530323731719479821211817194254212379417193233922763717192766419431171921728130851171910534169981719026090411817186288682388717186244257857171851920221171822347318199171821480222108171815827134081718140361965417179247084336171781215311862171746371974517174042260017173155482539417172205312130217171607819946171713136528837171712138431334171706751225701717030362804917169309591933917167197267711171671296330001171661451818344171651607774131716430614139451716425554288751716414955294221716367861939417163361468681716321066207117163136622484817162300878017171621607521973171592433117720171592184219434171552777599841715423411149717154051285251715224363085117149229075328171482987274817147264912515817144114658751714329253319981714315121088171426832225917141461127885171402913624742171402821917120171401296930684171382972017958171382845031131171381133910975171371326516172171371142948801713620293292121713614107287041713515961209017133654285261713318118264517130234071174817129169313160317128932364771712813813318901712746852423617124199704347171222510123205171206115231091711753541363717115652117617114885778171142233573817114130722613817113651515290171132771218148171121292997171117162832317109323723078171082677512603171073010623420171062521292781710522961312517105227092139617104250733115717104171465357171028346139451710222611231171710214833187517101112591915317099282641090117098405255691709771782167317096299552923117096253774781709615116712170951332748151709421924050170941810244391709328130388817091958710361709127880409217091124855454170911178430071708927168227981708894422614117088512824086170871336130314170862686623499170834170215621708163721241707957272519117077201992397117075385957117075321191771707518881757717074255301094017074236391353317074123275501170732565926890170719931158211706916742110617067235206723170671867422149170668034187191706631004211641706592053140217065315191745217065169392896217065151321807717062854213727170627701139201706138383219217061282568100170612806519283170612703232635170602546313882170601562411764170597085353417058766314089170581783827249170562789328475170553263832250170542583190221705284458933170521231424851170517774415170512387193921704928737590317048702613413170473786272921704523402117801704522563327431704312887135511704238989989170411400414007170381219525728170353511558017034136632192417033137551187617032308280421703198987881170304137182221702961821121817027190079542170271572929606170263225831021170252055527809170251257321963170247379013170244591487917022634527944170222606494611702196536836170215553194541702128196264261702120840157971702031573238811702015627981170191605731376170146693266921701325923121881701325080324241701242012304417010799725846170101280831305170074915319471700674321652617006173932114417006128211388717005107902972717004506262701700415223744217003171672966117002120421211617001808123601700148125058170001206236111699912277268541699825904644716997267991299816997130861002116996302821472416996217322508416994240322314016992516318747169921212200951699196432659816991091310898169901666047071698849821587816988217992501816987482820876169872489223519169871982010156169843206232529169841540218641698278952074169822384429541698166717416169793201430246169792579824901697920322225591697876353008516978756012248169778998686416977264331583816975281962260316975201592259716971578315782169712560829991169702409610078169701460423157169699627205161696925705260316969240461664516969121563141216968319707560169665024213421696595007714169621274219730169592980314270169591737811048169561138420573169552264617104169552067225128169541351220720169532961316952830932080169522895953331695216657273551695207981480116951169653830169502357773081695021100292701695016235276751694914909158971694522728198041694290041779616942335197281694221244289751694142332200169408887246551693919953850169359241276371693549431378716935216418431169352123332316935130441745316933311257841693222522173411693114439165821692890133831169281823153911692815633192416927321032940516927214397640169261760973931692426823107881692420324189641692397531187316921653717389169201036167461691935492360516917562327616169158965137731691266082852169121079931580169118320271861691114392495816909248672297916909192275771690912023202161690624035211181690030752198771689917403222801689722825233381689719995560168962460910405168954773170941689325193303181689315294544168915613175316890853193061688824850149031688817671945816887276581866168821976825841168819956200361688126931472216880188352650516879906366121687932027263981687914347577116878291011550316877117351954716876508118019168757267893168732626998471687221842234241687211802075216872103411457616870114431271686715770692516866121374716864858327418168643062124013168613259725206168601020518616168581296616824168572956118541685426654249816854124121173168537372194751685079946506168472965829481168432217512120168423172023853168422027025116168392587325536168391956017709168382286630821168382254626054168371790095911683713434146501683530639669216834322801037316834261632288216833295001635916833172152461116832988284021683177410954168308881179871682925110135891682918335217011682718104674516826490162971682453171540616824150411984616823628850501682223438150701682221518272761682127217158131682122096704016821113661775016818781130181681816726315116817636714624168161482518850168151347712070168141939227943168132991912216812733817439168121157429745168111045218987168103136424866168071235811701168071011130411168067057282881680529369220016805150683256616799270112359916799213203044616799196811660167982160031236167971781281016797131444821679712908935116796172944381167952016977271679510549215331679484249991679325744576316792659721350167921820497461679193873210416791880930180167917759411916786310926584167841823764291678021085105401677998912095716777864814355167772316065051677516128200231677514622690716774318385421677320409235071677226502571516771516624895167714258267721677122407277471677098794890167702569818181676930363217741676914882779716768242342405816768110052289016767252362485816766382112732167663004354541676520672149621676510547299791676413517323516763286751032716763142421399416763138373272516762186082401676026126297381676018748742916760111161341416758252272862167572405832164167563191154851675512024186391675264382287916752090856716747127652726716743801121093167417535172311674085799531673911294490516738300412801516735632720981167351036422716734322141070716734169014017167338015118851673342011396016733304993058916733233305167322741415816731171221707916731141332270816726170211865916726159887288167261217017267167251777295831672419651129141672342912813616723309443062316722985224758167222866155161672132134114691672026800169001672013762226181671913021161931671910199129351671726390172831671680845978167162622228147167161615323210167152968026098167141759011757167139306146571671323191135671671116481118101670825911123351670824930171441670813917169021670589360701670518101691716703214522990116700145710070167001229577241669943085690166991830313549166971933224780166971026926853166968402230581669628141202071669613338236971669421556256281669416077182711669247323032016692302746966166922103119281669215354868416691485647301668913391681166886941479916686962528116686436327222166863001216770166861143300341668515289307791668426001555916680330236211667844862190316678326612967166773228119989166761271617382166748617836416674164962675716673593116441166721447859401667150302637216671443423518166702682758851667025532274241666991792113816668191672813916666203151700516665291491818316661721124046166613089614583166602322992701666014159326371665916253230191665818389260101665814532314216657267441969166561785245131665354169631665128902699166511414722639166488237186871664820167245751664789701013016646524115404166465138199051664630782187491664217096534166406889296151664026150154516637308734249166343273326417166321095280816631792329119166311708623890166306417139821663031067740916630212631915016628228142344216627820332316627080246681662631834233191662513207172681662512669323116624286432047016621736510058166214950251151662021963116611661924671258711661822364835166162893420378166162214416148166161627632406166151253928181166123218202951661226126204731661212539146521661071312089916609211016918166091876810289166083230915358166072678217270166061302430218166053130816141660529823243131660421161316521660417681890916603292541683166021913910108165993167648001659927693216901659919285234821659918450224261659859881990516596320733855165962591325774165952547133081659416051911165912549456716591250501334416590370724983165901788033891659010084223541658929142796616589286147781658921980316471658842192113116588247578361658790403272216587236294741658720322195761658719133312701658718137298061658714644205581658621224128791658320119217051657989772263516577193432717516577122908385165765663112181657411370112291657325901679616573230011189016573134013071916572244471402916569730021859165681933165516566109061255516563286561401716562362110641165611279363141656014190499816557316281923616557149801393316556291802749116556194793275416551314162445016549421676016549297393010216549286211417165482557821518165472277231189165462724387891654530031315411654440151372616544185962496316544163649133165421201644121653843412493116538221871194816535231531951916535194052386316532776022053165326327146891653218205982716531324918315165311396726195165302059839051652871024469165279492121801652725284234011652619512323141652331766742216523003122317165224204330416519100621485416518612322101651812220541165171386028165163169196631651516732197331651322584158561651230353111841651213825103551651212856193211651124605197781651036619348165102510321791165102156045616509997924465165096418409165093260618509165081574830113165071532511316506534128109165052049313704165051477206591650445891811416504255232704216503238403138116502304166885165022003627271650219356300261650131208259821650126469276131650120253125216498907906816498117131028116497916937201649326385285931649326353254821649319852484216492158681763916491919652061649150458237164908233083216489137871590916486183292927316485957744561648530446258151648320550173971648311247001164821454716837164798108834716479645159381647915525285641647832017281171647755791669116477118472983416476268262820164739351251981647363626105164732746018143164728082203051647260471354116472213342313016472102192666164712500210830164703202423731647030018239631646912345697164681741131987164681086660551646711770201291646642191888164656198212891646348643139016462648413370164623097519114164622822612924164617730191681646125940115651646116214251921646018319700516458203202199416457225417556164562849629969164561567324185164552463649916455216476129164531372665616451159112044164503008023844164489912769816448113133104016447532610641164461571969571644568051589016445305313161916443103892767516442812862801644271895632164398275265116438416829040164382414313642164371886627935164358949325601643315130213616432120134471643123395195201643049671178616428989715351642826308253141642774172533216427280032513216425283521021642512178319916424159131335216423128993188516422151301494716422132474293164191690029095164186894217491641717648107201641516002765116414316752227716412727850951641111265156301641032164112841640515009102011640328707235811640022863112911639931211312891639626153165991639617807260021639422374593163941088415703163931667178991639230472305751639115509889163903062426022163900870211638985387904163891894716563163873045731402163866500228771638626690207011638614559786416386126572100116382814126169163818395180901638025116163681638021143327361637931098244881637917587331163783061310541163772731519512163752044280871637420201231516372863124753163712505041641637014748225231636722649143441636718601959416367166983265163671401513459163662921310414163661136891163633500367716362233026324163583212026534163572385912439163572148121127163533530310111635322964316421635314703869163503022521972163502552814681634883881016516348240531816116348121091813816346730559471634665022486163462242314543163456663436163451417226624163451261514211634422627100801634324328864816342283581781816342260273123163414675193781634117278298671634117061587916340133642700716339160932817416335641895671633427460294211633242379258163322689016812163322144427267163322125185321633210550268211633122226363163301089623810163294195128991632930833232281632917411205181632887432910616328233430601163272648017781163263912762116325280362280016325277269464163251648420519163232630530339163221446321722163221175017393163216779545816321228135441632102173236816319296022437616319124361006016316114131740616315224191480416313166820526163126995420616311145821216916310243182616309106665216163061203812516304122216713163035014792163012249221176163011778411216162996418961016298154522578216297229192571162963274871891629629318202531629586591534216295297721666162952786112568162942334261051629415537234981629310347123151629226570172121629174821100916289245082445816286523132511628014371673116278739242481627719116502416276537610271162756898161321627532104245261627292781666116272208808283162721427682341627125047181801627122396234391626923322837816267525192491626345527601162627920484916262401198881626228610159511626216112188516260255342080216260239551668816258317521162581921988831625628399131191625626251853416256100441854316254171361308116253250017134162532413519644162501391424385162492678100541624810133221111624723316206162464482294291624213054111501624163093240316239221412997316239206002997162382224574051623818488102951623815727166251623731984267491623726451914116237205292926216237172152501623525544116041623519348302721623442171949516234162812399316233164411226216232312693120016231285013271016231109120616230293767539162292844518366162291387210559162269072329516225159856409162232069486416222162052291916221613192111622127101947016219794029313162194342184616219305732013116219281895346162182625119185162182401853301621624237714016216035220371621511597220741621325124128241621253407620162121411165121621150611095916209130942587162071991121785162023651146691620223522713162021061210739162001115195831619916674233081619915428281181619824384217731619822746147261619761242987316194147225347161932686932016192970476481619152342613116191206412846116191163247612161911398104581619014757963016189357219524161893169135916188222627221618793081189916187104517847161857167665016185293901358161842613589641618424824952816183288662483216182237712846416180268419217161793083565041617728746939016177122165471617581560711617411551981216172315141556616172278701343316172262543217916169194602173916168636544811616823625128431616814729207301616655581444016166311512789516165217051152016164218111677161632731122689161631575928453161630050293601616228481128316161140163183616159623301201615820599213771615712292226201615628096132761615518534178751615130285255731615127813454161501373711676161492190088391614919840156401614827403239221614817446200311614515461105316144586317788161425639143071614126134186701614119345285551614113277157041614112462358016139184192401716137274491532616137226846361613618968593616136074224671613520362996116129256881741916129185042942116127980119901612696531463161262252631655161241934714309161223162227209161203164894091611927729779816118470451231611754165657161173128623268161143102645216112263891154816111197408772161092156122422161083928298331610827267324561610773463185216107131672895716106320031459416106269401073016106182012634416104816891541610469737397161042344810113161031003024806161022805997951610208583121616099290962643116099235662564116099231142694316099139121556516098252158029160972577016927160951733330895160932057842141609276896991609220481180731609140951065216090298201947160901750537231608947683193016088415340091608815868133531608755512543816086467233571608412467132961608347355715160829918327071608214197289491608211484397160818358232911608111302292101608018604288916078324702406016077246039823160742360668291607327829275631607227991248116072208891238116072170728969160699812210631606974426483160692738769916069270623250160685921011606790352747816066397315551606614731133121606526837628160651959352416064165671912116063638323161160633451488416063205181682160630892213491606232683117011606213870296971606152251719616061258482083316060251523022160596427219916059309571389716059285877362160592790211671605792812498160561828882401605610179258671605525814313381605520781158841605437229421160543302683316049296933889160471614326628160468372130931604519261331216045143071987416045101314781604432656963116043272742374516043249861573116042926313434160422744714195160411641917701160401241142171603822730259731603730890236616036197001351016035280951210116034274761622016034260395513160342421228443160341845927678160311954935901603016408222016028148652864216027435130413160272620622966160264593232721602620993815016021110694449160203027328616018624017299160181665731364160168879661160162364496331601620096142701601542212515716014425827018160142728012876160111512227502160108897149701600745786361600610901105021600515277201691600478414835160042397019894160041771148451600417631224071600323986187081600322877303131600317322384160020589190216001258026909160012388613773160002082538159998153197715999215424304159991638624296159991117513573159983078456415998291161291159975086630615997218039926159969315651599417190193211599312284081599226422434159918916571815991267291014315991158081594415991113711336615990196471157515989904918777159891843982241598863193496159846590795715984208191936115984133111782315983273332002115980782868191598016637831515979197522456415978962210040159787306182951597820971225015977745212429159741845311663159731475612003159723358233771597226181696515972223713697159720153206711597030401860159702356257251597019283190941596637991558415966233482193915966216918036159661816048281596591761135115965234452597159641913859471596342121089115963322282899415962977474511596213554115831596211954124661596119403110711596016963607915960102332752815958262971394915958140856431595727443102741595640578875159563419120641595599631722515955065271821595352210228159523279263751595168962411615951107978705159511030326072159503256011892159482356424867159482011512278159432792723364159431236184251594222892199081594216009296781594011119821715939744722353159383103972901593820073325231593723373804815937120311965115935256391696715935182353169815934519425301593431797317681593422842672415933875312072159322968320858159321816221102159315939148061592927952303731592819500194151592529153112831592510663287041592420648711592316822274151592310336130481592115260602315920809528641592023986129511591917098701591736245667159172315625792159171416929131591621298214741591518455131921591411308190101591211521736815911214540361591114852561591022870198241590922983314771590691232478915905211381109159019728195211590029750221391589932733277801589815507248515896207532099915895589031578158942878420711589310011326771589130993188061588923490105351588827226106671588815294167761588712766145131588415472853915882956629449158812567796158811891518870158811655814515158802819928768158782771229381158761444424235158733088514915873180781533915872268902151415872190488071587211048249051586916593184391586857233560158682427116551586814699208921586814143592415868132092011715866494966081586419627479158632609520571158632469216851586312287277815861306442873315859386010740158592877931592158588742856115858162143159615858130032064158571516598591585712529274611585664116115158563158523231585629186220791585427220939715853834221961585231911792158515554221971585029420251815850137382471584924225153311584842392437158482663198215845277731119158446588251641584446601785015844380149531584423509310515844189122131584316009297191584120126220461583856261386815833291711261315833255101422815832246897307158322020814139158311959320961158275644486415826432338415821268141500015820261951305115819295482750115819100201007915818500628324158182335179511581718793225515817181142757915816449545321581629116142291581532271631615815315903096415815290561327215815101072856615814620014435158143423225381581306696630158052419218241579993611858115799279632890315799254172871579636321201415793277582087015792148069743157912785164651579112083090015791113256627157902087831371578930933184771578930107128051578826172210121578823947266791578724935272751578624342190781578615635503515786130482199915785326477673157851522631671157843034820810157841903530846157822687028443157819498212671578036771447115778290001915515778244041419315778235702783715775028317051577425350869515774250792603515774165983076015773368021151577266141900215772196382917215771312144371577018293190251576922220190515769140782037315766920611015765248322858415764411116060157628618391815762858210688157603348249515760287902108915758626222404157575367430015756663331799157565613306541575519187201801575210207527015751333921612157502454254331575022814395157501582946441574931567197291574641722340015745869421133157442053268631574211478129531574138826098157413253310264157410300157411574021921687157393268127731157383030827124157363631294941573627208559615736190336839157361561926176157358222196141573220504515215731825312515731305181813157304457120611573031497256791573017881214271572829856181415727180303084815726280321530715725572599401572520655243771572477821711415723828839031572139833058615720436218103157203234307531572012774170371571961142451571926481212641571823912966157179314114861571613557311751571120624144801571110703324931571091731771915710155432029315709125653205515707158102146515706251458705157052682462021570241412056015701308211073115701307383086315701128713019115698278521846315697261814212156971653315634156968919245251569512673275641569477393160415694213695269156937261230621569330982193715692315631994515692187541436515689342332556156889105162101568867517975156863041731307156851528424483156851329495571568198441409015678304431256215676641211509156762774282971567232082112061567019430325911566995419425156681918220798156672068123025156653223722526156652579228814156652312284201566445464581566425339260231566317751245741566228262807815661689415954156571925031926156542063892615653895286671565379118159156532501932741564826777580615647254726620156464180208021564629628220561564551922714915645272941935815644286259703156432857228267156432473199771564230995268461564210096705515640301471008115639266671105815637281292203215636389411327156355352276441563531243322121563519665175251563477481381715633513929709156331236223741563255702338415631310981043415631132227722156292142198951562653328147156262630915709156253180911999156236324179156212480710420156211510721753156203265922931561939676146156192813929869156192073859031561870115285156182183149115617167823018156151635645871561330108141041561311071133415610742522393156097914229521560759417491156072955928320156072921331011560425364211641560213912110615600450422474155995371191815599199482407155985162584015597271132678115595184403054915595103685921559431662029515594304802929715592402776115591292521287715591282732434215591236491699615590248824523155871982927420155863196482161558625707273171558625364480115585223872263315583179553138915582388923407155821380723009155812188723627155812145137541557827894729215578229682887715577920256271557740822924155773153173155771533640701557510914103281557430785200601557327520115131557220062140161556826051134271556825967056155672695216753155669962197251556627991868315565174691079155621784153441556102202967315560229213131155594123524015559134828253155572996238615556278513488155561380782641555531317129151555511772233771555462382442315554314537621555253321735915550617826029155493477311015547258562676015547222612201215546404124069155452850225312155445737042155444271153341554422824202251554421363179215543181512114155421684920073155412299324351554112272936615538665227057155380542584155373393723815537256881101115535263674341155349802328315534269028216155323187546461553022680173281552960001556915529493184121552929954727715527295296211552679211142155266833251161552425025912315522507222085155222306512601552158462416115520749316571155202931399661551918200208811551910135124211551817224103261551786027021551629018160731551617601265171551330355773115510290568945155092619917137155085870225391550729576251991550612411175381550424673688155032586625921155018786214601550150703268215500742422521155001498253541549816288146711549726704226661549717029156121549611873161215493134958901154921567485511549169251861815491226382597715490903713883154901427763611548928762973315486487107141548631841166515485970620905154858597264421548527163148601548417174123961548298711705415482448431920154811992625828154809295318961548020496102071547930763299971547863720967154761384916648154755543180015474248852111015473465625964154733017732330154716841182951547152081790415470943239831547026419922154693269820198154693009514212154682015827928154672864816611154663128914437154652878211061546425972085315464202229678154631358720024154624050225111546098674592154601619028573154601310717411154593861729215458344971951545799919951545522326602815455132298944154542273424744154481545314916154461150235215445361293331544491139061544443801825715444209562451715441238202685515439675021871154391001476721543875053611543786421986415437556127496154352161644191543231289994215429203341307815429154033144154282425719953154263006834661542434153915423172452694315423170924035154231013427967154221454163081542122606103671541714892163011541616864308821541080142446315410185132304154092611524586154091911726655154091223123700154082206731748154061769813372154053511455615402139944799154017396394815400959771615399211455141539831976324111539817930101153952043115951539519673120901539433121905115394186418889153931365315278153911210314134153902986551315390259512179015389869614740153896782237211538919242809153885231744615388256929749153882182182711538814531140251538812036228815387813732400153823897144701538218818294291538171131969515379753418298153782346114311537820631337515377318128942153752710114031153742522019861537422565125881537210802144901537125690142001537049882535315370122193078015369323639198153681587114183153663569402415366300452594415366239127201536620903322001536572722972015365228472165115365167011905115364799796871536465111594153621867229540153614808115171536030064178841536015898201611535883462861915358250621448153576605200041535627794729315356176192690115356123652617415354849231561535332624248761535161023301153515443140761534613685145661534318418657153417808304921533824174112251533819651672115337493460671533587319717153352754109551533510237674315334831416833153342326286151533299359481533216784097153311980432717153310641677215329261282649315328324201518115328257531951915327317322493715327282545870153271507820882153262767478991532581385700153243260021644153242824222929153218926105421532131418266061532116436267811531811451718215317265535413153162612026215316201683131115314586412677153127473158101531263677372153122137288541531123438315951530856917755153084854267421530810449131241530625399124001530613035107211530392032503515303616811259153031946019711530266671782215302474523960153021817222846153003043147501529816865292611529627250196415295229217947152936405156171529335212947015293149562193315292551727055152922375839091529216902301781529143749297152905091186815288703712732152852350016416152852204832204152831147218318152821405265561528118909728415280287462140115279847928346152781466676515276217483872152761865759581527610711592515272034511104152713171482721527041489496152696824125501526630428222741526514116189815264384410643152636617104451526257891323315261725617869152611995022399152582569141001525822010181601525597631474615254229543270515253658332144152531124530743152530268441152526976221681525019520173991524853833993152483245822839152451841220015152434149338315243220468556152432089153731524317487545615240423551931524026665116681524026465213971523741641981523717887977615235665310146152335707146991523249243040915230312592871515230134292792815228937728294152281079729152277623945315227127242929315226288685604152242776745515224161152146915223865772951522220229304715221154758426152184541885715218182091288215218103812932215217286995946152154535209841521519208135421521518885288171521422343204615214130232971015213605416096152122392429493152120649106311521203383203915210525794421520761226333152073585324981520726275321771520724993170581520713774130931520521062218991520423595753152032531125961520310675168741520013622778415199282121749151991329710262151973055991891519725577138671519616726123451519517762203491519510828260771519410272197421519369072037415193278332587215192844332508151921585218504151921152889261519210886211519210451773115191100312616151902617228361151899735108291518827249242521518810527218821518766231849915187173241542715185157642285115183418867741518329674240031518123572934115180215836286151792298637201517830165730151762970816734151732734330165151722647513859151722219936431517217341315911517216676243501517213746168211517022527304941516919425231115168207483062515165315032018315163276248436151631281102731516213388830315160154201170215156289816856151552867712333151541637314172151532523250091515229014165011515219405110815152176132319615151209820151514920734601315147271841615147146241785915146464302721514626730223151462541230381514433291727315143157922235615142883523207151401404617553151393595310291513916146668515138770215247151386558155551513730566339915135216435396151349047270111513428501246201513415323168861513414075897115133317571508151332600895161513234877605151322784719415131889619715127260641136415125878275815123214481257215122636351101512197592821815121108343156915117530024081511431782757315113271012669615111759531561151112097525614151081771115611510655122771415105333307101510370602382115103221036535151031491677891510121176397415101132211857915099492839351509810395177431509713445217011509525410192891509513376298991509421581975150932813432312150931524681681509254621081715092200832246150893251931880150892016323022150881356720334150878473219911508729200305915084701251241508216116211941508211659779150801179125461507726642145891507679951762915076317945703150752723830028150752056314845150744290424150727188321271507229906241691507183069715150712297616509150710335260921506763092344515067315732620150662179720141506530013220121506467982656715060235642465315060157154691150582842714109150574631885150572360286015055940414714150552619794731505413400267021505326007112191505271812155215051173611934815050444534281505020630225531504921332236101504912420205451504910141846815048720223655150472911325070150465103270641504623931153411504322362364015043222172973915043192461157715042103323631504115973268015039508928478150392654716494150379392189171503621614130751503443921718215034290743698150341802722365150331312794731503302439456150321032021120150312382318258150291747627949150281772313490150281697928499150281030626041150272398431835150241432419502150231535118008150231261029362150211511829164150210093161971502028770646215019245852094315017107901593915016312881635015014103761361815013229461492815012387574691501220431913315011418028160150113099331089150112122628013150096980162651500922861455415009222691670115009173392951315008262626908150061144657221500527683168911500519469282711500319831174915002161582153315002160963001215002104218975150015670251021499925149169081499614753052914990171072035514990143611686814989655514195149873256227050149872725912260149868422643814985175392720014982770520885149801021426782149791873724646149791204923960149783172730174149772404259451497629785496149761981110375149752937120336149730199506149721721032259149721516711175149718469296714971276891114614969549920135149672892793914967149041234814966825629149661497014617149651583540831496418351612614964151071790614963302394546149618036937914961656221533149611369017347149603572150251495991717581149592642158301495887634633149588426297271495732085210271495731814156211495728176221614956780120981149563272311768149553082920290149552877197814953124883045614952597921106149484676138914948137496838149478942307811494631084283214945262901227814943579851341494321605206531494218722184151494180463101149413008119740149391292818211149378717617214936131742438114933885093201493319312149327416160714930794637114930222042885914929200221100114923643128232149231244053821492243242432214922228801912814922188193215514920234912614919627130972149195892545614919209282814918121493086914916229811543149151901122590149142362524390149131784031122149127082119714911157382180714910265516750149092284418525149091479710996149079915101114905154532388414902134671422314901280571082314901168866221149001598922275148973180514314897277422602114897271714781148972691296011489723746266171489533282261014894427686201489430979651814894171105836148925178205771489144263274314889287051385314886410218258148831571927346148823198015451148802940111708148801092973141488010257213661487618581301301487596941474914874925226135148742315822023148741140794281487322811088914870837521547148708311121014870245469231487023993282041486811582208148651440915261486125825820514860109343091485925699136111485758199131485727637229651485714355236841485630041206131485613366276261485515718909514854708827589148545543595614853323291101485318061218771485221685209631485113849118141484861221359114848148351029414845320842371714844621825486148442633920313148442444621361484328356295771484317661233551484014968285881483779121222014837305353025914836738915064148342138932282148331592026614833050231649148330415182871483272381914914832225681365114831300862725014830850424011148301695381301482874121029414828146331822014827232581765214826262198681482620770299741482533263456148252848444421482318289491214822241193016914821247030429148193733088714819222225451148172901345291481619767314714816113158280148132130738701481220156938014812124422686614810203621705514808312521933714808183171053114806160331385114805246552118814805224661401514804281122462148032495190721480324886165461480324815141114802293401596114801187001450714801113752307914798173942269147971953620351479415327274421479275509087147906826155901479027410132731478713806318301478698502031314785312943781478422069628414783278706411147823003163114779192799286147772281389841477615357753514774151671125814773845383214770310803010314770283059531147692852918136147692776125418147692458017508147672888021922147672432589414767233701811014767205795271476715352648614766313362770414763164969735147602992021663147602746951614758244601779914757254374217147561697125823147561298711922147533244016045147525076222411475220102810114752171332331014751167933497147473147322676147462329823919147443709241941474326995206581474272332457914741103372450914740732490514740152371126147382261759541473754924247147358472324941473517951919014733214964412147331621215275147315701069014731116765786147311124118040147274451198514727268013278147263185513210147255838621472545602379214723268066641472225413186941472123443268147172673059141471413152121541471225988307261471215221174151471176992351714709281162480414707238871813147062154304111470511015971147011886321611146995972291614698654721856146978564144431469364062552714693308083208146922422020041146911367721404146891725427783146853121196431468527252227101468512209319511468493921939814683213421021146811161710225146801724023714146793355248051467725530246891467652719290146761859827051146741593718718146731685522714672520029146146723478108541467181941619814671637511571467027226201146692334724539146691992320221466823103269714667196559514146662326130416146651351989551466414701191391466293893223514662874859431466187947411466121456009146611883859814660303196198146601496830919146531519825861465212720050146481110615361464710889894414646317322337146448968959814644508231282146442091456691464144169651464131132306341464130682199381464111303739914640150442111463818481923014635168551892314634300162433714634239493225614632921918698146323846162114631293014218146312823119231463063221714146302512476014630143652166914627190467671146252452811661146241259323699146207582164171462012586253941461928362303431461814127302101461725015060146172366120681461718770304411461623698155121461527522291461436525722146142331069441461419673243311461322580606614613143577946146129478165631461216720286146112501769414611160293671461074002518714610282315848146101854830109146092841140411460312718151011460114806293371460067071367314600258521264714600214722697614599324392448914599123186915145981773531383145972702492391459694648914596605431805145922620422143145922212514721459065956786145902904226191145895230137761458822372223421458711961237051458516832156114580182302039914579661137111457532427116571457515179174731457473834256145743168197191457429586100311457118597220541456975712219414568572473321456688308012145624337169814561293152804514560261221049514557239612494514556126191241314555967218654145542383328235145541273019973145532752120958145532556144641455299773233314552323381031145523170042201455211364421614551227714728145502376683441454824034147014548177092027914547195541693314546893258021454653569145455842145431454532467246681454531292828114544767031037145434630896145415812245881454123881262941453928992736014537910023841145353144486314535287414057145352247519729145351562966381453491901655145347331154041453296961135914532620424857145322095692514530280028826145302608203861452986301693145293175421886145292126028681145285921922414528199653337145281568721210145251307714942145244201285514520326592953214520278727881145182123327114517234419083145152594732714514300063055145142695350261451364924391145102955321479145101507316431450921790765145071974927736145062944515677145043249515514501264962041449972628498144982982517536144972579330971144971436615239144966203175714495313243234714492310601661449229918126131449215471327541449212459206351449124163324781449026418171981449023816278891448782218906144874409175041448631995324971448532699315771448481235681448426212211621448411219238371448169063048714479287934503144776879276701447612384166411447573165981144752432724709144751715728870144726886279901447199164951447014721500614469418117117144692512427761446632420150111446532738237311446525509630614464191999227144622397273411446121034691446027603118331446024634639614460223731685614459303911818144572576729802144566805127101445620423296861445528998109621445514964318921445432020231441445429310148621445323958113171445315165227491445023058131171444950761535114447751420789144461507663261444559130947144452465301414445206312954314445163791900914441368676011444014380264071443922330138144381753417281443717544259281443712749106511443549532413314434811525044144341732651061443034743825144299309278321442925571287914429015758014428294892617814426306622079414426141219702144251776150601442517221910814424216831195314423210401639214422671320505144215479211581442016100262201441827944273781441630152133221441612149797114414292332243144121940681821441124521659814411220162762014407163182007114407111012727514405233451899614404690513463144042321569981440385541252814403248955431440221238315591440198022498114401306601607114401262423051514401190985681144011101157581440026197197411439912523860314399105491662814396186322858114394323902273414394163133927143929888143614391520413353143912922221542143882372050914388154610309143874782310331438623551833214386100271619314382452889114382235933213614382232661391714382175833223914381644027719143801052265131437585479314371713010505143682136375431436812212123461436725661133471436715143265291436712990231941436596747098143652884678691436220871230414361896424413143612483101331436020121665114357694122601435731022643414355437211188143536881568414352550420162143524340483914352314393172814352308014001435225607124001435176782658114350277882675114347214278010143448086638214343210119642143431094930295143426582121011434245363164814342275831521114342153779259143412064831547143395273970314338222443551433618721213121433564416155143351183232331143332817725612143332753019302143331625952261433314444256561433217720150014332127301942514331327490471433132237907714331239718582143282653261143282636325514327856030603143251720975551432421668751143241418092071432399827301143232052318028143231563647541432280381825614322305242918614322288411684814322286923920143211262271951432011380147081431979099093143195343035114318264502043514318178731839014317126562756914316318811233914313281861933414313135351570914312246592958014311233511068714309229101205214309157712071314308865141931430530749229601430515426233651430462672578143031397923789143022201117000143021275916282143015456320301430124232272841430064452103914299242715008142974172157911429631322361414294327275681429337592817114292408575531429021581306531429011828258061428952323116314287505921116142866853323831428530414616414283191921676014281697123188142771539522773142723174859541427221960219911427128175291427030810273142682706161421426723694058142652744527740142622203217169142621584866391426200061940142613149266861426011124190811426010491229971425930814472914259278359836142592756116429142582470816716142542956131881425427684140301425426493495514253845383501425154971897214251223052734114251135302302614250390031285142503116918905142492899829339142486825326041424627867359814246179372820414245569110229142441006330781424321186289481424245241341914242251622513142402416930514238525026041423820062861314237865209114237689319009142363095717691142362252383814236123881654814235876511979142321193810976142314280232091423138402964714230363727647142303054426564142292869719747142263083914029142231389931651142223135227181422214543914514220820612245142207751654614220425655471422029198200111421930983235114219221758285142175814917714217530318981421725749391514216911324191421529940301711421514175313551421226122119211421145741714211190512753014208232601785514207282541931014207269321432714207163671420529664201731420525546159314203979012862142031251286231420310405246931420130807208961420021769458414199241385050141972813623694141972117222945141952392596781419321921218331419231064944141913163030607141912699998101419077221142314190112742558014188264771324014188161188037141881145966614187237032602214187196281941418615222166321418530428311321418411969308941418326398104091418297352962414181868441418179081106014180197359990141772891720882141772875816522141771304828544141762328097511417085781726141681222617171141658478260531416423089196311416321723189814161728032379141615331174814156103337712141555632112031415329628121541414917284306441414714152419114147113004902141461881824571141452781916861141431104589181414215261162011414114892017714141113035114140451539514140216442958614139312081752814138297016387141381677719805141373275731842141361225178171413422370313561413388662207914132278727602141322472022845141315102326014127259622731412618894995414126175013065114125379829714141253033722525141231497230950141221905120821412097901036141191110244141164233277091411614818794141161149824249141151418230733141137212271411411222019701141113147526701141101366119811410986162574614109298261608314109187891813614108303431902714108211101924014108111717616141073101489271410599447905141037563362141032268189591410137984361141002566631863141001973029211410018200309371409913487141811409648510256140951020718599140942923037314093694145161409311549311681409211921299551408925110155921408668702323314084249964971140823010112009140822405312227140819172726814080558527213140803226246601407227558237431407129256262631407026132211451406731385103201406724030054140671161510646140642718324456140641920727968140629498219441406283593102514062192863241814062166462410140621242003214060162533137140599137343414059615424491140562377830774140561825919439140532037632107140519173566140493075631368140456641216311404418537142461404416131205501404299671141114041325145670140411080999541403955022172114036353529701403434888931403375531054614033304061728914033288693185314033287078699140332748146431403206821212114031701419115140312861629941140311767514014030130102717140282181826819140268332509414026119841796814024794428559140241602364714023283193725140230956198614022301222251514022210621088140186344284981401815468112891401528954247601401417815232681401412667391401326864129451401287029807140125574226971401116151603014010327088200140093088721834140052994218928140051425730631140051003221895140042654132400140041888229932140025982208701400227734338140014579259991400115065166014000170101385714000125582716613999963715022139973288592013997121401607413996253583649139955271388713995156622829213993443924187139933237621750139931795725622139931534133411399313222523313992143152816713991892231836139902833928976139892776210961139861631928238139861244953601398524554579113985123258790139841712928139833515179011398240861698213982156094740139808301121261397731852298061397698092034613975210652010213975110393194139729719532813972465914188139722895710470139722785913507139720921305513971319718081396829688842713968249323944139672466344481396325005129713963222721001113962301462767713962239421212413961194018604139603706221801396027614272491396014281239271395824186142011395819534211481395513124130651395512937310441395412751571913953750126861139533036810401395274591637513952642266931395143773037413950312851122413949238974613948866157691394812185281501394785511357139456968712313940280801842013939177562707613938264719933139379179287113937865898081393728183391139352453561621393482412950713932584627829139309368728013930805732567139301965325438139291813614820139281864819013139269666302161392517687120313922788029480139222797215854139221241360601392191806692139216273806113921262031978139211576203251392034038809139192853326065139192317515138139161950111066139151464875571391424160181561391413677304971391278042594813912132512204413909693640551390946326612139082936727208139053167923351139052892688013904773320959139021519069031390214384625513901295593234413901271312223139003375670139001250578813899120591561813899100014352138978539312701389514454409138932023218191389113936230711389028975317571388992626200138893982524413888566862138881223210247138881164228890138871977020825138861142228191388322144165341388320843140713883182445247138813223226940138802711018167138772433224739138771671215261387716636184331387646483235813876241453057913875919223116138751864912856138722214529346138711265819015138706456242311387017534202013870164141810013869321231668613869113319118138682723123315138678361102901386356772560813863229591288113862143136361386185743197138612057104411386041594828138571695928194138563046127308138561921121661385419826246041385217389622313851906622550138511967518190138502271426624138501281521572138501224272913848190544102138453151327699138431763724173138431209617836138431171689013842498420836138422177695261384116894156321383913347188781383712329829713836261162304313836206485141138352169662513835117685187138315229543138312235115489138299626150851382816452993138273276529999138270778246138241044749711382331725103021382276423749138222183713359138217846820213821634814606138202903824893138198425107121381914699312381381831473930138181028816343138176152546413817490782971381712151239511381710304232031381686769563138153244331581381430809315821381424771392138128455107621381228684145391381222273260551381055987011380998095326138092935493313809223162118413808757019420138073762664413807201201372913806737628486138041395235141380315727628013802288151462613802233112624213800208623705137981481521186137978226319501379626358185071379524754257213794276343136813794101731943137936033211291379242692811137916342142811379119413969813789360310913789255439977137891590921602137883020018458137882710828588137881745132487137881230221330137872300147101378667681630613785273732921137843955547137820017289721378112163090513780308991038313778260573107513778135872921713774893510497137742073324431137727361132851377111575423013770258131964913768144743750137677119158671376742411845013767268131833313767117271028513765155751600013764257572652113764109685492137623240430441376135922516913761234391656713760937631020137604004118441375773031406713757700870041375724929138351375537721426137543471521713754285761516413754246391869213753247882555113753192562871313752900624415137513508267351375125677584137493192592901374929396371137482722717461137451696732338137441759810215137435956307061374331599062137432841250651374282392585513742118723448137413501857413740170252825713740113414931373533062756113735124092339613732279362436137313014312516137311229831568137297323255611372918715193891372862285811372821824411913727338418927137272491867131372575941334513725254711349413724252436724137242277413241372210155299131372159199561137208637152031371962822331371817855264813718113123851371671928167137161291019795137141008228395137112785817540137095708285311370923649262711370844622141370518055183141370432540866613704250062551413704158094842137032175998521370290141213213702669393891370229047804913698107196281136972753822077136965119237101369630332673713696267361608613696115581867113695356349913695221582873213694564428107136933194713281136931557113383136924062973713692235853686136914949128591369123221108911368994532436113687223048393136862356723971368499631001368428017238321368424376244021367926271215911367715512970713675432126691367321757418413672931226437136722525130109136721492252701367130864113531367128848874413671170412810113670215034247136702110511707136693128495031366919504145671366825313181231366823035958613668111462237613667274559843136672707232207136671884318661136661708123089136653939191921366474086599136643201426113136631623219941366288302968613662524125872136621450418651366131635129301366122275279841365589981846413653133631651513653108873043213651295791052313651152515737136501285620150136494021485713649287681975513649107989469136483232524571364812751644313647281793093813647276430819136469710650113645839827694136457626242281364522894296621364510832298431364425796262513641139592808913640227802767213634177302702013631306838527136301699824611136291510220408136282900622810136281841154311362611189120641362428178156071362421356243571362415693255431362279601189313622220316731362167131867813621317051853113620410620597136202509168671361931652229801361915020390713618542229391136181953610934136162264964131361486812156713614125176449136129149210551361225430141831360722617568136052636213605136052413385231360519963126001360259541030136021000031174136012036790151360028142461359815213263931359631491113351359314415262531359221754118151359210306108113592055011805135919795212671359175852516213591308939512135901899631457135901741923390135896947105013588228846406135875272491358741661903413587299690413587260517826135861602924691358528025292801358424662179141358415584278291358330071618413583052919330135801251611974135792359624881357746431157113577423732279135773049922913577292991845013576183927898135758389217881357527549270341357461543053913574195252313913574110383108913573306172585413573250172463013572980621988135722691119941357213001340313570105893158713569117052341113563879532545135632905312008135614700322991356122532709135602361225752135602241024991355913869626713558319082350113556131421870013555992947113555276801718613553179518024135511739620113550273233235913550219702215913549555482611354747692989913546145992449513546114818106135451199727141135432828822308135423989139511354231882229621354223746221141354125456221361354124715318021354036332662313539520117146135372829829472135361041096611353510820324711353269203237713532264132789413532228211127135316897159051353163681206713531232326321353028696695313530193002680113528156326574135273041813693135272433525135251893426406135212258810395135210276235581351944321867313519239743531135191498569613518225884912135133035216081351299753130713512769516114135113163426271135112545157191350916550742135081446831194135071508516912135061913516991135053004415665135042749616423135036329186521350280182963613502294958666135016343474213501179984313499996946113499837122115134996673350413499263822028813499198248081349828883227301349818671243861349612721318013493639811127134913181730627134912711613501348861452771348714687859513487134823208413486572624821134858627926134853195629018134842541544001347920447833713478271262622313478177394735134771782628705134764832169671347628705309241347318102354134722657211311347111505413134703426104021346918443221101346910915216181346836758667134682645616366134651542321708134633164411513463213672189813462925723851346125768318321346112672306641345728592135161345683418666134552460821771345481323413134546961938313454129651898134532201817024134519788159301345138532582513450942120431134503868189213447224063073134471711096613447126777928134463061822344134419728161641344146704981134409775204921343929846285411343913924532213438887618338134361656415732134320569779134313894174651343054422424813430271022528113429106712120113428556161011342823520313461342816748194141342738173196513427283182442134272171126390134261726917016134251931910738134232882410447134221212228813421285251326513421199761360413421179832364134211383814434134202638218038134201214511250134192880419161341353113341134129152179391341195583239413411221262704813410295683085513410263182660513408759196821340813401313141340717739282134051880114623134042951169351340426042343713403299991554013403106493409134012567117281340111412174213400190301042713400125661776013399241415608133991010325811133971896712841339618412257401339531838170381339524634536313393159641183513393159322540113392199221391613391508515575133892820921661338898541819713388322431404013385915230311133842376519936133841171080113383567013080133832054239551338309832499813382123242521613380870360313377640222341337487602519713373177981934813373170242788013371121753761337026922294251336915794154121336910924231121336748521209713366142593571336510104273851336465378930133643270184501336425729314021336310960279811335823174971913357203312616013354188341705913353305516360133532192927913353171421387613352529210460133522180831855133514216171311335129670151591335115222205991334823432277321334618647305861334431646295221334346363101313343254952241334262772425613341423425368133411134224241334023071225801333956274281333912243324481333822169177241333613125211333529106583133348479682813334491110534133342520017244133342297995231333416787122401333329032100311333285573140313332261491188613332141373413331193886313329282972964213329142252596413328210387715133277581304013325770214860133236092268741332024272425613319157767738133182852150871331772296687133174878912713316931716385133165964449613313252832471113313236552518613312326732038413312188719509133120752261813311679615237133113267107831331131326116271331127988601213309104772257713306187712427813305269151444113305135491939133046657208631330331476203713303134251597713302381792161330186462597132998944321113299296281643513297246772817713297231253700132971071120725132962457819290132961596919132961322913511329558291073913293273812813113293267862995613290127781034013289240323014013287723278151328637681565113285138461597213284308332090413283300804254132823062268501328099441573713280176891943013278325813661138211841631541327631385146021327408321552132733259010353132703080325708132682136817442132673875282821326695177201326521889317201326510614887313264722110521326429630266401326327548263001326319832129813262541048132623177014267132622744024006132615979111271326132655293861325929544184031325861531627713257166702174713257145802404713255161644752132532001717263132518626107441325114824396413250233472655013249973162061324821491532132481614620140132472111719937132451074878913244176951427013243301862978313243158692308513242553622242132423889296021324194845412132414436175213240459018750132372985510479132371875610989132333156877201323313109215971323313061088913232296292155813231250320409132292746214512132291163630831132287924223351322875461068213227386918022132261935827382132251675131277132248676118013224347324678132242930223610132242542232311322424296205621321526131193571321514927557513212305123108132121143148171321154481235132113138931891320928283323561320926536244041320922296939413209117705032132082156126442132081178121187132071729828428132042512623182132036295161111320325520169711320249412230513202241492521113199676215501319921261861319910322103113198794843501319611522199913195568233011319520665251031319417257270991319328179299301319316187224991319153792690413191151431618913190246303105913189192401958413188302352555013188296931078713188122102717413186978216151318627107283371318416182123013183718031545131828265122131318252701909213180749920141317739802432113177284981577313176193328233131751135832515131742485810859131736427421131729919222541317222796241741317189382233113171173522460813168320513213413168256831149313167210792781316591223074613163196229173131631325732049131631141221279131621167911843131611493531522131549685225311315319961170751315217332828613151320206621315128496498013151102961403713149271252691314738841597613146241121566113146102961111613143105072814913142825182521314272967692131422947628487131381678398813137905034281313729951317613135300792168813135269371366313133456239101313330455231791313195427202131312242228437131312059011941312916617584131291084296571312862112419013128228827923131281687813914131246778901513123711285621312327016231312314456230221312303881207813120242954957131192404715910131171704697931311427647204401311323900869213112715611320131122483672241311125079308751311064621625513110638017734131092816319876131092717211094131071219612582131061154475211310549542026113103292732202713103008320441310219629200601310214276986013101666955041310147232198213101411621626131011815017373131001460123986130932090229860130931830645571308832357264031308813650983313086264475773130857162211813084305871584913084291811827413084233841082913082633312845130819851639130819472016313081659810362130812847269151308120532494130778907194551307724050257571307719319308161307530960309551307512787962813074828226641307313707138841307285332169913072253451881307124072204001307121573246131306923912204130682066729391306767143043613067231742687813066313674406130662620523836130648928318071306426670255513063104881890013062183854021306130024195681306103230492130601628199130591333812989130582928210041305811864110291305410437129691305396861708913053776923953130511332247181304931680282181304931279149081304864743733130473092824293130471734218472130461873424474130453069386101304326005623613040191279274130391873740721303856313012613037159012789613036120497925130351383916489130331200931232130323961276551303222994692913032206442407113032137667869130312378959841303113792120913030189421534113027320511518213022882314323130222706661911302174771064130182602112465130145388305671301123843271571301110938873813009289647701130085162275321300725543810313007233261720013006352120344130061247593201300527315324141300514575231741300414749360213002766729756130024086252121300237801197613001255025157130012420630648130011715221879129995428136441299665624969129961336426471299092031586412989192081911812989136011248812987575211766129852104834931298417040166101298339248442129832598326738129818046149612978291712045612977600236031297726190295161297725767212031297714372186031297626148294901297574125011297426220144191297245184731129691041340251296815930112661296784693021129677971257311296733440512967180872593612965173312933012964118151660512963272492982912963195116820129621032829141129611306623716129582228517816129575303242171295732759246511295623218181831295427286272381295367971614212953278871670512953129591499312949102903816129471634412956129462742830895129423471267412942185682441212941071729521294077394075129397535217091293761718206129361442798861293514320759112934963759441293430075255821293411780175712933176729903129322814251512931143462512112930193272439512929417993211292919415302981292917539639612929141062480312928203713061129261499017762129243352954512924322362848212923803161871292315924810712921655120890129215873342412921141291198712920275781101112919648025672129191680310947129163262210251291626998953312916151599688129157199338212914566324602129141359017635129127599212311291131858141112909232932415212908317502837712908216651658212908101408129071090228719129065592435612906321842009129043242654761290315718300081290282722111129014552267181290083671462212900593721245128992500228353128991834614101128962807637631289521623172291289250303139412891181897191289041292701289036789773128901433910768128892950725382128883173031714128881813743961288512909266821288475772209212884562081288420648255551288372910977128832559174491288318092679212883178778272128824877115881288230556265771288120673145012880274232059112879464427593128791698914227128791410125378128791115030893128781345519068128773677437612876199553433128746039267211287412351284791287135244478128703274817951287021425310071287017763179211286812687639312867692710831128643026192201286388672704128636653225481286327264220281286227959356412861911224964128609692168671285717861532112856207791233128552515625601128512883325362128501449328911284623499677128452354764651284320017226401284115286554012839596611044128391814531288128384232672612837887215361283622231063112835132412827712834564226281283419322291931283327202295191283232427177001283031712846512829221561898512827231601719128261315427140128255774739128243141317509128231071512712128228669216121282204273060712815840650512814247021934612813409645011281325018320181281315473617012812222141557712810314222826712808208229763128063723239912805600629179128051556121736128032323929751280226265259051280117551630912800172081927112799102161204512798803214212796314127302127943111514800127942309349751279328988238701279309173488127914080281611279026365737712789120702040212788254041370312787231502152312787162713202012786564237791278366527574127836086178521278297058166127821240525015127772716732694127771606323711277715084831127771174828305127762814690911277616906102127733012324985127722679731571127721647535071277211722493312771416417246127692305971631276887502861612768168862748812767194102354212766138103036312763210313912763168118699127622877712363127597764411112758794720831275823137972312757255233116312756284141664612754178502103112752289104511275217720115961275160981585112751326911391912751323081156112750529925777127492878326487127485331147731274714397128712745598014210127451538031331274513954773127447391566212744268863136112742249352495112741241402239012740203022623127392638818381127372414820337127371510824068127357847893127321982255001273165267531273023222315321273021721489127302129710244127301064412678127299425319512728313562221812726384626234127231986363712723150602794112722849423685127221457178231272158032298912721193242851712720303852870812719300492768812717291802396712715282291974812713264744860127132617210231271318752958912712172518371271212916161241271024727810212710212991721312709991218043127091931920418127091808028071127089642253621270826905117051270710290302821270688543484127029883112071270258862300512700300691891212700290411433712700160203100612699274242094512697293377871126953035976261269393087535126932540251191269317593522012693157610089126923896167111269229838301112691323683885126902539783381268929739473212687121531076126867413130712685966132131268521863122341268510546281981268456753180512683325441276912683284146710126831173275441268299259101268218848860612681741797261268039931456912679303791040212679113912778712678674724049126783872207021267819495200411267432272195891267311309616112671120767612668129632519212667271031914112667128691703212665287602163612665284611384612664437130044126641803320934126622479831997126573724106501265376782319912653111329816126526112232411265214431281301265151901386212650160761842312650159872510412648540422489126403791228101263713659118081263632247325351263631033298471263520464107591263514735177221263321829249851263230495289811263112073199971263029585126491262928469153421262925498522612629113918134126277834046126272733419080126272685221950126271140631855126251786223654126242640913153126241249932629126231917932448126223235225340126221493517297126207760166381262039651159812620304151109012620252901590126191827229427126186481289451261731954137881261449101063812614261121213126142103232174126132317211169126121538574511261210245224701261197342583612610278132596012610277932283126102480886401260928939060126082170223105126068565966126055239238612605120552099812602742327601260242166681260224492147126021843319541126003779157761259812324922712595230525009125952260014379125951787428211125949713235891259424191146051259231432526112591732187001259065218790125891333611123125876156551258732825000125872164427143125872049512024125852744470851258426112827012584193791727812584110931971125831104452125823692166125822725470112581239413518125796790327471257926397112431257912294111101257832463006512578269718501257725426100461257625028684125752732112719125751838630743125736137448125731638912973125725291240921257122337158661257112827199681256912574241251256867961154112568322482961312567388328261256717533623712566290497243125661917986681256526520150011256437267684125642330821243125635049106125632112431473125622500930418125613309281571255922900202351255606971621255495321074112554326897346125541179128369125535198366212552229527192125521894317041255018422172731254814720188621254812416226421254653751861612546207293134312545324983075412544489924775125443100117115125430375477112542682013154125422732631110125421837273331254175693870125411913217307125392904214377125372457472312536698124612530317692111312527444450351252573431993125242758518821252413625159271252287781116912522191961323612521144652831712520245141411512519240921766125189990625612516775634412516292972231412515158572532912514151271838212513230435868125131880511628125128959313881251131507235451250918447603112508299925468125081121126575125071368665901250710552181250423558224271250168678211250129814179512500148482760124984591369512497323859795124971267012327124963194010433124961861330584124952954985012495192864411249422130930812493296476230124923331300711249199908188124893209398312489235916735124882011216611248727722193281248725735151511248628940146971248617323817012483918613837124832770185571248318170179211248286722618012480602828799124802714729770124802561522711247926353510124791480817750124787496285021247718931148961247686973157212476299651270312476168391310312475246552586112475176863615124703430358312467219934444124662827411723124632805410945124632277179741246292881418912460338831874124601090528796124595390121191245924690411812458912353212457289292366612457277093225012456134924687124553202614848124523088413766124511649632747124477767410312447608157391244729219741244724861193761244711060311261244424547787612443968222407124433272029239124432063080512443159492948212442140962589012441455222789124412942663312439396023223124392985264612439171613063812438784781941243829908144921243629146211111243529485910124342855942051243420055153181243258162252812432563123411243226176308201243187514596124312722516282124311136018015124261054549471242523752557012422500912507124221173415054124207076111121242036891615612419233723124186949285151241821893184331241799742869912417264832055212417256232179112416323398769124155572940912415155542746212414321422376412412112412855512411996310760124101397354912410132619206124082654082512407297123200412407268182165812405467947912404453230741240414379294261240245762060512401879533421240028077126011240022727510312399143131816612398205692167012396213277961239555748113123953038328647123932221517612389286082797412386146528447123841100237112384108842642012383242852608312377175432027012376269873255212375772496461237520081245741237314510123729803143841237279861206812372154631912612371971717699123711445614092123711191576721236828841322781236810771205651236613555204301236531131167421236311703238012362392619253123612442117547123602606531977123581218419679123569116930712356272242612355732274571235528521554412355271981713212355210252882512353288103101212352707313931235254094687123513515200561235131208318861235066595142123501907222861123471698936212346278041501212346222032987912345626011658123451540254011234489432631123446319271741234327287062123429415264011234229427209101234219453606712342159911602012342106385820123411444228990123404656108701233976442389312339543928514123393196911826123392150243271233843473088812336298983504123344719001233431164249331233230812115721233224060233171233148381757812329175882173812328411517549123281156021497123272874530675123263276229620123263174811134123232562512755123187575157281231227535755123111890910358123072357418761123043129752911230390892746412302273542265312300175523031122992903516783122982789370701229714557360712296854518271122961622223646122942116621645122939205212781229379653090712293428081181229284831068612292326751980812291221151021812291148822285812289213481996122883770159012288115849669122872768610090122863245231812285187083204112282826428762122821570327890122811934813933122810917836812280234101492122793213919168122791860832231122784278726112276324131024122753033624157122742833049341227250927544122724512224441227120763302612266236752140412266182663661226614262283241226422889202961226330975176891226286092708212259167312927212258690417195122582249922195122581141316312258104612205712257815619768122548896659412254127182206412254109701608812253105571184122528126203911225129941922122512782815641224920498219941224823570295851224816761637612247146962640612245259828503122442812032264122437611282831224288091951122421392145011224146062354612239264585938122391141014452122382362922583122361463247661223312875185531223117641378122310284174081223026818277312230261277849122282698316491122274389749112226279242438112226172017729122252690327188122252298521625122232688831523122222032283012221470088931222024124116001221931869117712218688097122182061666861221728433113981221614300676412215116232434012212561896651221187717224122118014713122112623440612209162581822112204231518960122032413220827122025051280761220219892325161220210098944121991850620368121965651326881219631815184812194343125553121941264431219397696948121932664249671219323019137261219232512253701219217849756712191224702281712191154662613612188315623155121882277025124121872285411647121857475284991218515088746912184670212895121836897441512183207641102612182285961198912179204782663212179192192121612179179091175812178197497686121781814738911217732113199741217712070309861217542042735712174810285912174321485531217314070106912173112001315012171902112848121712267228104121705111325821217048316463121702597199141216925868298121682649315344121672659930223121652629624269121652379726506121644227251491216439815851216433191898012164229722767121641394339991216412793497112164104913872121634157166701216230349129371216211897216121216175718592121601145018157121587294278121582552196961215646061230712156113133060012155403017038121532981021147121531904117857121531240018331215121010136441214965831057912149229682802212145268181555121442874935271214088522988912138190321159312136839817521121333058521561121332391611198121328383941121312739114033121311514541041212954210449121267052170371212590892510121252615910056121243698611212314441572121224392611212217833129311212126562245391212111312300571212030225115121212026928245761212019828311461211996811232512119865931223121192009529756121166328110441211623491146121211618853317851211591123021211554777141211521882797312114244242104912113150531446612112298581763112112213991735812111161731703812110240513133812110231743557121100423924121097378183081210931922302101210923495557121085223108791210720696320341210710723318911210331792922212102273971187121021027910955121013867292801209917401333312097100311840112095310132925312095243848753120951191817644120944744498712093313737793120932694514714120921295354641209132328259081209129174223581208911437282011208831400172781208713646202131208620763170312086199967741120861906622661120831191628338120822479128142120813113631034120794955207161207922470744112077517610528120773243523393120772315023517120732567914814120722256311149120713245171681206916427272671206611099321912064740818986120646856127911206321296145291206315528608120611437669331206077571063312060267252903812059865532101205785101616120571792376512056560642412056155865973120555078125631205531487261441205511981284471205458082404912054292941883112054187701051712053294260651205318898284431205314663308371204832231207991204821701237561204810042527120474301391912047321772466212043258927042120431684217990120422155057901204131344212711204112554111120403692913312038550169412035343131076170585943165671203516089981120342457832454120332792427384120322774918727120321504218668120317117322901203157449152120294309298231202719869941112025197602774612023280221829112021137071020212020131052528120181381917762120171000612377120155059168001201458651137912011912869212011223752247112009217021633912007325268306120071652720061120061634827354120033027220666120021983430252120021509319158120011796617341199989212700119993181632723119992861830537119981961318611998158671575111997426215357119971801381971199684017101199631473670011996180832121511994302752754911994177313565119919344278391199129447973811990237203198711990154223212211988102613279119862465187381198530239198451198412486188291198364551770119832682016296119832074514716119831390564441198264502774211981232822099611981146412531311981122991918511978102812506711977639127421197752922445119773085452611975238077771119746011247961197433025051119715023177101197117729861311970265142908211970113021780811968617138611196675254122119653204124248119562743113241119553010217544119551018229079119548447919211954638718781195321314302891195311853317771195217364155461195108851685211950509230517119494838280181194917645108521194716733651911945840512760119413262315461194118342758611938205507191193728131179781193724657177061193723868280101193710906336119362616290151193423330849011931275290951193123742774811930322781386111929741317820119296878225781192820281122181192718374105141192703597621192651729854119263101808611924575769221192445092979911921343813060119212746722604119209824285611192028408138171191812011164911914316462766811914274115339119081102619720119072602113679119068639295171190420008162041190328726283351190198841769411901291752689211901236351902119011708426666119006563230311190031766458611899220503576118971604228988118967490248711896255382521118951875910511895110431525411894491728286118932704214107118932488232065118931983683611189218681192141189217371975611890311639137118901219834571188869761447211887113572486511886584731661118857243957411885024713118845876990911884284431711111884133482428611883275494701188222867949911881284402757811879249172246011879237122122611878300829781187825979147111877153742799011876319502211211876285746590118762078620939118761761831300118747022104141187220811318141187122893906118710790183551187087591735811870579118051186943441036811869300228370118691575225170118689224268681186411601548711863866261361186299012320511862326759408118604278620911860168953101711859241732169311859222543011185911303652411858252311665311858207701439411856324751014611855171519934118551207827840118541407711451118530469433118512209727790118501672264971184919571184811846243992296118451478022757118441913770111844140162272011842589491261184202371315611840235273178811840122501289311838207476982118381210331342118369487964711835224149091183312665937111831275481896211830121911216411829995481911182969221320911829208422795411828241982038511826186967864118252895138421182520302631711823544524278118218932457011821886615326118205701102611820531226841118202356427894118192969810246118188763299941181828319231021181826392774211817624715210118174531103681181578143243111815226702903011815207681354118151854697231181396101758511806288301736011806240581376311805916189001180542521690711805320451638311805280002763811804260371509711799134031116011799116051729117983114122580117981026297901179531174182321179524527134791179513993304101179431900209461179357521154117921098531602117912284254261179117939873711790187781249711786778822611786271612419411786224772196111785286063226111784149672215117836317659117811576786511177926307177551177916365120921177825022486111775189324951117713272331330117711408671481176983292489711767149203139611766186112879911765695624950117648953125141176113091245651176112873061176013640139431175976832276711758126862369811755135124571175222131848111751585518498117513209305531174732672125441174728604282101174727711417811746014294051174522222188311744314221721311744269642767811743804114564117432571227668117422289490461174023968189121174021259314011173814469130561173727115511737247371419211736519959241173632754719911735170312926117351161331856117342028720628117338456261891173111816132771172968093085811729235562288811727133151199811725404628901172512426173671172307762037111722920125371172217257825211721279332415111720282922075911719846622021171924929134811718836291561171821941216791171712715292731171621220813911716115532194117131632031171311933850117129562208261171216137204671171121191588811711133531003117108684150117092664443001170916104580311708229081477611707297572450111705238583216511703131187122117022230414202117021829199151170129304187891169923830370116953221625028116953217543731169520105112411695112922665116943151612560116931771132214116931231317309116905887190451169018766109441168826468165861168450851013311684324881047711682372398511682163301436511682011213752116813035527311116812018923650116785410293841167825433133481167820689242731167711681230701167554964021167511297528116702093527522116692228526843116671716328678116669533802116651234925055116642032115333116623019631311116613474110381166118791509811659474630503116561362220871165572511407411655424130771116553254419740116531710342581165281951963511650252206691165010660111111649325793265411649217872770711648131471395711646246912597811645648113881164523673676611645133841867311643298067771116428896599111642132680281164127090527811639246092907511637366992591163716361237411636822724943116365252990811635219872121311634219441453211633301226663116332172168351163311567898411633105012120111631333214123116301823621909116282229014670116262731112439116261557313441162519598118581162317496292411162219298561116221684149721162211537618116194443171321161854742441011614171233841116121992203491161215904316651160924322158211160823292108411607722323841160614988297531160614781260301160597301220811605174961287811605124961464911604263694831160418110266851160410692844411603270751572411603067382211602260843166411600258131016811595296672582711595224611810511593241361289811589260751479311589150709349115891258798131158274111363111582264441856411582222063237011582183185161158032608797911580222988208115790230091115782738514315115782200426453115773922131461157730321595311576307332197011576298225053115762643420511157543011782115751554689871157429564185041157220665182061157126433111281156854940351156826468295261156817587189641156817144217191156813043201611156727351299451156650076625115662796956411156519518752115651926362991156411966921011563306772241311562240353201156218032118981156045023350115602347019229115601118347361155953761844211558203428778115572584831756115572091811801115571333531263115567127042115563788400115563080282141155225335225251155212402264441155130882872311551279001253611551274203010711550252639953115501322744211549234822298115451336528391115432181325094115429778145421154219861206611154213350186111154114392233901154114206555115398627494111539218507358115372320023356115362162658531153620981283591153590427284115342211811092115331877423403115329132206811529700623047115282403538691152629040341111525246229991152444211704711523113291559011522972927764115211790711864115183431300661151827153103241151816370148761151729325232221151724696171261151616317112801151432621862711514175141164611512224742257411512208632111512125752556811511894231543115111559118229115111311816195115103060364641151024594212681151017475188621150825022228481150628447555011505840629286115053120129144115052505518499115043977527115008023179381150027067194371150018408108251150014239488011499833958891149930799107961149829460349311498254311706911496309413148911496274322401211495346328008114951575017779114941650116222114932019311648114931658930170114917019342711487267871990611485132916014114828453145441148273623107114822913832611114813000724781114782331758871147812761719711477147012458611476189961159611475257971588911474164121714811474122051131811472260631099211471279421287411470238129229114698506121031146619509240621146586819794114641995315824114641674434111463286561107311463274182635114626092505114625739213011146256692982511462213822368711459175172275211457132995306114566032805611455481255581145525522430311454109871685011453060336241145278088820114523180810617114521375864901145032254211731145025723201681144766811179711446928918510114458001464011445533857431144521606133681144512675174181144321006232711443178225806114427814210881144154482588711441308933050711438234011537114353306110621143528180111191143330497301491143325255229701143282523239411432393624791143114999138521143047731189114277569132561142513520217511424297032722911424135492583114233863684114227081212521142269022511411421735477221142118634840114191437623987114172124685301141712753991141654407712114152938138951141410951980911413322662537211413229883090211412285617054114118672308581141129699303911411101992486211409275467991140580742296611404305042337211404292092881911404113051019511402292411781611401918232576114014524119571140023597384111399193841791411397304203042211397183283217111395665018619113956266101921139519447286741139424021981911393512279411392739756961139234611438011388188172827911387299342869911386302020869113862683878981138523696245951138465311693411382418318941138210751476011378233702467111378115259398113775416259111374313481428511373259261835211372736716687113723202554981137018131218121136931895207851136832250664411368100099841136760899396113665461703311365286961509311364263072021111364250171662113622023819944113621549948971135932762104791135825719982011357322884640113566201574113564591286111135626242281911135560525878113552816762011355117271117711354199533954113540546101135390623151135215095264181135025542673211350110621016113491368121907113482478013351113481920615902113481192327062113465863155011345627314337113452942628869113451359253781134330038581511342244302786011342152006054113413184611217113412265430108113411040427498113402719192791133991942809911339363528877113373951255111337203845403113361121191341133532216902113352042624668113342906842601133347726441133310042410111331897829511331381016992113312462411422113302856928001113296077586811327662824647113272951914598113271968217158113271669039941132710128226241132532002166951132528030230411132525932211132389522241132331815144891132311111189871132226261165801132210461390511321644718271113213008515911319196022691011318188942966511317726715021131726555307441131628024384113162647196051131620428149601131530161476311315148833261911313299291394311312134601861011311863932604113091769546631130823146282891130818663630511307356028704113052839418713113051773227740113031121387311130132766805611301203352217411301147871240811300627565621129983603023411297271252348311295182656393112934331207051129283820088112925251449811292392940511290711823273112893035326304112881421921011285780032476112842657015844112841609529639112822955324048112812861306281127815191171831127729883193031127720340202941127479450901127430902264112742180830605112732013863321127230802200521127140361931611270689918271112701501610143112684906279271126819305251011126798294226112672257330283112671620010892112667279230511126528372202471126423142192011126345462430611262172191306911260293881774511260234335939112588390177421125831281358511257567019381125640403108911255294552316211253550966551125270483755112520332187521125148851450711251146031164411251118882735911249178802188112491539302641124734162198411245110646768112437653313701124326183183611242256827264112403159534171124011780151291123984691189811236582925266112363508807111236218864305112344504120981123411565176401123248282213111232116221644112319569457112315094168391123022955189211230047154521122927912101161122920130292851122822732292031122810829170671122720072249631122716111393112259551972911224286513458112241466184521122283913659112215743117371122067711131121944033871121930498671121929823261311219295413049811218290856936112182299892461121820209298691121714348287861121624256131311121620184100041121423652321551121313829288501121263021226711212301776180112122648226704112109454303771120929618774911208177775787112055932197761120551559161120514756214771120275431403112022637330565112021051236811201224479434112002826528559111991252110630111961996550021119529614221211195258961105711193316913108611193195282574711192540470341119118081201011118623745326721118416141182511182900364391118286542295211182343718489111816031204951118125024332911181159916667111811441527146111803141209751117970271596811179312022571711179224216911179144912084711178164012781611177345114714111771484365651117630383257711175263632228111744842252541117327601218111172182173116411171671545301117116167723611171130150981116928602124981116583719166111632173632276111627419175311116265291092011162286321254811162197051534811162195042331111593164419183111589555267111571481713127111554750295471115529328784011155190342706611154596023462111539618116851115321715868611152125761962111151208802146111472089325542111462493821481114526491380311145225151417711143184072038311142856123466111428091324681114168772173611141553710218111411193026123111403962296111402922755541113961411881111389434128551113819622122411138147617298111371237428492111352011131317111342301362561113140741554311131305813386111294689435111267781971112436732052811121925167841112064933227611117710878321111619572276161111328496858411112393911179111107196528311106506722306111053155417590111032687178971110317035245721110220420254561110090641528211094276591984011094266472212511093104923222211092240867211092216451373411091193401144411089259518071108888551420911088209661141411087653119034110854306111721108520085121681108515096339411084253483102511084192818153110831983323110827145717411082145308189110813233625972110802924421988110791868216351110782895132189110761039026430110754396173021107515355194311107378902713711072734212523110723096680811072224791708111070312621071011069178651433711068256981332411067560522856110671578834311066818913797110661021015157110660323136611065410917849110645168108331106393963031811062523610525110602207115715110595139143511059313832799711058224061520311058114831632511057613824255110548883181661105322167160571105318202829611051247129089110510450269441104923224116110491040785231104618601807911046153019903110457678443511045109892434311045103208331110431904223164110431840526353110416731181311104115672082011040694432678110402192319778110392989714149110392060519475110391776311721103375083247110332048618734110331387811890110322684621611027148876544110262951123021102188921453811021277071731211021192331076511020323732523110195372426110194611144110181020929987110171857225467110153258947781101417144466111013575193921101316343274861101313621317251101217764258501101124921220721101012413309371100817933100901100630694188701100528129314221100492621349110041595378111100415669149261100324952287771100317772926411001301822434011001123152366710998776238121099831167731099739654701109972807028130109962122317015109953014271811099522308224061099512544300791099312243210510991618532488109912248761221098822846331610986196047033109859192142109851760327374109851037926301098434732742010979404061761097930037169911097921925238691097920646282210978322219571097822952569810975289959291109746358970110974294591412210974188928735109736513219661097322722502310973161711806710970241872365810969239846548109692227811841096916411174411096830657115681096824088656109662538426587109661517516245109651557246921096511251620110963280376281096310132325511096232643148011096214042272241096129052220610961240742070109601434220899109601432910674109598310384010959297551439910959181218085109591711013905109591330186611095824311652810956241252535110954265142611109512474314217109511956893081094916261878010949160031162410948324891242610947279161076109471067426413109443912551810941178461187210940234491684109383707291171093820407371810937189271105310936124012745210935919150191093425181241810934142333055810933321402109410933312294176109332552410820109332019130366109329924611310931913526005109312547015269109311300015388109311173224609109309003179591093030622311061093028276242511092924247156671092822055637710928161299680109277582247201092760721694610926316423072109261694021663109252368917822109222941126669109214176121801092090811188810920134826467109192246531390109172509194891091700616340109159081170131091546752845109151931230988109151620518169109138291713210913565339641091306381330210912168129668109121501413632109112108016320109111205126711090930228940110907316802089810907176923743109062923917881109062260529423109061878439321090514010290091090398841563110903089273210902168912364710902131412331110901314361693210901283962912810899516423317108992962659061089927905838410898300342264610898130318921089712519137621089629524296471089562041186410895106712852108933014927041089278591026510892283226329108921369417596108901611428172108896430555010888303705685108882201210933108882157815141108882068319198108880627129108861506623698108853503319621088411999330510883400923290108812742329636108812667215102108802741109371088026722461910879696932399108792274520670108771407723189108762356526061108754750719610874229524794108738854301111087115313265891086832444942510868125724288108677528129710867257369784108672256780071086710244832910864263411863110863275922515610862252522167108621907519061086162793070108611016127941086049683609108592958310462108581643615860108573199218711085731591216108542665710761108530414245108521642433001085213202947910851784164561085093847320108469469297591084555312495108451652330482108443273415130108442320420278108441843995031084221031387410841875616439108411909323781108411533298541084026719216081084023015326331083991002524108385313060710838293042527108373167523763108341635461810832277891173510831592170901083125287218771083114931193771083101672889010830358550010830278849461083018267309201083010477305691082914610247010829143811179110828770672161082830749208441082826961453210827307744434108271401016152108268515647510823270141700108232694125181082322382760210821250832701410820585526013108191802814738108181833217186108181810564631081814286371810814170832244110813181082431210812969580611081064292334410810422091711080983312688410809289537775108091809110439108081092286351080524452307981080447701837410804467010878108038650246381080319210201131080227188152101080031655107371079921062131079625762116681079432282227710790120552317410789145181768510787325391807107864802436010786136393116310785322014740107833063316210782631423050107802853079091078011586810780115232941077927487137381077716591278521077522428102510775196932583010775168711452710774161732282910773124921910771189821433010769140524983107691386241671076689172329010766836997761076675021621710766313042308510766277571572410766127221778610765317277261107652696629980107642527182561076420551266541076301265231076228382743410760252541022010759981603010758221262968410756151443056710756146801966610755116851243110753118841528610751243522972810750608516332107502959118113107502541894651075022355119591075015488179801074932524122531074814993232081074430447238341074428424777410743257212962110743154981907510742266847790107422173930420107417830318301074121952309171074015691251561073919733137601073825013288691073630392293151073620502904010735839719217107354360720310734101433112210733989266031073330380556110732125121591073161242260010729279211887710729272321195510726304062907107242462921701107228788409610722507715206107224617262401072234352666410722198142810010722024723955107216689241610721636135961072013611192021071870044898107179065288891071731062661071729462218031071431682394107133081224273107131803823920107122407027281071212060110431071028197192541070920708166711070855491411810706393187701070635781877610706277372422710701863016149106971975317911069616997255251069611701222101069560472287310695510267971069522696039106932349611867106912894416699106902053915124106892451528158106891781924043106887512702910687315322958210687127226822106863216912278106861369010524106851436777210682318842590810682108021875310681715923260106812709828762106812487104971067918950263201067915526214571067913064275321067840302196810678311028320106782154147431067717714164921067424415325281067314834195201067223182675010669895422631106696312533010669303901564510669237546416106668962213910666268261854610665154852876010663850331619106630075290610662135012655106612135423696106611526611891106607666290321065937966981065844182536710658290327521065724171860510657136211260810656304048476106558313243761065561001431106552593611419106543167432609106532652322171065245062286010652233252891065129012243710651241710635106511505766310649300845481064842821879910646499291701064613156184721064519345216831064317421979106422953726197106421914678621064078582073106402593199361064023680170510638486154761063845831270110638313936825106381968927750106353349322751063232131214210631183626923106301313118421062914999309461062843781981410628192212893410627663419235106238465215710622812250301062252425550106221880132402106221201622001062049482855810620231182304610619927624748106181230997081061723060460810616275754980106143104123038106142462042851061316387314111061311251324561061310124189941061169611655310610250305520106091207256651060830905193911060789620590106072572415410607240583102210604274832433210604227321573710602243237917106021823541571060165812912310599315352558410597321292632210596236555660105959821168611059420053227921059410001210910593184331865110591308816268105902552958711058924739403710588249931714310587384223670105853432539910585109029831058429366450910584159876210581987712281105793185614575105783097520812105782999532276105781781739871057628952633410575159382134410573276969139105712203631681105711172491631057029817225341057013225260921056720553147391056629161140110566101777215105622579216294105613049231456105611822223821105594497513510559272941040105572388171131055722778152291055610088261221055278011792910552162352382410552134743456105513091778131055115390172211054519311862105442704158701054314256105791054261741701410542296312648105412184892481054031517343610540253261419910538193232227110536231773810533257453359105331318862061053219074156021052928142877110528111558377105273247023615105263281260411052613869299691052111051812710520245841811110519224721933910516183918788105152409585611051466575516105123885169071051220806771051119990114001051022711306710507847818222105072291016530105071487057751050685563269310505605173641050529672682410505287418010503307942212110503143235431105031032183281050228916208251050211304312831050032100173231050024586358105001445215898104992939616424104991310898451049836481798910498235881345410497196601843610496742827363104952631137311049417214172551049413224206941049310488593104925771003810492101782002510491316766536104901665793881048865441444810488234486159104871060269941048710279768104832194018210104831047365451048257622921310482498522741048231353324510481466257791048127208156351048063491043010479666719150104796099247491047827041190391047816619154104781336029194104781012089210476307551203010476296522238610473509519497104732939010974104732348124831047258015032104719163185211047128820230881047036992396210470217531470110469196471270410467354261111046718136175141046687867910104651382868110459140296684104591174327485104585873169031045776726528104572375229777104571478620554104523416215961045132343694610449981743081044525845613110444283195891044219766311091044121409670110440319701885310439161841699010437280017718104362997232321104362133821414104331973195610433090428718104321632860861043123707425810430270114941104295782409610426325302110510424909718954104221725730091104212677112600104203253447961042013360321141041931375477104191695923473104186973703610416287953180910414983112181041412370431910413181458717104122008374631041180091409510409980127338104078853307610407625710541104072481311541040719769621104051997258381040513480257091040492723214104041368819410104032109670010403085777811040247025163104023110217291104021497162251040212171274461040181431899310399308173092110396133553075710395924916333103953209119351039521288644910395115441307610394115891836710392246481219110392102251533510391195232741310391127391995810391019430958103875452891038689025315103859219240571038372943005410382712510939103823212326591038199601147010380738714523103792770882531037723576228231037632275323110376265189786103741635824115103712227219803103701973132036103683128624882103681217318998103672214082511036626466664103661705940421036527981622610362366462791036233466689103604340751310360123602735910359786618051035750271290410357111661009810355188001333110355130258871035426341788210354231842642710354162462140710354128624701035205432103910351956217803103502954232701034730222279781034630575278111034589703154610343433545391034343113155610341632473261034030214120511033910660316681033848855110103375709253421033716626188141033515264304831033512009194371033413752082610333205412662103331820814079103325707362810332143633228310331225453677103307722625103294529173621032825079933103275982730110327490588311032612801625910325143101221032450823401103242852514805103231619534310323119059910103226487227491032230537192501032136262616710320474910767103172488014290103150921553610313033526944103052804252651030480542909110302125661125510301369434810299143571235910298862852071029814961394310298129421530810296157122103810295207052249310294265301623110293730419323102928965389110292173295440102919910138981029024367265891028912949309631028857662687410288323831550210286722245261028392291202310283326642946210283160730110283131717219102802986825082102802197032457102792925231904102771200922356102732576913143102731050330455102727404198611027156022992310269171682656210269162388714102671165157921026620419780102651071239471026461502662510263275727110263151832005010262848113776102617542104671026119152354210260247402987110258706815236102576918290061025715334394510257137622132710256315099479102558188171710255637116078102544917995102542236622250102523151726079102522064717268102503083257691024934161187610249155423203210247211531920410247105751277710246770219711024627561136171024425310261171024416868120731024385092792810243217513882102431350214682102411842114976102404506666102402444163041023917517140721023729036973510237201823534102332085412673102331958250771023315260822410233055126491022729769338210227119191563810226398119035102261018624567102257803082410225641224710225266619459102251264723031102241883411541102221229132911022161772006210220166803139810220147721499210218462136991021593772598210215325445974102152868325363102145342119810214105551934910212224741362110212200661583210211297711327210209315324841020811488618710205171481546810203282692500102030480131201020242481503810201300958832102002112719652101991701727248101991473017257101991273862841019859811123410198221212909101958069937910194844274251019269477939101915010213671019031211834110190103802417610190100966569101892510729548101892361622704101885028651610188327511360410187931114092101861442521998101856860355310182741824245101822540426230101813437265621018112154300601017735665501017716062467101752286920178101747945131241017422685399810172251031852710172134823229101712370221680101712172224441017021965218371016996301251910169192761916510168683943271016816890226410168156582139210165271188053101641848287671016256541778010162316387461016225919167641016214860132071016114616085101588625243901015323574201591015113272028710150218151317510148641095771014711451939410146219452225210146141122326510142183902053810141307512010110140229674385101399524213741013727340305891013663152921013511990231271013425901263971013415072301961013225349864910132146772624410130264312801410127832237161012715659191012712692107910126130421291010125535720782101252878420676101252170612226101251495232021012218943250711012198322894101211834775610121166946451011641301402510111581268161011123158243961010850071731010108209443268810106324292312410103113141937310102435295621010039081589610100247682168710100141861453310097906422531009768324496100962329188821009616395910810094842208710094289462009510094212620425100932821284681009288978610091618824983100893098112411008925341756710088746366110088184454448100872700716897100852260890100851226229834100821601233561008117919423110078277752184010074475236611007419340165010073186531384100719101221371007015419655510069113763053410067802102251006716799315921006653932951510066175213160310065762384841006529531719610065216842468210064581984310064169433224110064146403206810064135002644810061390416831006121521772710061113918219100582297681281005722621314910053214897136100531882418260100521152410423100511815915558100506171275071005021259688110049248876693100492222029816100491324715187100463016528317100452730123058100442195330261100431942372281004227717853100422252108371003823785137701003822613136701003519273168310033796117146100322474877100312165122631003119058125431003072410845100299081152610029195721125100279465171801002764931101510025289862568910024316451699100241890424811002365729982100209564354810020314131344210019328133061001839167291001827421650100171073714841100161123810925100153099815660100142877617960100141264314121001041332643210009117731583110008931710635100084977128511000811473106041000774983092410007248361038210006307968799100061567270910005113281098610004134861563510003291552633410003207832333210003170111271000015781594200000