start: 56548538134136438689606008622898142130434813721846635731194878011456881162133151985277382109894834060778973159139693869419504036200752194492662004536920713302534658167594239353053974329728994904714396010737406312781270405064719320967516559404862400181431857573423368375850775393993481454895381811368517898832830013557244420426529393796576100310125508400543883979522151528014066217593593919425406446018804408952992021031636167485340136060370162756112241583733370692663889240275350888373258018712550531767898717627079866669662021557569519699851396595554313645591068991643345487831758616808266705570125841823822897217715756560739389745757082677250426512968855815353716884178937238017193082843335146586927502814891158243090116072936245854208941976468962466906740010949466203692362062241214984936878047942967111259420785216832072789387233150194006163490291264734131307869041694351343546142326313806021596467850593840996213586099829358831365172452005245705606071533846841458623880327922315858643358609378854137917853972431228935239841260264569294748820602301323868398677828542514408338983408155811340435089988111183222729622591024270271848458751937446807266012263473771798399058841664393131827995483255910036787943640546302444993451243875106317524545551108871440148440843831733657931039691367771833293171449351281922216238396593062378208717932265064791199603382621256250203448652192612158120050242498171291335007654067446584416463804050625431147161735491920422889833950453313758568138081278036117773805553803620081364354026885460952521514413142958633264304099598165779700132199058428975052670761551805511909229392947530789012720753605079344690601765178134032180897620612387287405965121446879018124473902284373026729853117108608999861949709313178382563055950053161305439476224579828087612377293865973658935874586360033481448224460011253575012466249845703100010398476954511637924777574345147159786613358188681545090331771875745744342654661869772674462803021554231611404252622258897644386429408188889116225138149877077114871700712476057125297958687082443487203002427970507045136207399855150685929060898796153762772290195169300513202614695627529547314733093606271960643855121915605168945426348946548272541535151812096905623996194084897197328836930743752383981821957568996992001811670882784050895494483412332578407902314384445073700190396606609617577606469126983393165352749991079261085734566095395205165717241714657331507949746269685831397318738559570231271467188056258059695472853604012899902739359792223288463280207749379058940402221981177205754926700673639256205548802067210421264634780345205278957601379929316646806686509197291697933562787513015943950711635953512666593936908059316010835291461512178950338807730357324089825254882569722352229309340824555986580259958357275921904577027088830626334446526726202215537792627324508844338158194169067284067625246927562371323513763462230312134700562078806078054504966184971316316907497286591509945881504726436500723000799810228631753752268836976933991664739993928483302517834291808764980217365905734612647125008393439034022365543003483008545783436209918591360271984359114976672317016797234918254105290936120816393198359371831380991501463060418077986850532523202937919358871868669979520613348457780060128181359668420940474045696412670787858906211410764401237397617733744267402279226937470429071180135718658339899230937365655545322199281604732529620547732545700798479561724676493897792312118494464974933496550791501879803923602611720129732631316449798892490488407168209050260795058574385177515404167014045397266486393762374733454629199236751059077378081275697298226508955968051694409478212220459575998183710505145617789006922874982305464461451437863434258471702720011940057225915951551790307569267557788749056022517809455153996159550331839905026659335040876876671537501960903869148685323926780907260212979211311302166980832633266935175402143650746229625288110071537492856225178723832318438022702722322375416313245356827346874892562611182741632891773071494877618287818428783063590475555513050466373918698242190277673295201685804666279155418191801778969532290562046979097077084144408131548928293541166028492195151609205400916120726363485001409546919868459574779573107949124504868915065894732480823256018529447463905941960187533096726300945698198480219400485007203772207344814884165853332981847550497283907804936783755927246270564009318776019673279992752734260057257416603885594457303540747051965189191554093273939292279419651829726801763214395813864838392572767598719118740011446402231146296346915775763005365265264272657107489741913009647642824037575098210165954606827100386846593520640653356699053031672269563952043951504616840984737404907440812568586263032889407464391725839203270492585086265785712890011636739089206632453643554593574578843657145623108196256261953456167562959454926945488579320216631694673132041374457348763791607694587345778059817069054157594574505797667490419534794351450612965101258731586482856881784718517068066172574226424923487660542905664225591673483305323565590733137808338333488654331949909643802492843910656909042384441176615990901559682959809262205776678834269245360401560015671444903574901032633041541766885855129023377458188587149410100346814018052409162234156415096296036562623564635623332543691554797336878319194888602243515507735720093726425126381416580498990448248570188227230407265768617493288191639324981925677680772044742385773153619079637755248978935347875178654842179760622025942508018506012247690749444695482797520665171809820525400959168920878436925176364914387582914235367310294580238970802198833484700246136332501751027824246438482775173656723011377844683703969101175403453311562480064480786758797190664384184349229598268468561099505900111342013949182693313268405862416177673729894105167551668738539774708108902791941864257975170413381612103129555255182775991306302019587517575311926817657981687781276785078817345213015846767298941356559841279028838139832510067224446799785691352167369017606744304108975584784556994684851643543577924539581085020253168565197523551382912653462656419910586369282360050240943222071291579540720752927584827878341202570648287492099840754613586225063743817202864991468569912053395115085960499998241254322404737331473413563717585550391058270731193994927328230992875159634293808919248172719335421260827667857876963632330122241481778461012295353037041997585218103151852943912055051693672726584036154078194952512115804521710309643418034609882715652943193386437187689329296528296842685654673963832060821112986474732043544254055565046290100483608572930269176844963869017898731180412288918096710616357125843492003250683183265409921472182554901970400014632609423426650737567902047158497577216469712142633685421390337588371090876210115778781198036103682407547121319215311161059612519882722920590430546412190615172362584022620042230268750952585147302955565667519373692797947989888143415270852125669180051015612871400849640491042104040320868352685828521374607576133543786233733581838176563378883076267494700521580934455399702153409092423126386681976801169433416991793657551049142447707681847942272495661934778518879088225692343838736353927228467390127951647635540694599698569052852533818929959057322966404283396391089929303499907560928878216936847569567618549597837147287149214423105339493942439688932599538691243247645112284151056576767275933950552661570986337498083353032332072212471617340885932123665581849535904155150168355750892386769808673597745033974042657075784465422809105804051782463697461170003103871465101916284956646479955581733815134607853786220228424741449222090434111554666211238308241708527997800474370518322523430547574454963680297293262179252345503112769911772233421176405640952390375177389899712945628187639300327020405243539623518062438765991429790769857728810553319392359604903496958633931770566088032215966650057366865817830491255521217155234624895676364310394994237542093227068139020357260775278188723539387124895247090349105962371860578907178640454250111033826643411799740817111654214963484549191167934208493815424138262805776421316836615113671906569207398141007244654282018091383138427033715907068927770891414840793262104774673186728597910427493016483182427352789141814857790822392892392893288729587162767620204135481031897783064363554110259429517753057657014728428417852331313153801635272544624020391850579860871252519876038459571300181980436816191871261364236440084997704876990733145712154135909208865889507915393058098059230428328015232022148542026689869586511604463971847179312450007285977654019167671915369671900845896795538565954929636395729843089123341026119010701652635464784940765961430696166274679201338708663499851169330059978884073654448462491650786162286796735845233492110528583628932915757623602194201587822456841948174889452256624878375315808206101164596898464000729604259352628454605262684696642150644914091043742611428427527858786257674797991553600101787060588756433787634657800315118644096427705270544444220235163824434301583665035745163859743882650817391930909330072740350625899119728734259074376297571907914240996149197341527886642883901357998535217561099457063967171512185741899312592601245178236709615058041969714654753544294988589189418819205884583209208557082925536839353031024319622870308288319549696267932901141972781798378879385054366304216328920461401327480685505791032204263839970068099708857942664470195613003131710836668881678414385620823328233880445392194593329265484009028968963681712162256903787138694270075437912522512929330782831651889354764201563898189550158752312459513377333567363189365738795923832996295633406393174463773802195560571511826596018075579201559526961878044593495441153196359037991766026705120816393742788092289248209866740568238977059079694095944449721171827617339438784211572068455656680998129035257043033248688052286407813058645649105421559054527866051099815660571771389109554215795217031883961756810702752394306545292391239595147237949795390588848407614817572537669050688941006238385396183537035982626975244978091458994356353815125873289120069443405554681935399435717763333929007898464075612451772595812557675075920057272073188724424033689604448205230242412361376093911307320277898337298585361434254615232877807641112242488876767856281073378313796655281066690727878701748468750796811196335726531184521311168139936372761047688550060896454328245108012972900287860811384651113329238564914789792256826560934520864102169052219476570627929061094250821445014578301717919781792649962360068758256034119560422447638011795495684079486442899765326177636880785513207135949745026869895997899855080662314041408387338939204840081667025879735383904894422656444474567068355544635318929300076990056164791305042519648470374032154382466061581341980669321891080358559288094954660056417459623316336632444310189153959149103597637583544860443603736295964985266045340495689451229701355639138703219596479012227399267601605913131578002682974704146666978291536872833252033468719586116685847142720937934443661098736608590538721523680914082021967049549317554484921662914716006220636585868541524896048975343479276112552376201737917849404159569506084727833428965436525352890407584888225958132661453272749975837482062045055299567038418419143478959016923182055035179157945973536461809025268466173897532304674539275361588200177174250982330199126329124495205715965699994307429890725797932429028423880794196973897030592593127451501845400822314911790025142936028605441948517911284034980503700768795029902088198480655649873009623489022669354324361620771004125775967047433316251795269441302412906868324507129623755987182815630838047655382146988147156285562592385175303556617151622900981471206683134498004205961837585790390388808088503757856448534603864248326778912157622624808806908768130831730205772638434810867813710196011151396051020509895626938540440104536957879824739740970237917932721726630189232667187997490175538301523880191725652721317105323902049068897355278852193848211947215234925301669124620673871310543573617330378644151575030042618762707960279234915450789046474942531083949284846756568173815217160823663716088379817404837492414585332904092933727952575471392833593176914061239057267199006790078653273816058555555582520825695916407097614644146275653715043220252242421762678143581854438533289630809580382710336847445913062134838575961531327412935794648714298239271619560536437981669438215795295944241116763130941186612493380141301167785482843627618883697836569657917864368167300662691050225857286811522423083737831704993751682765615478956929113875661419883206341319238776511306464527430241462955837168057905309432285833509956430782749454266867361555968260245626321552037164982937588803954947030875158554953718932148567567706280433466445378766160939884365071330296301188939175279659839129252964573724135885988530351906189284416102180068394789394488353345965048970402519381137277400315099109515652207133332412377459366474714809536676336517974640686528475876226454443448176424297285303970659326055843594287520708056751341669390627527140473962430866460955088785508883148309628789672563247379140675049398388943091933445182189720804348794227832921122160788050361675850869843694425518824491285762674979366249579793739041329819124258778640840740882341798008128173933872639710277663278522863676765184105457810625461994839515387649712161428394206752634084619319434250768994796722086786521052210529366452717838814320793409284438312908982922436504630942486663860400162832082046441049471639672190075095863209420326769831812666631247954109929132828287245479499037746283500367719474906410328813884912850297046986276897535902437156774609963473468674430340631367687322331299125364856358187137629316893844993108061161244568245519580045528529417416413919975949492866489786264078332125833785958329601498041118053738539222811513193136802499828357466342023816713538810469990138614720640383454613020551837153013459676653332415601187339107336003554708737163362731334747968524655837571561292689374726977404397014734896037382492795937558810521594892012461811311028468286721758007301094091046397825930519560722007142103885372986603896211110531585723192258986679847181402727067419964628365133085304303309079242214908669859284851810357119695067267227155663752927313627241117367792549591471053155727908788580174581582999090194038773806332520362603141552698712947909465812689109533968562517241467981437519822275824662282743161860692319327860836457822523977654720955164950895786260877161025273217770114062542347456069655898338930847705113527053015154114244388149434075193777866619857726635732150057609020406970826960244836535317930437275908589538267802714611089097412364746230355777629471322692949204453877338169103323440025390859161215489288117591085854429162984782595244249445868434811247264830535755559346232300698222944458732662564079544740398390587818575595292737138011066456353751874591538131308864657686688953683349248705483612091368371597999228868931642539039618015863981325113520643235451923401814324357939671458421977672555632001923814662695275663330383973929411953576419276735364795584796361723127438461500644280495070879129421954640247567565699389884921173177555199293533984443524364773530595474578719657323644415808507348977167659508645387064108561633049003543217776357681165196169630588610627810077634648136849759861633904020257220022009544862835279999465689643246068479809998994036490172380221776952993202364953714907984105533012324783721130711293637884551049244454536949178416342830574658089394353093087094915515556555794431529251321587675407911559094259489643679047979981133731055508859175271030369376869040945512756506278891597611410728705810208227489000234350098968084302219908076579423418706166339027914028837839613066207769706742565917286587532057043524970688067258300582996192887400211603348493579347001878344784227577701429574386992981576557764538221828565070059504255464325121166505991551252819774221475029584871174680298832878415561282122012665037525578820063063624848448463751900800101184961587327176080731713455761079360764997004095217305679600176574042634337971945117800633312146072098635317917515864388414638641470338346393276322699028593931448912050749549653593437754238780715692739607761151282936404033513740399808249508193868979116167429088053272574506984210114870193778617553337515301638645781696936095165264286027415121042710995784469080303947504936816707046361092272346857456584641147824133743190812892451580434813652042871505688102264151878241869013451920834354563431162401083885124589615409196652654975527408971367381697557131272198699798433873371126726210891191709873143609255594201159316959481690188704972862716884853882535074302286994306728628903056342734336046586843702289053986363245403321149453201714175430067826727103558547306347564157738586527198426768787603563085789847358128517049392488819091002491192029341457042199560873207719182243053700327857571571301964025841450177455345190297587346872856626878161091151777856325832074754973154791133680811818730202234814160937258246970558822568170566886957088076480832953914840966186375370581760221644923802402837420318836004640535221612356706264013257228227701754445200168515651925303180349041351216589653961604779798911379811673801737663754878092706538758189904979538172319682631378031683118692425039644866548422073310060401579916259869679916370346304772655407174095089868596819324974011966871009018326163100425278996621575487474186526641528991025813481430496041530916654144110383726014273257146507523582467263234820428435439896848643514056715212783054871596852863216317761225144508451243889147121615983163785485588895784269398121746547073527963911558011137716037038301524379318491589905473875841420947483834965913258628529315420127782364262218912525789438578494626817091315363867691908071119159825851900809824129054845327104670244858697420324886035156007043123706277467215937735241461073641123262773600415380050825603179983111680424222542550305174008403187643659391616016589517477309809918205962645334486513715192952287689363160978500793369663237213413433467108923416612376866143285246669014378297469397916209082436693362926095589863155136676224434482631074938597450517779742219975600824281797284542552821844292922196772348777267746599140120860046959392443047877413583311370218978368734260790901034140976715405861042823609939327216996804641695373567809175271837255631155848651182724233041328215050828643178865313332837582310453943791151922731230976491497904212658483583755167218837896860745823160442832785336733877009467223941767375289939558995350449949863189084866409326918664923615012188422157471850150154134378939656100652218993740776948444517531277933509064774257564943265142626318430121473634940170849188510091286202240470838712287253727470916594964766710078639028881642965422793082375748836021426063500779482569646174846396570991084636757737833900928525431248327094683112244325373892700559960057514411809209981250754133171918686199268849046356663014261325314939089272176980770266992443642076012185714083265897084957749036153443649064143020421487403567014955995255533359900408213202332999410413741943736477846907757343813099149346763226914139284466283092969605310949235151204303659195847738008949701641169157112049978486948628362025353745556928065755184088465479727868626879103549953315574137389990546759784757212049611244758219348364068408627500427589918266704057450067076922571982949417711253382127798393365217449801305071047438975048675269143405564708969273852430775950622755819654655857652110990394945386926756871617461060763725847856708216376718924159641747600069144654471433550765004440629443867469142759247182110958903111223938198851817288827175229274626399197777572772318032132135927544889972664106062594559924536261324654486598246196696664975593584620852490880785665566333441437325662788484597403712915904853369927775884085508283187338591916999324730090618281483124875716302678313359669434920195262677957276168532924478594247781181431428253860532465854701442331176410644613544229662326899218072281959273473113848958296560771164980958837985922043103099464811613750143559502095142355530756617560530827346392313360499571427953709833694801335657031161127760158030870087341721801367121075032287040052966081674273422933353729650896898493025955161914063297976382765710692234175462168505862337917529202268951184219558075627229267708744661355303586329448938099419573862659345024203921789210099114079914284047209384352391605368847116172319660011001590674477243892864101502015151328940418412322375433533659166697492204478443116690833073827818905225887159196524844275356980467944872004445476374716440432319780326091732819825429347885716100658289347575956054113852064686450824376598856069177990865469160395464269155028408521994163782654971805875460365285386483633818172847085633732347869871149259993134758406854114411388895427335459679609920852089951312752860522239614158301683065987474797243287784618486409406028214204057864102504116149687179777468916978408679911849936492240423783965655818739690990916370411995358090166488668788158567038823169783322229329171883392260782485377558030262018167430176480658277004367987842663039637929987157773748165641205276457355816051778423091946131027549302975162658634719783705328561550299607076045538047580877490551457268317266367494162538770631927360535848691643409800610370814569051689993530296485169562560982753266239395901054335796410718946079552266102478075917090758489365516020002640653690368253037385297877416175637643386613599334423585526731654508468102649190279954858363220182458499253623013163052760114017393039522276282887345559838160329870726919210599230396451327930092355626521687732661047523701103281600372672838659749801771814624463262478951223136380260371360782056337329394052694721205987419023872526491137419434594950499054918568965345771250505165299963338877886580357528469866366767033331495221801222023513452107665779731569054605414961212421165130664633775208314236091694551952321108062695350756056425980709305171618258638317471148967902378542501836074309383104136731519011053316940593288930350923720275669944537504858793638645601234494236406647548315900653769822810209508827748026952284292068328686089074572930468100275148991030941910268949733793417553022427186591635573384501669062766868425557451331443969155154978256732174856372976137314636740512231408404698998038700153214872916171744566973043551863440557309085123721346622429160417120973692000317627747453759117832796828880806418031934524087262822410060047191153624202489437953512460323868584054354968247762206911193515781895393073415634763233490291480674677119251990219533335198261974650401119794174131405181241199699617889896107229522874376589835326287688583154833744427920074398124106161015631706316824330073737494824950761273623796852594804419514239201142240832471211701421821192141033533569840798864999502127735718430732507932287068068378451924034534576009520282172519094535155111036509917581803124238515392920511999299609199095058947654231974811503431386638555453434331071971253102293875496434985346599526280183658763420735634612822008436543924368522267201276227006830339357862481094983877698010773907788509748596198253131297711552498062801991604851948408734826955390965186080560601904277655471780593155295793531580226947169380741696526252554576644651742196124979030755863405633595124523923243404695334624610800146044713784003689540904864008040509872725395956131590033761112547020169919228756322870472985842571561838825092337435789322706361653250496588923310981039565224410308684385321033561043200599650102361903925374465669041182750541030781216623132031306749663251536559379788288326606601398737162868177011479629634612210292373634287080001109389571077835012443365938994605983078961990893992417317237987976929542148975772785267406840925536838265541713048117046928139593361324340469627107749355989193082775380116133354481154479518390204396678832004034583868556178030032270675090362664750676774965171584774379265820219915320366180355713253719355086757661303331393238203892394081453558513914856571357314774299959378636263985406809895396986701107087617283087645907038920988039615627925555229074721943147541203072912185249282362555027235151044303772201875473284643227624991171603681348856099315051173763578746606783643066733723903722638843867877015760629121685140822655204622908362285529023656981842804832465088980492812040090951724719231511229506497232097120918269746027975359880777195173955907440371086613884848099377641323378329161777326199852554290262844370759349914390855648586895834149472442605954152688335658405139068841636382536981715423988369393186513907309771559602615934605490310099638903516085023494393215642274495593535508681707487178763865264426543853974003099305094164215867414654608581620990977091164370157008389646148372732000108574308580139498980717795428015454241634892728404053024401710207537036182231130565136985785510007466913935836471958323610039061132526215309763472813586673989289796633041424454493130260950224634692329571207498202179691738987935932461312031063080008173192839882602485838716022924769603946817657696707230510725571206602704937889542602204592738429161214275412258305243273520156165571570249758607484849665142267011111076511002854245989962565060673584266774369412406418830823208952229640958581727403960281170786454698153277686653905957517833361295316552054977169650597988865692895916285217167158907067388328406229329702024972134539352021561615806700742210096388083889276424507128816135673753319822902988739671715181270976982330598286582009951596050045353241534144845444311375528064978755282804283469810589147444182758822001214299993852301061782904915396539803683124647263519404046931092539281028565906567814870708445816085767662780518572726638660265123074404865616779793083079534486527464709660397586524583982542800680141097365707739183280633197715144875876523793721951284179287770540349277085973257299754985979158453805417330365188943117472846012828511058654589836503825828439947403274569061462948033013293976325898446817834281055910194424598606904605164901381669521133253139539017068944383264040079165094860022931730423710391766613546967632504520998865068739110618762418598132808769298618671613004294955225225874078471114141866539584098015102618742013161840023336064108921890033118454075831182283452466713218710024925347715061282711123969496486837996650814510939724069094670516240022499806570783559724155520433433268365131363005013141236839723901856013156670577313385192134708754099157166606527450418765520964166226128125751440658218622618439774076906312792366460742485996836477132244990578785970679517698136680763737625776261255981827751160811268632083520851779365608136878453069765802441111363446427604078039843428896287355739027495471750031317704632703071429369037591759244481832235782672832426443152872828674848245318061334861255592672387000693662443849686061444754025706157562788371600739299224821909462269352132661271072203628154155119740686704165668881469296034188974217153934879438559238759843503080153436989927665440406022319784227478030740944357482430019539373669043684244725377363226997196895645356843489250392559234580475299447878050905377002002700679070307500060964521494555271467537932378312728554557241822782817244617651601007353474966789919783040280858250755706570830397325326376519199057784918964779627056758691638677602082931298357528892648476135328023003066179431462170130893122922846498990218904491081306865322543311228556882353567877829806151570647377692052284417061750819509093685821596368578201632216363006149360476129815234273224057545945177840008356630120947876288854449044823261906194919228095476085773806457867515700218979955797810112247417021803726359919874969409893981095021412338021314309082797756596435100785441106025844065229915872541120328721276148677388591662590531972212572338665758863043518637495199856890222086361262862419219999218346897183946680645839352637275836193707329969158694642501712117134384874698936831382218925180886762681329146927511119173161448022581384371839767879698882041485983093916468032266917485966546956295814531355386497637845909286203466615062039923300861751032656457704372497802780954223068796271712936332218760963140228623522747624676328996292323324408729415225061525564132399636039915811746033464889143092363335334309095604849899373179672652631182273411139425614259968539309663068021395012277612285741764518765729533622901398782488958395422613921494227580158085264620320763531810320650927612118626111339570318838957717953626033588623276200220492967452045436290817091849064925614786227879639595215436098441850466195260507221611645523999689946954067395403942508580893943224573601048308922212265860291306917065943167983494173720483979646457274299230109890696484229368296785525325974197325286027930111164399365154956688011132254080664251871329213211484760644455938241157428779549466857395848037714416248621135581578698538573345305643168396078628893690201259255377261316754392634070042596107488879795491352624661125432436605633782535510922828679794578402293568162272979996075875680158373610725504006081490303698293410087451294730957502059170108313035226339672026311358154211589600973805980671210791253972950046926481519332185273907240027943812508197666533051680990958612800846290433056465957043046235003150357085182403947537852872050818119409453312460165699995973916418109247327445411772637147428248920083351368983196673699032335147610371108568181944768127309531735945587424400726500186687776533045944410443493551527629454867755031058801302357022875644731813610604125223111028241419149953855182084815805597497469301864120765149440667690875909257861108426032933273943827685765559835546122773554282600104698888295686517559337624808390386666434871413235376164429875223655356863835999733791873157816333876409361408674201375545260690003008753250717860372022748065806524883430253186660201463325567401821789914226653577314870657885405934374014372252980888732907900582232231823164945821581438881889094388384456225666503829858502456046481656532370134871939777247342901497228949223112898865931497161023816388370575462896068392421190074713765352143166747153097408570665114623950030767974635319718138718970722644804726951653242671626538633381107013446631076804094485969929622357967557586530233957741935844963554771147946302411149462418152605586884312602506862695875066505392340559064547015392313963093610919576129685018627653937797682032555488602974969269808979614281514962677770223085715311048738149646758112328200045954999412990737952495358715245200691472182533933971858397743992642972619510726073630279273968874613342694292555526256585605299178637641039763139228988693839142166257487135976526721747858586795720072596838921463153612373963398102613381975355483777815304621524766368821185448969519336173884833764029999365124515127571375933524123930428092379535644801183340247729740935774529151847758757645939861209844254470246130348660636750230904824295090961765970530142350624263662015779697134880255645363834585180317201081851903407221243875958926501751933966387661497173891652410176690891021560376821989752915394785138027716147462370253541285539280206062572863835924601350956075773663587228675857497174572358474644059950015430093450642146996618521514227615028492657318924494316310417072950116163668091190917509634982622958135390901492349905320960671655211339629147859669332001234818833865404803278773306963531997032104221656316942654768895744154851710311108901131911749026459565106807595881407408563327105431162926311878839633552537713679421663495961829658930738323388541181807102962834864932864632594497075738854115790705261061259959381873155124577894769578689250748086202701493285949704246284408310232533670071573878724553344450023087053478145558403023668166931065730908792775378126533200554058855397462387784420725488807170721143756326990012145351053467074313876560697323874626680100262526342486362988876096497549001545889100462906996525834432504348188749964373881579494706314895219479965006427370664897504682464932456453263826888001240020040941346772193555142766306286793205012939850294178712337906266105076387631252829289262678449726977718660259835885994906981962717199326177403411391567410492885997012784188812290202895138405683519571541091090985540405907763751469691779643431688227943340006258068087307466759997850877561672904710622603619414911790818505553401768050983922967211441528597789064420271895040172300948989367892778586443377080874745325903513212176915612000363284793113079120131883230744200218733486493525229918134328816844758168310948027767578707201572424503894487484731746934965729850443325643946824949858959933783388305699245125123675219993423316799797846684680380063652751556230116299859207282744330745992003123552732463434481150826336633177158359940028765073224531190898710526843394198403027657288297815346133605992605260384884422793623874878633349941729106048297828900271164575149493160630028137993383856342118736227780745941675591986380803561934864950906238985526008553877044529093189032570251341084940308157441980630902629393862856041324537875805271301154246307679807977022250158421747926862413237463926584993772921078068692977366547166922787844547548994062115411623517660318517697139299776832475533682180393101998684576591383124491858615408054232632304877453409985230843720634876672299770805623035579764559018140001843361652950536829341863991963245944409025645836478100137791522532507187696063867858861235845648837634587176775633498535414763515768951212033700224142208249900712438879836947771481545001510509565891375974851748503732287391689325738375308714015827506569150928569747475389122163478100889262031725685387825621563462454073476780913748580267305215779846048943313538852499944132558761781995353807744107818399539003876445927501511274267398937498331214451661231471703545077539483668315763267047815541803029659087937379199653901689341569935822314877984796000084280083856494973833320574905922551485378701602376102468468715707754204730935873206125093494633649047641590622692970777803782135502021961533690413900786199703550948182865610009052182267192162572851061702968171472573131197208276851674889584964894076422208574524728696147738921068253418921238154014603726399021661799079383688004634097971923128316484699620064415424681907247208055293285131170078296390572574128747743431443342660559675067091973998622413693387325805442683386109822089249725758539771687423078665192757563305174744019444038609413644092469196190177994868069409038963336793586444912721336582345095774972321970758519329389157775545491964956308093970213071371010182250189358189997903515192958129942837929758462947497905642706009296073787631363335514691399774895515857971249860608486942542201163578998872713347578049000232041187917756985351441960328430811610408623596453950242819650386483411785132059422130585725431120532473785888679767751291840964574164809118722298216735814181517580920262568785943440436154074501618516864782023978406596072177966263935754430315369672985389238121670346672347064255284754551427995989879143291077630669034349052313387794966669553798723997585265682745743241703043033963942210223249740812161158910993900582512044509016302893832714492619304238008030234950075998750870970108388704392864311885710612556490254756261975232962125770332476265163247331954964973084306540606144844759147648686624590373645839238067627098245501374860783151163421825303368121825989334392936302202902869860433148870285709795084848585662983255201790872266684013399993888659070883361220658663637322536086940589528470903230322150144655998872644162671940785986142831509172206089025284592919231746920290361521941969771868317063618705198812540774229581099229919022796975421293353604963402097185771073192373110706947164308123655023143032211428662070489479274768768394083830493229554068177423253308649152673302987646286871927180242518302119620660932882215926864295418612799916922409103750837514320110039434089824941909605239823338491294398069031186080013092146192706445973514608219006650266833039217942456961290962834574017220307385071359094725777226754944428681116936194127282420338446520960667925783178346963994543833572471250236637648152289047897019111021970426958716050201307444821870274228431260749393116362262820492777505372487937576586995022240472373886908166507322518145236896797036396387889325390914484417739595295641931347765132655518740265143966520482431694728948440382100277619082063913763728425197746867628978511041305228330401416378505446966005724913780884895365754158562548999182158186212092861984582467135936053572314798474855086488353160384403896487100025226154973066772443401563400853431002566976635228571973212429431315956527484571704479981582497071049986405525645154681143370630004210038535765548966406961311577385648615690615261177262468783764215526164767010356084220348211626628605581733374718977736593274218277032527633751679047479167458617723541773060826322766237415749119218445158017319065916046859940092240157680329162254799518612447797652228781286495450632081694378991881984238873072146324891697142450596373760772567040382392222471651146281104659723184811883885420099772747080832251982138366470229824841887956030077403393858356796846214511765352058187685900638993757533778995097990257573212981657181798495028492881840779353039848183263693028661114356540143482766368483887164270534353576937730377861336950617277034408792475529937051289696790761519613127207568407895801077294764973584953017624413139815107398623042005641767196853992898271763659463488718058625634937549359205427442684073432402207090773019467604152366339751513977350471492322736807078683530590339470367383573888365703262035586648293396649237783876948491280676067546661633513865665401136307169352013590021930630954297766251488717348279479499545972776653328707056765417057477931159286599557528671391458808074160259735591991281592384546785552040194831924280663962088327128747303515344468047500041689571956574851587427157067718820959437617569874930027567717074814129974379909316162663758942238951469554062380630104626930064545858495607635475067286250608354236033236543563890286562615315391360881503130336873554285419954543770089752212847869249383705456794026215182419205622009465889506090176961216790924297490581992094452361052892870721795481342393663001601738874460242406312218367276958655668786138927671058365093581429638201324701267011931748707059620026943036669123570189951062404192718211532232340970644675258796076093959736624017076051863493928304579441448772240091286169243684605731422079597720369171382338490275838059768413527813095476427346115577386693791132702605843404139536867640145190565871349415379839350050033371763512158435150782691928781952240597722186174972900895536285245225579221512871911444625432836429542025580946343591600790850684193884439747414656450333387313341730009821870536689467039174589858397289804384047253083625002102753554019645884396743208940252847072709312121337386158413606812865352455192147145310036366744921055787356753570785219487028223519210269767537300240417170132030576201693841112068269550124804038489763734965925141970095590796754895204522851128206800398303223913533875615304900679382479120450566701133753475947744353638275675405504247422582898808215864637635273693035104269884508605696972374019590225618254749716459907599657185810094859020130583429349505617051135925859299878338937675836268398030621388324014686349584189307132711870422361522823966353571821683255096811444661034788634154617830344003667103794972563675433765460262852729123550071804070733772250322713977160334384636154844388280210782007221927200258542405140690204788330792767861898642221167735411953182909292402595245366772819829572588921240856677456725977579709074963764435684281026649610862135182444747461882531077558162699208055217728356443761081543325046139633195620408083423789959988164144726850482471638436175872038335052134533455511119708994364381619600726676996061861750365426346099300608160546219530121278394472521501582137715841183704558567065915307769619703857376564053836851404885726337343262934951733870680502522849079077558586257586406893216522737712580873468875262989263478928649161176234264432042092487265959779374986759326548413523704797178931721899333170997365842233803654000651548419186775360101810838985474517515324120324896139286331373979354464139179636698861226754045424532278853197456488665949918945118900862904254936380207536367818309575499603324754975086205305351522424939645733021289839929312155173628768279866320956220069325120659869954529154677008095384593564325260543790382904774273580015108061515173212477413279805133236243641218318634197413028053148600801696831784183280471611043044684063593396284681601031624774754622068317801579169990714565364421802909670116119347327926655948530671231880956181074675154367310326146673893470214361393577658132285226507242118575667689727792591476604530897707564353287606489572635358828356005504030223519577603556586941026834163986730705915471979963454012571272904857087936604437407104880711195522047921637430563241425686998056928583105960940791380380439755325289176775443906595078573726090568294494816601135351092038128759366491275327368908716089285163007265569619841488237978046761684642776136040710798598130275772301157787186296261940094902246639137497360154410957474379322640749305195078322341288219119897468104605876346665890078855656994254865982536656315548270674603421225781018943170954980540387068419010035401274675383766668693467607502264001629207125992777357491781304975182932556150492261981199834390186016190872046915399577309053656465096626599740484905258422347683198723465186351010299568681629940781198285994439195018927006142866130084370738922027651684358120944164989337528386430721194816438231797739105379904437603410085350584183650818535818527124172141574607471543618140715854892987534902353219505327704696665974710760800674325990012727529099629319879436073531013788674645700056892218931814287382411745500642001566734625172903158037856647126004379701264328633161084447686259917579370646326605714289357480666129130405323616770748131583908014622382843651696491465834301825439377602567136291058735046369803630118291931601280091539502488586845549790471152442996615169022280145730056975883635156224568762391946149688395242024914709117929542664958615390726660727292138905591589723195106134071478962582319942000660218147257785586415879825580953511359847111159626872108518479746628325810386947069551219142070682361784770529575386008474206275466696489456979238605781966585476120963311423659363556791228749367125210640964088185096409809381845682260020554979036501798458662786904436812038152046937063335458824869451499063462358835059403975031724243690406102583763722149919574884962712057197846952557268059981895054368424616824217843244718257480215949429332681209949588423146645004427108842260632525534409664944542816560848350935242117616375438919263376153362690250433453013546203788817863522585976492206783534007738570692684594996567714702944209671608562569268479686313407372655809992422000170063599323111563411945098855184660857974674966799837801916309665817229840611332872993629064135516544084654582460094447501004061513181012915679432755274066347496293912482746369631597082017936882395620283031937923390130482215579568741198672888273866268601065340767135145733969339133702324610060120552684442096974586998104007312781996622785110403291104031315990748339479966495303999378611484139056306516556610522178072394849611438745193739978847993946965781343041511658183501412873502981902021997243915257895388714779912535254855149837383056050479846219584930023909619645738376133935817282316987834939824122638270618621905639899369202663049379607601149216268054676357256453265471325820904396887700707734167509013073106188181360515372821224618448452702301659535734280191316935315114108596690451048659753918370201035753306777362053112961096814334155164755271091683050810820364384416427356229892904465313317780378921917009348980142627017583173553744107135370148341187521803328364826874790198720880155912385334068829657040583142290696336366303168708572436262009640470873309442195808044419664001941613142766793050095390097926431944035420765765075041787564385144103445290038481437892493717347886077880030036822803713080113631488390970463633053366076872934046758639082891734351669883599414753412770158279823109400145965807179132944789487070026890941728741396089131579710973033679039661737038786424383745752602707792272687886152183893880886964242638233922843786537002873811306102007834281813498831592164737557642022063614901740793676741973676622863490817892509549075578181502612098593762566237890501749664250450720676424008472979625756139584930517186254638143653305594818995481031604425449996755205445119232414490083873712811304635354210695991569869208011306865992592042974974316294401820150102466993462392736369834965150131739849976784190229492484860836261698220281003541933778644721654177218976672607709997229058566455227874368099412997469220452713650582567316504794235049326625837942153759135349152629536473692800081874537687331291057818191549265299244839775976072284394975750258279013144372828940404040928828258605325493723380831192175396014398184815944113700609208219053460081509954901701341886240393009848477839360139800681881321693711760995397866082898025168493240081936855159875060516880154748262371875127805760115084690458619359859551882448249713019451759027033861370847703968911893746783918831535885685833392727431725177129819313168726356328564382403352024426206290095418851385916471897138565791089671015599172584397768979843454681687127500615574720361072055406537847253469628396663272556598849511899611010326719094410418532750986128890253318839515742414938330502092728145718435835464027114770502022184843552240627644824836021853165115728763286304396489043146670619796844284224477074800362899025392583840272603359693293869508594533903732540708149179443275028522537897240700191347612604599336677524763652002550644506603994930250608373803073165393597045077956705589767249158410183311843549947160524078593006586674882368492544558110385311172297091876964003245723348894038734106402822435464569419956860058426904125451016509222807438431558594863337907304451170054644147055330650147521360323881783440806847358435007278643210136263299343040863927401063334216000666571118967270083264570697252095397358398018112469237939619034967252878207948570098977114903072305692240954437704450295014389276798600572090741386989783965826786159680914418608513313673782435180035391301001935732675198942023160610315670669594790132932570035639524245091072012694533982539289778979810319844433759805304972829732803574725458825673295005000957312451794616317753680011929475361412536500902092076817091437052450519330451845591602313243363342502834199106352263907085374427974964622779115502153940727554282071359321471551534489336563920339373064016849044477668312875213286393137265450380153358401384263643514458936102393857312096476334995604060051098184516345616033031202585632785070833355645988741361493613753764674460083029226516456656844387591527433957447000288732754292946353869840011101744085148487789442350609226173516945915991338123368762479721206084461236221242209258216836659598937530935391338665504766765205828511764529077645542937549397482361700954237969398643128413403264539635050329239657470552460851947238163261928387352337168089822697080185089493977214663212692073697389781300180495306187443918482796216866173276504107175627934819391594500990959681983060847797544888961293450796259939517543437659314318805734377222720633254392525917605566727114037266563150860611993079996362477273438756032536057930278743335288921839360404853701633076402041140282554081744995946393855112968535608688939710259926422044175601278384715766306459733865248908716143913498254253598449056361595813516949439381807428418772448624445438902054002225213696259412221298631280471296030174739663053150936590817329553086226155671900025855067688805344234983019946499536617159336186594419926493989630832242508896201172198295962948961785707881846769612068625833319753549846232760738645800066660459255708248804271504266306944961818568218703071859763830781287494017022921832796522460122650082487785324971375841080437060080968526721067980127556587057219610055269696605791850144549042830587633878230949036835912421908912714463535791787630229928434155231116438977323731095650272511132656746166083699509680709495812704471791923150338346153468366493959921270079392673518176687244773202620154955906009575229415859432691760473516329004959108925304222721853199506601905132173641712563423131080552495580542106069786945549762649298293356218225004165409682502043134719924627681395989147998313182505102868687467774376066407942755258704948742672380992116700381730208145929702358537196323118862316182016360421551809448033011838148531069696912687529388825812495855730603342192184878769555987721041409469580828243460114910809952237978783022664636701761828378523884719270012464339743678641731721866131277696332244107688221290470205603445363033887342125363059428930542235948669563937577796991621193786782797013311143582598995837894768506739348196792111275533121469067684671077852705777403603275069849898574252141776502024606758404116254258408657200912981927858750350762759348734867516858977940754655490886104358339720633703778786350834934256417870693227285364112493409668185164299145431790645819719417413913820121508528841970295368778298582110798736688167084902309013742914678214574984778367892805782807895456108503591626139104307623685204476752746472977494146311519495198068521711805294993988098080003544224131724832040758210209967294326475325410051789781940410669993318871179810287139643713895844571842007557059629277396556889566526729318749331284913593525089735862887027429504025258384013293536503206936570100235724495674008463509277894993607486447925177866009922622460197647667269932690311224037243999080112782062385098831025568633814651098301892737875532705142831884353939602704415071953457961872354411512686583215516932059238282879912340876409749139836049750967380306026817374422063117825289680261043022165027179014880279474859141074161758115338641599492806834576526522629013780301129979404283933943073610298871320884992462785492217442563516687391684029984250663908754718443466763324978488400532462143634036838392419601496400063399893602046730751742677257880487795662639855436672064590935665344899709776071837482768648299348527659054306653829514994411792286508535448122442933970284736438539131627612530238242311966427883095328749918121276044544156572856552938475043691089990297551107680546837916435552135215658420333854208157523867354503682888108410171847281806841117358214780301611652708481112286146221989625639738682893898584213773772768094852534473211868964956768468456503663456217600035764313805572685319109152847020020235303709638329678904292801148677115269465469360578295403646007809558391527596453550279576408787728757172196334936253085912442217939782146771718035989393618913098960029630799269982345572864424966973151484545841433103917881223554796432537430215123780163647070172386675896656670993328768877503616523256315542447262740880121212476647029066958695501246034699488750749771926533806198343221229395189095206131508523070953833663258979266256316501020760315828437314999330579719922177528115148589746180366488437010141846426050979577020138854018470928028573823363356434853354040381616885111976071740835285208067393781321232591774904439080210060594219868138305979224580068952535486289519863410575157879175003679300024498079015244846975432112584873987595953850520791283210972088050910913633622835160659886639767894570242925218701490634012961095579627770616045279689892996553052994594783224569978366615389173378942563414135401257137109495152439027913194773312294068507126867940970598333541190176167702273265701016693001038615517518015518485520767424642091348481868663064011360966861081919927715978329401812544727355700443067293923055371029454575634359689628515747375581934679486852643905080943172701499285408215446404687530575678259740217035772190191577618432214253105330836271854165516976708339913529957808859507138318980298849195855317014480333259488954401856027343302473251732028032074011147204092058154410485187304470631095780502847922990159886919437802365404936901379301047145284946888402544140065640786506010123872613630956003551089298994738655161738298478009460402400930844029110272700938285614511439574150748435067786239510336119439319575465005735981731891638816590332504750094082793147357847944046167183665325293104319048805942869183968935701407423091930934402378212970390569725934606390177922578130895330535303294127599838813232539514621679050904454789910031026065628606740422163556181561574265875466851956218573480270041865160245829772806468102927234549302690909021517238001863356481068814913959772547316405206538891222031407268254192294029859591666280488074567614719777961088919976489015302192432241852612915515370785665249009739722627630386267801097586037982602660648529858353299078663480888611993139708053965733257287975802536962573445841373144890495168282856584669026466641078775632377856540772838874689015316172342730455499888156241471910439131661505960902004665280110422458041819846909228881733808828147234839217206216945229365836463061920861786873488597388426499761437724630753616183874879763524753045127322414344783736586614625004975990025858358139467569235232937954806431868516807567538634155667841780420916586325548689292334615299217811291476641597912261364356743026085221430161693904114718156894205305299527169747662694334640407503131100208556756142329748931083669048978247574970402787035506481454152822402128390813066719793119496566741433216794434798421773707652068918941336277276190640599803215657657679615949203990794863647907297779581288015768171910417833811282122259010393034656512962709480406889101231906330030894348207912843233201670015117242299798916528437041468079236449163657409871006824877946561180429968766505587345536200779589214309521828816084821545150816652876742051948624178143900779007870542489146610300361348316756169697533216702917186919150146318076121180762994427952238669292966802726116529775962869946320868042838109714189854302552882540880827532940024546885458177157725598489657637520438976945637347916806278285090574171664613410591761299859014274145544387992135653037365571485118098026239253125910496454822103101904730535592202030249589514108839758558928852604891397027863881611669555669520386421351191692095439771357315049540443879199806806377962926905297382924998731182461490549849073169841725963993830761259170606349592488109765629327286675093962882446933685655558041489477657627520780784011185733457645047807979749565204395634596977844332986005037868249856331204454089717454895741435811789945812434798650614085681864755823754957310425574175051052476026154634508963154849832592126749348632752623218529081912942094509200805467246380319635189297819059596155228082969841351232363668775879652159515168755083335936300403662335268980076863500087611616966488780670514084644325612060120272836410501615751147888115046356932405281629946914649293099926984454498175113630373668238435972364515531288027126715117489402425674556872849409225909328668584909556817058481369966017053883127085119447217743227430610182198585590470246815172605624427382617180641602922491953148008483018135346647198978591359168451257595282994739753651319311914062207534144173709810793404271610576009775281427326268832635178167673664056763190930866296961316484265367497611484240850802993152326330055934950952533748489321275154062135836099977108371650840854638904199848667087997432431031682307256990885569210641437157295858558607517317198559154713299385596382073498624787620244716262975400954929083282018766907475827037486531642114191483900846940091461333935369447965932210188219369317352024155118431670098575904830935893953185994310466374691519854688114823495908782279391330530823268601046743016355603630675763940200899027668956224363710017731729273702909969438212653829640050950098184442171285119146720623295900172359750313611155747677777384837996561372673555690368217543125930725777173373820352103849797869425069988594457321108767216693546172243191512985472320998634494108382773060764257262409707799587909904674078999639685748527011641988236133412961040172059343054983278077545137036557655995871033640002378577928569249543686414019795636545085132299667754249375201450685713047681737996452156264473862853036144177772330326361202499038588291563136539151574689414222045367927288822150047181922604364953636877801092447734331003655091595255050411773976238566715435644745445970515555125555234839174802922122717886006460927645231906625801942903658357616318759794438824444285902009933888794654999186575728266675146530039327718997380223286309872262503325848866172873847665594568362557799434668230174765689468410626494281927014815126636297007613639270565220715755112052039766589663390906550342193162261436115078951745951645537296441383649261624454823518866532703429186564589915542986050561671381017698838834743318087342428934939859484268157053857202132998604910515676063409413543313724269364430976564910381538649065715957236175385679545555188501679382239664980537282197599260729113980136259106547306720046804901730999304915044927145237470966958136100034292893707700763477804891133362286712510360990054831555908186918760698079927435062244035265108234938086300577661726802196981425196008738838687660785914039412948630387706211839206868075163873496349518129782048653165815606882046769532510659710432692122549086875687860289168443469158702248266857670873349553758873946224412995639407704564260486740530353776503043399445849877168363298019022968599032842374213902874070490075800853109982589579672173609307741666776324653235938035910345633110105770637388205016262813704630999990898995089254220762675713592571302949157103618126943088913111144723886883651614222436697270756108857858410401268650228948842642570086530982989252695472305118292173701216335915270110449237264904934996222366075557314455991812924195495857461760777460939673870008594145889376064592392542769099436355362291732920120163766610968680381046885006364739547905397992132743298493255421179541575513819383803037454563643214471697896305968669843825070800380196288053004433651114710837539318675889768597803749123170434689029528947936156960316511174298775820717137995315380601201512885914047223565771431016143826457525204263661178102068798028835156812358511283356058577337619128565984454494993779091197676389640359439983524247294642903128747463807970634047080096977347016009890750599170175554689365021126552443166009591723762090222925989043886174341287945285658183571350354445805755401926644089047757620284270575971993892976549055693905293743223226327892048389132554548889007868973241571176146453334800263552708591869174266516252360538721024393298198965252113247833436990096924986189271396690224378226475227840807843363707909116624132211626157970196664369756514024270857084650002816614549469439998858084500164898422804304292655433677200836957610751019642957377990874809969630929736002288872697297779139346876152647952558426399338034923522645793603268115878774894019167139488750368971015964511940846984205176087620094041798015821533083670495350786050599021626541435424640467400266669816468919110744948258903151030019988495797247172241628997983406347392946168945498563179549870923499843944956041964394264996874589583375221143699681491791296988571456630713460247313865250859354097896131893577278247205814671447382982641324736369044139979521917324107758394123491206163912436897806285634356347855865745205755728135370146499924149686165898314678728063436938130700872871911344823093638865886751498824160471500833793595041450949629661867877171412652984455812744979616816813415417321158987187360954400718904572210569962948622036092425170025766200761511132147467076975183460418287550221842473369914793887551727117097898085846273916786547076809158107751500653628457017687255689007338867938210008512292987536725410009037865627287358908900517575279859188635919631241162142958908503919924152118087617153681225575566813774996020600836766272981131696243091329910372252035578938461187698033698239365518956364748692114097588530873986375901683490394490314831852678610261210094265787628417003399445444613876343342477696087700087352708060976650180278900025015490555867607533128982223620434169717368037559252062562776159464927173619692881242917203396725099334665320189306115908391049438918258500279979559912522014719271675379435212495575080849526488976887716367529907947914768761220003206848140783940481832210540586453677382001199464572628478941524596911640285269672551835729865648531814205350618049202600809333704193184402112716700618867942935072158091360310224115347693743364955489489195954985765845867220582038972445507970894643878667143731616638949616589803962698894802791588879395160871996665533865984498320242665050241228990965759909241723012549416857378076812656535774018116836981250453804722696820243113604761972894564482252531363569852738215281709911537806213769188730078559848538179569342425702755617936953714902665644955508253036242247880315424449921357294187672232289216976140721032471792698949409381956792533512424864668577968914387490017441733573039980524600908526279826071527510821392060229210683890773977322703228444919643171596586847664510435325022289946615939326428810027304028809104849563285417099869790035956756426375576036980685346945646631922294630584871065494675514410862182788484425313275262038654031884775936859888457412041465165671368840962384469436462342493286095775309670277048047619165716782472503766737376796168724070685367509871762325712504096922275999607179350510390865690764714810443083686817177630409128730426657471534478247228304476584713943212746534466123967480324825471702472483743906673901127604671732804488987258266385598067529809372058268564445323617120400067718665412950589141020296129567932382211813526049778599321911400224293445156204490320222728699456539755595590978860899255560270571828628079304787806369069971215367743638216964533796041440059879368305495742303992501613684555323690862067896949126530136928033829321661256391526426741344380830359256647443633004043194782787997839111928573542345377674477034868807558604429615632418320148639389274520584096076400813096423886742453905689439668928979555266139383550686834388690319104679258907675470483942814096370906505807419923874443256360854380573636362135127915048422402954959163005709628541043097057038159724869243473133457302087831511231917685916169281863829277544849439306568954113508682683638488904426863222227811283257021531432272623438822789183887507783384825834055097454563526533416144210667200384641506008193737980736514453239097087250572873445810459436846035531137131469813347751456832861194152789908077967431633349934525552404769007420510514856215622410079867498925129403081199399482325575114170404194655153455458139110791965399520768209195606337566730550607356133003643350727014133206989453399086167906105099954575955933875577086990259431780448009488132430083232928379865453145431330049325728684680354613407531591784856729461490760687683152759864355866216920990132506054347741192325029279758315297309229836966522447767936802463598863921473237172498425207422715049080575870359312232990438709128629526598451637799814104594079033786719133257636004095865484462883801959425579186095272114614181568768358790583219056626090706497026688677684019263434143204442606437950560827050721427594463290410258867674137522362532531553238690078524306803786816879834188305278725468228986220511894384352649222316954307656808880615584924432231897888111016024544254907198098158541949978279901060018965568860234225735505012616705285774082795616174886032841862520409622591320029808377665441939536242498064665070009677618302718279342851819017172849932140924935682615159167209059770013888109170470619945626381504109615469301916068983072933629090493247914710947163881980383405402280903970124657467240573182502643121062097455213570567666001731916570634382636166946667789216459878741530740299572460844138075434020680510668243306212591352848758769739833946657546855577223315618487648886905442729347964319473046017473319959082388996639907469944648839981264054272187434459132739339787798158622702195774070142885930064536706179028299594370254192228077490109643767876785975276311681974715999330571996590101503995254703396374382324191198399875002240845351433447551821768166582798266216480820553400851946740271902214807758432849902885182547467079869318244908386093493410949265667460290752375783286963277344205979906340233420271180602326506088219877618292235443967562149036336041331699351172383638447249244949357600319068919011810694777464351684124947306326361723698414013794161673875979637878257831780834372374547236809694694877717761522600130976149042397011761447526459323831705621780565814741273402336887454953924319653395357783807829517955545401332224254266586319498523636312078440973889065840479379298098686023069509169693308395380257981539483928578168936441225719843506989926233661485681318739925782688117078000023442954179312531830061269358241841571553155415888149084967741574450524657947114278297218902268234457501853313549814439032809508982875163397258988610180764532186629580884328522556622273701244045794067239735843606332579853164710720142022566079841167335419247178266237038508257512001243002408735480426843193220093250102975485392304264227217569793292906763448671199393622350803726759599758402088289674107431152778481125783749226412121665963835368235548957502002274216569325502178646686730895728940241088958979289791546892607385925933628971592702671076274212400960441085836386573796400377796897795457788914893152990815539541413929255940362858346171966334051348212336434020134152070787411499953692262414926210234211499048504937607466949341766250108430339826801324610583695650171223327293931707971596404395310458645698451435482989048947752497980205338883820007216160160028841294212096929015918380026086170552671047102833733616070359946327351791639897331862842090460827572530876108561411463030591450963547387774770096863932983875526717661713121085456143309608297969826094467220645907175964882621893984453701393057399771378312524606947532514964712841389337254790850097322428075359032219271513975008338703339844163860882278799099020991648680921861331188098245333780958659119791405521960391450829080340934901323511603255909277730069873237008878632830350727855897351918160878154346343391776971630002770737584589797265723054575027881224463578887234029604452353093563853323285679404455194963933882322554008896513156094016902923059537589247652128048909881282959052901884963759941267499897439620086039448180223492297950292371281295681865752724348607506982853281641405699711540991755907428010607661869496311502571627938233053039759756735131470425805405351825535304883257715401549051165899620781922328572821392304693703753692726539842694242695050234714332634225791887573441893678252273454452217997242439169577066392299314580789228308237925420139340952155953720978514036311281580491092009913472536372160974915925277558479146907225701965195387565674941687399192690136839325544151241704358792896198372223276767756636206888023099540051900561435365805591897629375654693552013719659397517488517034516583590587318905352984133570242798599125972005121864485419796281310714133104644828512666882405903436139069306752721035339838703615361642090969719951278864843859435661885902766912930451855527814087841971812167229340479447560836214419040884726972880695209474085474500641014377181192219163450068235220079853837223776929497728532284976003140206547984843878175303505061346349751141563857290410169268772847091601648362987153085999536135194222588723955067568714570747737437211008466004946736931326587231394521232594466787553766493329839199278427492092202116931574002711541523445056794012221685471030042879582318797549775036999014804363694787253077818502780899442085497943363871953763443245940287630191242777066829103082065525894186101669123041520445847120745983702271848766306201623462383129229497168183524090164155298335887839736903685130254342728120740252782974142893667515195119561772711286759312877790169420267368438247323781840521587998269733591411804551984796249395307115268445825945721623783972651952385943878205977865213069237665791490489577143677873543140475381894442898875245898635382057681039927294550251245189297086466814135433087227035702540594867019541560814806362385938882741033856895928726829405037224450063605076632757747667472884313153241142528039528127953840579416240218419017793568591431713909740755447807718713621748932045431780113564738989764425491337016279100230273630941592790409572528950436342714443970737349436864272684269463656778897933708864640472013634143537085128696605851912876101949181670518562110580247852216592675861549727444934319624056594659234973864939277989170112002493742391267319000947978960011608121655428269033858670715360911974993785967975121402322145532971286358010911443350881018514150707441040358553672934697827163070057813432197092192111831526126942529372545427797197361279294568269917738488577560248304805554518593283232251352602352753009258055184534665347485738683279447725734145812098975483417114637018100354018275192564604785588185409165915553767734402959708992088175848839040316171654425851012146952702340744527573062420566545902121441260603199371933481876977007489264030833734334193962420287946713154967360756788737967487810639823330243563135903835912862549525297522785595365754481530736405421258723247726480464491519885481448191241929785029656962905123742192685118214519745910627653764308151331611384472635011302559415776133610126014213477071907702530729905856196695336554020142363279038848729611509769674200273226530048465880051069179452165539220023766479884145719653554746391571989559893700979909749245755634731643128832341987326077875000848151575583830926846930948499150294388511018593765357008950701735324843866767762003783897083995556478828325390899971636797637509670546159638282347775069914594639941357513914737578848617046042892708165891175832526747072235615383002591060593730337503948779648972541975767790183851989337120284371480027444038250950417196389177497109120846576315802662578360237510968971359519932362372694661952176801108154277431381307419986550696099882865115160301430805175638742188227586385298132631916495093365799912582479633901620203296451825051924227645141982676517780633291108512393284889398644968211097104331968176198665047080724179843166902992906340107468814677738099998783231692826414976904586858327979815074061257475761441931300494452849124324465210069088449165208656250867094651237035120258541730633849094531106841503793644089072241600906032248555720927608197238143577789345566763259482423771431404299573400163114183196214589919966856502334137975223378505483510497626207530553196538994493583223548312847743837845100433382512143676355119989209419986150655884708422816019801463255515158767382417727943805879771383923426465597736431953355798846168834828334631136595599639201697829185245125080327535973901924470302455370584020367372769109490511556697123992820087785852520763654729220188022217008789509862232636693074530374903453505699799556030617594422649434381767178341357704735165724615231225786290194426442667428280182195126584414795288303101226393440886701690244295442168503572972970298400220114488235128482895180240360849421820841268845724337618215661235129315133171161226318690131532491087313489846350673511853760177377569433980346283362727258402763845033445189789668166878803519141936315651291723241900203318502588966967545277089257982515208735379046603334560714627444407518205867413088375385420912192959616771822191381923885020610274819901994218129180934105866432123386311255707263640900786961691909787595887384348185667412609178393418800541036728003775738337609721900554184427228851778235324673185599117767146529196653175117445347448465669727776115043975598631578551098463163556490447891313045401516412582291488973418689851988532048867656669881065227407425644735014817236897704162930987434882891958072308352731543968194213646269319390476063263279895150988423921338252323596306755206639882386660887637377872606478534045515596841935184083320286319464208822704186674621814384704888937247776161124472391314541903883928847170438131816239803565691432535520074675999710138676167049491727253865100568921788746552052448638667119276557892395547908401331115759964226079155143712515976426099656244037223171213083393895166631289851625622817436443598767694548210787321705582961440034130692483421487435774429563875811283000918764335810340910734960826649230164152131427985498495392868719615280085332569770290149022424281193043717123121225648533734782984386490817353000433720910472438017096167704465294113456565987465056573159917572823135671401998783070483641755884527229119086733126363037610915680483304752311891948645284011698708364784189609057269457331741909613935996808073098829545241654692305717031421689619672440725601156147051718678984669657139517364090716577301287515046316795747142365984074585713367051302854947592061950187592586422486595693570062453350840441071723986062724006554808327288361265744102762867305076786284014910822068360577586152716261861656897446658631743441788786610101633352698912334245842582972828769683520774522894997818587227184135131698104483388299465314563597500878368887685677059319348680103685095407407290672259241219138724216958921114431049969697530113205062317698932381735243897234801222029686848001781063362911767507358861656024280339966538692662363760939091402960169772748744117461946700105747682025673727376508959593037203573602327950572742846569294736599629323153318542656068206376491840393729541526155199533966942942814572819005935026581284986966512428883037277841917998404642834776822568176315827265792893413698926948254726513097150696960884409272431346566172653495866244400155180831760803357206123083020340348474436337951990161705818074014028667451935756315816891023915574437444491848642379606750132118616833807290387905003857644132979278452525629015748541906796712028600556593676943405383996585347234164043688682981532297560828869787916409771911149175482587508136815332238777232642908457943777442250608722967365426198405912797502068706845681790168035353006205932344621327271890712205800443306216921558469437853153364997203584692332388386274417699697647448942919200747646246934516629007750854246839282497597371131424931854113472066671750233074138674372422668014807180023177206626730916656339382542829071328294376835737383189308741033973224296074619887519348929556757664747304308376164907068778576375454334882034194420079257971095224709118251340454124313870214895083741264418099906314319307365263490246179497128860327961946773678682431594207803739878221870056921394637535004539700884033125472746132971113305800296681947985463836105328336124445686245956777923390786931089686657000833273436716410005975434294457413082663691104923031441839362138731376936452738809505456672201268950413028222049751178968755399886811404503714806063464269749592609000157162071864604655861757970404266176864515271892491255356697635668612864249032961546578902480800826348881042464957966325166753122096390522180645558675224285033384735063988650028104690558990748250092520946117179619023752181529235201679717200401520801215590408304673269841353265221970705393223043159258326466587757718145528126746196383617289450689040900175137835312191204507370066503841366136173006472652357830195809899180841876581982357931802261215177600226696633669925294112716835026653591876108238579064547534314102349548871273515942400146468381670162027909625550622242138916288258653581098277674884566524580155654722344281874376613266340571586099004701838574098035238846467336579242735075640883704325451853432931242195446038723007180309225837670522122966745481151263122077313503901958305395993395459431127109926501450799126652688616798244574813711015441851615666928091002244842401369446768938917589362650964953196344531232636922909749236980745937956679106782189822937213333135623745524218375262440967970589343466616722506756625834438317825537751650238236792545383333896800974399379440427880113418668900118383354207811686742278725961926977689100466446543152614815112855837647101581103186097399648546290742192270130084065782107705151135818950671083993506104535643765709602086376032961673169534661025950287054571363455468526272092271116261642993937444369207288294966139975549440683834246727175930903948373008124801768259650324839477550502352982682601917609708816671324337389004860358912114240562948679547075698721290062340835324596043426102252080708013502560629158221129799119356455868946172091426359398287869448544109046743658531078097269556175189514755937478190362872433187264804367756266785339018939023303068589434476966932304728165815956155102206236636451001690554477922213772431155938649724011789692006519044541986875835202442775406051997417065217551620982825130050314645136410097289479003593089925157304695427315435584757845735396022328960065914537996459328838482705310639182688761846812588739974730753815149620637128860832036285822862519900299681193425789833927783811026891004466933017502202134444426558227096095631033793191646598165920561193303031443848780328701330271058881412082189972138008504948553397081709724820178017529114516135278918934757132139403612951521901242368893683056292582437811041655864277959481173783812399574583690693112537404027135232509762339156074336314627611738934249618604618355467370294146438167304418911642500188031959242691501145878948000194083507322078984242755765358561258734725366932355749810498012733313778305561327932934833591520244213344852371976055103982936900305020878074267461328267893672814545712092802222772420584655495004167039706602354760113829788933067675041240264495048959129077577152767521602732440149216849534449950619279315269791383468985049978663778689423208545450090205202529442908769698993270465186937580753766582528654837691381005152790002580249093666245189874900872554551842212847791774634175641986185892424918639988011880456223630795623016509569898571767335329355633569497342700090463866627594671213022574228090240401135536549991283159640833656402603706575152729518286236345553533089902597509579174614972941082183448725734892476851919048449883976372928905331284123138833933940659176838755294072894610280012896015219347194184948090102502822679612241661425615358288343045876236283538742453896118297951279906980066219116830337924383717078358058676263158918038736086080204946706346423546225059447148216856670223438304593319578875937251320792965879505209528223826553707171197099752975570779794471184846627991373017611372857176826560284652424164071153519937426942246558537513678039435853757906034052192554925222427331787504684268170180475836113994917728189398516984105938404537951971197494321133598306297330972829168161806571792993244611278347560046891961734541468885384249022500617154114647159958882118922044605059753759128948533655993790150522256953729208100726550400626324532465646704874804007036959286003844249198261192771295161575708765442435505750792784795101910434415873287370859901736890523453138414100356240536447496394790218798875289982610932310554888024439901098599992506335657295111027384077026205273593613676035006963899815563417103620048850314077683490362589652974064373963587404590285792577143067480815716326896740155136607171802186974430163010501737240907706783004095683579689311435583665490958996265383933230564037865827833208789741068089872570599314182080377278443158714082345259340249186657974173657181540854977342757014491454048886947529277278963698201351065795748829821481840819266892249300675459511538279814562521386868010035184347387410177164258686852350861710456070722584739827236288455169158559379633460361502531093944245892118356052678279882879529752398294944674420204293485533374836667964192321628986046656812751317369428674271198904659256065316156182172829090414820756243604356445051923355947719887034136666050963078639920849820602812642287904485967251929027191327163609542703086619145962627894372058533607418903576066964992144932330249758701752235221648635137194480903521861155113234384480152602253473226478466279430519164074979944718012842083650603554616551665678164679446228286316409282823865032646289580441985448386144034602855098955939119722695352794336689304246737211479214598634758016026808942748267860026814265483004833429467803742769801160699597240926406947735771850535600733825157803800876888443704875251021524329492550718418527601652831457133082226346085500271984461993613919003807889144807657619583912498223010567500010446960233537621698013676441961707844379372032708020914597889625494455673608030050253559430924446433920406790366100979625017473405760535089074713451887878797643150428717669747275511964537888067793921067560664436641332254474578297199503867654117727516930554679502735292410052130913703479882464003865950744362907866793425986471954665345047034324422329395722451831910612235950439735224756697213752536266397801204895741085208243623526168313821067780383835700316022127808232372327891271216168731892954202486168248021707133053541386843298940827930928718616476195960768438971816552781752383574146617543382251432386180619013807797842534416145628062598930828666644404140672122724288900161086822708928684198889263858911442814002557774355449445995470523297883727244027936872103359229181358283736559684711057123968521585766304093929861983076997448341163881394519049497278206923549190199885963079162519984448801561092220161277577947066282269849241714904274752116250015049360785750351333470438239555978816884780484695974314648045617680411063745137206199651183524789569215935584366527846894082307999629519989203447578123276356819275830655398218502879085582490212299819901041189079217389672904599390482344596740122580679881324290593123783800514749660877153191283344541516854414336528504280983700177148723094152997845526545820145748491873879295500762598351269557995847146020767496054159091507798349568941502965960995512225081183457411209177202271691339271974715422598404485494216321788920346354236892314764111021083375884250692460420709136448998853496124675828491478443268604322507608328255087735969172411932912347214352080041570338625610323971106049161033267947448102941788428147977111418014233570995866152377328352589664300712629766236645673916880512523279851595131796381648584319044514733764222765208396766575538365761615974476308813848801289244262986742631896794474798559844425091599799703251400450065060501009783359620917712951238345968137920178057590450642985929603377856722701667413211182629658607723217781073432676457603718901285556786044451764745388984709896290646464106869105284771841540060416076358881500709065912167803358663026005217119966079578594684336733100496674492554318905923214832617423963037420924823275313407147954573474676860098353130063081403525218601870264771752992301374909572550541159682420612763479614218154284334457027813241667794687044115690914888494829823478492429014888869564068393477815277579942848281778429671711655123273602579704308042420913806911092674290698539154385331744619122134900920322202880449979424577754622447621787295965629535046688811979118361732553960242975154940024054707115639385273016409655153105248973432803169075093607179250161104342304587083856689334417328417352638127875507957743484097084744605531125100486399032543213273789659861262061034394898162400649729698693838467655456527612589764703815856764844614123618458531393196400124746318860531573851288432321534328005192494944403925469458382687139376434207481473668626177122412949747787059112835984003919523922803111450483467165407098302505145410920296922624826048868161766638422364505824127004582707346849369748538636709296857856231807323232630962259991314009037453373862900191045789698652496982219546601177007484702754983055080915061990690891728370550879936072387656169080033027036795955000750390395605116911430675850223632269850331657894552859721771874195934935855028678033111900327350996781054818874846040881124879976858029605214465154324672427609342855071750254895732355438850159327692032557089366037145472888163540614350577979704693534894537605876687001251638124814323705068136596056713189178852355211813846990550400318090392537387404209754812318930729694751699773523569266368767015443500535823951918656656479412744072907487169505448937047037403352267155404666611165268891572334619870323054792533543044873416626584366214383974029321143367638002437390524568328677569061495504564749383808825064016485675648994898268451057096947918013058821656689167261260196910683944586185624833703458381718044253724263518982486608245315895187488221126357551797187954133468975760597494646871200544422180069492172748277590122547230299856122141056297572781745111847217952859596014507232636064574341522535704255704218594030411446264962648975700658334192469030079467932198094536351015800829735980435230053233521990302093149162024665178835881413254940517724017254533169962695529560890680401057002682293242896765116758871248283844247715058264444685326359783955998190447500822983344185614907148590886668687344445201300376084250109544997836902291319178355539200337342414210311489202086362852642695218170870209048596224015291221355707340219711496317256130212285271808178741954561798579387330079937214820026825160299997757352831268754236608895993911830534528500941462291611878394969609265768407901380188489651116889556605846152306725411761553889710338024444666485099169129050392957529259231910012794380621506508617071535239933736796639194836400789517975886933110074328815982205484585120583367152179668620782358175262991636157687822444932848496253629918655558857714850683931907011060295654563311618190157598422785196871730022746788871390018854022951137874349104345489293196460449820926855225264445244368956126015257950284158934154013276406109097715275963638616927660609840862060610024597260825228822688660904722971653811968227679441686768180712975282958678419642335248394553100010427001436240078524302124975962387094230529063811282964731628518096081367052524729949927833814032383769541527462263719784098853037114637510965167977889667237650919412774238859882111427191071173731778122119493181070050825776418338266600809208161780679509008269185800564038899222532241516880894849612799162141698254486574956122375390844542745762931378251512184817880755007246102401420257829975900211554123339619805432487696256259564561620846859614950888105115550637809241598205248961437981020686954684787713888757950998693251825503309612578692891855608713349826120742839368935561462009190842181777518287798558485310558748596990679772187541894460273860113762461251478414580468522185790380818236461351592560576576149948797993847825977310901952055371684665254459215859368402945518882433437011985808868006294499462277312632901950213897265520891916517652847718120659135694973934238512052787510909008529170963415960880187455949908593937324458813196629782247682658911659529424650319911131929687824182083535347319889210355258536976277841443879999704451878700896064149309443916088924346419852457195261185815891377475464363077469358107209714286805348687944156864207693324724873951597006416070544813183574912807014946938651020118355112263602857052813688402590976246708727746900599206004178900472223627303795480972597164844707335468691551763541478951289976270846249694217942322941155553313361441943321737373910930074121706842008534340112685227111716907889952783433221018726901458246285026435618610787517431125236828306051432827831739473547167030690649128214391054767722327118400056619605278516958114650578151087469221257467091934034383516824852314333741196976475820779223436933732619562196635931143466327204451937689586722531245548327539716452771458193423604230474964716384567271138326026874452336740690862214955235453240403864956029987843380960984362840423982560675269549318919530760502515981802152904855513726842612846390868359168641159184773626074376841892272634446356839599867530506726302677180906643316073820577783815132382878603043889578811545492785053662196036023626954674357263389710970823349545088601574559800898805759065683683309908486879793342212206327580075345054361778856257399800371694325608177626683401846373690405659697921864924946843986175529688813732818387168053522878389833546826882292746424795603606828987239263606528468892148718423754914385884340364655446397372545311377606778740823316053704505539873168707369644611421071946765099843949749930570107554228299021609940438812685410995930448864933738602244664670253498000328845695906003891232220013009738292621408483439932873745225070222437713110200352523892071562741744740300904934312224111846457261038836059775346198161679203520634625550050837559490985072106664550142701486404528131379195956202199089928444832436040784361731904568826816421387431414085121034663227927451799879238191007197504218733611973854524607155506321608849424653139659056231349459649466785997541898310355762250568232819965525451396424330865030024191646979154891122469381856391679706750979183823173011267784465696917497345830557852712433113751227009109239239059234299246848968058488186845974171840748320263952715666761567431704743222980135866315159313929918747664650947911252408279473923553701598898449798603597321179585899488139940214123793699332883192820512365050453645622958395542293884542343152206597355735461837243293734639995832269414874763767326938912363771765080463468478954469808953124212407742777729752326105744533407527325187051855680239708011474250880351501829975039397884212077135804169044333569951739509668785403529412570362002054720007931192470133066540744707347809440449553994813367340068403173710252944000054189961359471379391143579094901933179331610091483242335050892920207914452250483319568194374994713463292322099181462442030998748586614649191382362758794017997420912158384064323838589496408771831617872865864402046047792732853280040093006323282600853733177926811538527173619209415964046317787487545319392237522486676664893054051799048494789394270360124013880380166848100736597448921819954879440273116388488364089769731028606080701094577693283107920502383338523209646005854135526000694715856499658311789760851916177952345345679990315890052447149040498117167492907955444834786381431242374310735160443609197366378320511632924004921274091343231124420284129682484739149625145081460442432462249367938206386978979691864757730330710117326957170419572498694546560526998575786433358972392671134613566181835697662922049796726458266588048750134808249831873292048998273630387203353539825558196339551142774893363993097400606893058786222704508494597153527121798343074510454869735522431979335592658765315050695687058209255256316475455256651462346442052835662727164920265351283223751960746797038451129885788937669128546057052639665152043346220561499744563186799286154153819951701272038612353761385252536183025069473369649920844255648649983199747444020131376977240500421638772182186784620281282612776085276509213617132964616605289000897627028417998126611787129803577555392947281065904256506475224353675090244207420633279239485488037069731891018295700265390542566506276066679966420727145167517497495183597263618262869896203582880023701754519712441598837884220732652749611778748438150968805935236170781609190963563535799349905350952155413249269152842956505185493435584958352201918845515127863650311990344273987986462673542870788408855878156201713293386608632982989478359463157177869790220207649605373216235939290976510792605460058966550157774800439628551772649224482530216904471743563737159727129427237939166114326247358316032001263382397463772204859402234408692776859845675068788305563412065367624033142808923020922382831809686769937501593235881858803464333457433670064450301922904647074997007610771339456778590548857142602689674019030071655625455633127124270846197143202543212383133218431392103899865261670029933527302084310304628350458546255675087629200150955182524437004344253165805882480277008437675483009719325032784523524151736817653194677795619318933820232811801949255468310235433330342311187907013558503233318949563119026874837578811582034378234392235619666773272845419695594303002481433948614952175589144380589657753618950515973974846867932901534185915711936087488192124947164068162655753940147154940036262142487863226581467503708814436506449271548056428729756252533379363621374584987592459341653993338100559204599816528917899859730625843924274069154633983080172768631886562576987896113922424697940555852326963005194801667717486892861320521694088799226203728845927170010087578440746799384373895042502808467619303177071046194226174300891221319849732398321386588613045890123322581539373357743107036322686692599755876930672825653596725770186397339262039687385855779246315983274619052148390150571890496845111913816928944087706082971098065004052065286832328061687468995759728632902386890069383621897825572619469113932067454081076659603510084916043436281236791356195743802077087396710626293843767842605343675303085995208673253231364262647122094316591587207466793921485070218193217931382602496301187557313553422045712432161138344102352459999811233651703572265947984971904804914417731408411244460611113132616774731899449536468719577113580450456345457870071321840419434884577871486986303475561297999230757392509075715930910037996060062175994940328139688550404406065511123352522921222718834903237963082277075658838699084557496178284360468578770959067563065673377160968712189092786151757357918634333591539041773931931774320592078311849835483252796408672346699179903520896044119498068140572878200374541150039224951472350053685493092419045709081476075906561200222164801279964269611682679710849571072305731736013276168795372308952500334633050195036694827009471280888266905624033967999962049410773031951836413706756733756368665869742279244360121553195917987502651622094129256326920858200581549814548829580965056656514051527083512626493009594615556772470590412545958235722694080089131310476620718763635073834567068129851643860955572387199803810559867098095768499452543178516230713310791471527652717603555660554374044919363461503065429293251537718690020539453773987424480936207646394923817839207103641971729028690396603756207777811481151948009571156941855840544419201969299958225252457270154419631765475162021536058400223628958641211841780419407270076630668441521252758292094317521264775087001544711734665744662569232061436081893450779633857751991404767238551938756992995831123223250587998966280538763274495441898837430578815728684031179484357476356628494053295075343585332001137138856099855469583884209508227746380237472245198965545015800071623566270354112760942950047073788047613513044468299205459186811699546805463178233155555217613630340641763922665142876898464299019477602125971334904245147834857268892650642736870998851366723178610906655544519836423948000124594221047070703918355728922241112296143908821574747862356034092949522011470277612316963986457532364171084483698908335215570734287662212603898836690360414296630730846856607407991087871091673464638342932704988308110688770980971175909651609806491159913787715238829990094626450299628641114707229327887426834558670220867583875813058869630619823116061951632117822234175070223858476852067043735572886464819745379691000401056453933436034037520843987252573824514961651782924659388676685006954089223731622600534262095953355721774443721273074884518267641324105478600480500820199992327400623153878205210072870425909199661196809356384318328311975202438414176671180079758083175243741489936943976541360972672522237332677662337087964577747776252331744217497794346646478574972583691874624355024028685516578913820831338589914271556428687790279976760347518659772549668703687170730949342976364838620848825586383961277189071846733109350316459962141443733061235129255067309787920911571024018100320800235292353027197753271377126323092704444900762476604166142586663769931701158250271355404295525559148119209867344588332358680006514823752637312516435872942041260690170944726155514494261589835518853467789712372770052810977038080686353750416212164908930536505779036702559671793251281020326068399350485987491961257282921763544644657320719676366920029765552534574268536186877176333101988574879597070418922404135108273514030423225749466497997976616356909828921840308674511314987329554115371884403476954570815615174575220561638245998582295230033228352890620984976601281606912192659839384131992195229205167146523617787358325228670185196242062473726549848630527671997289313940224443259344904390361314619038454174729193895554966340196721470474145841816054056702693765587191421582829352054967078570320579063927162777522437958810976284595447701564838625375400878201416055104076844478616582356574829112431078141462350790697443767624147298040537255044387360845146573780541382632917540243691110060240676044794928395024656910452295031649288483001367455751755033527858886586355279681763111957352474055674019100851334243182504065670354049648605071241465545608931642279918801277850222865677078714424286112428693123455428371219396799665359478135576441135706436698542917870452599964298873143801869773293886656826359966479563123474897448416539748055275983304589438440368862634708833195070357945063803509826019969253670367608688455567186285686087656007579991171173003189769254170650877124986492599001726070055929243915141259342137680057509202828986016785445362285050787188147386203508429590560696749711001616267391675518098541601982403265274526927361761595602298897206846734893302544237355273332901418090043607609052753738663630190273504763994615567946733518520766352219965541444394873805222850287037023571051227057145474414696920395049714663680847013846327685107532512904272934631278022093235215226650765093547334197604704607873199799943263289253076432625800668490666601173581996350536021962045673271510582270779855657196454336641630012285726782508381464331115731534000065615920394695167573517010851843653917937874512292409667740106848546754708555356173968135370562389866018573241950473756154707958226833817966618271169379939294140351533651759137293287504000495988801279247472581322060349728717550384071084704128899917090420072313899278015850506334130248593845803017526834671542026531894166402952600252149623621354309482088748781906490807595644905346656605999942866244351379399259034428924314424639254813195318632748777872125441145854336284663351132678261909500649074702260621767836779383408362699373862607853842203150016596065619133305949385344077611901209775468827307698629077604357524008756419154933352482005971502702331096679826965767706569440000790871140475164477303303980866518270601888107988085742838713567013250309846447639377304544526766219403088988623704716335234386608705623551527682143274379443703314250597672195513444950981158749113771393918761749305237069653945858469548444652835004507366105962733120257774321079198974157982264460527841352804865755100357152184676098705646364477382918099492336355299302899273343359278334154181140375773740034070396581580235109589973457920454947795967894827339107980914129679654537539860802661146104386485664110658737800735580606571473659912985511824755940980068873729730814331398720798919774848969199035650497509212207161691798649948734896154313786952690865976923711736446679767863231630163532535897974372551125793538564846319139277064544573780941546392957907452706847296165343703223545770042833916717653750621231251830228136138326181156353683305398322895235938109929313697105793014071296553857322320873938436008382198949951902602842451001237537786025820047297648324723060416212967844279524001810340000990202182311022859706857706268935967261401817360651039063618451713334707545569355993679363333351737041953893507757036784602217642532497492934857863302358155862986997208655205125519457087218804336574956977542442921409021731233966099872967150268596909383190273190989010146479335367609132393760030322270799431309981092945088370829507507739022280504717379116591634618199657321802487779818471124628247424712094858985705151816941336360926617150151391224299591536782846902237314801216455658185675304042318448991849824321655905632445039396982086967425468620302533020750486193897649183090986145108397866138547162131231238766815298054026338287440560845662864305484247554474759628913971894715552182196376903856165466033523757168669806501313555327129060458389962618732488166157336329865572037017347851831669400139859083505869033996749715522371974021619748080125506491369700352796163139318217548364772713096512606888137198365809888091044411098008585100261307321944785611476827588558301550952965298035469987417575691088184765450993099437695685952007303734849971814345329622794976249701124912129707582036527746110382281948349979019382432623069778684413334447055995451168999821335298832597002031456328259638782715706825642081367899224420802190383780641977388070253160023150670181305947185187367921935783554489342562908140522096888843714561296606108443931085142961965832011817767021739737644613284677465421620061694064627860115755912198446253491095286208721844130357395290273267620328721818388046385202135454957999748527225710725864198292827066631645380093269491700400941276485606588080886165399975881269423393108927936801788575687047037019001832415532790576182523114360847317623486867481846753006610969728099546836983906810978657088802798119755708166930495746931582494565693681203245431813505058841346144569444836579320844179237821217706111006857256126175345338263058675860397499344736677628393238974367805061909484033303830763900774136207772311567605259181292404336127349874322149971305371631261416482921602392692196035101973531098218665673511783276988252266261330116201961298014499183364211811210123923303225863851381680734033921237266871886523809765371634418172438524370148476815678231067264630161840105058262435061284531423865069277426827203498441792552635572401070433990082769807629556232686610393079528150607655751402656926300403059276943230200337182386984693416360884965808603012150807325451515898039290199544147478106119530418382324858089452862163110150825927222393620386315004919288597512379563279359301177082490208914758766847032421194156969546783356070311063159662540754362725583231326021266913078838291093054877016860340774173287727652909363838840107068037632934705041446286500729217650602810418505118712789071930424999899414421445385345592177475549704239334804624370550895560154677092313424811017899356291787547109797915607847030524405752637563861254374195503725663176992831192051552133814537841259796234225035570884586546796532327131663032429057618232294158367449122072308967787393422298799195657478801600440758122122075304049507373094487985523375328183589474895045580926696799162911866481584691682299893303566868786100734136788949399684985709171907850432938477701587162322630648711363627442563546330588407851224046402841845421427805775844162510167916351905452475294982685445788483195651896857609053161232104943029847800423095148661204367530444303825116356590900102058257966284057612387868428824016790122499553523626397580871710440967837265946307740344907152183290349111998434208429424328311589965790652941520583249664534555089029366072646928238442479905276456049550145973577898970741578104367823161970158006411204499636399764415302848875391055302738820145869758882578717381288550570380511095676803790667294457808616040907690828458405806659299515803486658699523923912383363114538567132580915259162374283008510035925951227684344104513453586235185071557999486839954181312167544553523441260776326609602004097410894885071499195698805390546071467077528844913669369985840069453025913892704028772396704576395795530444564361934513269431311403656956545225087221306825760502633685953574051743470015908812537594447358394320397896384171456265861306331689695907795044043058470613257568119472565984220561777855606276690724896831969827463405337231053203818580725830204081396212592936144984412134207679320421551301090187290050969621460119567048328278918305415324494177960962219431878187361784312854986572883611191096260098148375247189783147879352576656598967987329877946102553560697160668158105234187062540098358508974921304641000271000236099872657732037114896424367458499584358645306274742943314371825013714127043230555132362326320405391611761424611502921707286098042523099478244678819323792536388116972022846108461268148984128963118406919378226875400456449675869457725389918682957193453929583781258731153461437107116736926351870682400214252756775279738295637813454137229049215255128186424258153744246995511140210407480813764927999118096764352055011095442665810299624645248320700219984728796068239329794620905410028982248075751101716169671881191973226450557840318808766340223599847112501267347114740907317283635504760542071861448332147676693163759086539242154804289581329358646182465000712202878807946761383454512904655018835711423031097993600115977218281034243938562674869240978709661837199279075425693110452838852899688586352368011965648847024248686891808217162930729556032903068057072689388868450523937991478422701641569746871779370164184132270135921058512241299148978779064637334067019407879868703728984350702370326580710664013350665952548730462517726669163715797724183391338833733057260102358571795292540451837985571725490023386664447980136428407741821739365200093403223943497154127779309106391496505479080561474538891743744190625671221485664255526151146429768124630603486063491072420625588329185000089947604834248354422905168295713293745179002207359847679061913982190395945126576124360362743992863824130966976034666922601116249431740616794868090321705425198881337867942113177174943927666960609158535636708515846439871951301930010291971108137935895562310239140670752597896410991828939688801685172734719944807005940953013923010031068862523807166402638444121537108513344412219882802542394703892872779111850678353943509524595998007207384413454764536497278357891590460379595092953423323518368311532685126640747842196177230578013686181512095087368781998923613854633946134771596230657259139109610303618614310182727105466510793032748572447136599629799956202537961575306037065551356310315285852700880521269253183277096072420696280518132798166134093129053236937009380214960238068770565470122050019659365824437280247711686760130311500026326383467119923321219879778201773655112492870413769303836142062257013191894402480004104264842140723130627098784346311878102236303877254059436637615694558213440040247662357057125019088349089915061282154186042616682706817008246827115899120916482409147236061489420314375514725210062288989065815409601051569109987614914269780529581689680505572864148290321692150536974554861728634933709614603268356166597726031456490856495403273030298681049643656036694741476991407914940326975667193026692161869532556762887346393104765670953690759725857948561002658572296381573715230333801684225774088978277117177432192363258502436631051601198984468283614641378298669711794994278745251849342603574209385122811909633476415968291228707200746302861520921338851304921227829500169205453863300559904145790154773107825591064338257791099323135271463124118196838644027658797012533797088205832894446515642971181330951036402305008604944411078697831644392417413907823523453683109294182333053399227829739455575245521818362952759542730657827676349691618098307668589215220534675428398397737768356043207880318301087673464603986690350421010645600159787284995159119127822672142511454479815546626503614182929019973524115580037206964866227662195508764380361705502657333898022707305007143982473510429462846569655203424427865456634142591759725845585396514277553496362319018682864272634466997288202852034986569024234858620815169578579404525743413645972875387835930908142847449925882465865481213944713669972584590348047739319504502318166737426855790354689118507747369643384191300216000144639148383581250582147800054535374082460579745574735613413318269102751656719068099915245178957709787579482645747251953152106793415588304433179910618695007331093826534361394650314524837863170068438511145759633035076710187170845796844295709259570155857573294867099918254983577181765059934885031267867191867864335941429448898385461448613257296739429029019011432313198389414198359352213827152987758346863618561705651121919459956875760076123709591253288732826944990814405994551562309145672055869945311202177910708584306660870442153344992661115421748042943825534633014935078012807849188481189302203783788744465711736703069343577277067509782208472868686382855241005994422711672534335205895366876713156126008492284662003954161625344994994384716550286010003989446467588109987683202015050498132700523032287616226459045851544731579767628476741293213886372017377694117414194543857178267824456350130522642290734421714970466417848089543062099476196969865562829862846801081902224450609249718282896700481461913028726531546290029920612827911259057697438847212139889305808883212743266630524686394443978649129478914488783136827331185294937865590143877551083404166088935809347622128428936567259414132035473771779794819997655191694828231385271055261890427439739915470810271236220441330320179145009596580970287604501901299688421644449616323331658729890306938534438612837142348724342667063202313777044978677253884417877416712104893417852606171831597552508591232566485138834054516011038612885268194055128748400078344446557584146045294948578343030550583598075235428040423718365917472062615670161150246330375045940922348684174495468502444853924467982949172331588947381741218786340306464185058211067760107469451327973156217155191830881868452439069663333377547947551022409296785746111057686232760151773806985530232868468894824340290884679313728712574745171124214147665167713415379191960545896147345851985151542497570552479197220731291049221158412267690335746520765797736750019324654492538263807466645306641769597817235586630863691785734407796539509409302251965160243946000803692511700092732913185307238654655270477716588201930780726125295193205235045402756467356480816765175281341984098166292705547458772376405687530914754965676428709677407319815836149363190665900696580783104754741360624583889847302085078282477742880830204704359018552401733323472418368684796532616535473957491085711998878911205870779442559010135944646162768611826619690828980382605304845245233183294312461537777850079645854899534053268979271397004934860180743673651531756126461640182580963610339468894329571292749547743483460756414982420836946331363093887062164201472520674684004099538767178413381905333140248498863283249650459579459625142758088399459810529595945874322248002648845293676587441889105948427338355537396770322674513124898101728909251493669617819163190660413939281742967196471081041769813847859482284645408143379213983463467251102061619706683109631018892349619459504882776405986076727718928129818563215441727150483044625306536178008527383241561858532441522962357124839448270249150449301038787082416616185359913548473566127727627327399166709485701980821391581307493088402882083222029519923385752079571405897636804219329298175929774043682602748002170381600414783522085811357982516462167704821012891419821096156021311112937804321480706358421794059703607831027630513792738793231971010323705342257164000268346734227944692166969202818706570055652447127549995152929156221804776262506672833741254088161018504350961162158059097276503244497850680484466575645950186056732680315882107804813090035155922700932591368254188968288517309987529819605525523120227389464354778739865589691429127666966092570588222660406714619423111341131392000496017952149338931744156158456933030759588495596900529923033035064293552297226580169132208984604236895436798980388431427278462199929235274836751661266813096264516215792795800043544345411831055194815373501683187758055849594582671758302313629966054287960197617440971518046511240710205036916835693504263768557002882039009215210594387835060064954600432412590430430402140398376410140693929756420176924295573192528603804641317021314968578898207403515431081096821550346406351144086488181498125130695342257884008373625947501129194110190322453274388570550249315949167133327272267736578360526473824123763534112177253792143345626132984975713543907162582607143584701495418766925573935404925566449856202728822801531559949885017858572864792867287435626341875444720043890140186310243302762866788454994881178319283263943109888224436286200886758922952535746868262393741325686644906675331551694132230044613691844674260724468018650875235569721417509811903377428352922515390858920468150911599600830333255508782101789585571309141539161707474916643103524271139292735664190271609039593016651164214762263630767595005954674894582198965574144200445072861742671336981105001120831319118198427596906931553591832907784009448717414509065994569124295751200991860796606767034998823481545750585423709173299118262389521014737613381579609493170347606021626241785983482360926589451766010383758935949971750039276912964957569708472513671285198871271374853628030135658147109212824289248164391216487665954853146905600049053475121410974992362298995323079724073351461628402658421044161128993649711925571778796753712853111629080423508566598962277891689790895763505435553343492816823151567297695093677577732141669298477927274788402600623576548247907963228384971342421295465826992726149745054718119333981334553556066078881435200715761678931238794112692181670797341625656134561174504757229228272770571900212077108599740137566858405431961063160646453179293880046430441640883691357006632830039391086316703646094168439219524622789101723349130041926534845060704636315357883772078822132601019174272401342113795209741071146704604348447111294216435795560229522281565910035996263608368893535646502397804585983491568727280828157366717711979477226598598252767868691768006216117595835059559742405127512179147516024677258333968244530518164760420563736847727568006966338506443232843134700602046180122020225978275590563759045293739212652085790437215424826264664968796473888096406841844413228382436023500077173400035108821188868534487218161983690531850388513286264491003557458554987487960153021106242009196625391514045193500473694449174902597487198715261071125449241406291914463035843413163494952549526740622192071798521240678944111928094012812603561884413848882103240180224175096616030432313396212417501792937520408307369270393589449485448892570115481561147126067381530038274044625909669753595863097333847869717045556557557107052458007896867807947637940852617056748281563163490591507819901398818516226694351076273132847673488970008464530989755671304842084927382000990319803146121146676877688681790756306470620301947043541693832320886641322387479908192261212855044134979531326315279173066330060112424787868100591224691257689284537234553418658898936868253438350998876000464320169143419762488984340501356163576269563557926132637146887354881055683001754957108788727144345151562844243300866530190180551923514938066989873004991805578297496048093155403087145329096408887550476630621304434043284273266266460836536819394967407267236596099509651494554917028120288175368815734759420104675842070115912247446798402973738753166989162931178725919669628663922271558715882313530982679881299649042415164763917341925071312903776347336717636940765011326199938963864838151970799439045733784880970790123339955430393762471528927949904257481909458753906176054326897635553101419134247666029746713862489881125475011623401594052144264197420080450757958212257848118281746910379269944374283400658292272521686620926078516786516649994191134768753541896904590621766883192684503925583017891949032952539844393548891179281768791661880159217017970548188285397587825825139468635600417708114885581815417300137048332994987152692184404216550836512029516492658313606437725554017934129388055813545838763939374532069638201133746129864491536167447796913576883975070030158324746057255329192144155969507372150316745213003899808779082043060044845464448089945594625936087558286837863574058762641912839687833687042500488935839365971781322030011004304221667947782917953279982136774873359758612833124846130868152795338234213763355035222817261228625723763772271892948029900190833289797204390351489150775705784359463641305131380195051802245560991314267146661425372751679022441516086033755460153002078003486198645956267823413231478652039446155569292280323963149088809316066937439832157337051851151696238384946853350181189477351586257746607744267590666544809908063193723786478400557388819848065295766265930729086035298516649692183114379316740973908635654134666069143462285408507902209806302698915792534658862364205800566525166833151649347253362844316240185572762343164997398736653809465244678526665596665650283203247855368507342523902473261800690759551448975917695680095957926734899321487970238174034868705124526491709002026322310184232806858865475960150012882231892330735409465588901564645127713643695642804841403494017024993703024477205789903007832945974266757226410632994299652065246599023645456416127159138867680043728965637515467555335049541070565147883975326604230453135906341292563370309117828894871963223405073066510598515127969725448131827636907297576208730942773235913714270549126722000226147814735901847017239947361629630230932137373717311102281112431879658036124386113109654133317173363955546698980225899623095220860365673138582841290129815690926170295993192298570454838885186139356684719430693115997102322593363540173844161001376461033395316409865826965649231331077409779368999101151446393660260607671623148115248434557584257860921232099834977966512044394045250443912807695041340401393205177448686408589941301208521591845601816579029706447540750289611249697846574238346621469454192046986776516134879976545801649578986729441163493771251909921411825944300398639973768712723809333048264569616630510962996528487943589703472159552084739277972290782038024050608590538372294959496048914735887079470005984491163303133565868610891092999979810976022995511106696925898896323993080277198319431825416639902425339866607459959893032975918424106139513234546376234862775046206926125497121486905537146669603791468592285541366195974203379800908234877777921546742084491772630652542408377728834471233622011633120862234386799422629444152206597745520635252801254241492073047389710042250820006389674454282637801849750774558193689755623028929548119570523336001666587428624408199047395654811458450201313696650543119461620798981391390311020579217819683130842603744076683882522431359999510724170643491849268706929102398804511488986962297673373026644366500603720286307768794610346363393874635766078738663835167525153096426593537892203820530626765103805356316631257195826839541704729927250013494262507684114583589317520412830962025257360508698255573941601639210946388867383492267576614754370008047934736331515000340091913276081283842963208650016156933360475614024229186032480873982712513903347981526683054651564977060537955179839467231252584228035748871322680681890732902360513069951522856875322420266949232352054212902494241542781915934029161709511778701392819846463793368253998966353698495649916726596890773499124436811046092507922500091105641853586425460810227856473695276307346549460338958333412134460006860507426610156445477154759998322927784313965301961056332154480754228775692906531644604782253679115500258977398238856084398030828273632369236007519652009639248825243536219423985181088447414917584933810605168050093076325793988628412022422174314194981704982580844835593949017807101207510080082097903018491968557008312687215671139615727187530533415756897588939925910592777400338344459753060238141962967765776900753188726524315578653613868331253278376293950518334120071574791365190327302757705647688508826880562943550719202279606183779071431006312395913633148746994076839593344427519381024076743876061999433009061164920496789704582818379052894214534505370871988773219371072712199276252322288873519886942377322290470725096771931694066010617313456037747707802363126641839787949107137562980374796364103822373906976313128940064000196513225017182865616327898443487504093452189777133605255573968169489551428881788221771097319185767729425450062474580383926525535797940301547997614710794138366720969209072905170177757538053425606467060789134779229107511903879011175965169043040263562633114857181972609876348001826806963305194227194258376548013969451503314009348150703199775327351172335506916686501561211548431068494032148416337832149826948638349431502486597099759365475788138003350075668891678679129784669949854001415263295715725133642130920208916057542832905098768545722951019982310795843458251946870401784914597715009160578246061687689182015888867480589695278228786810395088174976078548725473996696918896338955160654171528851725357334404108154904276631327423484138742792779866981447761440474669394277531763224641235839825879510480500795588516843147009558271003701786982983082370240592420995025880866340461424680482134640270716130700222942796324205056217193569943611850384882187691901255136321873579602747819028960798773083477695955070773995193965444003975234807365268580851737406185864946222884903839036012964644694969804827656798081397372467993134670288016490328333460242987870454159320756126288921472522372042564069880084460867105264015353472225443245962936700155297738529409574229758463810433296967628087043183631910462760015519518867487586461731251531503020652417158243849235945787792129088355486799335152814855761272303254905775494015463373839576492911081287194376108553810119596977873126668979261890834774081880707070143483473077716127517494258827553152185733574379065216275557714986263918826710627885001489794208319791161141916625138252506275375978857336974728374791434022174000040819408153535612548630605864310477144777448908842484493467338127376534308557362490424860096246500944711438999264546550853410225110012086676278089566589979665401962711991264059329457634206352421212788077763777268974097059465215239556825027741235942814740788168570924853393597971453955203991853741724551617142531767974113414947643685970605426936455049087171969969033735685468093173694156086666536716440212522344076369044058321325803934639309752738719707411185136098731859789435921145437460595563683624909129180608359947935875640268147515965393523801208367263832386380372379251567867599555172000263742655089889553502281104500349702823105334453092613115351181070976519942434367687295854837839513895672830918502515191715154342748586396665910383954468523876729006623801453840963933422833533553716481181587461711243356212237573078065257830134372327447931624918591397005337877183428104093506970197587456344457901594408922782047633611777637466963673476785806160230839307685589945336986362670453826512636451017112952549467461417004523196603760819254535733474568417218130917594314768501330995016630275588796479376256924634080667518812064142343815343450723622215376039716315564255711474701100000947970101642106326135128236034253132598789134535776526492715910536365568708263131464946305871968035652690912557139690475504249011750340332042405795634922212473842754123766914296589053874214590647283260901677828553754949529245292500203939131044208777930903393260026389068366734556260934340809836355012388710163152684795256483034720690078625492470600239834445335177561782152134200427108293055559383432510260915307963824330244096450482089678575517077863860406310135921710866092268577019123742656382137269769954339724399336508041462951306836029532049324657432350911336504653108360666133656064370926785952479816283019291654159907508547046590821417390288390555110596813692888179321072029395114500185246724870207816261441226129458175414670854337343115181230487048771214324420561500362481563045573701169811814454479583161513706626430739997521642903356844470974338305216104548905961699284729243869371527988312158705288189140047821674024769027482581656654556753003184271204272061201026457782352430210346017855409185569767057533234584847934775049925647926918584011898152456478499034009172894441982927871839590276854783901073383085809574693468885367009536401809360832516619798900584549504096165689451434978073393726167310931136752890711402069463987767845040216137518496740395218922678377534668561449258904041561340885501588629006660392468672180803778793507837432005361166339156020456345925674999857759079403320684426778401901595610733993089831293835611444900138723236786806750231815884433947030900382848565326176521670306732067867832107156477519587563447573090111522117433089501429932722569048366692601753189544743183667890642932806745326460202572316541805291956412467084127489944757745950574336332435113730847232662342673716269612968714401798452899545905774572479943449344580068754299982908902063422253843585395825392319624296895608624530275205058219193941949780869079121897070549695340684475278985886357433252493517889284029632410500187367698696508524406105388385540470435848841454082456136887094690124218378925569170489775059105115044994424068739324365197035048863777993762165640941466875968874049976264740892032781816553579860852040191793115619007012879982237269020009510752151033851441186600872066166147914779550640113483821421844382968686558200172940439401519974739482326441228181612843842100071744555564276069663789002452104477472838919582683667140894095986655279775128484366942150707594891927850303651895501449169492663191869796938957860879233347682371903690968673870286850723308383207066250403321792841696222524545956122921097630751319229602813720703125 ende