1887682833681075165050357618125314072366624732348854899661474906313640212795920816205262409800441816848017600692212849080960015296970781442511733918916913024554142210465616880282074776078424948160216778467486794161768611006923944611468217886202479241441034338790936858547177415449584798132911005790545262913567516096809000201780835352553919761460051962083151244770936337304440556642841267381868862496236671736301596712441527413763386054127867026698932095836202531237659446258927711020514234488612378323948830512715867280639500738560965749800172758487441401474331437902992000276114869009157681824524714014042654040941967625708161643045559714128222318071652578633048593475887710941859025272146440290547126897892087989407711365385449252842522830529570242378916561486760923106269117131379171827965632734145861773597725642824621184468972459637086759223406878097534321676540348013946387974873626059227971906707102730538926388994916604895476287460514316045945346017597144763410562003608292737448207012599830997197568498771426246047296180280900766506373515240845665383302492468128766127741836392820260410757569446058833016655938965006182838773389262564139722629220848121999237163410833805078091085897997820646988071352969769967447146838992691599634931917804649364957857116276130633724505069006401186908535259212695055662562203322012975590422781297853019330772983180630773942171857268202270469887940028312520715432352670627605300402234596568101347605777438979019232682338248482153720563360261295563707521460785057003440476696143513276412480986796030188857461723140782020029798301410295042224538616819921890731872902416639093954545547626790888178310083992388743397060749728535477476875004988218025099072835473220808419817749641140148331879291272124005870844959063896084903131353864442436922838228927318721866242697840533716638420162934120845115809952223997730856059561656167747643866265949924630586742368033807284810414317870829503730544824653034185617394487337701755148603917325987626164898678754278038420162660322039529386261698491344350626769973926865491650400644180242918816209885325590540605023147338220950848471930994055568872616449434518356549649144601488740495348890736390354269739888762802347126290830875302376365131412646469089162159799027653277419684321230156462442445111548380258681815830577721066588632460596464546129177950156704668815974510074687694489495175532424911372379847517066905523076328710947285179921737338880188810691686405922925098821619738610789958599092384894677848822694662658508417646135503288161330796961812664429032692011828951031637819175517421780082174970073146927845397149217326533930038452045829468173005737381784797533838321267175485058897966345108582315441159607213093880424945894126660886857578988266219713392714371369944702590326048929358630168204208779928961665468304267373103524491384280347994834261099409861201349768703592976402602553539759883860640999297948209464717683662958912912931736656593074833199395196497691864430199497971281220730489248435988907957645773905989927942785284174969634112502100002897076694011508572983243454564854561221632893740949263608165540906129293582856850787158964528628231260519704390468274070432394127244395265705851779177121450872607046663244720998916628774851121835592827309499280853630116238412061254994933952038301413146988184310719212608811652894208807626167149160321212487667188978740357171087120341699356175962736872580799411446605541258755039726975054995040710375591366969831539034534139110257707844531425589592945369371306176861314467915865169706733974591288310856658235751722396793142370112207862796271444684353667905016246033303930174542978244944556171884215518526071369183688133850939460911773481517436894618993097933025102541792446025587376685378671291456525869472020768426964831951106759345393596672415111694890900676500149499156308829988468458416077181130046776569457303159001608426530634312968804644950850920863526580911117008463968944946023375034035157958894191086480183411024427042737527036135783891143345798592866628321035613993118443022871167729562776237626038882195383499271228405028891595384694132482309532382995874924562922345683824788016215793296642945179738020508300022501920585879497361273223164266426628677165104841968291617034777439307123633118214133205018596230271983257679500914345856705339457555971648698690134620290834870535123288147917021593523606094047559988793594297346709069779173839827697946476211891798765783066049819504251973062241028596803507489449865952369583786545235586334279265751098046415079693251885313239815014828460068928343432063386277779151007104907832185481720447125140340161551244452091173218030554689795851975421721848270073139607577162369902075269197195518478236952189189397813822542103951874560888796625417800165375770958415493363936587368374812389485326865292596154980718209448396828515034384009498570490344173766617120669160110967907041559935507220386393314401102916062056616348477017458899909100706012673207145956691580471391472173430761586172842990038277424731075151319926200400513331183657855371402305036177138572680056732269300641254872685432701806480606647612737124383937208399037098763524707519058341172901814524400752123984980725842033125688028193406795293266850154476934846655006676195522217222660364749315915682202855086708075101586527019577807093691272080591759401103161841650910137446495571511732048123288380404248888345506679973786014953993317196931581159046425037422822153973577726842846489082735027232630088860455639378387551063797050169945090553591429185392761477593488097043402645664193460517266615414229569834490810157109935606148670627610050141256977871431156923986648754768884582379413628221619384169536325783011963235158229258764728361949341438761377109135002584310404438582358586206110610968300451895753999748368089051147078113202877267141977886781905703515845123959673761549128318988230724337623690966121044876664598570014877136132845059447014564321422800613237512018062873229652804195156570232533340627959925106625130888811075409462267269770332956034816023674621847663641775960673055768125597772538802070577634040617430099766010801108265038432594248347223924915135952565319669193928641034535049644990431408318610585689032647502091144384116987046514428782543742867395817415210861313192346711908647228969591588619038263844035809631528488636408401228512025606579722670434074814947709011672239201569512910402806687588746979900157018300340531200959834432422447149989914078208394287620963107922820822220150080418280377788480763845178193292243161108977725892187695414844068474594482264844062832374858264002562011247622038311559935752262519710844507810742907890476603954826900461252227517207355015310803404551676908750481216728250330680035103803678727848511446470448552173454711693388239373021066921238673055224563387325727934536660528823346802240973455149593269211094439029244242687201161487418618052954989403662383509658399250066262760701068307657513353389385012298268375106861623069397236838067983821331928191597427150734640349721865967876926678484468922967839025521309092669408855658944638640193323323690531427992897260125244577810279233475175355081193617075857884717055662297796805267074650349710525091321190781318016572606588531041273383452593494052212871725839957285621880120636857144217790796424087266378441027831363043122774282009647581793487614029341618046357212970040498269662506768573208930127231381108174425092959270173196829057278095438047233161279588271186904703346150974290328377194212912392727333430850892720440971163402784518851947937209243331458708077528404698392012047471526306204956807266196307602340402132853259839555275815676801851165441776669615242733391081177383838906572544068342771880097736119000668822228163341539538311033034101993225132476539493334548941362461783397535298248571035820056202371710564093917775978461566297534605662172563341849795842561214785342559706141225204799056188656291457438042175795275170898664383438171986194674291709788654083427344532152529048119098953462814548092218570574396306192549730285185316174221761491011365249367876318026458625864965002626552340081894539301887384994257813147246335799720819657146562353678493036615588570435240807043401250564225883740784319400104555671737150638002181512552673028696769574538449657819064322735504280238782536491272189622995456874997866029779897115187377912509909786498366356077685413104365355234973719345052710351772108734268655037072577859895062282156583359952750917793682198427732390725621997988758027346288952291263835925623599302146774660889916399992454814755960637103182173713703949420805401465275584802273643948880870411667185744234452816110999086138295014599012468649361450369072801403862763910884720866902900190331627894296275657744445735745888941720150878343128562036610199083156271359193505352665236355264680207443352712258415048683219777708442788059284126620499820898669514792698526938591641533613589430910179922625485649802174422475566584587749297852732059401649205954312086015791975271111386206802233542144713910438659788319099222677891273665718574552384294116474163381647219077522861280701349865293368180097749035154124369356876213122131816819435848385310908629942155346028971556394825926799783908433136933199728111714383362652596819403822795617799238564829078650601083362924603626482865762638609707034326796159807183650924884765579902581207187896252354733100667568726946765544170405888299266022804508284739157108796515542145326876795178184905784345999214756334004521449930408842332353828461961324468451402386629865147094181313750595746974546523047846265306781741315913377030435129846387065130362963301104148660655383080603740936376487902779744273682653927011758396187464339766125381683395460390019755298164877315574813469499591476995802380021679061407356306443132713941054211218368093733387791963268473895026853752036464243330767514994406192468771318832276352013503054774910898039813141776087438843310712791505587901078787420315647718098258717407615483136268832504403229100940602250674300183444884217127212283509567907016360758279092814042493350150852598673491400782196435871886972221088438588667886520108296994117216169028994682235346176765276908525527316875108733340027545245097649381078589462707809654188787452481598457403683474339847616462700860716556924361704789551297478565536281884310480958903023861617171890988419467452353755131203910199197939885621866231755975277287296090978541638252427915533261091790798642805630873574128455554724804778959512600957479315871343724191096058328314161192689714187507717422254196513722081062481141913655981491052434733830078193384750349588694937301784892602940426550409368762502671160331526678323373300287437605721864917584317754194212956627100286688437878644064585870543353381959893580445852200898942288517712792040184770901080875103954636905110128605606704882392698151851363476246806486965205464380465601949573254902509129676115261722926984310701061074042663189362565254695676772980484650069905251887246813491690738194290290726904729411851920093912342362444144617668744847847238562709053468929685560054748461318698593940733702368364748694726585445839813283429356731690073732386860852171523559233392400774012708783001163518442771011199590760649950066318262449641861711898953858855597323577532719890070875150946496229586330602591699676192296845568416050110360529587207426110766608213234361424472103855576543203035368895037475795081538292513916452342956694264872926855107409155489785344871258551236747597412951929464851087832956531290031327420467852060844130794823826059702749435741725239219791084799760945888363535069091960079448415409998834188784794880997842783334223117635404983362461255423867299601364814203649886901554930669630766157688952930531787170237100177883551346640703872690614424441220585720485465843002173526971094153625764210805216424876564673188451038469549161813290957314723668772518572599671901096737200577444606464713781881990664395452296667303885164242342408948493612288029408914449784934829668920258150090992347315709281157040066871981071215047627546651455552140338546678273935789354590056360394258925743046515550900015652681117909573988640195296297852021232933891289044063683212098300434727016235249655024345655586639011723447061927539064539188742653836170877079733630193002977132515133211919992256265675873686948451883075064380917575062421015961159466063491582230746088190787803859455704953286261869789858538923879350845164790976955830694586873808883400889876562046115564251532421762840737494609210866392556898975150223973333264341070235815613228251548881218742840973555126449364428217439303598696051564119045488319163094354224829086507402950892709108544076469367017868064143324234198596232178880667573987329753262022646954742819566864697672998201575261645936982579048706905835983519673177865013928899599083682933990317094606008898748646014218507549348808409288162937538050800664509389220159065269912828818975425364396412319935837129910808350997437078319203797419411592337437170887718649019861802951195938655744416380382378459645864357223897248886825152997962548974707087702690282898098884148936416124905164292472381170584488129842342958378625964071130588401486620916753526112520734792532781344435011473194357420800164432576010512659069504247237343797944655606972878839254987612081776141602390588461396884655864032756827167116962002681146733137312005711432029339507711485708449649111264576400360141380851795669681818275916953077105280350927995177994496182499119738874876666173963412021370291265143520286804200542855082011248852115234814245399675173484619494615138520054694552070419980820291815777872341706014056944937066147614402637717418913518901717322194634907688320211572473644487607061461239172194351608063401261978025248156375701871777028145342254779684222893980158850775210536913882305594982008894862483537138526857316705005894381520873597449124956637238727255408496755599411917570394176901442381966516468659417447855456690939036788434200241986772227897980993562406836950059637859648347336793933526212328291087941876510180484837568891621729424601362381439813579458620793645015242570613505853709661731095506121378330791386666523796896446169297131200338005767037616261977807510731775675141944606333520201062036213780294488959582834965172375007375405944739798982488095233833571111606089959857006805428802269370531149145021821511064945161009153277181793886937143538044255161588207477866469274527332857373522352190876422440802636822669012357566644397632622986578745746971638303832596768957614598063651825755049298875670332881787153346812416346223791834023291017442033375919642012106518838030874078405907961263574135028931919426267868655781139553066959150093629415371850073929335930846946218259787962969262206799873477008924993690986913133803781038838630120499487179592873151265149012025164112920870068383519024025237753165457534541479730733136660445862308062516654637710124791835412643559711386740421534013196748013368239367042085248640960644445871704731445744268122129283638215486859004588015828140069332154793389380749640233047144187403872211250225190213528242651491789000125158777799151975140280458359472097965745650848462591537373310529316880355430277526670418749792733312457000027780448599364344517859194805807685630489416840392087997487968737300458300094024233022771577351081127067076578901304682730465674887584291849749870238501558026505253673767632610643504750562212737105481255517581832307364585869679128353805553747978704163650617620465855310784482253779144106979915501032110659885252176687374276836940151227115631958527354882465150276398110684770632368846193708736365276245722785912807516887750387915639102370972263914603478417208762783911019235537097334285006982151553654588142842586014515104420575930389203488637238799310762829312451371720694327297239216498330675813095054496216030961501444411093392808358070674770830975426526956246071889857225308306949501107822420618603325856797482342562245597558318651237817556790047371821677508474698389145724839666759916677515975713728301784651326228986737235816289029198563706338237801634116834747756613084627550341404926509083769420829292957081132534285194570412595514710419622986405924381433693144616667530829460962491534903227789345199171127113453517908230008932552460572393739180881704715608964110168408771790788958420981877298315255033102181986829817095715656172775196405503196087887469924641819438179639059667446192194558740693401374379245090619829374159218568605133068667638610558073995751621235542308072933999896295761933156701941859042442321940527621936607701886880124367552604377460121892980569671118863024561217320500708865723944721033590621463414494370943247710823273235482724273711806130901993320754392565993364544167168368700875204561161497852369086912882879490956163213098324333934113300350446163484794537961354776116242386002341811264960096573194828057767092173300796706454773165061737547764195164845481868275771955619396805422807456542479956142713752333875166812466714619323594969193581098789936607068901250757766015225093086646453343479544211923445955354929664008346391723915250855381783650150095634716107733719357426891807917470951661434716741494184375066813809066200781356406914351867448829725346314559109791226303157030903548189535555524747488793407497752560523189631116854734074824609866928336200312007570088461921818400334055196397155254001194385235269774284913629245656775104627254131669051423448913581101564390813080085138573464722832099539521929927531398735117401701764626729611475514487908749910086558220192240801250050924816824579492402737818043048131623215762702052336018912227131293524000371586819420312544357487730240387446127079100365790538212247275010632349350497966010842166893405469703748887584286370587277627274154428307165683221389107869697002555386192751183221132928988698943482092368477799913105004863668006316542480160051472973450826637268823172289294432739074057720457340757986806340523421937609744488554242933568510963066826801249104629912378120127423115796821841213105332255377020331911503687709129763099626328462653713181962875851250112855701967349657853131626842854139700806630606391715977552848251222213986047686868455211496321554786175880558244080611861493549028735224279103602674850990355257031653181001362639014013148674488654062163200563465876291158597452858175406452899487116222181927103011661217597545257989197390100512679890540204829528538377387439606586641661054016969797435279139898462529635046733613456983997977814076040555229690935633023720502909614769291150143706019481541742703170109214329700411350504688959376386318741611652897848216102049778309284355421700584305926120198939957392934015063504106728838731637466750151668018428000994768931677243269435237189980089556340417242568412045754753751707442493117474216420095460746927661800222069491043143690774376033223256552492506911271258786399712047692942192883911037915545517821591895005394785889680135797470539718319848317806864888457195158139061056988678265754590219835649655751350217144619168190173648503179314336140512428338356620470898720263878920162096832494532521494410897780706006789939383545784136216095065775444448376731200723355054551138773117055629749822167663129232019431136708683666872648951885186039153823781157734909804992501204220512881996760260141640800021544595883983659686791856946058113573151450716784453549144749660927233488469037583838842226182284008356192106854247022255963191692428148358944369172497994213473726530375260707724964653184521804468505022103875261637955308589035885498708196612886671112961974463013883703365653311432739826363664952323669125457600873865592859254586853865311082160456005281116565250537179287594539139768979636151115922850609063987963851814530652145330491308796493788860313388603147186316296836214000132470330744462104723417038548552809843917464774257599302157012293187479216693119978809115816136554202224893214102092904596200856386619098420930130430899510596134895705648631755799888730880403882452027981066636614597576617905251563352468131793152910671372997154480726540719035336394431721536985957602673686210849292475529127622483651029741726656993546468120479835937911184759359703349262319293797498606082927997232259580510890649409107309199822058907058047111051072812822714029910626531342448656937110491803895968511645990765359170119300689275037101791867403310332362331359862682751948689010044380624759636994279463332233248686748113187787105152586700134902677498817695306922180751764264522272153823463156364440516042595822037429775191737272234838188760974726794313497215438922741518606088758189538259703695879031892400275194048973954214801804984134261871286073479990380460959373799977195703150040188224229256536523243814139134252075407422185748072454877781216413963606925590307642029808929671967338020679610374687667460427624367169127188126685342198141904340057070789601360895115039120654760468547417644734245758771836303459204955720294619294161254985221242647229349710630147262750382407672404449310484408125301339680458699143085124664486917151029164924949257779236674376092194111614108033710734392820539749260422832646027190530823876751687620804178780500664646024699868620611139017168124598291660646409571695596303116575495561525276224484943673985533083539792319041580984241639193501865734966970029017532696615065242725122819921832686846517014649811334615508791060654206008462353597959510399595550081681438763122828770719778323332590643520833115082064931764107357422874967288787084487564084720462659145864732531980746144616663828842429802056254239843314971364148490371686202735620051558684009848986044765948411416672431931926814418985480321573130484687789461912801459482630954003461240286388668803742016011412868982001740516397672973584636912711011286237877534822180643234516617836459247900383501666090442103887523557248387637804503657868256909354179907771461911286063888588524932932600756848067773062911763267450711796470387054460652838155990072141799827623169234417333823930145324206079385309840574967250374807238835863403388446833568596076799583170410848782476732691299979938245296281150497060339459456340164794322547587284227273118842869339771925774403835652963758935969837039607047331996183558452959933646606301145335944300245431324798359099214847332772796330473942888797718192935212592236283678967746418237431052302525153511407171823647480596826089594956097814096361100159742440300895495186686322432548523778818898448966624266519864617094875655409295958385036913485184662238888717303231734436874393860083861642482716880333911451737736122287525806485529911066239913525854507197746399281497011002365940401110994634563602303504741245385407596069516886026477952076614264914620672251853500396503165581082444411737823273303953370828926271622896688906236622059032825542714903662462095757053056249804076476833080389865660966591571989537211629657544001107867915113066898951817672072193979760381698377262354111329638935802930100947764009410552516309990284305309076476328483635366265384815345352990632570944470106634126650195485559706890248358022534100229867313293983018853756900310342229051381780181976342932064008330346585763771978612806013513457491149615993180041332943295631380595567156475579713007437990139188645451008556527838671360474393267703813768321114971018156586913793074341284395883094909668259528936461680029608917407364299252145782950953924725565302721647961540735731124506052682955120816960044527730180785054349852944531645097870888967473907893188542606116903992889636927716025979140751352641930893586257860357362338573737930919368993779715551785542826619711758547925997452531185378040911196041743333079232441089883885095700874207604638882080979367967447435855526080879088175012808543286862324023001019837338518472700387629021432534517251003950231279031943187440801627837133256383386471899534624897570393619357785433522486949339086126588423192636088237921955864576225077486650258181884080566024647154993659684593782190147759214939328684552002471680705480402895828797152463710879849497438627200070786032303481376215069831652769748341682920158889396389455621695430699891907786726364309871031584653533733402185721152149343501966320693034342815030254298549735477437840275557061197626470354991735429546102918028780438473873947599444054246159938972819107401151195591026631535432614635385501611260363037280723094558086636707823960363082155464919727381961754150196595700257648620359556631147166816396412186948084030603818534216855597706400319713884266029541126686457098129001499815418362585243888698400401550531173910168793082841691732997950168569686455854048208382681476593359217962548952873612870018767003034820185970168529717729595306609091109607713576448110069699260269489449121578122944051911947973812856878026948243648749934621013298986889474398663447430903104434322001959399265519363353774117550851957986803364390736103524380466561250941277717791302664103240806032036154936705846012532857847541854570063634228820183479153918093451457821243136144481307799508943099881906319924472603483343248648536636267260617988226550874749592166793519571369192747835209269575154405463690519784578109125072697048684944005984441251164672831646405909400009443669886243536791341842883983837294182707060730875059248637920740258429235319406902936890592667682535468090930630834514673839608852408307391354448890357641601497737567207333887677602477538787451208038762050727498735599367113243147914219391140914573400111545959651073902116218665006027282777732949240452183050651253072259033227241297505910976001409634538960685814665156254954004068421317386978335950576971372878621853692389122617775372510708661757116345268520297835086156913098800535061914944627135841543852733787393485989341064659703188451730570819417342449914894103949123280262113947182073552073378381619746967251069377723030367106368232838564671608471774811631368182375222699769617895376530667585723346516592564243780434501250832166728477623158436580930155138345027865638944897445448464087812325112775660050894449395703485727248425082197187622552022471944679521130450278031296509846931409362576611748642762322306000141187444006170034311554884584509727462962680784225381869227788750596792051129542181268290078844894573878981945164380110117092482839127015100726155266287087226510422234845827533050789587310961914137522104968264342291022119310734596807393220664884997219140223782463102524580079579290105237505842253415974072039958079592252846062413901418612517424374509793409740141282154316058586937816257231345464770211816674368050785409633289757788860437974880858408371690675344220274071450545386114384341985308436934189134762484823267355996749443851874241580063389025615399233519706131389486714627188727641003073796825763345807526498263374671041624100545035897547363790158362425846901414094748584854970706058633323474974358207693190171776649972329817252172842151278346901998231212938156431657874618318408332453747552296361149510451392235470844509829466671523578608821469443804896833400653900870662809744134514108558513813991967257121634186506351113404894991626348502911662398509859339839991525485786843072823819842725725888436904688096388669644927599088821521990899527394359741591500383445635624676316851726886036165409073536993635310583171784491942949292892255787836154333872976261190489605284078684127405603320539587558077584443865506176418562410275183831376752212839580336678605224607745311642836884927685555087448213854929212890293052507115960891177679590780819115375187783763970647697775757778216834602079376330100877453121053636106404331965085173918330535809419159693890308915217040194684636642611990930722343058167535099653925114207380515910727580080956348969389118179761734582591696231027066077894760944392652711434647343050730116201641906187221785420825809910641705805413246325977950540532697777258809224866353159213276536203038819832229955371292529272803106097971203199626756008036316636245043163573545210811624256819543148464812166788770932467058012427273665972551338322669374275528246612100365598331508435962515349910231267817750810654151403948939062199971646737803228479763567463682670734408288510458324671427796953037577396257393136604746516111514262001626456879439904565287339865166238974561505496952470214100716340247794954404090238360770852587511381776216626740586553639987639877945667339904962528982870644521326982615606103355154342406968100799961532242578193537888474395464361524748906725189868706145791128370754545227735721592117786909737702267789462044203515293883857528844523460674194546075464849592376829175232652107814450834794032615632156421742423869843323726097551877529793936323308640913623389566218198582224554329421883121078790619478690056588431519932049919970917787792451305467450664655553645413193438669115851927383949203745165519376387863955794098019394910561408137824220899208100040442598749653346868848878789893848007972947271968743530408388762572370564392488353616766594471639976923352500346608274934471645532224550711845415343737184349802125681652847399923397015550440752210486770409402832543199143119441589157207148422686095919331275323349069884726985685176119336879213229108580278737355976900698529941962720747621457955645705567452548810895668804509074644191936290072152628409950867321841945564662978140090086072805080174620197385199108207914294792710173282020530451371063582962244361680882946091129336685981215641800899193802915959517016137792973963982263564050912713437106404701099326673188189361704415155535635677335654572519689131647200874331165730187438307210485115192536753226345199929751890301821084759082616135038003283214406515980989151774287087416838278939427516421608036845686270098881733585138298102886355072082860944303916746657846571079377564659099381065731425173280218974330230279385959001619947069966390424442480975876047932749735475517962100107795309103378251808350046367378157787707135961041876981617354270948719523129224412001163808326320202255577490931242369749582224254570127977971195331206265587913470583270078187721952688137939276325653760579352447705528312239972538904062997141912574416649546890681197387002204451993557512292260370108809039474673029880000236374395276189137504907885996910647086504113026787287066565256211029779291504283901708364990622734702731892310611882628118170354825098287418480568821743550696078578496138086042925099454414111079818532331045248757692144556753645509842947562347116431886562927488372666423668379022111867160919756913665031879872194280006107072674941544731719029457468178986244748803376458451397143961859584968849186832677807521917003952458233241834191882534726537932177901225418828016370743406199407207330971764665393377628337278098832829005462092330192925753563446628539185385619639822408754198751615623261733796689929705114090261724041224594262255225746255271454968080540966292714289904432677163971025122752023552443896064870178380993278471727962351968346463292391718655728525750857792338768908079934517360836921600934810700518412964700794387557541022003155096293663743282037892995205620120850127501829022812102632295318494416166359262543764028257889638080796332358503989381117996969867837470705566855794916616202299973621792248934504905667298517414887956171074524925581211063804292987605713166668117348554835364663324905312989790435380774200767009499031320290343882959389455165115118351371306694990838774390912534469596637207796770648087179322768718381101971658613411239161447219157377575630501853086993047879785412269823884069477077381168147698815898286693530247076192007776667147976636989013821431742419085790597250859851133387451793691271230056042028131570225394664881915010724926840098020559025514705217299792477577379334347998369981610699837594222155699389226125287346230989411637196135158770299023657755697860679393918786816728184860439115283213504483065647556032085097615037398837243807663366574174936540289163897288045382949457951605633640039858653281485431136296750025028004970299348881095614390302805615102122066855054516045175466938449751068743258700315923569252007983189053389250281783140066376065384280628543572751165171708415944473445209567832949466647488082420764294250033338274948687496739716145570674007835339298047611683297754822223017650570484255313733419991224625390448497812353727178167390753382427376058393666483290039015343696323039868235974204307318853212955258235168755185516348223655840475299705671199751485218673167104724705362482467516047904310031513984421760007768472163694708860258600887988664501818188658534550421519208174525707625480234790732884814621184665427965099568541830211684802278811517116163927100222390781018999040752469761481504744812923713717883030907155306780162464845127905318419124755333450697181704404035876899274818253323031202652155743423350832668090394525790905579912257331507306436898467468025017242976036776420019956703515017831039643320963074060731082694387481355788884192508672781940388127363832611130390258426521669582319703975098137253006769836894026007395904728544845521405094507107947437919764159611852361811632436179970947363235410657748902145763750845681904446512286187492078444529087288733394623341081398232685694312286525988322421561484653122554882535134966119375414980202568056209813209921858390888819065860490482712705880720708680596083133272453723201373354113163871294612867230560798123545961259488949135959015094907361867083931825849435337846347073259068351443027061595280924632058054890044446253402031023596792698087182536251592896909358037297105914177893052332932878772502212814321011416649933120098248470752184295347901905327427251199274483913547248448080823548768685133524889614468367449704680449962315894865211148883764222277173404994471902116005381804021848189688126226448149687867370455373232155877521436304091838883311744060547300543274674757645086161677632462426743211696351850566623396633876450772841576761718481711484762307485679737404685523695743220450109777750591969411871456878824834812587637723774962108795578961443601365148416802113992549345580840087691442133345744099934582677776446580894238713212215674931608343901081415386617939506999060994295403544183755549499088095084504054418927392856796604514012463878219101831127797457919310567955886807091103983629410342408104682362161381670042984018259170549785092221399493691093918926980868468780929869238438739632221317263042034021944898661624957089706110314826921400276449935643624235267659342582500254248712174698224990924173434469983854172532355844847355609055043339846109335920314150610525030464358078012505546052024177780837262070971122676381683091770753470787785997165703962272449524972941729329035616903130475337824129202134138699399613651194976488418632145915945906272391789438370133458949534025752081260103030154499394258650136434551571985991341371706572695239794852041630775902072629889412381877171244222812019382371212451638346561093274486414642773028282126873972200648380855032444363576253551871846775860464608145492018463651846424000146517431981192039404688231631646308141339459752603161084158312052967000045921291608717232074380677387382984013274155879186625692320069367779097502190019771231474580417284194844154165033267314763804523042437943359963389021407788241545888572818814143145295074898053532499781562977291821329719614978217285341639469651784666537035856575119383320285354821484188774431943981313331977350598017884227422710951284472217267179858380033205390429966188915722618447540870410453359078979442713667312300441597822839626671952218040280235484167350323080186307202231364902329164296595603244975208335825068074593253714148546166900482099896246661043467311928528576875765490057251507239422284042739306855851687737561514732247420451146632890574321482855180832988193856146193636774960578661960789165779399752330826884741938916822309249114358430018593787579152392317238773517629588956604519759081714692053726674470130591577485667027333605373720834893041799355068891162699072056445840919855461241457627625830584069061056692827963735498982030547453558128400107470020929132286032488300150270018120123046365068207048053180182095117411148645566260175584602802413165379144691328335983344634986292730745215357181780115588977606870954476901720898800458356016603799246847019108989925860462133502427001713723622525101257470720062873054327699841352488125107114392697130899774900158061581393833003716805773274299095253383766067448039617934353262887126502209944857718402937254543355015336221716487338521357701147748371904176715558301536317422296124324741423978819973604457677280712196338636518515875310087816887197720693355116603235243025603413196265601123893217741144615057376903574786075497171385757253990681038407104643460599165891190168271021832207543593500090109126053166340660315775026035055068763189713779810488991604110717594902874152033172072133654636495885063588792110418632997461000599196455324535686459659496597656666211843207766401476415075831408139213633410151208940557031281004925399640756887671627430559759252882756822500278440184240125140429604396547664418527042064679712672012666333884746441757214186354655822565844319964149861279914380872028613145042456432560452990077280151565170325969215361550568386302569176108704635261317473202943199016627598961587729566897182401402075835631780562419098817057297505098651730796037947738534253004513479553523227922795548974374836173138591814516786231138565059676080949120581160793807764369236944939851900126105496262699522116600595786799409058675935887009769828497076917922880384963763649521461178870562851899285552917979026243021188463552571137439127029753156274110465723937670582395260676303714861443837605763093520698328600186330724584050450712771513474493136208657063108170358519957307610331296902323140286037923763425468588289511836954667460736179625474302264458044410256239847709257798014469274726741364349020056825627073001573147383728730735318880697998155469108580353437969857817617422969989837962206002088870541294481489373169490091300188132351700949986292131231461489293538618703691310634768905143173426297168438570633010800324732084714521375232295506597639103311882235473996116777336090000441520853401790412189813522533678730826276356397616597940103561344427144879419270839624644000234686391778710648622695069460584052691879741715678837343390449844014291276347914708532872917801313733950595286767511808190881922395791741379046708898708887989118788962009003674463333212910822791587798798166502845267458531711860649429235985170706541495577654728660594182700770335574131897279146206615985953096544067247974988608269767353752317813538235633594321307133409740422785509162522954195908259124267445005012365560079560495417944689299890137683691658707249033402321301414183542718588312216666809040182500955227086817149806596490519769865387086777492473022672733710696135943511350598901279442823883506090451587647447564409791070420030175224088832589030009116159263270703102085344258358260886812139219530848373808633460559130454486349324252632596842908921967405040082418672922617917700997748352351502370673844545215315090825051112459417701256888419018091607719964906786911599331342241301083989480159740900943077302433641049997002987088082380120464739833833533832531439678790737110094477730113476510487256229040050408281292640391340065798693709759677707071011245252821691072948815686394595720256438608805000891450199559021157790661442952041187297153156271041007142448642861681406712349543643468703577864923063744988932297644415872558051368632130923243017469946201107233106319311736038884778309529253564295136310013801379110162098444874497128130511748769886095930327776589402554639416494103697729406155195441905956505015484257207922432076277763324935473908628310664862589365797190638938891732899275534460030849913716696879159087640187180275266637207984990899663671490517044707538237726716782040299341145526370193865547215520549584698241988907294849671223288236606530629529358732700922251174845408561414349123403495720848323863710951396209550990572656499775056052281912977066024389028906512127456657845552254692694595146468113778553008234604964313928575486863718129053513919351644501059635917839835286577513687037132006608491484903651402770474288598169918156546812053220378796656563464370934626921244382151827573810348341813405530068284466113504539364445886449446274711322672135172516105840785412984027285508115377098672651293491893622173995532332199364584833023385693993456789999936385868261609279579924593592586125712639799717774677127476735347828082952924792269971619292827519428723926496612510772701083845897669051701363624601882991375864620636806933206767855144282868231304084788118785470085413790524654162631543321979077529908950326842006251594781689442332128260945255981030509677611845168994089515103217268125997181698498907958478899625438038746916866656352299188041695508383075761337972292101016285735573981458691399619939041660233781189325284323395288192358371750978911430973302820649875713899987778921929259431505593065454343021913016931985046695002548982395486897491689194853354609407747285864604772781177512073924798417003474941120347008306798177019719167552774819519450020847648520536292470951813858961955610572536156404409590876663868320377621346987437386474141427350397150295994737465113537779414444269389878241098600963630581036462490388213313274261524683886533782821742183500937090568847591879161236454805999608654549399587493617262742332202178623662511360632368633966196403366623985011184421284671391931378031430932151693722289419512750663706800015175547776717669944900381961072690145822593250154644772879986246360852001427542007475763761396922007317560214515363849216455057368099846868320956241273818414150059043620463559274301692534959055959322478724742182251505900915501443790663047256581732233224775929298355669495043226549862249732761697264213728041695682816890067136953474746651721389560159256970675913488153235464311436451159116717056861195731173227963188099661367954173647864196883191001067194889207662348768347767867963783162192858183959894560257044322639958143951257237694629424956120015930235451184944316258644367378962985531759243674209074400147033332896961885253673680031155859293573160259874131500603818404333780197123100524774745027968301689699411722884262746359045876034004945128306833017742657244848349744256097770082857023857242177042478187864963149952237061379083321149825322747633857554792600033147130772046800195941320690694019832819114804814419551610780281175366378758240682547719887816023559297173997066220001980661374729759466866573205206494560797160136183760427747377927383463280304913389332107845637476812140270671000033244938501249830154172249449443878372122357241356873098932987274101324659483518196505399698325836078434472734653204833803645228935789127400875206690070344877760349262902099610289287222719486510436637936998926945667838787438482145849439231925482266044887635840424468391583121348953331104799741288027175598623529863973443327545358175724687939926213668900765290017689148942934566923723899329431109124918212668260633912955998008020422343510346409891096585496298340575836860410490509168708337262329802599541680741657538372198331322681546604778944707545754698731099153723201096566310896366149248263536966075621253332969583417333787373980543678002309268509343611359757802170070201227088013375410496176493491521644452253580032171799438888930105541776035148466536570368252262817994698212158712470416332568840549009820146018355406030296170134035028142744680121824854471585098691405780248260353849296444954814964433468385320715644299784175561015461290733804369798667184641853490529603083410499266974449624964926996295647787703301855718214617306035609377048488574155977448188792352280095833791106703448266145370609608291571691362616543258895956827746904073100471125441230826418283973370690638840395518501152070368796765829604743295155270478514484060652523008328943460518379718215271534934777561818979707788600228481875243909081988868637408520368555070470389477363227968721858703310357496343179491298060146926258383122767174023242159274866592431754030747150585890827214974117283696770595543033115947444855684944611660224628940535379764332827289356388841645709237113646929748774312296361931864685040643617585926246872975162520124299561310912537225422038280203722689710802065787229522341472844102084164370959681634979126300811110526064050028192689501132223335397094509501320689639853075319858657018068200368222207615147132998709515436463395516377992615815796657290837176738466266427019688253082066883466313939582394263188486793372729350754613943379688536206544817743728299584922891645365029401286558487446838117282819322363491046995639212134962144186313662777466929851174561875293825291468215907893000566644163556075122043533323723779444950205913425630084317780167112507538129472045143675354360172322185008055259873231776213331573782392297713701125292924357404883023342014494506036338764404983395629831370721434067933384773112675668796869902319002431819120497053823509400731642985176099048843236587537610785983591290204089412161824586654152512632652160012228400868524940291555721947048270111107050454583639201305100028040250966912460734654884395498202237333934271244619198638178909122965358885000471491254061962884080626404005153392417824010299707869510921536865107890391321392078029022285871482261290433672879682694812409557874904048305593561720111452317194694009930499755828940186328047407917901040926518403512145949790491292397499050991252567052032071201540289195295310676372675883003157186196625167124861029607908324142762424940663059252112813645060246589973040446361683965230846870528426820864401669066689674261213155738824275442458017074491522948421204731376511422129669712006859089462699251493615672554865540449395655580720191759915391946090930596044127136301303832037637720779384896510251481775088841524692530910671706845922420215477837090192159320014606859980528211910039255288299759344342395226318421446975895770704249578000732584729316996473444978826636709957320362952599944341123796476462105231437687571916128408146882103627860529387588191041856534745117894957885633442546732386861382171666355918263527291420116245462629354856773035765908929643180342378763431834310801603678986921259035489562004095265623421024240154792749959458985547899001425541920295190136025579259259301966058188707710413971906822763969675584354135177575665348625921988537973386904751228853615118307161968207897373595381642263194811907827517345705343417734153634734527278013593137478252668922495948676587847250098923280182332927795344138964974876105213557749529164578464862340060582937612674680048885372606613662965627994353457345873133795161367930729165500245822136516033169962034950501535118322074677994891195690741804415358555013813303422982056247688214179781163494736034239953622554961940156505979583006992365511918112138888385333634334670222323245558337175619072516983906149563019943650122130481079470084930342237503626839878086923932436561795545808481479377970364618264333888478227474402209246707523067356293126873313534568138881288923653966643985248794508497515418873179834223757526077826588129007324307820196858556248906719729452892685695381136861751323395240420798368996000696862904234759801980717606306376052242775241122310491162793420026251528043265497437643912255368083136040367806650324716942578387690395421112788720292996144972642771214436604486516705410818182350582925696044706476028019828154102405964579059697399100182908329560156614519488118138147437279235241802364202124037942696423447061152488919121625410689231675372597846737650813455424357514052312006789544535971523958600116448658226171635233385770641763307162095713876490738216380557887504803374661301385217855900689349730068534775914435210711779704687694558025516060582663730711170949394207758464423689963034152156196616382129671949935249755970689340989292169363257881757254313258256276492328754433519344776101936554294437302846108133511221415170609053783078798602964186338846806811190508377237434943576461052733953003841665318703061707812186481882176333874655061131822031680868186819197662178282474778846933741433443119327155392860655248523766001322355070610897963487340627328560795203364353149498223295038884854484721167571511444763366154640089562788446698742128555170634733690968702362247459304921095569838825705042266912943346545091985867348942278979164508152661869456281085203091017478384551747782401500121531643490329784869647988148161325490739872741137091890604521753202386263538652362541502064130560898424878733979123374571984040020972459232529442879326425820932929165088340384572404147739823025042541385414871122646320303615219564692234722844109731872143674620090314887071581465643857124587686728107915063210874250062521299962883584091422409935932285304301580839348480621624217535076506754847772510683755177921438088754148915176235510127920063971747151053570294755878660677064239955160517547022609465533339853749265316171883143090653986961236163604312400715124199497184207924284726067149651171120939369162581063770484350568780774601617876083350398833890668746217379066764000039923202379253874502519186697691683013351286664124376394063733892193529757314727265804301774063273636502333716443923454522938366729489613084629021467820123959632570431730203105342135147543506763816090010430075389894559900586967676688622739368257713603652249016775648811857683454714180315216983457239425283539901319350982571926640682100553454586521510877969524593713869204763316577554341304753034420441827268816671115245611925467502694410302960071695167359806556716268298584582641267993983538210836665514963138354154442896717701477028425838673188623912584365402205057531408717680971239665216537033897037819587585708674296959653942746438496154625493922518583888152706545250723272575836685063878158703339401729086569237734121936817140081264262829843627139233924749857984300693588940664588881366341030470530898683749298087123857961918061050829293113922744020716818625820913832254656820322404086958441533827152518200233573082777522785068874035855989236645813676854460348752247835769424905363958394429294428202878811211848244073526456908828006897019104028436888533133916817406208128630473162016329720402152873695458506913215858830971286473833388249930262847630637856403887225059943079254017081866516905627233227535451952661858409100672495818672127213580665506526583833415272494215673640290842591875216744093525182457576560810098529204604066675920678224315315278298669075732234391224656298715545402319893126656788244974756300851083072384040728653040525256331440757996490463228633695210844099074863413450883646916538523032949426868113192466158712664978272214801612032278994865032529346568058120423651450837430692527284199002044410555549283252505334753754969400456000039364625159634009596436571182285211774399262762722365923041379891079409435702074211703018145135232283136707005426606007822335869197411181882335095696478712209118959168257590090569117088208220125132968618717774695493324256269872179040812580959509832268994872190094176335331381365691480978188297705448982011258717956043962791461005993105220002897402799068114315905325848959239989268165976408098530115011935833869775273924724687799290494978364232850242615083753673722210046479764789041659934302674806801459425993898053956496654144725970822312792598994633309813296884876117487747536000330211641229717338177951605305348379444566548271199884945576010948892359913841050938433081692787576801702086182285139438697865522202373681390528131085844531193313650928058100924122616169279510876978784694797109370987915867955542420889358079006005807494189643995974810717617328918757176030439027418489151993794560377971924926768516532721190556683371473975652413177349459515273611869157712064471105151012530992178194876182529739245356619709927737224832095079094539100171163946668152352969869213233350467861528333679965951883106442589275427360638625110398619263512449991628791653165105966892144389378540320485892312818597811250197042175123603944225085867093002816124636007301824432018827138329042405106846038471683566279112126377988572176013172538166178490027815673880481809152978686435438210877166115305311619477121775696684491013553185346293016183642310850062327745279899200819274415591698830505122112042034952303953123906056579880085398793933339641942647205193291731610913346311515770500010340523684686021752804381431533568520889358050126317755998042409251349384180292824609108003353289423351860899172533553364799117059395582571588742008344713725531570029286335210410354725098652709802721464986937063435045910181071254490898592298632147738847955180520510469799652866540434139747799850806885740027782736259123903989970668242344123406022944334633620697421665178518211415849312675735477543151013835076661592860333981735151252635143809959245289677741356581745359749635669187144829954503787223197151627646451943849309678390719425598352997081476306363102273226885621811620878408035356674006785247439691779519323968526937605130883743911873805101054757418021010494786973264774980355107000211250639327643021519555175876897013087010885197349205812400089881199901989409233164645986994983192183381222245561026625225623032351689812036592795358980452756082140122435085354990789824199798012035379987423913091974384364166479007996738030439526064491807454455154728631675537234773864519055570053916083546360737124585581148254546154508245229031489048153078432047508322844748997991717015868073823666941426225915186898484291673049634777300991410199937366534938992370110100351371365102855258148375397418444671708228404939843671210052806263434266007500495852084180370906340766477228277763062571508508233219956689407283599747907757681902997665616335695679360135804904294960521254824381317321911311831337390525018446588221312454648872612664266010769581623979443320581748275876942901073461315647796971708286981172289626757321101798978707496504832705381013223303290171810571955236864976399629959066158206301935511018647500505512237057698881343545309160211872095700570368502957497413435612822492559585445741480231575137429679924873427092140164322836588555448836188988192218641934593348983876494292102333208391840285083361000539840084414254448567065401512666640749191626160027734374535701376441460532149242915442896476613268305458772707909444734471033469309845623993794638011459663910840825397687056420321477443834829811350119825467490647392775258139374386368815655610449626242065093532269050615176121184708914524977193008079587209418899790243641350761568527358290189068183447582658815777403333341247166401169435317984624068392527234974091044685373846343172424258645055269628265649373691833359114729256218045509437806980326237700735357262723776456155287811681754280007389656292918536318486652181282910875505806660302140805024142334322983474131261485566168583816259547994308435673130846794076701665454995748206629614384781452529065555030950523584923401647899896342855841903352754094258048028662848432532868143653179083886652947781934220034499807705184759043812915447550090971752361846840132334988633733831906142226801925268756529903386487001324015117644510262263501140950083594006770231258585845060055154413914592615731690174780785201742133593854338507615083062682766070439714258008860379675844011718761632157068945982840434946018894068374181975563858902396098887383111629726383769559798408286924246309372010386242122062881483907647585787815449752968247395696451119797479023009206020750320966087057805708108128731816949945554350130611432354238310015909565090004076229455988719821311378887988395017063551332314446674463251080692498744877118653321867192391460600574962783559991078898128264334492898167522411629508311148582021211127879120383243175290159351583605393305434769176706711647806166705136780256173843414689470096677281869885502886238607644644301030216204754043766536390865206309331052427922208961591678108749782888030823053949109367187061940228031124439823843870599396580513316529972965259637796725374325666329217513139003882455093426092734666417821732021366875118728091567209082255468595272894666475622342251477013972400680057794357592827974786074314472487157693342534331800407948386634450119454717241421471166094668103214269640465508755861571937748169596550606167933520777970755562421177138854658901979666732389531649462248703503791668342571525699545860631091460537461629872332396882946056193256992164042386515103498103713038638955360698259869209019490794668454991051876862783785634714270125624729807583861130603184502524086568558307783807978386847099408165910841610000707536220920971797389374546546527381003096183262091939383948600438538848457884184387216611481524378262118807215754586147395448975701013993624200658272002646434914116405878399354181481646380781202853430369295604853017646625855030483520549010595807672335820434473825879881940521288512004147684977465344448590629471681005864252098533077836908946015125701236446399607480180975677190761894538168038777885883440260236325889695599476254843198215239971559429079926542036446267791688833775673676230534278805574742525993561928551605023913461845197797044137093153766057494688298067762286085301777482232690529426103421039569747485708978030972682925138195169817488285188286545847351260776668406334842771425909745861849505355088573850993483458934129089525024981267356605950754267165117720119345071732238313749555077850962806403587800642926872489165261442093451232306598186334351877012221676790920680599132667755467799857527620698758761938703359029014767529599364131334114449442353839582531478892026447992837172455414667815794907641430624431787329785476946436101245218652830662631188882426136361892768951017371499377629343070169435230432160210257910955353379223846899106137162964069595832855149728749453179466972921414790205287161107524571168351492971091520336557309756962897947145255407541197827803409689474288813354108227010791031009956475266691002835636715829929824562098658858142605277859752744291500475251165336953649625899319479517132359882488853815304236283245958284172421316697128651370604299118535788819588391167295365784796540128010968898904633160638108862885686683462363726143116027814193752320676903285990201914705114580723790491729318349541911432981954234383565407342396497540839035469807254705539769418162246249796686401881435312353170495129099757307585639260495813863375384350080839402329378960246583021556565648589712650556681239642807554028977959124170838962927117963375262957879387361167450172878205722028805844571797543651848668241443324818366446290656730507431676919490337081710776450501254411013953996704875953698649774125326622922692189674034808776198721394696856164031535925893412385525984670287791944436926367505058656014132812906440142779539145900611025306507251266544407411002163275806566282418073423264475682919590156875017924276593040519700760785463074767194854159210181267245782189566375860386207326442276755064020658244372093725370697373889381357181629829191739709536824853988706869741661834814767350835134004790665731825206783518502115525995951525608139817178029231893382887030601525406113026940029368656360330482922634036631634671437073107155458721125899052520664471882508143916138727633986952390478639543835549412175564160409447310264658102144361928445495430261298754575880227429364813357384513488846324457199126607943671032471356998443153175736520998001359585174019434741325087177988123071589090934418641149967755577985044053046597452577563249896585099494809458294552209533512271781631011067996342563526878095263337448644333077234586263073699032786541084482215673390607066960248993001540762239669639336033157957357502589802779732676389695490225986244225593476734372342881814412136658208555229666991180261712925581412267889756445563580662855414555781460435070636085141336878233811957901518672270795928616440721926627788645863942435307041024117879557321918203556087791993405183148871062992248956635735175694008996093283517303066640158727237027726155416156553227243016739541223939570295941263998399973838960363210340834051450280178562359395617741834239475593611567793632204989062496433993354401281554774262168307941341676127355401888304610451256481559271906557645576038083219957013930130896550117711629040946747030153232888890571643648633217011026450738618676840205179400102315060033804761445476983823944175671775065532776324922314709126794961468921199822225556027949518904141943162055387832434128180970485580896102630323576099907095034692771391655687944654554354858227595634899458253718173518094826576140539575300672580941741224981506559507047115374368533666055205961911616428065401355621336867453554716369165706942404648325071326898424341922516757221154751893573426960062213999622747213302760002699795027426389564385626892903162032645387026982311973663953270484748386088687928016483779096045410358956824626428166533442157609634430123585228044798133458119082536548896329133603517852774772935580479012035395757443720298491040097098291731317161433553402617626326255439670386530996247508260803439072040088732832456116033023467375679687551844080701404716163890368336082176685656896268984364400233942169827493072709597034475508893119092841148419479272729279068470389574798540588406678506512450489446816770728569237097648993032987678246328185108807672561975163930765497315825715573839926543836913452283775257805188181735129820176395762288078587395479081974081620296525323171911558467654063135155807439857958004941616112526041531385361166077461633254507112365504041257954601864180540261498049553678473833019528572509759564419787524917219161019370246202654533395887618534736764799310675139578157828682155822202243211835782598381249465957287402823006574834772897834339167907190490158532019208082415421122931081096940151171980122775987280488598292208416614637814403131270039858189031693067758299502729733728647640709116891610661844818190055719790701390552628702294013019591560631770826088969288789091050116170348330049835764632642747758475500443547431017480744918794641102247692435547395479871740205425659318552117846383371455576019584515471692477016444589136748706158796865103914559918922506476081851547057349804805698858495194389434140984865345914799549068597531955953440975576046091907856519705290544642199704404505281842812442496960270150591041579654846080230936953078027132289245720329452445141448341164392316898821776011625779504620159381970863940542614282143515620559657733027082253772996248810966931604007816041419618343224211904075575256961002074918231762953360817443139240548949863940236572663318721746791695672966080648804245018183862922489686385359239753255174451754993951580025949915341859394470869154313415009900434520450907993919350691292193246708754755444845771840060380604274149624169644222316313442412930455317834899212543184529770064100642435825856001320882850967488442796289864575607695981078716561830569446893464133721939701367551508542132478892265468339575320480235558895784911458291249782820954419299867368504333568436629715167196073800751184531484057029645354052342418536080129634346200835331576717561279382346770301494028286867624751780014692723872375294870632107376377846029416754273760724945672200085797738404831107270764231562671150924874258378105272696843100225318795210048868485754449750782313192723828615464949483458436678988260643505051455494749683340249075130590005150790174133578592500114173273799868985309656415766888295622091988777317283834411099829481691880767409127410951061053092261340317167080831827033238548764999931757565548630444768612498988882967613268031175551413663551340637308725638756311552819165309463204087541416057102494411951908228737481533238959209641836927859722461525948844764738812514299262518771266140526009881132562588740617744359312012000114471629594565330775716928129240788840890246870858429121044968046821810944522618460473677073978550642736299450397445703400897652726990519564694338808159138904176876938884344777668474497288705493086864298776432389729557427966274951380258801149122077710417144630778894684898800008870922647101188068536915806916894997162972090907751353933634214704520718027118983028322785217798141123935747536848771959570340165277560145899473351456404549555083849854443391626861512966912410795780135464636213464660252493573042165611175806243709734084431836053515732312037308281789233317012474957288582223051120143484196333739557406628023146250609119753136091831404206621257317329205518217391541972634860591324254815637477521729992478438661096578042889542725624972815781890547442630595868330837019597677731576739898475218291093052820594651225105043574394504909281231796828449944291721181571490624794386220124543726834991140103682010642765120592176675789809167469434700212271588145624514531378311791723050109014687049592729561730813218328330898502461734680854945276009943922783039202671767252780480475877146449360637813639917966014591306941987951643017908705406865095690799584759050751631172758258828997855321226302465672848773656455131763896526872339523391757302925002391944621865717157233974266776015210773859431257071378895473184606773169013238046173953401719280868275286500414022418868040978064981410070021424676462367365261650801809911154621278514240777933923114015131694812663098175969352763175798958330597906724320256423840319204148198898561993028661945987917421231020977077479235330939620462596798896503241165708801764801160740629289603720301181367758865949902830801283214423569335221716707991981009431874120164686858528218316417460647060086444139982714645397044009805803458962851132697236930431311802247133329442702425128262394584709513855800080323836762092440811873159749747880274840149384476563979853738526543928042071419175473459732684248641445743995903440885769927452216461045335825170268745647483615362566090683101128002576315686222479089147468671481649370849562819718632488346494669597681638820892655903838477943892561725607686852442726564368658904087557226911256428185511487278786542374965180733652103352189968512749246755839104325760978964826190124790384294636112219115698208210790728158621232564575134965786766739554417540897244758244713490173029570224314148614449911360377780637760201616577922913050197865939706736998555347549944954740344214998597352997742646142517652073563322068357122396001363028225672005312158861000701837249062639930462787574684654748562569732726863031899257613197954201184466053457646561223633338859968415110566220986119573816792798649151108831829541598870450639594500720504697641700688634607656116189239608463533602475935601212921855815761015476623216787909102397879345556104777098776467388617395220886597964664541297035897626259337086783250614833546126998524557256934250321704169881471333789505208624756836342230478501989930450322798482016339477238436320376309688526728461419243086718755396264126899645896811129791667206833245835809489171283162229950633968451931970887005322654650613919765958156145846488654119171572558044950574059607562983801058204118604661067937794082373588409820781157354058737236574822763655724839565071844577224607874249811295252869944401223794481806887017543729723164297666004295884686340713696003432208809339927386020192551162416736527560552391993002258474716399042708853083182483709556028657652933718117435783054019621597353546827739472041357858721970706060653336274579614490272470441048113456184632503043071328463568389725343807068463771903759106944917452732538375652743128139733225060243596434009284696500483806313337797441841879238998046437068302181926010197021921825568375116424626228247050253335992720331974336069883698723057646828852050493000999358220636391083869175114525514459372335075173560577088530082437465708205723079026834688787030877347278850168071654122001704792527254130246054129541842912492645370883918514926981165367606871319408899750153842969405266853095935724790805280486336953549949542025594575194242885571935939883195655013522947235893987470459878434935297592226805194942988965808202721581713393913307506402983703985134315755147487238878176447745369700375880538352249057701586013993031529583418643648329477188588881043001343207562495342061919708902303547968715964499705897777668809163950822328777757337014871661588984967199977742585287775831090898284994991676924553220704914993721121511788471827259320822212584707869037875068793726808039288758445348136743523995686480418394139673587261513813471120262091514482831667819100557679796906068506790866548459415272252942558309079065719665516034350544800740748754225281843546082047528502576342774303587832530744597347605339517047305189333417967701461995946641382900944385182853009209794469607897992330949235635555535981841631421664759782246801365953047111363439805784008689825421725547673916907485996754747289352916774076767415014680165883829020798206873525126685691180563475555475063315837495965073130488933571187419092732338846259297091448567308307581715609234153862017973604434292374935868274561862659910364883121515191928375461727629765143555617126228166603886658524049394956678301227998386941894398237723391232364064892596775105038701131364590007496645312833336116320466816916665320852145489100833879551152729352338542190000093371327432714640873638948049158595628362643008196569354258163912585412776087996542588903820222580022299908607252511302795717966068298289040875127268537009705312232150165143756482335046927558882008124749015663907402104860648859662136048515905756966343317292269472087948438913510254586216542480798483227128579604153785339588657506839541409469974343887745501351944899040986874309787461922168252742646734421862831677770086812086250924366553736894672770362661296389726471755444802070116473503231113761846480971179291938289503724191285923021139168252181032314834053556958072988803011215457940446701497204502392703925561365300080120851302541721113770807447545658744875039201323701781435289855720107610541774154233486905990463473235399577082416854554043190447871410468267518194549053473427104355492219961881235131578921641176716047034122245869027919084101883487281694928515418200209629817165984154546497948869880742734440048453908557341237126291474919923778169924659873695215362754646023949831307395655276713989454057441334575314889307078477312728562606163695073013711659390573429789396765273575956012952009342220250836453811307009304504549771897880536917148849779130684651841630683385199984852875844219404567536964474472868046630062002468222818256694880795368365575812634815741401890869396232799371545027501742921918958571850898942445105389572773578436512601496740261799657924282125887157206871997167032735253476064779490087286093707080616953669136176185803503883692653359615628345054535996385744919244116689513129573072710285676601112781732144002310581609167727949117290505005336494565571354048960790840351995634080548773288174143228264353816325489267685403818241168503985528167193852402794618735585974536442251647887166638511060568921576892057846562226177284330133390080285970526859466195528632072170199796759435381001563437734942062931617660199309455808572076373576748404524465411091959166894152826777220676228327423430020545737405127195817640492736749803376116639349931796735019794674902514278212115285968579448915406767195916237866452219254155696273083585218005641972998303973600919368880790355442742573970331432479257227352807071339637771815152077800536727524768622499570085293074028790453929791030998907526933335215251543523627716616379062306927553618060333015777314211551154909270177210511189820252307523024951069780842951834969100962265650867735819114308795616602938504580264856767207177649300503453911038413190820637401332393749030234085495487551392535775149043076475025674329558702389893808105852355922364210180319309689409985221713959480499531461430380378801983378226365229376519557685576664902724451083910672637495953619010292638746137205468207802164166195359133757577024844625932459068604517893650362757219813058964725276066322368643365257652459921458155887124988315840616861764919834313125524456941002698775166049580893455891596696855733249844802882227817966526212895129114694883106997694357078258770791151649050659428853560486254323549614510575427303669707433876221282643601143974340211055443075294469829044432866998104648956576022914919352549239049413319966579770261107452475380221663550207185111321167315843966122487408217738960077708393689202541291113896783790571401760790044174296575244523580720807877871389718376990343791774855642330579440287886921391578064528852819754883671363403550356709685876852240507734184439575256215702397511672346854207254780402973112973130375950380106685635823245432756884389428549208771363687121406095433486230251039166434247398908451890423549642668201736566356201481433788753929840023679305936074218597463755740742019040533140661521267543117181392397350675631884911765077796935265990057521710211388886665258884383489242423444572361927543321860218133475710277413516361604880802725063644662403865401662050141314921295761902389839096202316558941060637827166040049770901556451567620303029734739706797952697743516547959922406386066762032806268822517510751399006782085276992774936787862902912580789316905173676245921221422771750691281808165890383516758926101170299489206885924275841744354571691530560259741279764838364721981045102128002120196580417899088292702024825147157815857546545365546848330845651332927682336963428103946020686729912780923610962873177780848411412680772044041329636414409350491660748042556698562204645570620886861676922591447768233791763742438506198357502389102472558832176036655581341579480737993786093697252811045292241215014393992362198379483003328559061590899135444282231531964720726886875899434962285348535017080679266856899295414058902503212379206991680509151556457607938166197797855915921087722482286092712481276767350469142481709319681839957623469506520778949880849932937690047007650627512400595488682442556256011084846097146685553708963699290409993692316075531901708167097148037307638236899980160987796400314054718642221120236235914655686191573437650772796429020486955564721075830818097630632780376933416623106187986750714982020714065727037756454129291690902074480052866631286798728888888186534540836499627297160059837746400964947697559388105100093878418514019779535473393804813101053804305383336883213694075496591881222851195873204564971511170359481777886364794141648790917943892069757494863388542422413217606803789438925353208450692023783464832785687113434289359551830286779948506318762290226182376394961966726468245464597105332972469666249986710357706427951258595451085074655781552104900025985421639236602270326547037040638281344268938156298853556361325243388805609514144029385021264788127907578429944357285898914392204905752595599925654233025465786286752012571563039462865412991629205507764821234281578119319471401952628111244762819621653500740946118020144610992964020380455549161063088459549735148286321986902009308254218182707625268457047347388104525443724487003959653398027947300955227766476861727156969653494589011788436012294000706772121579470658591103332843914591703951809875724945289563965314495890971868331836464411707349899378475662506789335777958682571519356922172741775253948717074126062754072356524050355226924446053228726952615010155678361716411744617313574085191668595776318592954685942340960136985552294043339708202547633656255700020424868739569713577832567037140193679542499370638422678382197116583438788615789621898726046758306750528380969822911884488164905670632461557440631819268185575032006352508352326407434342890494704339580415657398041575765804285618667619174904718876453934452023980651679060441329074377723925314389546453497630537075747149681119173818168832986793267082050162079451377261550129456254559565873829066892948950805421886832420712719498783579659202390974217298569509377734690521850948379198955906844517077139325319256166062652246708505229261792717434140305639309150783619789961705129159722752768746107176072243766672644919286060781498106420806474639021040757825975885438518255629621736711494091570023974790362225498170219618866878175655682815464272293265142730657212881063519036266693207481556277555652913917544204535373438066811487789170935356809337780586278416195003196632212146914973500442151662981645876091783180440485790857055210797407576994038186655741447978948799457146540459024699733520325295140954519655567026909352494914439525986842408101701637876378721774272967108018188352049776559726153449250061970805019986632515230574500516704795296194858110633790251212983462981501097918982252377408707043342493602393191317644395275080314664924154563705560900527025166523915430997377824924977680296949241794784421204796293961981686500680159601832202821227426584145213239290373694987009841500014536869888826296684495380530531095682661444163732271719773737936505861916323706924106073456159810497589121502204614222668284275214073996147367838361528446864496803293907634318244307142838378968388678432973798229934127055941880648492689058981875297002597785740699857863751839369179429107782841737513988172009026969989667842025787075992293196892781657442745313021610940350939208373127492923235397481417501532379782521714147786425676327471618686839011426204947414147995066824418420573293688429944634130813265117264594952895789253776857284795522981477657235261548123951421983281329194818334589301796839038456698507089922471311481174188924593443252144382424673780209091450895211435964217684952073982137217739882479901669155463751965787560459607607773789225501798277924079940600388757679230300237920337332302441316084007047070863807630870114346944355050857934224097084106631226761366352046479978686197760892468695330544292189947667333323679539173227746964859625369702079023940263038634010072519489686689083110414277689687949987855524522934985403271140944833629271634928316857285400494988250278431823765341169609659148973000944126593037244215181196993303397810560873698010638748348788128809956933392104177042887655577468453057387608015820008774231077923228066836638110121099422630422755552235909711833932885158190465021245735717800194383908728865467592175647427537976366248025572331548113955608406043767570137360514436721282133837104862985621673127709928241624445932120692860273953856680843398881194163449567853248807982311109318734189045731155946735977097929803312226800015510184671370173164495728418410061080457695613029479041893734840949994754325627675570769043427511411997329992659207284298530292444533376365530551389708552681826289617244707863902973739097280818870505976763153340624523352333210270878445760005168620956199510548625560046156673436532251103267029686681306064417171396416732545403072112829271089119760444799340757979252289387308275329809733709506432650699329257799779753123074627892951894710499466441754162525314600899260210257891077583746377748827743875891580798447721359133925690087677725895640322568472874444443210083663127169415363640194549970979335647464305931396405969967054987452299629123363904591587282771526745618621067368818976605973126700371234330176058856516103416196133357891809505490041752104714437862641732793232246412623104548235590673843176400042315625180913562520914232872986217780208309656908990414601800422290320250226816705747117397349569601727849421092667388017851808778940724767876043871683369549327211284751448052430698935980822543762148282197330499393881863028405619447756499438467755932345186757601377016069916691295539158724584722424021012782812475380262610183325838930209590738277303575684927510404425475559387017474043446207248791339984822524371875220940774554687586968221668846478463430985354112719531608582139076329428954475746609860629932940573515411868433003089052045340307759300497330631940955150794735500431580314377472467083162645195249307439867614861670986240750374314157034796283440449163149187618024837217936280225231556474236048421252046664697111376024447152994129424180650372409111666471660083035443518646897718974521688797000645906861450122020482651420130295796482538640953991257399313433012661914788873273499128160414715082183552440867207119026078559168376732987973794416419127972988716489688385755196847750447735517256224052628247832607652336987703335730003828601872638871570341674157257630490688841639886810988303128992932090885958937519617548860759943243222727621483344109985050055370703985758896131551540056051699660968534323937192257252867027083070923366760470795420616418117524517954630687657109260812723486947733196264920640667758931389973757177793295260326002805033931316124803122758791391581195489520233613036302271311570789338280214686989619837079137205138957089447045007091799712432056952750605300911610880762915211916182242783874945024000201833024632857135413817410820951144446910105919451842584577663887222914934526471556815372049327150442835398936192773201515457273217401030924533701132283839656987637831933386767881110493469057820604707136812601712762108014796867347051632992173340650451831528252067221421748172148294387530365661394547611439753573011874801468507061723976851219511798179316177873956253948169021290018049657345731366750667679799701506562206770916582548306375255406062283860851510774505132767308904223510696857824385808174915705228589649234016554034942333913436294159182584139632137461762106835251260419932896119856022243826451677728622801523518111435728374532204177367510861782825498335799919437173924911089261811645214106159866159550759686877932563974589566271136202170757551707194553509137340971288263018298008553814727452559678404806725535481862235080335302152633306869407693827326460990205579900597538397689422068168199756747706450290068901117024844729494174720759755646768571065438488895278353339804570338434088826606234079403393750884638136929680314712762092377455829732434393435907173383610365957821164603056547255693965991596389495866262826642112408008157785635211937129884105345146061740303835938640639049574199795979000484977842905800767277157755655794192876166657733551267042507177697874591266939385512216476294063841200426029068519730388018424809939082694690452326465367119690584582851221376518255791412471430999175307435096911481532879013102020650404903595744807084096407719775725116566040420238748388150127600211868472525548412251066079849870057804156611553778985593487375481161587258304782570130479216754871030855796174332445493315090578681667247854397632181522022170948115949625164927146298591719813625229282708190904534484565447819431350631440541095433990435126160306469514668877321610764286993933570532998776508670756184874268526689879747398266232850347864627285272147987814437723767443905634251476274056409172548293683157572620357752392310664593852268925298223908147479445994389516318937759159973721666256695646287181857872869241418034793268896605790478665699830643123440339099568616483942836991313767791790647508256541834424565932611781855606421186269712178762933111297757400629256127345212415726946622463525450063807329670142846518855108753850240983840865140701687108973269284382777863377457516326124551589918195971219054715448060415564555475972193099470015911963529985523020330749696708290386649647200512646610680350279218973848668629994565633669686607405789546418308854417784643304054632587239170956497276640071486849108921938934573300964062111895816719803796144584571078399489070641532911526084432649479328325499643834997595049203251283026565520804303053568488803022425081644634064470826675565868101610874238645192275932488075895957044568333942279763012919408004708255098483600686088279229139600525035883154222921759681694665618212700115537820906864034500071993173285849622612209603053160250677006580542814134005411728854821622280234515039530081264050532704932966418021975983109614678949332638270172270778199150627512455718646754081068877883855606952424398064473679466245530100896048488385832190047762226336326021869708282591506373505139871474661631560710970508958572459606163227473455442503399146491361078390038483928278508523163309506336340288570308269112539869720454198116074104931852105082964910329241948359853938258857153654697612806642637931756531356612171842023797950743829483618389597682895164960045427375737565524383572099586590033870444101663101559768727386480767802223499719965832715453091178859181420401497081352898107314200128371321561379514894615457887999836979125263124604076612300090083780693210632193600261502612620098167499463773033060211572744754661410356733037443575622807282749880825509902647095558848567841720713373264538337883677524218481562999326789613391769421953702968158190778630070246199284664850676485562435433457166095552937005654200543196442258867413617417982312467787431657443284655397095336573342195350004323898328028651318653972408508931310252065821053928216556306200332358564156251543474020761391425651517923548602040553529668801376528210575445740705058024915053706538595130604675281183675180551204063677648106634742100628784804211679333254817292503576444835366424367783164893144401156639175828264933349738143593709362389862688181415398203663034971209296454262314953884140544942063082628045386871259673728222428837090805343931156014486218561445144235760063178889228959806040565088565562889678600596586181148747593050349216177237885494618483243558683514222945724374736685909364223584007201884212795354855781204563064795973404673219695173394850157636133474932253222739179565681344967305708034356529547504062207703544024827253815870620037367138482985477102484071044158884608556845382002351859063489367838683367896106441527524872718591369706495006740803556944115075212282831442116206561255677185717936229363575295851077635354925618230277635155740958611257649211045163926442917002873099763685899305797341633443621020907375954895365109373717070182283910506095532043080352060088316718769368922227535661878887628399166103005228981547625503276005022743043576464518381831269870472656951318055416345439665542590855551793598030775318284749908084540619069873950482300784784683147118115003398437668646025583807519430930379213970735447906387138081085012034431515060850598202100218820034587638234220379200511542425538986650573006044064015270522076975630698098693009501138181488186640619518488798649762671720638203274126064933708774041114278008425848454847227005409621048958791386121615448148799751866651521669282444088803672547723399552728757991490270648893676016971143018717957984048838206807404529920702507296601584404095735297180251411231801960401900483003811947088201492698638829878278550754453283433692465348335163019184630059402762918553387903315224797793633909101956384085316849219998252643553658387895327011933832768023389654583262805606800194470273502477926253533094675794131259619866659374638038506075599725686572238165639432383991540422981548861688251105434723978920219473250429245465908381779671703640065118032689170018296253323688794306110478386397116731174542312842453490239868689363470924256430676926049935803739177269795338496099704697277550578395264897637347317786504260327256872362136861593271921447489115893129332029178406608743581503092305348540468319979753011262671811346290337178065931242479736828063682716433239833968106180762678937218851285278674595103280447341062958187705572022642960015849956251170940408701965161263847843579786770820691797204431726510967836404586546625456899972523629403143591156728263853851114486426731180306978805290576787135788351460500198089508665234948426262409469588486337193717212054680831777635573217927308029225694677855528176497290920823756315782468020838588307490583858490979216118101960890530598974714811743355165362342406465352734216380615132779904144890326509020669721234511412837316449000003169031165627768052783427327428745649855417294099277610342185969534420062791201138990934253859803245341521741964763766291686666991435688753840227603233491168858901569445720852513946286302288088134078651637988272901642860768572080946019708636936190387353201509694205285048631341489125545606566096515119083228366388833493050769410932930252099628411751167233185179462498798760511797913637045662509858728505656826517880694151411396269129685368019708767273314554281293162708500570357184426982400529946116067015051769211900150113108829526227733819830031046068489261214837611902986089184890648565796270942032331939958348413370849567661875108201296120071308383340007194614545674397494634563907908618189633101530289642109499190051870733154217236200510560589585772746161592316947099145104052629804511670902606306321841346509599041218219579210842036171822882797919740698610705009726819197477168033102974944444317008927764480384695992386731273973776443991929499988217981019306774428717810859858779568670510298630502393389374242299166117146900061290639576090310226838542243249379432380099121143727582816131178011350369371486769527708412539341577513540789365217097939292127384146490569406938737431450773401925565621561165938781837804155247894356513739233102285075480915604030682055988398527024663755225739807003592331283095462838360933823624083217345645291474211304787159557979604278707845377418997602667364325752623317955707596267423169602177430772577147997523366782742960714891049763553215542110485782863242447323778090654876925593779104448170558457423910502062430450894702767603345637798904147283272643829689924598268068482201529783176035027577303109947267420308716310922670310721725452294225106837839107238311483939268791201895678698312244382786612591612801479338279594923202864113284575612645473422915235522933262719280445092334636250812006433614533588187311884400491792336797150508327169247798747917150720545506449155089858633424140122277837581497905881755098502525853636384524224813088598358611106569208660192673082832678530650307227093113470878162439393358389112821243591679595749778004843854047271530698658132109900395770185902166226181904114115254722840330646279888079490912437909183127292819807605554655908699608021740932912783249605205164025937002105307675999950470987490983794904534392891897944033883872251651105635825914618122500898023289309963556058520432693773685004944931397992855898068445704214708202431131426906812656227658039959193317469169740916649305218113123555201117082184748789200021434880301522321649024892713825069558689741984148041530812194601666425390598902816960041261731898530170129929211907912038111301155262285178109290081385296336442078296814635564672701221964519717646328892358716086219305867748403135025250131740462393989663514828430066079254390520828884146538482488086011441594676465979532471729537238482542900656144107355528481215053318618673288799434087836057563994765523851721675184977572329619185747033206474992480237560432341815628049687186324448195149473555027921990608341885705219167513015818007078912091661293119960272863664472363573730850171068195371748196422779143238246452262709974883425703728041975511838018015494747217590494581142226027928468843564323363822936268970663509493740283620902105831628794045084469587840840060644816785290798245193978962069034515184603783607126524311618521072591962230691303056597659412510870066299359589995544310251513690606226261110009664095120272642602335951073184040459061099254524758253460778283228225334369712298013450538456788601145572554773685021074810498359563121377754113615713205255180037459687362874135707028653171175920889615802316887690455772990582671533123454043802858335624683950014426761276556831674237796191192645212430095779947370140860970244765919928596580227342428416540917409401261819942786928870524526367207433525519887480368411973519240084346897876524660402590851875974319009787449806946106281379967409319288932912507227845083080821762791594885046768553161479452539709868247841428284591738784047028914748423665593953136905319112903387139496056452765456097009200538251201917552738373973774704758584704995651824762160438908484342712212777960347653697498336760932263531338462127497237070647731967310443380593342166863838512608339483812972306623209693544715559507999197328080310389634106762613402312154953984913886307973234575816022517805307695325023446894375078330011651410952555899588926534467479534676771037526475377930477124077545112316078616153956094706113978580721429280806201900371093490249221463392483003104142341681705638774114352753064488622890961524302813258534841280152341447690030322648501985014020265419179282315589439628230733860311228256588046980952876950336367490315064868566561849444478114963094590086842498683628176997383783143241925275143516324923761139454788971598003464197599875989924492290349240596006756633131034574803847862821521297861185398746227511298581633853540668197072695456575433597973227393103911180625273826176864197926237628746708336718436012431124857510495076919681535137480603099841980497088057200714453514913898997936735640360342887149531911710403187741787822100824888979040191400184362145355447835723737747998916442757283827610193467232031832486752481773535644090724928001350926274341704369769832334245471473091525705132118192335759397434844996567180391111444020059703287686233941071192237749845715134892525829927046370055039511125514867450443157895990404355577038515250305611400990040486933736588114144616756856860808402875434355760231817592178259100388832277854877968617924850861890683901696073870741434919005285253644713321708772926427327956471836217559630508700343185981638812434299162213093138456055118909242662588800110523469164676476301668926707828881228244702450090267059730523401534359829175284301017980032383537973866873401831033731745073427225511109549633837101385993346068520740694657941751890380714321183257217683487553732870841373591917748407755500884061056293553745419360045696675171287807262636188115129689356864093883510874592303916885820507917395757734184325717405988939730460945718136678140890489272256293297769683240165144292120445074394170138463470995314627661168608026139076413412953316072299150063676684226667853294902221147243501279691257043372762985109834285412472507302639906104725708137678815175806179160781263733547314106714304912929998114497852583003774114616808808710159934292592970481943533413285200194624983171229413776118547077197559947365587439706428373070789545449286735578459101038436404459903922505053809829932775316862753146306902293175168345987673859263804504833140767692291958343260640001584899975734953059983219384485533923820394890205194526564003557859232372751782302754301801157842866093279447687863303484699384670270607542310007337785155193550588649394626736470149664273529677531571944518265270147664926894658706900352278805819576079668123904604630868648220188885752665965425889975730553671460036392899431920917581547815051165795984928021122981035827333549019518000913025213327900633987999950751842154675017717771070870765841925131508100871649857844811405597111261071168233119893385425974785802910137950371261690142640119700092005700848064134148403524494494705285360177680004955207747297668286813830599509904535319039805624306789739790780244775788669132662231215194163287764232199012278592714234650989756179498300537487758282647745710338277107150809574492667332803947764475290271238778945788979363040598017145269137031519416343757816627432968882586737678313689470032876072961129892560402771718811199706093115004351401678759531741612321643253789839907872835910172314588903272266166944238829847078527418746062789383806689563271123865740347626554944602659976188575059184856412816376631539148096501410895547738365029182107006666718808452126062665584894505262943723578881497754312792252779073346604582632407948118443621528953623072345596381193037309562357620027262811549669963603660806668670397578733690686947304394950718857515488757815500241670176157943704343128900551585653761386180460995318209254313989355494002159258789600526067365291831231556572340300363960796325419643708455690621767153133866417371641597066038104910233619250088153302018712532034068429454553369609910882036349755597542098324395386464668392278837581881623152691337794524851634493681854170449572341804290363813172357774729686811001521567948356582260732600282492645701505331090216290550689938193764814358557589118174233126945312794239185833855762285508292833002435444937312989118768598771182335989372114403324291041929037271879717029569901321535627531368545526239295186328471044808944799342075995513155093208688572951996193783344659269589357205401690319698922498315273218939589649681641444793625152483387235290268323468937309815163591225854870703059853583565181531764249737807113108467814332586762197170851672083939621064223899119826912089388672645741173563574467058267295163437901029475723179974800530057390181393230713030928409553668307416545969040353456306252618458200965452456492837477103365110030037672827467651408218545066160273931113960735885607561068675602096118415589167738484690458928238849790349265938777136272175098883852987813407384008736043542430726015806247976386269863128462534146726440148877403489801648991316998533657535375614604869659890499353718571009671131528584473422468830697808875989141990438880137911970660548046050159293071184885073040194998694619639947056544041455475975835296260254960615029275823310893323959075571533046063656987966399694602259413727434899498184824794254479311793436926965784176645071419450520864566153621148703300452307459546992618980195065406541782437482081343131250857307052221474213421655979105181921636959006528860026524534053146209905805567354457109553068372093093674130965411121177483321521930297711807459562789437860022115145916007842809078021817810021646248848633813820623704585698862487262135517809961241600269045384010233785565462686856872886415817930318965411780365953241982573267208195646715741347772860128544274183648319893038705092114968485893267099979373154754965351190780116925822850275640136662882860971563156431469023037704083279266422837481627520933614012449366918191949002865859221632877803495215419429706381203377654344794316867719789318549986652096575007684455423365210118773082640240918364907243865876754052327342444280670304790288954369602346681000078019588516401837808042700800918719677538279452243047217208399161138991719655979273094824653570784573754620127055455837393750839286562024146951497080710196179198755068572168317115297306924934819316163480221033662393095588970911538977909103469708018666454545698586286297544514426282937381841700328058702264706335528266451621664569440766137871323150805967134590534501225012154570550047850210364825057569874331387492188219246639135981969492630370588309334007920429615565728855914755788199981034905552034920511986465384273487878423637039180279925554082430227060433147055183075631030273295092035450155773071544757885114714028673689156554619194872493975377244503529285647566054294681129943304756674149805500930398500505845211979393383934937066827977461993080020368751154951544332079278587680727592718204468891109026985653726475657577914703923926615180552199765412214695987370041550506725792234555914413241245491452124603927382974425840975514660872343646374671114699796258725713047312959417628098978694466937242073278210983883780549996680314621059981989368636791680349380753859847945872745315483518447512807881586173447079527888723475665444602229564362215903875123680234695917974300521122419031300323893494191532685807049042183225605945364527786266070975293515186771218670449075672770309660278946078935979887455723753629757642359143641629374857122595470245470385649702749135857107655779216354929809174187672493258736667203695685592001779018334217874604973532191392570572316737524984471725034173430488620294956444992165669087430489341371876421810037594403146284229466544286478581241791015734267103867386924872906075286760287997383012715192393001620306424124853264446965294604767807440953449775210816446906483163918903348215847828473064702129510301635457042724661978358660621752816462276449906193939806978143335082309953844464857838435349673281411417701157543327270704772090142384065270035378095076553753877106512030133671471088643019406117879073097454502611575987827549326224634370720092240748521386218941404831914023248222175203834739889373565967381104311842225609697524980476205326868942165735695357856893514057633438754228898334119799150656320673449971851694105085990066708766110018294363773382872988558335947058978315682021209497243186681396284015584886907857681990569608326728386764465141809099155026958531479056592116307217222835420284321336996117848669392675118246788812512133917874713081603427096988140363764442924222482725535224048074340894187519858121684206600518953032550212297010188509270221116420675796926727735696523545767309476056758321105765327772258989936632207149369836478146361260153817048763799782329143870996911393197974244113445460747747448677997794118639984521595370024982781450972736734287337975987475653809996270853372105803301048514994893511606033244834164268129529018379539143478851377804717779670517561475822718846636108876733895541789271543438091701598262641105374201456709509680839666820931468999045625685553537594186289336226121693151716160929338956999611234303729990617609643