4.ルート7 10万桁

2.6457513110645905905016157536392604257102591830824501803683344592010688232302836277603928864745436106150645783384974630957435298886272147844273905558801077227171507297283238922996895948650872607009780542037238280237159411003419391160015785255963059457410351523968027164073737990740415815199044034743194536713997305970050513996922375456160971190273781549916332882877040006575706746519634977520837938181146130908764737865956243305799479812816323070548365010771561794636119155345453647749482059309049484983403398900210478616673327950369392462257170537164925787548322907324926713469802989499080377482511092278955688979198088148340908316852513353582953917221177071441497457690708198944444145897228474140030350235320371948707382629318519364090832280596462783761021959794197089096354695861341181793067816213608491016778353212556334634900218981460422559295036695624186927373277150220875230996646981320321281894547856802095063596244662855007619050413935044743712348852233277362510045059621080672334698120004300514490251206257311759115423194459672604978334043446837256361782550481608794062055114863978330550163694700763877737451951165809522047420206498210244405600199659090410028553406911010226116680720077483070332613842826296809502470794656496344336830519708820348050486447262317930876957224893775211197883760078456039036588094215992925010577536823560017200740652369247320996741977800253570854061779444288668158973118493810163816207301564264701629841099690071341323798188477647769954391111945967670336972452475367740100245826515930775281630054793397175080178995205652844477961943045125028904329706105087460449296689754225713338063324703450888823427540980621451143955380339319070539273814520604335238180389333294731479058055670704161068722878104529957696633035133295047042455025105007896455025522718579233709218219918439325377813867856501437908941300209904086018660522813132982173525171641963361785308017902287340033710952725736428650922035916343820273976336550966714177816292894279884853951076819102168116996771767808637934106678975092170504215586443706876529348993224422402736497929066684207030578225711053794421579001328030407849457943151812046630928415259240468365282802722458530778415894238973955590959563491357495109757674781975590533726939365214312682229095709865061371794527216771982554422880460523074554883108133250414993278346818206658344738336686245445616949725177427025468859174623194230935506038899235355634465872922507362228284298215287903623847595555861643755472027361518008261449816911747946106318456523076256913444108685519999828516339607457179708297277649564514265565820512624030596163386833874613423746352643129659452701021372172174899143552932049575097114259427207988929665230498875939525378121455723193310306908401949421187085152057341162141057754169172458049623695129329266475838571933431255061609750900395751206348757597954929549922472663407401881563494053105296044658755646209433389479417623956283563497138016947322200667916212934359736711005876086473715758816841229695008629370886954181276957657062186475937058907462271776743159898679349554231903877422244461369930608887563956528433912743992323879688329062070715981239181401975323766238742188337107032853227711421862644792384439312303178700218021562639987338474531033459936068998376332459006908167588988273557213047885113271446872415203531113385922886513458748195530412643222136785838554235906386184527004872318321366842655547536671657604257449598236086405428904471433744135272165759733667275647203574573214029310643803504313237884247315145493849036224268497681228083525748661635466460106201757860529930483782103871911176747183168402671434748393543908767926738620851226366741992551086776823369959497676641306154617472195606274893307365375322020567986498800016718636180419553093960287572837098883180045857692835635720973270499880248186222541144451882118123960568091024532837296904367389519436379970793419747881688851394282153281134235557159967323757395291372688079847472922454668705309367225148962714178699805009860029769643998742402367491293368888623320002918809969622719499865109246948676878939354610972681914765375839895074471134904148174551718692538594595914066921580392591502002512338417715323353777714411335626234857443700579366748826863577442698173924460752715752541452144532696729771967083177542485173763330449499035021390781411120892711842021229895194509841078229596553149807056368584211640470969655598495996502196066443891274626549137951452506962164902795860610677537082772745829001377166105892039160877761327357720180077620084672561139726955446321298050262462437559674883284498421624407167625698962963037657072616795024600789791978417738625962995312220675633164839733184898522653981652123760516482754122962418252435716490986291578723875643202296451130947369760377422589606651707138582060859459044393027580647200760772420850268750850540980455220641303927190513077516019500661771133352202948579810334162756570933980395161240427173515133326301775746417394268022049361083326438447021505252502800006313758218552267933266069272000780669750969812412126838845369690223553801205653987552904416228983038785045892531332072131139979118202364152229651638861169947094939577913394792762185507562162162096976451774283318762489454679531789039920081939594032103107906535408156072176560026286510668583348169058363925180248603128473296265472716837265941167209546823573228140313809177494549086004201668793752473485338580566770585414080421249164152317175701060621605469998107297672251211830673150050346859955167019680513175597536223516012973331639923819182798933729569432662217549136367279404967937613587776756284163906017724310363206057121653312322295709424380138127231072405172884110137376161353809558089322477235697300505341240898600632374212202628445380316560176990023178611488630539992068601428536932861976906062039599061451852739428086419183964740358257958064305719848456521109200584556817819146750850962100037352206754393186750130948372575358134764101726383352248569944600688402979466696383997087408107972613853024607863582309311705470745034087417975942839730532279651654628720062554604738880914729041391145902102098453750525410634854729500594111299009083181542937374303449162855418753019367182739043950397833623649807240272638373325330318984800923247632857692046261579881595623626547977546128341091545711058922706319214179920123445054794823902159368022091909123671448893347154250460637176466494203336794546818142860962750789017263948389176764108535231353376231346666570827177883319410888111512900340889505968067272321738552518167914776636029200839322660786743083715983267677586516230475518155710392343449896623265988647120760990200066217549541394780081576293153321231705344545017560890692970730211177815243190394143238729193851353264002441413015327577187083731386288370775573775501510985762384412349290668686329767292882000267072698037610851449564813707064037482761139746282415907605842703017378984915932637902122344648202289993018336773855901000842466709798307388592983909755759601184860785159265115305194500377170069207665659696250455823301172945347955403119907218618295858275323929297173971393688037862896047392784301030403822362075074933654816120632242670652518459717852975084730874291186982826192623340475775050166715689833614539135420906197036289277683955705370568270592211780132792128127472917486693902880725171362217515516243491816427405168997916803442434845291080521226566370903470590375787604106562299945775332694897101728669831888371566221728867521862460012666621367688302141068995074411683025472145501093000789708043615421749332323511650891095780290013236433554088677938777415297653062889600036526414995448696448272814598639718288239076047126398533513052649612975892921554615859822361962103349063577041141566783344105849778447821579773033272887694140121194995685220794472274317681288935486097974678912778306633821971629947558834021261434084385445784856149860947345974361124941333155622962738504639405143663260906071936847814574625923079137641535865683335565243772912585938965278712700505516010244355248842774999400145876536133224687009006643177178605345587191722797401084965904167096572424055732113182637786107300798891954619119299175971209259696486763699980021710754840657968519847683616979086196770071358345658524402995744209351752873280046093148999031787596581886100489711173171060483666014871744807528979987825533811043048176958045820277747704891500851043770752572271235480072377120865854015845708786971129500924046682807250067945315122065943170130912524351356800765002527084957984274217839331807230414634323491001189313730116413279309320138688174707758363731697269518682704350515766922816185264247671105030249317042867601317957384644557961158713174282739358031038431193879100768318400702528638940730599948779416599184711442412780864562738789255661563507643948295762605379296805523726453937281981881258619375896272446126719536036178761669768125025094750090151006298433989628357146212968511527156992796208974559490142512284492095806479832165646505917132715482055309436286335318945009227677633623662540938814746731709872013741865324875770916915811779654940587040386899647009848686812589264551137189208727661191164663906926793583623280282870503184997273792364557283971783508200814308263390743411872861446584817188783854521944523752996826721419206965418090900743875740133253742350226372876666456827067889313335930083366989557087564666451121149895791872847679568643553107898445560044984761047721045465112180015096654037121238720519862191432710280036142604364974126652511534546210844652095471329542966985449564327082180692432509462286143709860810415004631538604476222081815755011010059672192993776657066604255098782449730744448279756183316869383510168649184433852768074692150876006128293029257219165233561884898219198890863625442383063129981284304098515312360040603786881941199095489097627227447386410636861206276618498416503443690590484509641066724411360077213276585522980597287558479847320502319498319573891497782717028291655187601026781290556206281821168688110364702124210512604683637037735565518637547187574314820873809434509464909828904798844004488679380402904328715763434499347360871267728045448178170163653704239341965746167074290899655224370157288474951479336399279819948972440218050875919724827417131092945808225876265252150099016809001460025821892759602040543459962020699797413894474680999683008135568154491369725984002573106683363368359463179452839632367748643066296789005636543334683385187201796129637319170538055954850272798572807180812652776095368408679121677914523322869273901713760367914320869501307577268837475995320429859793670059547265069116448336071874880613129149755035550873537501974508709219668736226653521019715810182399553330966760680356576093252187990482593601145509715130061531489018940054984319456568157243066867307913900833519733175285396617259619150237137539523243569616587652466841066495283125372478392111692773129155992595869850109626322765087291032763331189827691653341928598615261087897684539792525100206317453380045094483424679358329134836990102500232171055178825197638083637712005814203260636174476043459577487573300295775921730717138377718263117453034745383937518544665635295893210403107671748915417704314472224508335007123688828276404144598574151190423484044789173450515864283495313169712039002185739431586525522518109389903202013953135809198910112437434783308966022998745623368154500695617317166103763995573065679409299786943592683170158996117563954114354366435891064322832374754282540197024694456943593702699293794172568002526990834881896037948606046928840429594196333593714105808086591923287867175136278267322712103271174155729946758092592756156106052718129240099415854764663942629095213905657130863051201667482008486079236516561645243730463416356022806835168984283407453905060598275653298316503898352570647313829605242768482777473617269260803118022533553837754651671217600319996118362032698695055946042766348424513610045634961250992112719650354982670014359103509145026236845646893948232267700056364820967767161849604812683783088434628413967016157955567802378890039263639793843636401173980286107675948282698832772720842248170357797729356363230423280449202769550172896953136107786540936650633227093240870784662642589767713619959247850917129307420283647581563412951874197128126529374121183244585063477347238007784229925298933107300598823802474833109984539539217908001169072677275058240107719863460321273502832526790485904211231322569189481491904968220163049848670793620099898430930450029745866999858780468177885672288520891813285173845740256207351797170289635777043123170310482678749179845475430708790018204484125663996482348624496458016722375818291036699513003639071766927056831353085358870324773982070075580387074945782617673181804952508032943831843510003919966510692518288979491973005373762364645717605163522333846491402748868668174953245876590730538995550689016800651687072512201803516094367512187135770499651716531235658215599990018549206769370828382112524696282747972732049360279544001537523395341431914997865452375743103578320368221652724131145299221846032808556294850600210487916924681396532479362035238693314674038851157161919296739090283278505132463952563794383792843257646655008706612956491776781441763991549673479449905626022225197212374058258944216110906955860582316726010106469783798588132781695492733187523406008677045200049347829369370396489680463036269391610448933928898365175049258914633622429647940169244951497100128094444578230446414264620715739309285959714262308769507479323398214905543003286542748092767995307045797877628798396562417244245259101383553185575670396907808110781424113311927632555450609688068388369159130915894456143015363460823619386049261101881970242063320400182297080435820169393043063175849876125681082906805903971880579859549969128286652762226395697269402871191346121933569523131071639136410836140433331192762312077519249019615063972074571142537873591126948390470539329919618302876745352222338179935527206087315478987833930125939880409680845220001080928051265759399177647096974041098075921756953892214339334454208210311487405891598945306113961018396600532618571817468633841542246374042125944705204223008390422347828792374909471620404592165404258269476267660201983441383419732825724716804900794725311852338684459216122210821804742766205481120992114932414115417850490939836904765195292307173619268256179930361762239703731270839329960220533664241643518395775626843061351534503461293765744316863314068276178771093271283759908563940217900365836054413078687489533268805344509402710446921223794003623852908234713831165734450590200773693715376208138363751333367254744741639932799160516704950905467953501724098296509113609045363193141739202101891355294625686819539798203965784736590628786347776085767782085701460956635420683660694442300200064694954015400641092352473118302065951790519438085927626074477297055687547050950323432178006884608561014411427644624913115332110043619010368955354488188427128546021055600106029811010818216973944430442762234463449676444345695117872621223511670291758310577265184087609267666773219847191582076378562411725699937670276188207555787385542643882020287940920752318170795178454369662679337425591578833212577600514076619984012917999207764407881141053384753262862169840185191385100278928337733807623714795239317685508615508894706508622635970199093425261725407559466496903961569071098482860647689629079203080312447141618851777344089033786021044501369640171092045380304830174659195688065851931022346492423223313167411386552689337309157185703578059397001047128003365279940320588718589939978194482589371920204210790224133503577407208566857650671673354782853533612566783147096132166824707795958252230804105902059554174654588552787730582206512026238524193423684388839327521543912612916692597848328221652877755132982155694754699214463700841231622813307122372267625178053670779675379516462837773741011739648810488522009726897279320235770108341774429621687710215351570534077546567138416002422989647707014707249546368068363100714406229687515529782758908248135829336811486614198178097389272591847431983146222593271579361907753961826887293567754365073763482709780766898132209014878721539848546425631922389040980886564553624091331189763621839820959180995797631927260776593940717301027050704079705720207252737459976014946185698990524607673861684318256086913231545916774468285066342022843841915941637540557280145517252245277713943346859258533297242775126726784643729159565558296490831596297313669922222690787280231984404034394989830804668282127394428732310088483394331428361725878022036898769729624382992916102458185183062062531473097106485908269043879342255036672387510445824337752051672949329861481149511463896194087559246810395881946073887153696252543496462691251537474532394808531101956410783811566520014862200259685842321568838619287473703269182724738677828629159079263023083607887641205647884335569571619052322899093485214371451801427110613436336041519602080307211935822407541072218757795837012660270572622013698865476719607778345322887064100701992665014933172404187621829489263639396014442739891892326516609879048285155906409570888209673326403924818628269062201662680144604369124140095586038041354605618638145156044596807301111827690881605411794026816472807945703975332172424354574158995375139614530900371925310039713470101493413642121100604246079063883593794902348761775578386191997676008232273053170694022758659930221051010905497021149900373496387232864612455263037481439978894703532420017264986155758659529095053551790253351246390224128450309470825708083768707603105255630771648136317494064901852846415378562024584364762298956223925447398966794045927449135105958678865126640660421351751038325600726409409850094253007374363326312793626406558828529854736896949205600315551881355840052062417466860633645445295895621332796402962093924976140960081272957243622860176893644257951381115961561428222231578602553756218468481766181256294637368053439081322006553613250264878787408652012195169424190508721619629456503190642631278675277296842395511615343677434342389702282122731934608781516427763359317946335727751821580773964029081277418506348649663909429541360391440733520797609759225316669263581186254382998949571904186874429911763857100440857077542903294955204882058684248296643173793724758569287944727595427048581112366458872771663863556577719740630917615315879174052515395456678940928538771922204707590490299321910660705838033343602256629896553106651791891059678929712706720836892302657038958879334205345464312710837937484903033763495362854651644706649093902530050388326700548760385403461323740998059542876262879274731376809275631977016286029568295774812764255580145047298060640760360479470341125415507101452008460396956308399250142441079175312730176908166353133045371777811058193688033406522940147173090389455537880538754572089526865587651875309675352203176373182064863249492390296430399375286658207485650024280174502077537888550814591607467425492324541083105595587855435145948928077622274547958357861824079991211332768058401576817795789850938083990582338832782275266568121051683218223209828621473445940137496235687484724393043098292113581030063188663615042340507318001995451759644866820291561858581441331339266632959733469272849415002031784747544219082432436220979182856930411892211328272704533411164755378069287562466260261594765529871076342606043678716201648228442876801857386930403633963066091788643201351213748179656976156380145010514620026941858112011060178932520572745857456359693874413687133521314818698848524265912990729124010563717465563480602886071729832985473020086393526694240693332170340677049844283887407380749122228805656520129563732660445134779363187436192218191608182619368354400197206143038332878354784571172653843487681469715865151617442413846204317091752275005003035354933293764701549249419111758290965888321007076854042286996452980018988342681499472405967450279641402767094089397926759942475992050823856278072738661041471374477879647640390727082988491663073716549477898163296229092441567649377410624981129587299997879068970378557522009711878551535562158358292715804463038378112120210073515840036912118426770664192634322311904165170853675754831907749471906227044574354426271208179886224002187760418851715774257502343497024296727575844454474723506150114911699660589331479129824862501679642975391262976911039179924967652843849926962265933280411400422902559100207241891307023585232080258388788096337242990854133022737282714746846266736044695301351584727985148991950487595646519602908415097177826579085107223468961064344124153530372796078825668097192415407134439465787060515093375565222109578379023246610085786472523734634076616564504827017829250448310452511270574397457376214345694844582917369841298435667309659741667683105804697317203605943886631906724051890545234133886744259494539214272367954014688282958970967236529784684273579562543990268452328688805762117097159686188935246693734796239688308430660863362476275246275096281129455214381556697359587906947573032392861403224627954806920533952814889797069954138920110539073553039836395500646448598119868738802074127252918186619805150865024222685181475117458645031964198990032285704769400988574221508432241690040274630462638710009862404155468158106395912141868642182139221775524245470803378854836077514223145969058041700774093469203054144352709569212064258735943939853818892817655765375951543299400994427289399582841889764754091494123395588395242686777197695592471303342874599072777919748727840650912819894649476579248053335696998353816230534194064498949560232900699332072648488346275651500358664335881113020541680066617016228936699731236238220595302524707527442808193204288986231159959009560462497387486603929958956959820914770237600434429220234380969437530894902394269686557772015987750650587286585700385352910297950755165155998382861441526129164034748351428309143243623559774463817584444406950267192817883038913215958877148419629472471441250416451331630804295874484403734586367641354093943642796058205016021364577610836806259358749177373955634545139759033724394209947538417008783896976256031980123885859677817211266795610087979783536518740003707720565755564911097628924475364212065981909252099209204610952594139791612825485893766492155080964419229214985865107465395198432901162723120052592198023224306094900819056414244639730766506304723303460888395601237717087981063980411573761951008445015098665089623944828241009931622326376881502424238438383615827183065220648510375055781462140324840393061257181712873755382955727236842774967292843941939305956570554475219968153488490261794094462411386615678631050324167414778101216835858688349033999876875543093154027300121913984994934167999385487406766401906048000670560449958141136312999408432058930972495793936958916635041940384704379044396552213129206535242401767576895190508514258269919595141632054876011627875558787952310863737341963448830321575539383845463029298708448040036719571192414249116498314433164831659276411202106920319804819308766299258124535740681963294062822961291492854137211452212379729558213511593418344106540969340244477506320479635206280209678448755300267481762616752259273535932530985978179391402684786134596466388462405367306591341185372967057508102983566506395434100305220724269191631579791662376256744944472754218805903658076474119952884715376954755608951513778587101287854231257491950390139010261529658284888344918981795693659077387347854959577084737920717568344823236668972768287892311353057976479742640105863872608834705539691698149313016652601228539933398382747896098750536908523794656914741909718275862498801072422522475079753328758970758436634562076011174090383618609933831128189866422008352797568595220475391215268218563357078295387646581891282576923490624807333364440591083754721454535463160016695313380234856487439523849620853674790263737317558935729154603665685720080762529640374204753837366553028161770370531648461687873205993640216351599742667807276007618162995039966422612499268762450269797683652162176159299404604927277003520128335239966855761181433942959474674825669954696361336536734261742505983566922178013703536519111431025227820714027165162496379349850310555240671344669609124426326633495508757217801102536798195580653762324650448343423384572559821841379539039934676219931322053640279312542419074688676272345002132234346114265467280072973737527800496683030633908673238812555409333361347557768620691190007954101263166137358654488172527697695147399426008140312919448164590127759399797218869863484269589076494785325990038753357663646576341539437728485720546040845376569005033524151152771451224420169821876725169521214362727706697854572159031687047916818666414476412399807704787638503807251542701776919124276826726450863946241766768023962532012847333235840949832511875755742676012081033578844004247981690686094030240950701879318906943800576242237175431881439775971608617768791194085756030483479338902584009300772924321149436698875388865256655257613628107460423942305855907013666794210208868560847459269263843445380781717050521532473059103133386161246499781431214667785870520866327893824703137699585842439939070879112920532757237585555490567716163232041974117018178716548891218512393147392952261142533408638258647905104199386689892679513868160968778629655380213909916130988412346619863906522379789744003138558728167959314398859618359875537290539871133947783869757902911743205427029389137316347291257726796089079653250387057689832795317482695726426827920159127075631396522880062777506203642515432129980452864241706564886120419966226782588724549142728570346932689443772577916610141950577935102383433498846647800631243058327735247931742962412835723535133953230964602841092078571608888967793598913548346576763015413098250273126419147678140621950150824021585358352607680687789215879484625605060546113572588635341951769928938324950125116320291014923670299886640063574374976016503027605932350528383554477383244911318434950529483849153404688748248854259597843440461169580251171956966520817423308216002736730705300882176745620343268289110730020317323963736452803869197973932966212480443636365274618901448962635527258487205730968498968259753651772194461817627013105573414494131534243873765385593345445489231358633157649240337275641419620592310436279736386371501527708624292999561760153604058530729096140773344253537226664105661475997719724140517746743526156875126706319321815547450085268509677918223205501428406249542384349369622303010680009075798558875042346425664971254687035358844220482398110667970427095971677170263602648697721255209423607814700213017291293802304972771932186716852232537114322972497205528092839275502416906263024684177484734144815266717930545820292006639845095329313685481503211886344721816306021971613969159804551013209949876629789108235757625868930746368539775723755402639941491501357811723699447547852884986808050032238975860354466516281523821858042482992169421085678317870838540744427706961055251868533134069071530660332186167809558544620911491734861302833024484035784864414681972535903925493624537972999320747172239314087023041079195996574798934335773630520548557463999897649486332768988914773035100053136064695456732182622486779975706635773052159920796190481666415827726994733107404894253428880308142484704792239327614757132673196930479567644342222514981118063078276778850482713673373304221941853543862305166832709160400145402217281940251139298455741139885604989421213998547744695162433325267266782295582905920652388189829859859420598909678999923611538881749169840109742913478804404207353752067321957213086461765972001756704389746876026202594398442693627350615591690021626989282947482496825877376831562117900000580961724824459925387610502472322340380792872253814554572733528468749589302254234332673077029753268386484671987163039009617779299486234920198325495073327486791807814774449086164346325474825619864830159805891292758327464747413712209236877587363473394825128098509003699756487351931179316229032585146774633168886768861410073209012833898891298141085991033949763387721581154400011555481769800701233859193363330962032140904143039845309835125583604549058410415614589604653565449154693843894429569842986246883580710242105238447668559559406814852902041390118084865967309634181365682823977716725922369757010030285303892974736954836032839372036233307537110237952876889052617651982470515736246099548505118525130746637924187614551777446745255225027559351019691260262029191401130641231256860066083936534420671262895739265461552878327646697713383184324154211550219027113899348914540541266891659125102384447495522096700979371506209536986841828622669090782679870836754357693092706279586454857123942842797144253233943429481875441512976488473174065185745847589599155785526439438595152648939437468893664062009458300813050169317001487548954462305315424681671651681726705475828817857810236749404521619774037560301578388572430747864988788028579425958993090377275792755500717065601993774992018587560980484193298688318113737024146543235498365642070899270897374593170897666096989783575063255286467874603059575483241739884858983228641958407720661566273132666516778447006088659352733653687671356619047831564472420188353606472426326742602550529958832582427892672430952273812208083653254700881350421608250569562444891237982011771004935541768776258858715839284713926661052087728475227957235097662155180004968261119467935385455039627705446837127161693246600660381625936861738576210242968760934270853342872632543935916475246518339905442971860554772354221696649322558886466262277545634897218126288636182008415556139161659844124162910194526639261120869616356954957273041783466190426624523896387820657901192576071426141173952836407369744563117711174424426594102619207526130935247028769395029630396097181160096238220075466015177699851974379418283840574024922989660923239020010252546054521597491092798720126850719547013182035843959581628019186844279024201131833279673896037183945207867285740328540314796447592654334538220736999396960734129141315524713921876446773460943145286975536835162481924405870448370422966299436898875203948460853384930307972642714593650200734174102990416626660512485880079996618036697056614314561459526609569363215663351209437821446063436550427277497958981691032493737028016044452562797407558266144630389288162187634199076410851341846604723702889253970657983459127379585806619321651405035257243389813343389436163976021336128262361249338895544693186166807471057946298169830005691009588054220816310950542866981975443285454835949533220051058983886097512164371276798675172283761233978666405181494925081640222573471044800747955891635389964617564744234153786319988777956522292048906914172264358194780156026836835162534328798824599419957992126847885401976798172351801496396967154749524515877691966225619226634462037960139368188888335324777009535180200702969574649005357527492286395878620808829786471848400554324339248304043319127232842683578212732145907203279602122302632752593348780951585148851917898490503323504731018358857626471779198335548421876260973005350177051295949622667724979551953125553121610588506947369633054346825012787244649249457711938484847112039022098357477467092352607957173638965711260117742712186412018960725975729570556653425626009320645083814791812099223803143314277269998336437124681890059008904540439759554046448648395612081880092224656932429541530643556032392066585114706239391227994165016121398401635756077098342278286245721859308464147064066983685189663184786665124898957882929141245272948424522497269236910844038871827607339918699904327009149747364452266715361987527829188453789301586544985330646999024141846925826156893725650622296824043615358296857208543660127334543900533198839420285699775892778819422483594567913516534268136048727825330080989410758671350289862186603012682089970305247078421624384156301533083255439612459668343598938048800199296033958222908062068655832901098390043381730384362182077267408627612573784367643434017075035121301577423967387374106132574792396808133249275897242497621506225840176069221223535520866567453038470099972902466820844473841366078201317701300063167624586982498701786628088543040791979350912653820919193493859297986360502304881184119359458396089747545500871117121348335311810317199034240264532086759233164721455010215179498931831735923594815912304043639755822933521924336407743245687794815153612062163356229970009536634363684595134437555264078724537584660486879109354746868760422701218496931877931470598640386588562964587632956819151770300232957659954736471172432034046261779229271199925486419203610880978066304097995478076048413316501466348084745101462120770901042871023568742141273620270385693761433012462964167885801592848825817016691741957108611429420574619568909315020134911982544333828170626826553269116130435729632325010744588262268661697096550716307589301832048722892409409771327115170735141941263188195754408935259771741917924332434571537653424915106368514918154182108003907712710674227656035429765987111183999592184194332743322509266756951235348360667588901568070924728307029998140292081738726239385362769313317708529697473695449414716729925399178795155618526935010319328844769861970965388694909768343205827726217666447870374757601662833329581566383958455584799011614746738599350866205921851048222278968415833142752764631442716961778535944348811379630383450978853980140742958978145311635363112987556873844419363333646373843767824906496343272769145975882300454346391625310710336908822161830176192762093180417809996697370930221925734319888984189534481720752470743648213041145710723158797942387654860949064486552715787385536967238117447152492858114924298705569889736558608264740288498843180300148410600717604760709359381240768973292040238687100151635274491580154672001389990997224853293155476853396707228529201707123247149739639880342894219480738645674662892168890061711435079075042384700371181176249355868336547505381491686809498662431144130048416934783179530617288767636665619833861404698749980146838834522883546034186817143823288863688791401714071181232389136683923488991224486766192999029199980035429318868833961607672290549638075320932368981527997533858297144661267223331883068877080272314128965686232949534880834051086496166051543302409161552125793923708982068961341662032633088345233004012476473936689751648629377815478571721077661551530056264566768024090544098494129889605866587947709739817850665324846837091636332349519707281798946542580839199487509580910826364257974314076756526676799134597335899235369133076064297153722427387723965815664467341990766706722940154784409353318739877718964717670890083693739352597113373476639554778712089910610288908408764475811951553493730563741186856403945941211384868725094406344991288033800049723609283782704492697482214528829298619082342359683981274607977680304340481834500195697444668200947297974066406946960433679586456626110638646032274455755850127151649152049299742697096924945686956617186928230502982393341877896803325802715928729809898747344258616471782763285875267201832246834409267194722055547829755688449047417832558503189683343484330822705987524153205291454613225024719737071451317338794686421657070135018988198484945344393816439344803722732382367193954433519598428406703272047953994217250996409642060212438038922108715642806869270749371437406783663965491440795327688611349688110317666460213954486878075442053896307843004540116670270582085147077293557979849772744118469091525253476590576296723798491063943647718074515209985099799101947132747286050442725710006138620184909296991465833237308688263327979001883427019617890537694600049714065974268978036041077081741669319574398087283041247009376377610098864619654884583328964770691948371284392778112496932092256337451488755874865039197109819986470013459772315057403915919343740383330423277824133860266346390609075466414761142042501398828875125747382524296413251246669003691441760628317361593308054872987323047090728562986666001722159573574661606310590474781371017426552658546444147962881822783770994063476349018016333777864772673463553841699308150820698859808045157357266195984139693249498583636424404920649566940205862262488091496165391078507551525720461405967546260548447429963508802309764665715327149863259928334703383725342271416329283586102610566536608893056943486275868883634395396007566653878634243651039628022085295272792513463518889415672466297877742382992941647877239986720986725517059635092942728764583780407114483658887662111560274833816536304643751168094677370182339071702684511432884958968446495339648714783777149863182954406292057634803626925182376398325328112962084145503540825860837545867641773829713214980778515473184930609941184182370581128886381180197165148823739730321651684508537624854382108653563703598111181669441722190215779521073843299324688467168000557137957396769777529604183078131394872510544848051049754321552324962536645876221278333874638608351115219484476321345540152802498378457208887787400099747977707692636387443404410352697183422242902583161176525454458901664619337098114839698049022053522667898876867235127033741432885929830213375039469307601154744054788298454150097432166190260240804225172636888150270368866119014568150611675509226468645903613596186935021415376365656842739886770963966590600077775759906485278681699966583997737702823815602963206492377597635987803051636089725190302761916387181298687536379809682595207504142515789832331388778485151848945265599295935463386039816662605832795671868627596724958094857310550066811591545266409289020630395967408693776722092051677081444436156242532381222457938738653474228603677482852726476856100382500202327615966421876383497207103753442050597453860073068838934010076292666418863748840164031734411071076286239186103361551849082282177169242182009170444371240883223213529737974144189880053005814334997681254179632270360952501289042462484045201406912186402095213586101064500047662547131682102489237439934908879540443762444272153856706005622378293415623194792414489906597463707549162467902495840754235901872414316828586306576285508252544680231914228296150446389762466788814898811320522033096341149240147491342994186730133627037248524190496151531233105759220063602071922064216463996674201400497587840685415305297816300158028606392990089871851687101760767246431189665853885682221494342893680033738706713587765500370969288277364813257949886643500114078459853776014507163336624285782756539472463148240022347163515074971688069897204605065461793714788728844803533567926783467777423307295641042170949014378972766904616526234102645301167967125451905740518101330701191416071458547344663094228232990863191898250106079863031985619213600332912025764467990108396168469496167929736998999050493356224102880713456866761364736973334164881405382250479627655103453271671108240490848083192398494031996357791359990501556546171074470297848795434950507105521802202563430851772486633012821582667862511720567647277942908290423138485170793805169434219237055941369990661471476123193363820437232046110382003881176174882726686947263093138813122969201111239239616188508511461650280287572118743588157805837074051637271104152641180332019922016239927625821171067251703446963433476456251951149499074794751464196538613493522767155901429159033874503633432686910732038100540563242890032848879082919936221651818321916694987769839916000580088444222561101282800645537292934220231363285604129850900983120025842763448448904031849931481662333512415807562584693748721373029391658437187906955591421428042016173759406962916150145035346958335667019062782626042688660388766165829754499837079760279862886886026046699147191676176059204979732695694924374875426039813706256857023827515440782711835714942261429744104785116624682868983165993738849262339243875752135313880659312336330893300054195034477461359036412666921495134303142447979679508996191044536604129865454325560515876537843498929606148132540936755077455217498201753998776861338866287846815583087815603604613247925928487143068065750326422165944490036022022083225396661497582299505774806518499847902573705110307767108320265798896234498172076077167307043371201266315986576510710550681710389200205152341750514242619213699896653009014928418715941606253242921346326895150044415653531283633462855394208923484478691206092605069279688598976863909787653083067581008471867389285427819133087814580321565714150931099145565542501149800791826505827590707131111859565265850856772354118042093341819196696618123180464168799516944071785226304189948670494366429268265460822541078470658122124679458361364963799578878016669362824085730551860739456164666762616727804003932653821816132517892964811310443460407334756837909052043607064852740588712904591568671708052311497680756764864455154379058178275393284648417775694439569460279790784431017655131537924350798298328023093491053809282578052940194778822528476703788214817330174749786201773638528186031831906138692787109472828749019539621400107551840974288033030822917934241337928185409479707338168408485530543194445114081260258808378271090306117068084230688498625415940692818118595825281569447712284059153579524314627381885308083962037077618193163121882645510109845170184494651880412781592682265538798359388183696145126078742989638997632200635910634035543184809935931595565490331819759259355568264525440438336462710304116259395019155433349614910264424711896907746084007922855181307562685586553526209305778489335275470937815880788362115617256184411403519041349395231870373177097308203137055660917803388412446256576951855182035428534146008867916405374265849340150466212486738134257677535218647964217561087018239021779574156153268660400374131961004462126426464298540335061136389335388256462281788577717459162089278066565522865900488679474976133798484743629548588045475521823538272228232716216494426911073932036219766414362322679625844743605187863884598583634691626056848640424615847360420774838986795070512420829825389481410514388752855952996564345992043207645877295054764738377496171376721265003393943915624060708246814323407221117712336748270512317138305883645162236871389478328925422288004714420101383919272860842345773934869475993532568991679410956791233361572855540354174595648270305083651258743099225751623761321796415684765816754540050386059236784838256033639372947914910638163072960359207571841567133411776640352775777353805242876453114122588621928274542814829607432207385164747243236082968169963091116445304937059071507211272151854527749111133746076494121854737119319240573806554591512704663643039280341372948213518670278470180431742698356740008947529956191112272274500883695389478153178363625764134105541469355628802305837688021165776957686622930897172705092682457673430254786838242139574400235425106245485507510109759481846767158865204970414406538434712904690554603589245314330650535496714509737762249812728883990373633792962786906506727417227014146326590203702637515940961757517621557266387522780931932987933634742818976388608020783507959977277116562510534545327620229782438943697294911638391298103022050265820298250391069085651355643375333417736345718294993045266727965149301945785552210969543508091794408651695687728793810251868618429333106333252057938217255506195743103063100723169312453887120505733609412898704547476930039204272878235691151904953583773392071026721970919796501154921330862741928045596602980479532554839585105456610387440665173026709203418985224347955224136543462711446198907239058938009103740616560463911567474144859818918781538485005682020630584272003261620153573494338065473962145877762161709769255034914179442841303022583194328837696333624680478966585738933215430541306471849103038211304646526076304422667659734565966763264652658268580732375258865087025750221413797160174606097444436772102857681162684036734274160850967345612899756926352650356611352610310882884677247565745317428894169321244488086335705617154948273618495101090652470109269611574182938119709629443595990834551832175515442545917493574492179427578797533791156822538854350123163287901088049257084121758601929289046707278476357245037800317339711783029918747912210311353237090065731659816051070142064397296695294643454535568495421346534934747642634846996212457530740553930494673748831706182239822987601563176709500871801413106751230111247693193443573096749662459311082995922062698426162716370419458222704287107632468543004898874540353409035111539421079045782203452479616341230997324936578993152129680813644713231578313757069946026129731296563210670747409600117318812220395321384881713727973069387886432687948191399974891448253700398703125384715588068891790314339620387219250353852350922633967250298213149073162818558436356380297870015310275011801631060435650278207889680815998830337386349505186263925318483152065850658844634342313478628059079557492816439002279823465511443185503516941554118591922224767967352186952813055817534447470458322884773414735367566317163506776129756505496571087402507818774354569362541944775164592900864117670357693199243564380182874305889017942254374169679105736241481990562537597469319081867083827954047605224627312564089897887273504326242960639848068050284554450987010008502781171993280367008818055406573990696564151354871068834478729157707507683292047909515222455855677496228366323987822063453866689321329404968668704597367439863936125715877703079383949898028578514546175826738454610413325358827175650747447735895873395908635187232129720448658766161389060959947287853539708581654064631632691466325423985436415386821291472401005954890744597877611601686932390970259961865292940366326862481791040742525773137413559111918359007949329475082752758461320517299784734665578640619107558349275311903464845144473264836371985036470120528909404321750778398458562187568824735983059624823040547205198117755428813700184079221721277180052014154453972498312778424190880429076351801536411859121986124152006756542822765378217482046876266762474396638413582394919916090307461654093913508515097910653642351929877084263955996290105694034466913351901821969168052852714581967407787028204513692758117060696326719955421813444645879376698347145238349314367802844024993556716624973546854372180837427551557469002324946252340875039964904851222230817862503005678664606601989296125802351079204274951563993030153659453923567296420991149492519148237057101144321697433844198411833453372305730672349072518068255128716236864494769650916109442422962059309791741987724001842017635847516284965641470350197244147086350376756510730254791869323657908052043036836212704314626863781348339147106266206202173676018641453365009172970963334681659677911563025286062104680746114542237793616891731262082348545736263097469419344861949772706957272553016286953411244765991778330536195172060147126499453284588982352293159623635157288198011887546561604105466895018106115447004412814056215804369695405780610908505373407021414000435793363356129961395897839439455325251338156380707623871795863204185224152108437168823795256461939751329764709067763505707963181859640585376098492778597484546177045409922070737209346841480165104942485022489590890174748057541468822623245173871869690752619836034855394428238370067050663145588183491492482708987816318095955153235096355878438727059013711002099789983971228467047512865620736770187328577280454422192301937698023850391403179981612326590998641075153042475265751945371668601705500059789189371620438022013710756854924433762176468595358476016599685164410427179853492268279515882284017750382526666423895911380670669935185351290787302333869528152205373290485529212627761369092505883529851845547454344869644580921443731786686572087208621696115020669727710451499382885865255946065360512432981510171586343774968275716776514098883357671721342359548939871263910549878722576934636306716248319628875947579193068977764314684977387490877431479233446125826783046487145331778166866483472248919000301759688441907168846589047880341685410268221704996562075936043628042213777743988918069123331726995472690665997945043936471977082937791943979284915962740255130982421213691870822215178672511744414606963150036404600862331183180650290463258853115858047719074292963295624627941008710873059119311655373390719381384734271331031528464941075004562218845717418882752282542962665300540217139391058484938833682980281389114622770230673931054540114233490208301092000688072422810167377002554547468673737239085569837117172206049997073006620926429806360739951779803667000925327993568662798345099977716263345122646588975531485123984164768743328281810248959885499956423277500315373696942448184384511881107369246887221179850818380656900761156043544567664063047795218864800444028068936609187330007667045924761268784739295913263125191065438736150475956281524825295798577705049961739632494709062911456257389706124010336302504768618866524742500921387389147325138397238903989003211514828941634518262882720609763865267167431680020809991939573281548127236369778025491461964819699224536246737186748231282681510185524189017677124431005951977610532789758810170510456763361381610718368923707050664894986182947364881820740346736068969111336307321890863890180494141661783211781590318062205939599431834867457147457445613214031505821551134246807486332737696549201092787488393158531538706455640975087670670909259648414702006111664465280986891985943413885418152217173370256400772465377296298959892673357209219561754652512141610694252807014816233570590910332589735655771076244592910098657561309346904645248378303618628590508072078190415616881411961462886424562315866156643855324951313115166099687343819309300586115554365826534088614126800651276587767705846576956448774424040915692625528103117318070924584102433344271716950079636484868162810041514465517996191723063260384515376886858947242513268975022129123427267752776233466772399345839178984557316417772530251812492564627266167008228870580434988092268402717832973187331231196142642588447712413333117226880116815515758476972863771366601093446092780325422041514740005485199582931683185287016079887676728109125133300702848271126650598769215419743556305552632606100512366005874329072117905937002576558894045822797901358311501780422016756668617095472479420928583185223880071188548300676772444946789214978036845871824714158846378538086864800826042109734517468511771219930001183966897352581146551743711457182176907331954116123676557210716814923381072737707881947198325647032959849235460116223172624292607107183629318557452061314398744092916942739897029595966944676162216200728386795396626712463080529670397763194029921911560590118381029747900187624683335563486588017960305985616641451458914217426870893098088792037088354852479584920479790188792901184684887604878531402886247149966387234159350216740237947861545538812132912447457948051420387335828001398235252980682777269320166376821262873384857400277480482501966264638895574353895653936203004733014982375875963981044070475529317545956765487362176761679291061002830748305004266460114060706686283923783615844813847482531435392755853269254882012537986714242862406630027823222386992687761291260190242161673418654363770981407845342798433561222542028540584283293597332594870330883726983023986854548083949322164538073132966434129482342730165271644231359928774539789583474100542231133699742975865513521859417514159706400095460830447787767188756728987757734483138965559283118938365371172034791535621212318366347078686297640442481957075852331498253234895443957083113407562573978317484440994166487530005662483321023618359581674522445791317519630640658013612436440538718486777741176358134144642493868412784194825874077658026894606280353072803031815503404967002513877004957535159558904603598619324733511686552177736392307063651700568783269190945721515104486499792193708158149033832254320990878568314276891943582228216014871613348803173021497383372738684144880761389329499125045269233838976235818878691487229590791732876910585989237927526002348281792424955209378228781978428535042260278146793065275959177058005942479700265172231161000838086197402806327713265534087594494837484939968222542884862153810037370507186095562275645580036287455855281258210068891512363189518798499385933971271020846653898807320358376666379812980515499419739001765171682014150914031408904632394535166558378563977610211277734384335687613675395866086444640680324056904123220188577711445921591397821716771938329826962905304892275200317105395128761852461460432776715575908565383028280818483439558449591090076295703027188536822206013420494159062972847381610069073612008616066353939788118894147963738947710828252607733144662866355419979695748603982379589070957682997336371190415281350787532025395486384830142504417729004632786981044310738902469521144773783867639584912372448505363851096791985066049705378036445734946522333423379989093674802484424328886618886695850405175953832305297419180768032807244150152759937682579860110449021636085875682755050979795093691290176557077465838604338609031243208935103672553821411563440698206997377118529107259991408358199577824744708237058923911105218958409793310682431379101320282912129545970549507164289555465429052541126820924279246258438601513022468688958522743156518519585662019071449727895410250726424194138444181586734699160026858642255334129382412349892957753636156715527616790684477497592277585000128541561027984249040156619630275645091307029161346226833557135096899494187752149130935356055554759396265841226264120482140978666155526289613330120814358429387066580357228004953430901651640699708466713393887471841918833844878680196086071483402728326162105186497036571240394169351766712928222116314238160934328368366161778109292689027700633755944012385783818515464077086732533462507569932215781273453152851393090972679254421744101337092626887006852795323853013479684041288273320027536515723568132697037432382812249547393659528854547031816176774897915261013601033834174065089396154933433361784309274050840442164573508957430679461539180667576569240925518574957994412784109595706637782984421515177367415837029152183167906150067443703757462113717080371918334705694150734879777297460226113710532306691647937006395276502950126670758882400823645462227072924457000634630169034035850541334440034954921937155082349077181136297099408025200591781511971884473639801059555533972255605963541915392948992044657097814353883977520639295460121413254490064043576485074544105588187511233806604285031935958593537998193743716366483062804366996130645076837401154447571885418921675783270499104822176067545439444174022579468590343008306223919693103499073345092691796832599770164860285256880846190582736798466687323224527893232333034179456773020985131955328662176227448468046271949615911856180755041486293799460403881890299617342237591438604315507686425763942410873660537978198732897501784724162080027496988137585411896843809766511934467750757382588126577439501641611669085541202043188289557937180726576111959461725278004544577952728618367178460426878652758860078069640676658849010763983525157170484818679286600253248502453861875904260546821177281337534914990666842666997576772395301584284185487207780054263204249540448538395366071110961042674255553945384961383276127533318895158818847941285920805738500916130200424540265085309908501676898867978697652193273619015868224590902335211268405895206241854396070981777266568586306740233669808295177253666674020267702346127340726601305722798295975412846886692475592285186852072348971687043097310801341046572944895229335081248052714123008361460659150874846190856815718316413019449931209070619414407530584458349590098577891601480075447189180059103776989880650257120207846057751398719978513961127072815812992160299652886956184245261585986568510547435754927900859298250501826949055814544716355696200585034451527415313144768213110451949750878907141950936642361820946077172749611506239499565483659823221503719460694998715171261899527427541375521020920471130543015606490392345354591401941111835626486209590990485537148682462530747751054359950854591811263835117372846441604030010338790933140817070034417504585605326408102234113333823060180332744644239602190011507937668672833087680976057016334358036870861291923206571715327651710778689541754778128671110885503372147158523843161894424058046841299632196902354169435034246737628411479984736100525199793909168572056398074155276419804830075535088145183200179444758471383067931134962017222572959083653978618433014506577413290588888221321959419168063163177777015754981049894144820750836174229021126520896907806576032645087702726367844995127840325151339659346506742408365739316012129243428027184234995632941686813336274967107799778377431506541977078219135198325184248497224756610989903618882770185261219407094732392790071167060118528691729610601304490615232523905165296128778348160045765020041327212830664158001864696756262223957380901777912322009359737036432536087380724051414776436078893123970009000413020915320639354491162840320476080743885558352408353610919671300716470698745290011723458203682685296872777312990209916267347930550002700865300074894978426991926306128379657834333113122722911646857994518287473915628334674281182589356105711142444316977151109487730723856113941359306046750027909682876203086211321249017092299906083475811925474932495925150255741422144957766494169872984585902403107313509194914086456574418960983114080891444583655436024023456845175985342377195192388609754689520688689800385938568930128385358349717271643320557801202175423803397678315405608865322771119054465364475145493593086410341118934516473965186850836808209423603648442789969450642237884131784065380695328779535944592521242052379031913097443927315667218559676076948017448595325137404316189716143701619301384855603982617656158987110167575741459361525682837084767741295855468923047614876735539194750294749875262030796496591197887588741728804644728412888462360701473841482846460347492844595911494836663068414437877296870988260513297886099924340760299475059090037788186320832127470534057460386773893833722871939412112330527533061203572469792168338383057755607552537208932070223686754717339721053489973848762302235921170897850514962417183666300789365841793296356159204424215550500808205787282369468396585770118840702589658757553443063835040766505791032429940362545622041397586241432477706978234877406117073043885538361685869475507063114826497981787769071566839789285444867674857271086753771566577405092006688920100891695779610223984654310120107090324921058621480646610156233464866035872208972264717223472078402798790157017286364869135041676443289882907358828129755843234858896164762331556072630314863884878081249114333881073448246672821125130441847396973743092886434108230382844117824838638653920296827198193000332545037302068907481705776369689973213575912165397144661363049907794997778909126039940835100112772926843942201402074197450133210546293528914395662267633796734217636220613283651602201790071748474013469748676651931007501782936287764446494268446829139494988174867013860345891425095859913138798322120906657076565790587576693547979176811666256710349232649768057049817697368904983825724958799801929971702102470951145002986640981555515576183689221012923278764482819563767626683208231932206520147444935767997616042015292657066904432496911767131875339771500109331604750225172769183276211353651388013717780110558365454739015956978414063573148534254508180927851918958499467444900341612249518827640367545641138429970437662908931159744528406369396745906542899281494200329701569035562773058452535948693221419958736293894302255421355148202958062281142274071500654067218035388460017379476025103128787760494564671429589419965554396450990429956242703895068050358158440261078889034030687259092530633904688742192156347102801277244059925243741745225180273635990551981812025693020713503195576495490341821446911493555321753261578599431245953662133708896522210339599456963616255217636157131798369345409306748034385799671678731552810113309605623882837109638552803879385045927188535476793447968453486854678351817656161529581399592026540062961006880423147202246546698847514510584189778511726402368771113829260180961987568597075288849932299810119405041862031311670445802685669601506639765823787321845632744652835457465664810904815147440645347020342043793001450414993486137018332800371899166724468210995294552376592646743405021266557077415314522851892273569270449146310847626529205198120120655435846194874815380767153989126478971459434197387008978856846348413998707880209351094710837130089946966645841907596406736146983654260702204457258742378891864733325386800883259710873736076204191755866547290515524433691072139718306446787298584418933473192720259791478090805382484288453365583380541219636944737002121615018773678433683979075228773088653582897167599277947480869664356475497424512684826693995307540221808973555711204118601555168872740084306235231197987862288706976945649190772120999100521308463224514403974990085044140487552560310509754417185070661863743619920768586302623794284083733624345291648382218229452185318056095744069480936740464844988378189410798945962649349714577398515762987939540285997816827305821753914354188710179408257874910677018687162762307755061813288775950783060646258152594046549228640337694987070217820245574327874596777884393572378563601715280923095547907875246161217516913101101473020359401887479614530776206871673806292519548904473870845097793353168250006241402493639354968156456937480952590112306998628993081018499899920073989323371208651514141997526964357968369079365525322812167920341069436128001425897873514478866742489419859286237661973561572647729020655419353542316908783319330462778481096315644010438718907254581263928957428399837165419707032201320161637562038032091201652875360293860009816205255153667444456056053438355036765124532488348378275005870966954504887203583317260718037169051033413871740613324440468733701407282426256949064801106647314162019190906385998060326964620965966981830583255962934419038219510072110701674648304511219722245541651869655326251090601118131592856566200588886685144577847657618825357067277537949139338211643806946863167943598131357811209769770804667201395986052283758468582152945345609817243845060560110576598759481009660920531343049975063398807037034509661736807034763346127536791698097254566022242612363002898457547798502060024159867944427997208990572223761312435511384625354582513906211130239142631873450764661548393816073814756955423687330928962961042839164532019851578297633664309105031321864536352220644782828497569632019206272239753211247207554502528547646796491389739902645522692158275533412601653187852760582962393565680654641369210050072971833651923531134920873496552505448154859703545719455246597167063875105119165615726732226097389838777886471499219683561366527684859713918834017692819772372392597980285522057187839446718039696312623189471219446624259146251402321999677434206863760789532849596199215110905201465822939263621347117785081842773486448919215492653806375699399491515516659225986312647211762355255385816723856144634692969703912948375741775815361122948159837420408576701557674779864619745064004306272429440016780973465866693210636038759621737634755032655337671718273888763543057554274345470661770133685029590085574435707764022990595785486932143795076798748634913410053147277025355446895627675302396928335243754326081917240415368055018035169652362096368092241835544159180006426298554934058168825650868854595343601104584619786266635840740771524828345782123917542824536531754615888564332389523239830859553377082301383274178356534886321091756957772829830148316054883659325181048956197949515642056911339635776774314621790422169285866956160342614240908293982008150087244108357580741956757131195008864194932594401364551551344228854297997002531144820773748005919164758408963308542925991872973200512145903443345403908885664991620384032147436962626980566272013874005873264400851176596942421384690246975744025765946658285487019653780619452730018220400801162840731403178840011030889093347259322209934224030109344427571457712731313368898078720458273975687720803255566290968684570818651332984186570029744037984479807093183015275498076656908565076229415543254042483833571099715432774483336478756329366822523618751704423295014041776039656105291718150839796485420153029456465121059167049242609531663776897568885438211335725143601846750919372135370004735912281771746567247503637870556325775382583391844621134002864650262880077298342216660407071341925178584725834891290483915763067723118747601033021937493421781931385535470771322435317182684293986104983768366718071553900059882077311915296108336449592885584816190742150494939630403113912591872371057452052236937714011127123562502296300167225887591129099905064039054066854870163996265565560630849619772323309351378918648955635314822668819589082456392401282275456005239645947294177607849714734140661934060161061244689676788471575796638867267188689684122768327255525663214800381314592013620932065885930146810704877375752519452430168951094464742123108341993066541875188916167874344793296011140936718686059922966952922512630508324152006629717472768900472642608797211884566987253066506467327357459958960827617211838788699887646378168681348563391267973987543747456299684844092607796906011613729407122348916518363910993447748736216107908846714503107660769697879189787418376630878817239739524592613979264481876293767656414476812553253556911826758870052646696043247568074838159534978138159442891502654430731298512397554645234529366176080184601166499749991138867884360264927803286798492713382501725353728295624937171206416900239132902631100910044379852972740563215932711357855373347067983599429485308628090143295713998896862577497940317902695185782257346575654731015727321028331777852080242485233795665256113726631797034813336020167922336187097497273238922066602437224006350496102029688566388073692317033081885215810871172221621045028342597286150868421544489256883172517711070112660177013892547029973124047651645909054324682331022595863052847638409029693501215682884794869213248696959237730490723186945836790413415433042170570884488851434610553630474557348695912069371337859765116872557307189413030310823520528911336972916238210567886837672832068079670214620299938600539144414463653664125609819019632690168993575395980028871756478526014401072325485945261770313603338098218403781768978194996582758141927919489128608008819625509286237450229400675212640847902834245218517153981999566630065520103764123051420137049358548842908076315001103958742215886097323634078857159673857687987492819877267434351692508358059527396750149079663639031789405670860353650849158613691194651259757270372797746118163749186463187046634560278508546000466109530157712324694979161148459270156310955836349841716356191967256538267353036953559632869219015245539164158620085262589081609348098307391320931773437407425753670641718559332397840900167807944096767888683548090721562956177626997361710445859980534245995736330720383855281549230669843070047733836742486439508537805296190043220810029752715786448797788997426074605809745941186636029856492405125222978346257610179948896776774628425309016800553299126384650239541605434571742073649394587733365051791544052490448751996495671454062508713406328339228009995573318780860511288110888296536137407547546617539026268107866362299706309362569459711633337196249561678583053153612986347014323866742599875613753741953556550352327336326580268201924296978049804761193419291570074046734709143652875163180068177302832571745739064341537222273037521646646779558967901458564530238279624432578025029747370788403091030503343992308891278964554470553964131613025219114478632113770211965797556113079506839800387912553384533466252358392173531249749003953388113373927236768583511260609311834392220388356848152067740068138796548846656963751406957123476473038695480586258705761638338552699240941003954303547073119730187514169565390632655880756791639345714455503183109745910185637536380651293072680356915660516518291270594139125950764075416745297426326010734056397360570130411630032586278042734723581874937845566820622864607427462470568495900090941984418404509841140299478709826997202081105557364177045208374694960558747777226458866950014277364857122877354289563905554291076008913549986450758191642323414005070627320208545504861236642352151497618809223079195530881053691343812764266879160749001844009780823063501687136008562908925529720971238125379878519866888175026116403825200352696651147045287143499171759399895552490993332223962213984768546039741367428341296906638113730068223230653770275477904170164919371797762891600294998633209130955638750419840957044390979197614129002884815393118479380285404026945045382171107410338065712206341775819418916660376565326303818186818196075799320352376651303313147610911557361505148480894485677003815643790062447973018773610311060476979694526084959872606856899473188726915942760077038288215140268594816091951160441415856887679324912933875044092708614915761156583104671763400698468789265042343566220767126825767671840766088340093987063216175008812129915025751036632874868696784538989003937495699072205600549226513530594665012034769798263742640967764223682393591865486603016123928828414528120060268258224898298693818681849277698793865256618412880785603794269222393575741693710362407665557763225864096611383609677096596662613638403700109529493075245447508433483813798559217568596295259365591310274117457072603903962277254044976028093679838783104384016287914283395593824962437876915043489809964022558929117431595802591960662848081850617117088680361352293513417268515728645349534433929858841593592290738791729449788244335880613050145656255305827234908036841340934493123642241661925489057944841154435300837266522783578651581471229866235169208807912174538013466633667117789854741246380774166383892282072313582659211734921277572264505872647235198517321683293605666291119923581319709013208175965418075773465872688382823430236000331217702356021290322103499585156280798103427225729676535125991667987269997294810334943320703308448730721432800921703585201630801081642917009081487923237718611268820367532217280514751212922908244512407144901749762754509896107152248274478873664721409217382397762973106081971103577187578000283091546520883564934238649408979315190403638217236834872086116047197848109433192644303651360876092465075066138252552605504982135212005562439454260185612916687331803248680361268959836244899693080373399875260857923853163112320025510822217293185525903884459822180002009026067295669450212926409111911583882225997982957183964212510603425595727996936736261990687798637469618386099388618213237449194751045639660341581737976464790259513310854353528065134926002779080060207155576482707870460787999791514652960710183990774623859046112363405852698142785747135987961671269529459520178837455682653607000371310512714029297138381471215214793069745825460290662146388424665688497207708001972151919571570605364607125781099529452481658498060550605356236056023780500210050793049970867416787958152145429768578125587119679541374991750486046664564839324443073569857531643182464385218041246225996341535806657642443920066352819421114285090042724385506525836997387665882404650635629917100408473814385267549233789005973760411713973038015150441071743820615719519807834547949083015816628229153648451472864911789175187744524741340593208769448529419248995599504766196605505616304725412054890354923558320955069965466300171641542142370965330980498308049978482375516631207789147439050942161505070412831161616350773576320485515614834538434542938983773911672120961178362808435144154956911953726978643213058360507135218971457096283061635119765684777791675273300583220448102658371641211198238958157252985679736416319685239422065170802215592717267755698076579256423129136117720091992656324103911497350667084849260901539228705380219855756219391877018475394877137776735435090902806522383046373933426526433018905022897543507393759552247910002497864510418537862126648931459008503266021390651238257944004070602427611610413215463692652735379003386810818522379487314377662366379160367928569368710215861957603017452324532467537894239498294939676875807851498900739487046772995849059238783914366693017918403375037860146992153840209912787516065164794751031038575537966524497538524065941959168228667501130635940123231588596380923354654049768583246505194897801099372847917038708548007488610336494581938830447215359428863768434868993822103866340806471968164029195772530074045699687297724394443825844833957071322833021750633919784610257851241914898902709585028574623701964238930070052657884878721429998223747816497890883381340255232232758467838514325103773422555822755270930108982462648215683978614241488572122723234917728825233082831184229564559129279577422101493337712893187530057061485129799910418033838795043456483938702522630138361392444880668381982896491186638844137493810800048518665154905172034333242399176460254883759391891431195337303364375357992169735142218706237397064789640231975263091583499053309707501245660999629096669745890064189394545334052022138529582108380281503006511780129664384922182813350036950951910722443275513576580617622127125551664285602924875301155070236090842428938342576777877654006104423338032395072934334428905616183557537579007288742752472017262758357931362865981717466604822133755213564316360549624523488143975588329470645139296562753216259888105213716577392894228431323104435048557104125365962215056015761158712558588986402997031253042376918550080528403823358002037341052471942621501637925483441167263994216394622912803731021606461504988572748486320242826959349417213306061131824153704720622787634116645514419662536707846168320805289378813612750675163072809811285088619324982978109891742745249312316039193564624889566780537609072442444460860858975833729584443216065562256626978150464055820989120189488274836914756036960116192555025980730074596887447262079020679400280413557307042911547739806814956605231336082693779163386576350904231169892115613945944623238716174953112337686784247638019224237584731390651150124275659360899069486044699819251169895867335561664673506344906907149555658676829036085985167541883915431955506885574146090213058004264801573865708741761049587479945457379726561825915129804206939216109164997651197911181589524078117174689980892440034785308506667787044011996662055857790445278124709226891907809055197258266608076171277322686104094155166630672922832446582880698112340393106750171521455678657624579253616707064088195336724810397851003359320662070886793419659455530852023497784120935244027386290963496030062035874091253586745565206365752801698071858261450265451784492435600742488354767586390537479277550123003422178540304642722434359301998618633548736557895408960219031188639583953657776052910960370537982838683426424495655838506019469955735398563227736611931832398865203982369149352896479887228702586858377975621330836417140903607829152124916215606520576227804932449895476434481501063204361927859940801525241898450257198262784029138209760276036916594693076821487737168281515790069920483778879060089202522039915499220538951185292867228424612061364703432293343193463270078315122261057915633619068736190140313466143440338274733334963564244209752781625653080755029311018874827777077955489134243100152252419214222447623256783105711688908068039185314602604315564481575103881984310913251990314358609695127162925771322413502638212825394682496453449207756938257654314395889425807394769063635727550433249589754591939289046449580792101570255347299495598662511013111603580484675914433986413416556814865233299845815299755276061523927359893748456193835541092881364568775820595454204914434133437338076929856359136113896725173951914519175986106074495023497471014486035608224927309834843383561491311368819495219119267980656601763730219208593921076365998860557303512626853566092329044363388819352803409904403047604246214516293605403175062733937545211877283820938058109923635900397036899762678208212843745113953627270798692189325101367745151779267398985139392117769145220233877724564249338930740384616616533315826413898466826406831729850439165715890467335793607391754722930205748937038671169031110932591866958884313962114682899180676094707492657960575841229556651412960043196654873098692702472943543031340042889677291360886916136983384705537753221587914599367279962249613275366171573839967788220254103228626703347984505780148458578174753487914003125478209478237176684253069056412495059567672719905888550769492849482229643687036702814022657798717359913566919033268564231657964341714601961086339264927136015748536447127290693648251958074526763483846854554983502913647784397599482695708714406019654315823608939832363208728516086011080303919618175583708104938464499126070591049657106435854003045668884114210293673120418601327347464380212026224299442115011823062567688148711371861316569599204708109133582142861278247661461903713183193975865757653147849944715187907527795459719277754955053687779816123284131003806064236147632677462631728624987068734814406198490175308110659391324745515067011635594787911316733297132811113902891176532790885417307458130396811747979682044933502214055889474191543001381660110085167226367664981288487569128926968272125556825946092001355516724654789244066092993919141300451759181290540569338748352471534344467192858283364189527587641146477763481507823140907154178956167819609675196621555236884857747596400504748567039259689210853064273506884769347369055139454845597819637802194294589155986158922741591718053652962669689760747262154137527333188461480302076800238660252927276932549159214348714384290637653060058731806827453100676835581597575701731675000235557024368557245645440115130382541431165095975708651498827427637487371191436949799253237639751734072655912471805408054895707184075672429042957675845853839480864625028342850197690082467138378758477088487964978383461162294584068616096211868915908907670072280228373623851945600559893309538290325195002615910844720563484526033690775917556520694459455500637445093201414227266599602213126203357998727422541344643146621754957982394700785957744633153045838069184674388418213842556180722773088566062457720162335574110666991900271684864781762055753160724680265496036876828140321231273475123177690537413119708637326847174458490425004844445913479929956654483014538993244081045572630293446388877817815785864403237635362122214476052961536358889550827765169740088140498177966508517658430258446059157925606103717506813465521504704807647488770631265406161659623358531969849322942893439854444445042280477322012812017052804976237040324769069387788006588217759384807868581994864666643587254816275470183637133597635469366106854582928249871110716818103420979191418998557238596684859535811014232696025264929464973821175206336324642285056040855236883265778820554038627363528656709322449811409660589642144734212559934279723230336383741335991143958937306694705689721390617359865608012715581657553966959737807855651415755298986861552014360182399280831579416345328784481963398598772815495911447463361661772950853914751279329286191929240425727800090147071819435489879803353578164629025141286170034795001336134106510237443023288618231740060608817169449520666085132838094603859909270519681080270428440575266353612179753975120440417423489256620876831814052820900822383410221385663175343897429260235256989323418525435111479736248826617465135059030678786497202356527358721541262132936021625058007764603647320044003876798044879210540550407148860180661871069467807876474368498191461787938503616925554704917974299869923781118897479735941963451777441309695547609347820008471065437300433307331830555926063310249941280344637293713949526923308095790924903967770190627122205834455697613401811921379774068838004111264386213279581185735926624879936299294031036271054323982522875113344389776823502100627974518180070723973773314327534484151738729975304920865890510387971013734497860647955426490219107819523028837577554588762812608876173701672637127876698302682079519889239163360723143736258825444773484618231481564344275315982876154885166894487911721383665474354817894058461099567856216125038330735215407114299696643061291054181534699486372006037957171845328843050120724383866250803255707896991266186598540109078928286824566561355705579341691917752552952645768106735556552822364678555433820787175680027586358431499975262309898574347477372349751539989274812275162606794853551170013845954116463908937031612273180502873535851029496940331878711341457851795083146783495140184507775626127973081405967758028751155627504798627225481243013032219345938744362835525417130555665678017206069091066879304460674568882121490404956589624580257085126124487591229602290403212672932257027987109509458352679096105496660752881934902862304478493743552092209077362781268720413817765208714193737260325155854034523810133375334924910684934433839004784090888369586912438214208244705981687555579842886621501838210350938947078439631031642959025634873849227013474029283428076940932797281833381622552195134193439352003768841902786032706609332014523595165074417336069388029333529491912902033479469214238354427456895417987058457334311317212523629889911152508572863035048093454524727342002288778931771393267550176222489607254973938134479222731708215661575211047814493480254675609932428879531826509760476020538308002220279539522317853200988426072156953855558971958281081310417795763813739041325735395628022658822360586145662715310104773429305013939240222316429893521152543330736434994027577014411228814194115882449987093808809236453919981014870658350209378471412720517491696143850020505584337469679252429772430413456075098330045017840928894213153936867621453170587156495230400341448074917110450479278021905921701394214128819496389989915958799174203328497422615654454391493260836701491976640519029248157070405264551028826003385250102477321017893115316330625305512910823320487620832315017303590048236490969823667867076631416067766848825734265417162268747260252194504441488381665407321926628424640902339328448443595827927929406712064867108440395261921646891674614349108234988149038120349568834948751413181826455610972989879183174697559241990878647628145213935504594066806159625179712681781045287342225338906449263205016501241692641883821929034835216831149959576001232481608836306314522339013313335202329780514424486440309118303341139495877113330327096763239507772305653476919437652628221106531530045114248038950988134878236746913491824435006345469692884027009512854142363198123460677498524770392401277524337550734748071895862001617318911177405558691716931850002992558128144429978388892218661535769686154596958720666902964275384558668408150411670086404691020888404978984881881874298304557926535660193529595798549143889016461376024853252166874275141036071783903227856925814472418352748305404235375139626462702265667715701292057325847490407239152897224731547465915701779865391386394565643409408604271732779968226654801399348795324308369694940497248606072739553867129175971110262493524231021670962668053753518555257510216464078606686199134096617325383327505567825871333343570199640890848466046072833047204045398991939460108239203626728415277244915971629969537166921819266595497845544282616193873054564103775520285986496651232319621009896573061278653614043541257627562032707132844742992051622244168963657452578060455312482352788423281953230568903900002232563329056076062007197203743993390227925249608761752242147860091290972642477700993568896503140212746969023483667774097360165304682891301512902935192799213494279228044866894329491021040859113835801792134293594402194544745612978038619750024115505108066753258180179895100407312056205199040762979125653239031633043649732001151431601606304562823553371151861862690317741165193115878538578976684588403523128525433093906964175937741008242043793912059210100377693141713986412715946629295520031457114926301427073885215844940121110620030675380594199324470373561731053043853426153489403909245526427354415588805998667667425655875007820886873056585764324085400202530578959589516908958403879566031825858769782703478755999485734843412832900588327057930752588038484935381621012433765566902928616813822857681432876546495434196848231907462696700924167646565147401336993785392016453843210576976882428136020239645087956176598016805182499195655613918052111381765007859926742091330655190271209685968837474949203328904664042898269965023061809449680661455882642723340167874742099822964160610642373813630230935686716695824047542706445508423629498839254852294598304956700256758500436255854181693094190471202233847435282012548502253526670692828438017063845889398146627587088705060735232565588893645262830325409658798179221249859054224764992169391645715688799839675398188933236522111137508406828256317844198064777049328438098791105983107642051946305679339851251761280000748491946636926754464049558451927748917923782236232283751557888787010556840659288733437030754193068082280475191270630217953872549970478104100044520711516228969958346958810970475760631634503516428198688488235193416436968603093285538109826718942564090784014015898872613083916313928548809414653082227880114563440380767473503195622041518529307786358422451833925989492438358507142623582747124386621181444733311713316816377759805260693245714879391486494579331789138347308176288591706573558663074835761259883891167183111705711151572497659275838585776092163897806169255052086496692843632060639342790971329431180157435467230788674392621885291174353307139499955852191346649893180154685841042775278470159377536872457685896263234784724077681067890461063074125370194158887783190302141343324168392442813268590813184759971594779244487644557078304055172775050210349343737775271301163174619347197525658090576464854349996832900071956085202669388097605965176376722881330990272731249141706530019178336722214225360633399985787271863017677192422740948496298992125737443508898445219392713019131501644458945867849175741231055444202874969900907768287146147246126270052965203393821608494417604512987302279217104830202299731959616059659292892483437221527791176672854090753503757930512220937912871538143908097361584838667817085986721681427640596482279735211108001076225948410319052252602745343851310257152747783710253028960732349848208767948745543984687520992434028185147242050541570561327861588410378771648121122014848593838015526158174566178891056739372578383185171127472387610825567776940861788677019140334832327883994238772953268664681818732933308573676107778014081814470126745304607359105329960168244891477891580123662282464917553471665194681743114819265865014063654719726349176898917712063907538122694313900002403211254004724396285356316695567944732157982716925317201134049791492009917937070771222252015021489159322337596180138741478756938631343472352829864751068001688864216563423485863649822971463805471091358610189528025316708239270055061550693722971433459814436932013062160525138820299831737706577344699595926729996636225007801029349282810800484742906514711136480332831194168865965245576296847553227407655051529583501267602919189070160697301063288622171075366072946514894769259538377487982452864288755101708397626793520747679926628266916030732439293001600730977844872645282999424243031232151617705884825564075056847795434472469477036454776255889395079227997929129821812155898095363377276645358367802132860793688479043031453696382198395439671518758557526520099109046501439925306868693262294784547596217625974462073841551417634202828678540713333359111308343138976454483975540839548170623088137395246954534239486941581129845668282864806047983831144239199911801201421349197125754050650499410123361702754417510886801135236949124567210661905416660921971342626949661299238907982279585464150595832866481321055856953368501513365891183906440604694911266016812563045030418670156708972903814461953192743640331820907036201210940398241139307070856945925062692657157714174586710112608088086491595040703453419454462382100199828699141032354372302584350459633528774516685341258576048147679656793405508983957359384023048453518610356016675223526898726899861714872386127692723759566262929145476672014106793520818919037631106934645825525689159082405023868480057425481129104565556269837964365344805337918319931651731071759811505045641658392695694589706955296253877934098788498827018518651834048041083901035913676986897767973966628434333252837943940572542122074359476876440636525077968279484479845247586593016555581378813704878702018373501441685727031289873677630097858812282811521693728596318472254366150571029502144527864822153660799838485144285869202927062986057680956622894738653185352901753916597669794527035741366875665422152362956628432730659655845221376544219106228589222549068887548181457069984564927588626377319845682171459611140543305855247178444477861635166094892418027880482427529372388146758253246301946460374355107680512322597468003118705627195445164998844960680822809407087018184459659858842111231782978726546798985962997043559442129853447802283708278868151781096008624702678923632447802975752829206245502167845926378676312367959499237369361587872265842420303661835315763055058831157379694760070473178916034146494931876844337142293519232226221119489882507635678121144400128905219444463246794620383534431567377628035209303948091587375640069333390890034717668489294082363567048086202675265987635508540523540665331424378171616540724630463037318873885106034605372207922421267429043917299087360458826109684125536608932255715387423965209176673819356389957393169941743781451326308111575503694977014576954625119979926815660745740893451876904746136295336514056699801604772533832420904945235184750503672860662013935592010091206471707313520783842614937197453638141319995580673740657889789899420007188005868461138971702726050793678514868742948371433450137238977998146437148717343492043471436262398897458365078574075620706709015117857316624756245468679431542702295601781836248525062373835256594765631175469876057292633315851236795852760236310575550505954598613864039313512585442741827397963495315532431995892377737321662560850570582568640590873412914828536517760718727843662462419309460070564459151492699694187045373206538015303723454213698964503024921012570041641533505157454927721545685324032898065225343830753219169211226839822411546521733117251138689366079656202347205970006663330648138186828860047896476729826148532852740055091943679900924494211889909782142604494871970070237712030045493467358739247896392650588338598331241474908470038089136172770135514045896181137330421085817166579619275173898635297339989019357927384718801171427396370214562078485369294427620595331693606776893873524591628070960123647669321368780100931550778123014617384328277628884367443939892879427278915413616601641948907292636328432840859078058954878602780893437624893520406375417725780383337852215300870743296523613352055952706632597901226474535394189362895253065412489608273821126596695198328456567294444445994432913711200569254019027746192598584124406349692845891878387018165945672755103675271735125008949093654661125507223868116073794569109897691650446345876921054738425181405599401570863735072711964650926620301092426875701137881985196131393514624921687771606228526316881532556672380929174632366190535079640156286832073756023115897770683336081456805305417828131499539132980384786714458487122013649477265495717762362606124366705763948596036950589797696934453848350300907779161685338519044934831025275829614781050554489039586581456718339961557502229115537990692552842466200693037857738713389490779160667691267019795759917934047480889739224794931343910320760898327805076181704485193528424530355775264942431985589041231673035535741419413784408095124381529320054625276017077747729646308865105705786781532877531535538707334033287001057575236358313240623171988797027753154714473255554411260770092449891148012868699425381387776044107968535490268183586547647241035452196805360197273806044636887198963522003809889389398145711100551381238761597444581897618721158880792307652498560338330082479430512291340742940907322126847994089569458637293582650869786630738269045491949712854591374485374784670033265367462069658504824081832110902358054182065674854350255426667794995636280527954149321752102071432708137068687100777602794632966268435937337794731429983438416350282692061207336743937714021885760240605287849259210956213805596021389698926977511998660511821801206041350900300791190005453161739057314187499467247970081066139427429789770907176603582894989038395762663109014305318484017212438734840898468714324889079584541615021599863016774191807253407165281072547161888569696910483558846583699523579713290864943177216869611792255738228084389752059416825523846989568252971241786870000915414339673778888864862382145087322894009351258908305339772340531096084113012713187650435452737349791022193451088588046723749668452626362913010913866936663953024912506381400390754643903075218973582707631319148731874821739702004130993254325190825735401194271335875609713075342397781432296096170387391395974467877366624154977164990285276829214789616922442243276566558487214455334733057984311718493562020234695608363387066504488097035814064683814212977029267917510890999335152957880918339095949855141456037286136169102855228621264593354219030978814667738443759468409212358442130270377596595343248137654116993036087723478594544836805960316363125812336610644356797028329335469720267252784941818917910231683481255080189985652489772495527067094952777856407421382959490884584697588234372501587265811005964792141587988796119882086762118608439076114362312132422123036814140055030978201836778510868581410781803647954124932495541266358341952842916417573646513270379422071163430927242235837487680694983435269508518982456734166286831235049034361049166687040368219192178571101003281963232777989129509606168543029255396176777979022660088074137044061544422822464850883600946420631261661003176550543143904732715407702274641982756122633749611228742558745587400680213857298239932772570709729479984794263940870184330141538570432496136118859170116456512842865754002070551872432318337375867777475033925253265162666589221905500651456298595158058106242782099325833481334423435026791866035520913622207973220641399965108773614596052187747751853136803077011268678243574437708077496795846363513464119812032453696339532445800322274625146163058599746998996004363803351095934658832920463058108961985452572749798569744566513435133977409476037694805016174312163346714535981522723887134718240450825143791832715273181116871696014239969809611475041598468011964610729373759184033461061735863322668872947180378467786134313469474601434978312637202670424142103378887995544544894658827224007487464022108247415033158233969227471511187036025885586938967626333164478188387579949555892098127297994705178332703803678175392746156241582106323003391708019563859536418747594376913219421155547397851169868634226777088841848002475334664939177722100341395129007275036838804568734392461068161226642327090192197066791772833279192060243283870432670959490517599453161180322396764313404451637203683317704897976879722040483034462647956214493206571666365953002589498405703994570877047312295195449348033729949406211367317802089277033382565206596036123831998126859850083140306743260834678702005633594521940309131698796275883692754249169240680655037482284253014220317071126472242585775421872157127459612540775383582049877071978594815216852585156978833580304366752200817560232694640476317725303863556061087061242394228482426209691562385900901843031195871193452668633464491975454509989255351642036732596310560937721958417034240152507653777793307107279603074304170869514107623140615106577907421616043876930865364936925753106250435979864207408356338605341323057799847314251437115434682469932320127579761524170416171759088061969734650862805041263349248289142922116688871447865070839527109047950745664420891843528506374824089396505854789426243761516448067850216982504281510800811995275660494685890228316427659288801909994099753220589056902322601606279116636200230554409928831732855387691233342841386395775724260599459187057133105043142866584464400448890271821441142196963537976960922088815726746757294645658109427456528647341770730605850600127979228067699959834262084271371169408924045071321629339054676365201039367983488897437184371580424841303129554346877679021684830661710625652525782909427104227115886861933802364875768145662311357365512501729387510971545668503915573414644435389640050754685119399315641749726455966829075719677200015993104815774745867810999743054171245201214594171419322552818264278563973061570295878329915758626836119720290503129993323019005947459732288960984639656404416734273863513643078695999223504077844782187972185178664024817945244748156582508155016304456960786464127663094381098409931809180657150537394290628223749174698855837250545893318602171250623412957100402912871094673808023811084167154750918906365481182144479267416930632025949309298038046504360860792463257835172275048417506465482311948183799647840290074858651486255368693692221313398193036077744030969250854191514382899658416325200116387698981365587761991766407140484110466729401956508132083622354822668226385454232753600147623555408645074959047790019446585036431214990257699270815550715529108460641141011848633262499300937723778881986636817722463386085209155231462802867414258744473333739760243185258898015666227472157077899152243199425603716513606015601651024447643768479437699813239843253570776000295493765088779222973666075423148476241105230621975736021003330930328723168403382532101056201429754077709474243018251435108228938921585873903464614399532233913606064057528173807180950187116922614917857241874378558799577655902287099560485150739731100501198797269983387037295676964487261705597370308012196467164028092887476293083842306849910501533714525792715916782087926764537629717724040166676475655702260152670512181449484193415354242250179785288104983795712675633673343290326200280683789893733948351936365070901429751395972422053188496752281878840901684931290872673983789579611254865756634558843493290236737597968127178875694907199864722438999214175407889410847027713580999295666288582231580367110364839233895457929590047226513415985297087189731489272104678257590134120929858841793822246949208869898594307493636686849215390768277565122785729774295593986891153479439479982082136908553579805094263418037998604612104839192397167596425501869586888488671992726641511530958723368678214761968255252219532193855250206708846037268208423799501127227003005742337055672080651398228604689036772282755176842536718740278256876214895226724373072558097599627899143887270172908882705129324887172219041758259444818621438366233015489048290705913540499275592774826859861623556363361692199377194959262212228864565183170760856731733131991689412706421906329367635873680908872797660020990524047487617280268468864132517287615323585682530994868756219914051415908402003892502941741210910563919518465714514401690894639458129856543659817535781424149634856091671701936414237832634291615799143336089031268543092516393016988898290459996166173814563769521806021141633170373324882638598761282578097035685394166914889108622206601994570981923459485043354668851270208542436373176853154340541285848084805007968037743256542370186428047500673979113363506524469819111428978762718729695524046744692383313073327004222565083934653810541319483676444981426275813606314518745777462020274801071630595034192803660431337269140068169138923900470680905865667322969654475660578203712727184688490869531074134292568498718648383571931721097208392216824539323033808088732390543303064395411163797419953128983478441842395637243550432860162743547725541989154166069282698372542270552381060363759203617371030830947509541288274187654497248025672841825035022362313161713084590356463195026747476075564136616366033404130020911239402582104142895775130590076892878185755364635564600008883888455609621703541637233828701828961335353172550732099837267837881660678618567630442944471965130223853130037129980461837183566125670622841167411483864598611143714527795230006193038918759364059280979354921687127908938499021175422518016906741096899212322330741292735964942344329969428343653198127245525729367008630892678110988173412366261815930741631166665200960111505799707473101222638665798674982423936150676970582028378828356628223122569632575472654134719461791959337791575143738402745832651505474718294797231073524738979109010775533155090119998910166720467831950010960428698211282722967416895391023687776994317331680972133607165733662709313060351980947410834922645398217049734066970178415119601341431673319937597863099946909932062312886190704506091112100017588396086946621965610034218963474072528328102250590388879510052015427170875092550658926329362300062363487233590671471537413423752419280875731340848798753983136514878185520721441406450994686665757698382605676343201287736645141357960298840256346024182042347247158674053636884276597801878901638793181731506639716453723261519928472550856329059512