4.ルート2 10万桁

1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727350138462309122970249248360558507372126441214970999358314132226659275055927557999505011527820605714701095599716059702745345968620147285174186408891986095523292304843087143214508397626036279952514079896872533965463318088296406206152583523950547457502877599617298355752203375318570113543746034084988471603868999706990048150305440277903164542478230684929369186215805784631115966687130130156185689872372352885092648612494977154218334204285686060146824720771435854874155657069677653720226485447015858801620758474922657226002085584466521458398893944370926591800311388246468157082630100594858704003186480342194897278290641045072636881313739855256117322040245091227700226941127573627280495738108967504018369868368450725799364729060762996941380475654823728997180326802474420629269124859052181004459842150591120249441341728531478105803603371077309182869314710171111683916581726889419758716582152128229518488472089694633862891562882765952635140542267653239694617511291602408715510135150455381287560052631468017127402653969470240300517495318862925631385188163478001569369176881852378684052287837629389214300655869568685964595155501644724509836896036887323114389415576651040883914292338113206052433629485317049915771756228549741438999188021762430965206564211827316726257539594717255934637238632261482742622208671155839599926521176252698917540988159348640083457085181472231814204070426509056532333398436457865796796519267292399875366617215982578860263363617827495994219403777753681426217738799194551397231274066898329989895386728822856378697749662519966583525776198939322845344735694794962952168891485492538904755828834526096524096542889394538646625744927556381964410316979833061852019379384940057156333720548068540575867999670121372239475821426306585132217408832382947287617393647467837431960001592188807347857617252211867490424977366929207311096369721608933708661156734585334833295254675851644710757848602463600834449114818587655554286455123314219926311332517970608436559704352856410087918500760361009159465670676883605571740076756905096136719401324935605240185999105062108163597726431380605467010293569971042425105781749531057255934984451126922780344913506637568747760283162829605532422426957534529028838768446429173282770888318087025339852338122749990812371892540726475367850304821591801886167108972869229201197599880703818543332536460211082299279293072871780799888099176741774108983060800326311816427988231171543638696617029999341616148786860180455055539869131151860103863753250045581860448040750241195184305674533683613674597374423988553285179308960373898915173195874134428817842125021916951875593444387396189314549999906107587049090260883517636224749757858858368037457931157339802099986622186949922595913276423619410592100328026149874566599688874067956167391859572888642473463585886864496822386006983352642799056283165613913942557649062065186021647263033362975075697870606606856498160092718709292153132368281356988937097416504474590960537472796524477094099241238710614470543986743647338477454819100872886222149589529591187892149179833981083788278153065562315810360648675873036014502273208829351341387227684176678436905294286984908384557445794095986260742499549168028530773989382960362133539875320509199893607513906444495768456993471276364507163279154701597733548638939423257277540038260274785674172580951416307159597849818009443560379390985590168272154034581581521004936662953448827107292396602321638238266612626830502572781169451035379371568823365932297823192986064679789864092085609558142614363631004615594332550474493975933999125419532300932175304476533964706627611661753518754646209676345587386164880198848497479264045065444896910040794211816925796857563784881498986416854994916357614484047021033989215342377037233353115645944389703653166721949049351882905806307401346862641672470110653463493916407146285567980177933814424045269137066609777638784866238003392324370474115331872531906019165996455381157888413808433232105337674618121780142960928324113627525408873729051294073394794330619439569367020794295158782283493219316664111301549594698378977674344435393377099571349884078908508158923660700886581054709497904657229888808924612828160131337010290802909997456478495815456146487155163905024198579061310934587833062002622073724716766854554999049940857108099257599288932366154382719550057816251330381531465779079268685008069844284791524242754410268057563215653220618857512251130639370253629271619682512591920252160587011895967322442392674237344907646467273753479645988191498079317180024238554538860383683108007791824664627541174442500187277795181643834514634612990207633430179685543856316677235183893366670422221109391449302879638128398893117313084300421255501854985065294556377660314612559091046113847682823595924772286290426427361632645854433928772638603431498048963973633297548859256811492968361267258985738332164366634870234773026101061305072986115341299488087744731112295426527516536659117301423606265258690771982170370981046443604772267392829874152593069562063847108274082184906737233058743029709242899481739244078693752844010443990485208788519141935415129006817351703069386970590047425157655248078447362144105016200845444122255956202984725940352801906798068098300396453985685930458625260637797453559927747299064888745451242496076378010863900191058092874764720751109238605950195432281602088796215162338521612875228518025292876183257037172857406763944909825464422184654308806610580201584728406712630254593798906508168571371656685941300533197036596403376674146104956376510308366134893109478026812935573318905519705201845150399690986631525124116111925940552808564989319589834562331983683494880806171562439112866312797848371978953369015277600549805516635019785557110140555297633841275044686046476631832661165182067501204766991098721910444744032689436415959427921994423553718704299559240314091712848158543866005385713583639816309452407557009325168243441682408361979273372825215462246961533217026829950979089034594858878349439616204358422497397187113958927305092197054917176961600445580899427878880369169432894595147226722926124850696173163809410821860045286102696547576304310256027152313969482135519821409716549097319992834925674097490392297126348693414574933198041718076111963902278664075922434167762466236238913110270343304576368141128321326308582239456219598086612939996201234156176318174312420089014983848560480879864608393596492366514296812577314322914568716827621996118278269531574983802624651759054103976181287604216386134502213262727756612441133610775195557749508656360673786650623185640699122801875741785494661253275997697960597760590756489106661015838417202818530432119044657752554277543798726054881736198267581686283295260789932226683602838513512281059318591028641508157056319717315183136250243590414632122392176633982689368253150530059891547029095371932662073411234947433678846902013904978428521634144292145895582878476693946464267812219049785636355263368278051860098699248937786002398769169807656621943898544370805946433362333810587458162354756001365924352426571430834655457680023708146757325254702550747637471635067851599173693793251032682760628645914618204721486370370771926926823623334720379245964691810526139153086280291440965482563873092730426544662929045896063751918711469345361973324789572707031530930901921199199993615765003503984054067425387927527922724733566770607837911384488936261367657060263600315132952095395202854897384486256134924414708607086602676349978793420875836121947116994223848482595914304528107062601508969135303017720062717054402090669514915274597719705947695474095210287872557856880022193717743558110793930883384558648277291008629554566141306721230848740227121058686323388237413884428938155444647105755651468435702946635062893873569868688376480326519528414653517395302736120137420300986739838514321900436028982698293529399414129230580384565022707216815161941011449826301364900877048398488386090653368599054583895203185648041493272142390865164999431659207965953569430723112911629286797517156688905439322035691293324570208067194440497304943981408227829602799424541083166675921424835182723817205041039274288801556223380796147512433514731021284545944899444996000752437519570116683417447490795882099517836768023236517674972301487457742725994760962198432714835298611190272873584905217975908374197486026706053746231530039375212367867752848692195857137554269684827836317861109933680143915905974842858054516130230143979057016108898627779610750673332676048654929251399781390535882276893732204941483940135560356560442140176120605131806891989962606184831853401836237821726637580455247196266174925422852804571442048578342113228008528704205488992341278554812367615377071042544698685219911228354266349997127483660762462418207364666171283947484732804744304033441072004287271275670279567582429262719454580530026664899650795697781786219421720052371653694677041951119127046248360511302890464377511486948878496151188414719100012558838366606772084112351535588112677895715585904125762616010675131535802124273318710006358249545040995794072547989003168265123731190556682915194305370848930786919742829049038603723116099283424317122250994547150192866648787107951995180054633883844315481724635480244518030845273431000621371034625733060012349737443558180965678464641533905146569193245623531405779193698988423647183525375805257713311200797104068315492665402026046806818391437827214769063242469517128636738443139833371176159418699934662623453734523567940124168092291163609563721674528391709909146648507392051516056047378710615470216996074656930979442612146925615934256494019122989514732544715181263258368897282262833295240359700727863364604594707124174729468775705958157349962848099567839255474240448991887071069675242507745201229360810574142653234724064162141033353340551104521261750359028403745459186450472762434207177092979354010214096464502836834180407586081001407216192477179809859681115404464437285689592868319777977869346415984697451339177415379048778808300220583350467465553230285873258351570859964906867287596729503872547570879169554736691708701241333922148466851743706661548819529332272737436041082542596603039869326542235052369108595126300831846755503459758395505840356701558879777364438048182138707003440236180412002114837279422740787378933162708101362649828962927256244580539713414221451109999544582142923783881026483948233951418767468967831862868178827255582573193951815531695164501494357263106045694929670986252043393852078220762219100344692696633425908530581604497802577632544893708006267787317954852985668394869467335696300140293131419025780775816945815272529343422590519791831662164448751781696775276770913043157342564054922938187395110844166830924911159785773327363884141850737936300263921806800194982396664712313171902523703199058771977410007132407519204181221413242532729491860004200841548511547411573059872196212988541663720877522483769485974767293301868390522500148690382610848248198167593107772702648826209072384775290587650403266727584825218516231074544988758827465678094971230876614426414824157903570393312256518933356281836185405746706380618398489466284245736564564213907216305295529359284877555242754559513382771500178401655305485442285011988365575680159346450558994424849627412711869883158047691814156796185321657169645222594594712469319957116419861884797789121142681164383772384836318673186075647785369993038705466322969807567584682123028077261006969174078202479498821095473343011265454421701958523758807853480037372471187611100087719035538815731922513338424947745031188119474559536533660920641929344003507856422343292324929727084724823557671740589500126876360081245211244875643428094659313361856432414855780791931151265097295891605299303077105635245451483457209224551984890588904219806543973353757599824858037546392736537641967480626968382712920014349566748522472414548636036211584723231736998061719936421136314580711988396812957056115881246205885796650562215074820897477641770837870529242028802900440024806868125422075790594243470464489575440238736936047401308603607599174387615635296776058018334930879646627071160805073761071800221552519199379620070916138322728017731332019005978048207960758032499462238538580357347801871380284039812004681237079092457272857654510489717031023705486787933643781578074007677474215280311849815576981656151626115720204540264412993161170773312538461289367637918385370500942063060910325402584768222036768249279473400061775129526307265637853097368642000776666588993284566122465073002209562877272622278080395483403810962805764928974651843631949840261299761890046781909273709647827872435775220668465400024683307460878358765589053056942574990989039220463004714572059053712091314275886537693148040000871791384569099362998784788542177815407350517062532050951447822066725260862041079962227034808180138006610071922681402919768354884243991628098036185977193588922654858728163276905428617466323081362877649900737759932441752147677604693696223321517592645055645256384054670040452158007545437968103843558514794309229635219785228329574545727156479318504188960701280594922959218359493707458039032141043660163765095548944541902633911960741100669497780246954093656281275384963236010625846536670507651770296951303968587023679128754135880644026342382356806076407451761190883337120914157628056522379012735641935345652676296244026602282454261960342283524002050329505319085320149680451356433410343132922358969728310873956943813180943166691339052648914833287988276285256304512063761490004521864271711150897628275286714663611738982858742531721659624764332384003490049629878948700105188449411866043973910749375734952893477073963866593325543858999353799414384066242210226832851166251136834473289661321052675089379483446349303527853213012782115268594298437565174510930399249586646094238684700215355018037800018701111315193787540109149588908076473345500264098056832143811600751461827884490468124814689309743000010901984320866630922513811211159948127963678390812224378191018777994034076527406038234150532717416278674888085754101214286674663103610880018188435401823686532216877504119780765258115384173656218356750130344565959365909746900776563095156366283486399797549375638405296723283563403031591654958861122299599968682701428407239146230016173544083143643804589220554110179535135588527134798493787613379107565599541452891777015758134875768018624292222977666211542249711334173960319676390935051232094761664275347438833388869997991646383675032418632486284187846996096380827512996338173937422095347586163221630520270351703749029856852559581419295499517655258212347310819766330134175081512367752315160732088182956407263476450588757613618936187012890402679226470494967872374025813008347639756446326335496752857495370151271006944644206246175364428949860492052182321338432627533519882949208649070960592165457376909595138937899766262877086832350596409805018856981997405660054415321384073497815408094354075968156133896432084041531510243243247650635582409785346811510563238980401380381484973528744429069393443733818010901017885920564069076972639093391116136846666993180683823467403892236722925516602446859746076358290372852949715836906372909503368595118238724038656680384409859135999658830062279975291368494561705199329159949232434041372725380763684029518736981797353665709599422047510596440759070780020393623247182380413779928373967358809638954739384712895062304484473247044382339025131491385944752127927146106722526835555209310140982503241041356811888934417063480181887903852437284345041399526750839074929315594899279974020601668610106057383620343696139923705020591369122478814482197004556462960618015295726774665402522403215201062680592469294184146516926942970316447489225533568194701055860753950312574877927182201980680506551347189262650998704038723936152628091171501639839183820803710766444723112559429793084157485754971284956770768913053139151928316074937226046483741211241052740458076907749903216761531996566097430089028478792209894555140349566776329368418912928228889379139256579030617042195174642667176286007376548254894908236704904178982794694813371005437573522926259395680953716797717773842816611959931987815037440223252940166513596488398918771266667644592828072477419805118340357726301941505622270926688815100874081021630455111936897033987589916343676655245969002296639061823459922443716156818871678501955219269047700888762881701243590723842188590943230252400872836341134600247463505407631743028561032883144639525995577714162497515992886034410104753346774530437278688576119622685894813897884351225166906761879132344620772426389891117519357553675508977173608077985499293374857587940796948901185382605111362359173403913986090018722454028726512923507251346336039947797211253440796964196584329248583896153707862544624052734183729616587128099621567514167788885218201782685794750886056191761433450530724225794421504401189938032821176942753515500503593840261927124840735344805764151349209066433260871886931878391137249135429063143277314147565234427698926410729192964778315226765309633771907887021210173628892801332066553846887522709821416994745346783973061884338063688567887509348371281299459471416740210647944623047509596911213284185737450768802174200091903786114928999321369828255050439412523429387891529294488067290453371558685893911940586799267968019751929463531321204605827301365246354919747717843125514719561089448171687369595009755149090580423770550765831660455263178819159288580151410990335159992764926020916753796585654071721490272772072079533046409492679296980145647407586168417518270355419152328590131991897564442720919580664737853965474943503366098455694220541232209149476985226606686931349412846052436006261919200954559599299203576635844725208888438770109848509614553662505648222331082774877124964592394034410384880456557209153720836923704220390308166921534433655552965914773759520794595970591492130243833379570937471630364094522401198254550375439726080376366587365259895269116799601027835888111571584115744794740352868900094824133918451378059992251898473594116542190094366985029180072615270895483247691079054750239576659419788818441052018288716411670528264469474464709886880658944170090145701739592379888063120134295083414410967004600697066301139883806544103595903638542889053395979476135555393092353500102274640257399654926031871210054395169315102736251469580843669483749113385315323780426247949617769295622506132578266616587528170615484688178446049185158500223578507688444677874014750442262575101736486183263373253354192130963105322132562419461409302789335825311735548312186188185808274496642586804545788804160409610003849873310755633890347244188014704960144521546446352768745300463429370465787461230411428584139315470696445598862702341355336961468894130579524344828578813842913133400444388269456277457204464892750371889600250214810243226623247446675922220957579680398758330118809412348594105539793115016614982410947734045594477362140729819067342271221329828201893551814807116129360475393545191644885191976819894324688266584699908103487433057154252114898292494064135204869933170852436546029080065024215298598119251209628332680767252801429242638106620922006716242390535394287757500791358700376806504069329046236701998064642381662780745584542797281363649612815600633612819117180777498572128490965404563806025279792900141167180888216727623269573144529953790935999635720195691053823183323228796036615493435619556357778872038051407147028627486665772728496380606820908743374755778931220716618329099796807740695830545505816946391053802547129809501916405917729214706120537973758318816904034573730892287048764298832763431061565604142353102111260771779308733171317133834055399077148746039878634100181548943060212764145175368556781241048762789184459864887507256919070705612618906511541537434331704771073512089749664585871232326061227767648801741904170532621901129299413424068594779706484545123043270036204444603070019114504154208127286585326598625965834129193187433746814254099198919080093257152259502569757636258378542068760787533642389024535242231478116950307422996882662361894379754634314869404737054660220523658535224334918934149537318546177563908506301498059307441312721443060968681215491679993360209112463420681604642356345266992247106943380713975107656704229609060830002146456760756695447822337420301223136385365488118968676221196569610683809556811074161682888729148970892917272020316644752981556491650993296424759355530943427234735255674233588854104081625618083858967592481296758178858037431437644805102257548414551956003095448415378317598122227808362610038296219136687469906013559109879017893945095070800847019710300949634856731261765379906963665342384783947510060919802366224025837916677336598186209690123704855441788330817432241527096185839732054877747141962021020919122003541939937558489657965967774879666498337384464462884923220915966252081771094551855784919342249039112644016254035341529185960627844258497990753765035114366230126874503874841819808002173511521273105542548954456430535217441264760373988143239223799552080372563153827895767560326953415371316228684223119907173662715925216680950257599135536804114031436374928570500016182589807056873639480322361404604011480623406226830964085064565184947862087308537993315082686383455929918002956502600712905221346145142591683238499736379295324166767263660845139329127005281346342654445920288246142762177537542296561177677435268363377927727053086688871203544787678456074403451818739133581638413567183639815500757116010247023062209136180213041332617816241751224462126905137587603315297832296688192798031720614092427303623900983851487008360779814038114398492015100688229636700554973943285334706986769952794008280800408871510193767467730882920960774142894924319076599523269541480873863532377880542082237256367753706673147303496863970704898031245446088106656204930116583699242859143171957326639117940460873354170410387477676568434175416519619874924892507420893760141194424029639425417630165604729567661334499190693680733551658503150396913387483435296368054125218883032166460594553739445123752178397465350332767285694918193988259952860975698800611916256873292306230585674189853838045570809358377914628586246872311025994015876757690831677174283925303011600838846048071478361609641715594546399221829104927969229251112793795664013381991163506963539326360985956462057610408705683800302694519711248638111853378910981402240524583922160456345211221741701040567973307539584647058474754960443223342630066921057776700574771792447903388417399895395625218314754341828854229277388521031765033181685116423984842459090668564084864712227534729176002772087091119916253536523207304127403457281143076790748835435004321724871067033312039256058908763836947478428601451134482256881522505295704764411457698138038591192713356349551780841473632107768061567567942798763715596403483762844405325104334623725798115249057855454554452128459612304154962148839747200361422992055663045249896473658280189451430478607908479278319769496910731263109830485633506795521367459452740637830001391251206426019247343307523851977600345083075542671038439897795080702918698409431888452283895341047458008310255934322333268376672915092233641315967653120611587458495988481505442424328431684072867512430343206581773398533408669746044667571456675222004330063396653272711639216282843359363915970535605351461391484568462400484626935209063545366851485497344595022174912956216820534347169458903066650112239953739250769149599980731164875683223107356012908889074480041139114929364660679542826773578999601714474747822597197369102206176629747963359413820508653835366913170891009758629322982345585218809771609131415612283794230140742857517219609708392468807241064334663820378880194299968923340577439945587187721671949412173978424845551124239495108231334190095498097494411685446927126810464367629794951628949214864249196131714911299164723580230000506478446110811914449115812299764633424470996174148529445175829914157131372881744978663466979834683063377226946211202454420349057367761082493287387912706838889328012987679170081110139014998227244754594248142195036453017784199339710292780971003172800480512407455154973275048680372399013584337669127305599571328206218815992141130876955806638951579665775394244413241315371071369661381734700574482745460028185122194881094099093203083696286639456596762750124811505090895014507857953164711383535236783150519442462603033024233866607777623963532367792520543071072814179089963458476941987851049288285046330076222359001391963015771950482636735933640454911225862198229883550564611200430090520331006969844471423510531407150427637329991583440686986367533351079658921179232619884213541214952878833669486524486147483513338067666140739939721171174258077014776173413160355802526005061346050994514494808115176759222658322435066901650708586969301664407829476134100953558555025559733951011097129829414168133162909129971663939786770253895589191479403266826999918493493521145641673825912822446260474686998341002689357087169821589951314472624674435142671224348360464877244577905302925494885818976837409053632700690035935815381883280740828133022036509060649110278848197191631340902967476872679485708198499821462735902524243518033251794029613213416361860160670646726579833801692963268988520060136260127308122721574835345068943834941229354390242537575276935242785398862908394926459788524969063109016368095320411338520466963037354159339352275611976274730671323084914276213000530951932312884148955410680616740648799311628819724340996737600938360319809562292751233734195300422716752657485424748294603373865038667525655809964547552269265897588852563853292193801975692542773496925611476888086411726702213493152855142211570520058969666638052038104514692230017952607407386746595628401458292793638099004324083574265721606100589276934909467829254643104382358817121534163957942829172179362408197768819899019978733140361218579680658635836814653558955738187837879210025324208016567419832526439504211082153922017378503914351674199577152156214636359058908552855660974755528542340303264688623171663272306314113253065883613291776807543214046263688827594471614338928326902599705018230149037097799114932182970034345553862403942080577861275758494151568256422080453230079309019116615354347822117943690448501258884620286980896814654617349737831554789210426289448390506854412032720652374931405325170693575800090799417928559317281056994376439412694664934570902480722236062517133594884428904861879125690145136706459235092312563008362115495698642742822983298049518500422796155220772188169501772040152352682132562384768196467946508310757531703922608556146933191076828363656585285066867708773314799646708576262754660296271676307593189843573386709657017379322828234819216178187700704734967289663187703448331207245745902134879582560494827184614765808417211499946854803681654737055739119000597890021034377469279468790761859868970990466907028633273646321478565924562227186274617896242617308191565710953780887906210137634562553455427872498576451110514792642181602336671418980139700712972986873282822161863841631129139087937144100443787731724496829823520214297586440824917781147307608372773515153045369225956908916303290224998830272931041640064920140282253288875902793130857765623765546576499418464267103698691707059191385989330859375437465778744024340421767226124563578400296687454724507237893772604841729537531149249611862975908219854645299621591789872203301708655899813711247509633047309722806506025812936326292023721769898118542181621497036652310506492195857613634072272973464467527473852366778039742256265274288738163396279152344489475007103570432305508633073870559504709704223112376212193195753906049935667463010742768459394995465955497215492094314313600228526551330882682568446783672070869302727333326543140936959799774757251648656093889015974966204772135307231257763956628276229011536678104435642683552059590327320411019415910623132249801210751416193214421041685387209163497848175621786177622288901058671479941060157763509364845410154720035611054230018763937194623790529515391264554194110993008012824631428083660358654985943824157412766150195565964774712311455219886781344842443640738545283514096471263474269603706175610653882758679386358840853677488804217287683154379103824027241641035107695806918605490613362946687412931799165577747756648524173614696709956897316255513150715263773191317175169894978324016868714883136697811581823263858229726978780242878221212956988162336800338798433521833226807674871764314087513247462340523498791848476682682956164389287940389677064787672835881096606481625315824243859159435782345293357976186094427931333034229636773288211480125160663243622928929655705241457292581907333551590230871119570269023870195544559723394365812869031143294581250142518845693967768351495544304760263639819242301130991366073869109948189167016589185352246101655243991230341546915096506133375745364431987592073348238390436181452300041628562401789896618729932433592378912792566089494158767347055514907207076116717309650735136469265388838630199300305411301542202978734832296837173622891653295318271799773418424230735005604987063161378837005471741263579607944053017421388274666841182223432316941260940148952498752673948639048907642127211697117220013760135904558191751687797176186602934972507103882743611570141066445781051001350673506912848171032491332955147210296826657293583776007765852714067357182341860915761909790748526270619609743278397440621952813718689011786708690157900155050619223605714457397060418587439963188225773545870913462797275607689128567486103705909806113218760450487421727969853121605688949342243240782283052382713440629583691719766971842758051972187195775893490824630361762171012285871913616378478571967611839247982544888914466805290578520986447819893689290787324805017143976065488335068891161948097295523959608412626285603427437758010581323457246488296608572165927415635628149641008049542568175679647680105488894332678010486404657242916975240245985799432310202769419861945456705081404486159124461095495339850361818922674700447241199222808664155383389965178403923279196380329340906520064147404766509177115909907080882041043461348366188743091235148789560038095941867919673166932191210478342089473184348857132856361440803440373867374794993907652259630023378072562010816728437740947482044301637221319539280890723654306664009282769851033832167983309404060995752305990494712319398719599051631265725722617896465674770425387132510643530974583230970841073311898120144764645779142357324887643197112582710297987526334284335579535699225650579490923086693770027906663645220373145157496561481626185885285668106402047201424332222138980823352434000262572181049237403429335208540885331814541802877781254630019365579491484427999530294411471751670818864442167070233916887834280218966732882165158030651159881691561370913180450124812618333980574510202835792555363546011881157541595471149228708473358850689427085178240117385975586303933663329301436688997421023173457966585157115595919695338704075207973733306288085268431249174317279303616983196049760905630177859597319841771476321759314925404713981812344083418690607331073068702281330054516681370799908798908963195462023439931872479956437123257674189166316415203052781940695740480894377472085451996957462535350882404561852559571080217435971267050694025464211532739140434817493582344460288491903529717034361862714965822337717810421989353351063663165117445016563816519240496156251507908611235816992916132394934719059317347770401368466280509806833753701877215170517889103548221367447445071479854325892653971791541822006746515208539698698557357884979377970446007658652551169634245157042829345520146999556486188964403135240958815914747203002141384683644196620768177233103179178870528845981932518711059913503525301798487722855793286487475101193954051503376152790104910807598042286914003933190282633495472953234206019278094937998475652709841591073852338841807814237705369901348716074321131488509454673936274879765629422438173769075630418891992860113856457308801886133163292409749710007084635194820791845407663433510275700401161940116227161039065726674056722560095594289437318647382470501304316566661304514646059371123355517179579737224117120687020635352191520265278490274075110262653430433157544368810706128378128447325010521535180107724452774583857307836482240188003226162032329072083298097693836686858000699735187473972029591946690234506436755781023849929697274553414183060934498993121577722419060268006235706742692497722261207437890584761110602576661587455868756225825500357340899237490420880992681826271485046403102990438670497613047782813172983754347584685622855153168957774694638700640377549262437037101290954327054331603337282897822554754444442270075597793743712978253655635992289769581596616805701963146682804196937626574953203675839501672507155707565000626907076167904229656059527103605667419120393584811542798887940655275589587445527240924981267747274714523089388434180073890087243377596470098193649552254507344155227520984329340191417154149833092888100636942745472812807892294024867233361013697563728408199226637618546822365193617634976478451374737566169676288557891706670822511710109432328821940163517528793887363495462611366056265392198770150441806466447167841704841030125005778440940062987714481121875342325588198757786521289254703753355233263969256048851581997712443529685525012576800575465133654716053029919282591302156103090050599448735907857303834955713509306631531805179311589618677625470877547115908813730363455720618577151241051502735643895563727276609900121463749378365699843697242034171875418009866482131836129686725167614962966645646693487785492367759862720157628416922510624565533943749174131185809226857138155821658944500202706375824312115684562967095555271529098565312333672562403364419796450637365225208236427084845028223074740849930753762921871360833515951939202191861926711937013581252124848227919522161514397190873705058300125943547914250503856428918542436153167130534758489799395103466871387622623623725385486775569001746754378279466297393867738749456400431962065816959970832070776650321208556353741575758825583129297837718215123197859910442086339629273076460885939930328734306610307789892345345331962972446873155028587475401077041195516103170875711629214466355725497380129923886377056894155761254670978243799133333779648737360121612139029415076294419703112200041440896563608531661556852295230732916130184152208112712112277341449799704226751145566895102808128005826349973418894179723636605439077775016479075495142801258176469623641170336098655604759612479255386249957142822929556796927462608847324610363220750236694712555665528693719752296941077821627762145719854675287819145192030811645429188368927388726190237757955877284911783550641817754135053059979169097939697924565400879108145513984583967661455772456893955531507394666965350265099668502714430512629310979980795203532996430024446342802402747368430767969533194918042344568101563119928948343984604686898727422421778149493886050147548843799709397349818529135253383014531518287960864599523269882833471002364018382917252783412737386406662458021487277564289722995440605975135770019869916284725549700160711820245789679681585646573142622248775436694765194636938365065667893430623923266682751112757724303349413356513691991055592413782144756881857817800771865487801842221493223906182413560177994219991753876511615785766151551010278024628057413162337266428126139001562126626192230037121523337940766072818119973978412487807862804729841729096179119504900545274788428914746834379395374097800723955055142923905245349491369602203139175310921173983849274733436320309509118225555615991469287611246630476563364050521360428470145364228385272067558789690790405386115281275577337547198322032330989761192764007598728046318221149873142920081367034910867265693969157425343450702135790000700316968863680273005957635752391601149550021178710425871971288092223059057434578858610124824766473038585611103177984514356594162396825066122207347044336596905714951639392907241889045971565043405114808248102157054372514336420482230446175082136556694682188453972730626390361218318903627539765601369139700528415697348549190350234904516025853643793854788176396559179638034862289387135330961550874185741074610968818066675350705601826447151897479846866039110027626803807308177854783850966362450472713878970254053642999642113142336198321997954091365760003933750798615180001756435804783290332834718435612667087109548663630432258663437934547800517800117561660144921765280840101014403697754597224437682789442925492081679677646471972172575451477970752118630984245100878601326514316489877999478549438735532543790247867280258483615104026944424551563236011393684224625098515320994764704485605126259939137091897058523862356375626928552310818963268806752894936685997931846041342376844403369018492274688560839119561696958764012904305116281278217052069724527795495040957616193335988598572277102102887149373490806249597738391376663392283301840678753791620210126471117740309770879302221089468839372954818939098544377085014183581829918083057745150647762604505419947747821584642813183499717921583192055911284140486161452693659558618554648444935646889077814781699581230112189652593516831331121423404536463882113503288969875248405716044910770867778021781826131363833993901635774567565133298029547982761119864321163587440140654629935618407100215775681642995714064012959069017684333276430632320852170853557358865692968778875896454821738843355409031662060513044349393757112279655275485741207647986150240765714658198443662191183825626485205643365746901350425809857667781240520192901147130997104921953114837508744572154365338405792774262919320458013137172020407124486631899947213896233765458998373627615873578158536033142270844597928050424006934598430426300836629685326178640457218731924466996386964545866800081345073365948030124232623121337863751620431111341162382111197830695519589140271878765926496016168578884762220747615320771939529602251402062408217328433783935142338380176783942522834838854342092240771056109589184573768385285756152667323588859209474749364317856507055312986679911931759986589920928919217816175752021136527861147678257518398029214082039000127607289768586008117523198022115351229408765742977463686709303015333540425058764197105086863265258023334362330493915512016776713266592748880724796461895063457142675690031076577924037401837936507841351136255895490812622944168872866145839837620864080410509153653122798204347981903510116881290149529812782934061335597207838718328340881960159299992991210960330733737121690246416364463048748819684645647570946416896884608714095991195199732549657264064838439225722584125119187699396229314532016410950889638520649157993114854022805815502411792615598873255848785131726051443024257260694758824364812595955915404653023629840789963538077076509485585161353541467925701057499631399869123719789042654791562426140100079948238324894177827722718827406528362913920182332815788581450335185223185388744215088886691012048158437054049204691110274001702784087027064857998449781587597693058054394587478054483192442019774444921017008841840242936113195373326188852341424174062136823571803739881551856959424973627344128087459224574876824184392228166692275415948550080494513822687267903628502416560659828051077414606405000548487848781941824232148466781223116905632302817222628575759463075935324772659420605429605239886928573747893079168988370078664467390505766538053297099778731169137201900276592261885341674869152033639485876467762884926940994952887159087806278069878029061394337476000483614534960328241898902820945207165247786009249485871108860657830349068236115183174587028662047035907000718182229896176161045205521220830504294828027866455473330414182949181796474078722274094471286559091077023579387041934396571176398188959594479219629247384023841717040156006995703565457504501329338678787135164303162436440197892815031937480121719223282798949026044352122021013187614667368047033326296619586154492763352487257968430144013662228087242188799103656309680288669555722665160482596191386140743410541767950570470955315652767404783244592151413586819744173561159834583208408434490775081425580385576115299201479982310609480654957839810779106996852653439537079819131132382693111178709750863180461747154466623534975956123440380686301079886276738138291077733592398478105480930369833513466660110731383250528976686877459209358381764716564126415177273196529891221736995697056210322450385837543452771878315467650550446857749319556472403741180602851923562047109258093647076638455028328067550330204586249567759404414265253694149499720828999945842683770717912151931196093401242290164858819749634741190477400888535112417091575925912271912200023595038605090423432461050946225933727262134139384367536469275995954105298400010884132644471747645201232827362175898921411939999469484413695143696197638427332562852325292195189891728452431238522542977108925087603397803704853344877955831559366732103471889732998453880119473881336557252429751934428700720014488596712955368041274823059346118997178806917385446714577001153696123161805950978178341533990013984814553540993774049924269951968618326992699463255371558692287618605060605070618407340005636752753348860367420234751563736897038867431082098669940496905026694792314736407871158581055060384625155632352632402825455648345993318558766122976698145674195444510690686641152836191637491422962584567402516782933244457139355438483629520002216229737284723807839531254769532969784122467647668977505037787079545850994657347661059592826484791621272651473337149747860687248746564684579965168238180474862086393997021143840036240312769531501345325318657440819407281362545257356887722602317602444205453783665047217356400577125083009541394903863515749564338051732578699647893272997194960262645033598878417703573303000234320654916503660832138193352887801404433187714611296129994959743894739563534489510494784897683129617344965065259684060892493476477089942072820270146148719698074132915005681971600978721303323093644911177819347440902152719440173702332500773970247069591851387676514475453759079646678933016877597214891903044162235645781971948822152654074838412178549179515242948827840201210770816558501913982872527656759806989451550024229317490320650262702183681165804484476450897317414136714592083261735404012367008285141424739892855067538334310775306655263168437904199442474178093026021000317329453940851262790887632294331938003422657646448410218964677355701781370360619375483352585990498838703303841963767954484836791400180381637472848168007676647549403949723968653902247940242154045389002702761696728887124278579479523840375177731466083373394630238767293551754451497721243855927466376736943939648570661929808637995671074401258502696563045893078788053243886667303814075497341171965604222028796337791821022880532096736815097518995208911065998669888526353083761930215746890115376686089967947040941806265655013528687408159938861203220301115940611824463993004826560945611703591077627962533041737481278790518083618546052985558962923200090073054258583868325685753395132591078049242117680415248313518874716047665886696916430810481939661393360238906194759755994977485108758667961540758572781419372162031118872491060558640461609998177117206728819948075157692716289296430078629346014467144185600089314808445009596723103853041615049868044806165839797168869417393646784107674404486877969012007032100428273744747962118353262324320473580788806327282315854970470827249718772147452155040085942604045109120883734325291529265324795960425731385635886832280701400302640806128800600088986419163390599824486821871909649398489923383014947101750804969268888243791786706157593446494426164725718662382876139908696871560730828565212805957184798795601831197738302705599231788234403845146023540722630070457872485269849089415260947595830337752239347678752741044204370656126093714137265498804706738249393123791186525951246835828044773509945807292239311309727939873923618126319430964818985368599448200111532618422290662747265405917736257054337610853812474422004912496327331869587600965689311545323592213888768288245458065167535844727019592819348055063729552313390331134076734742341539035779578290745238910940129926798717984116986234195481830570206265822484678524225243690201357975765966237051951998310598112533044194370170708540951779720710031903210254539840099570709425034951507468568259804881471790131954374932943997610980253682386969119211860152996765131786348129537319897240933067565609559247411435219606706905569205361044842447693842411073401142783167003020030157202292510486932350616887879889693016750602746460040803750567565358033380661074589900202333737402990701899020286057637512326472186424125374024349108928149660981678088535652539378500547619678255134519302429379336581191018869463638494450122943963593843983708812175636529967617760754319259549757181963524330730477545335284961747985154525680608059761652232673516453192503261856376179554319316605136671690560271379830548687378386149582306474057079000550956140941488466468925167549020880566248485045482789243760710696100681780337017185337794054569677260824770460813309352748103701270294773274892749676221632671858847723680744166201266479173969771669437798597006826873645386170044902357592863753035701795403754916731649601332586868744575670318965756758128478162731818449562027427534711493645425733276814324389394847041701216147439164342957035174550064923392731897531854422164171299694252280232930044425895777067229979438282423015652758999050889012709724917257951796034300279087595369363749423157881390992432104596336572861894100397689539625045793097217648008391806433416842345595960636051407640895462045538940145328202278431586048556523492181149818755384245927281309680573529074434238642206736990524998691546326935925892108869764363665395304331693696401772869937471319914219466699018819669792950735262617866098057884586476483082271411982204457487552008295967208395369651934730481452865444941028203353655824206922079114652126512379567325304406442379543348217725964010450405521529590523711128397461803488849033903261962295634058432172662590918724380437455539372795420118161642964069912361389114670508400459697696403741149670733801358046940853657779263093087979213646549850383868378411454158437699106127814756402920115846953068139869845322896101687932634783388768896939535265794273987795474707827354512094870210615857573511602368001280343705572556256281363190121796812229292691189180211417209277529969265604100823311934472197666118413736995207824595911690689901930770920699488144034361405074582968281258752782726399455138641362920808716881307068633383308545478696055836034327404712994170828645179042564433509448476457431123170481780364520770240877473374926310431750786013316936713012735701085976924721666573430104443390579774265692055847804098181084077333361400205163339811243195848178198613395238039749932769835902219697046599303645511096982361368457149681409307152631849378259981167194607749171593331736955186910401623812744787814446790995984509901053973220330122354397452852806408067098883868408351718184902111978975948367250968429392800476494546537946975983859111398233901221938668914920108153577655224985657030940585193956819971716913535798408442670865407506989888338481665595489766925006714758544033539618451644357487408115325880692324094715554442231033795113769567046232793922500077060251195800194298864421164216203293140770529395453925069181014750252623128759383990698359456990848167384093955059249406058484470183722467320659109290945366394074141053343040514502750499462644329951627531939749277236991857180243250799244045555336978233413544326413425602063534300103899816042902921755320543225046500291943416861404988785866881192070395289531934433348717682417009989628593525424024107011846217659417522681368308188317652004873857580296610179710895491275709470464897591296390072546671883421476051301678264034091471201256025988375132433358441316971717674156298594784580778851144642550591602727005681921113662696628125535583403316878555469027746585733590816615421952513661743120063293794206013065430175825982394689564946481165450553906244627254065254794795202197014187800429113578500414996903535046288141803055144704499175031501956600588112127833344967473201244480323448024153937681096744824582413120485907926814145974066673446850306102774783160416556876227852468750588825171361852564847224279604285954702104738132988579645354053576036973158893684191653690320230573683608670042679093624237967845317563212051492251376478156174169456104165412438375948739909315927447598323505973749567681311054718472793541665153955794820362896787734857976297545025441801559358908543898442226030486401243180396383788852767733701920629028454515970255812025043610060011125319444268790167726373227858416007199339131855994090743107954185932621994638931760012279905378934192650360136816054685643295503601957337999016863389975288937272342157545015704697697202051521352937362952429688827481412520481166507085136929208037956325142566908780256343234295874334038821361674967864041557674944676026052820412892879628482857587523410718055935703665304323491312090795941063570084350342194226276494783656407869698085545420817401207858828848210566140217302735522770668885007810411215480461614178499741653525049361357947766227847159861247647600472289601309415099091662467221849188974344671215974372233254992960497707263021391730654417298027959803490840839686891586176939958580347407098605528534254037507350962928456037058606868404951942318169717076155671045845172413619222026430537540284431191938280483365319214933209220725472825065804042521016967359626504966510734195867456887967174884182139326171165793629313370387756521589087924527623587342024254231401524493346031622783082427011737851453990421333347225086770167243572991226528039387257124032309222295379682964642162127852153796011366273030940788449589057703566527792938063646821361177692949519022001346739198097790273003482861198134845463779127723892866141978520302716583638921538903853664948761237706457032302558028619295867235032826276888977261012657477494944808265711747239747566280525518589825672298259283222313873588459157106065856948550588358744321690464548886033413348131066118488250000701606405133755231889537465046094799207300082263935640931044279574906637801196453960794266006269733429252461764386004407217669508649692683910010884208965210974673506346859622655832839125235456452729877662007622203714877325370704001555288259701022752801596943408996250679537235477539996959101123697585691772029656736106129758080507738874803378381619044645006748305613803852782136034745596011810127885279555848742099570997532337998426996954892090174196616941824986930484000101744767276546513339657430642198365336599628086516296860350015897647564510877620726829637388670207028515396419092401614282365516240296506535725876651924647115358108712955393398540699410330023306345798553106552368966113255923134596483291185676723039876588976877497018479899760512188132346326165330263812386365977796740332181966505409612370632937163937970982730985807102325720127774663500897599751048806023835276507737923092944178053333227277965774311985840122566824188021920896283199639300360384111467133696976928839344849126026434890656562258660577543050872909959142113234247415745217210997264898073688901701324718883512120882963963706121477926612300550517102984556687929863820630160989731040063376708390805125450369014938043791082485082815944360135847458409296255871518412176344101973200445537191292154888271603033171007058880968600777417400455334480007907611334720819692352736407132385274587098196726475975122369254394424775988902920962240003689592834273016808294810822831019859702823763908002086912033595889718026402084719243016935473303654146189624003170811373922308560167350562629241464628933862050330552200979538959383536318097955997708688363570126870314531980181206254516410065118121690833521506794941645173040395957204680026729505890255151418654661138406568213727380092844267258927761475821432159083838108325688200027771555348943747671302251419506010389213896395669029313148892399142685841599917428266827305403977451428318952646229366714484495738640291467612297750018104617279590650657565133276381016619047817586644566576952148650187685610264254197311264100545329300683976747073133363591844291314229894108034435360656456635829404850487331709823240172711447489727703595681906320291182104232616505955657821333235466544828843590617666057905886142488133463577650590414668928857764403291770424617153919437978562515807951484779669474821402330746784641397846628354250386235486309926434804102944456735296987604609063817809653069826903867344408835380167199393689207794046857518381512365447286840167040270758845473725619532434134485260990355710206505867908519137971586214495398498402350041123635368078381302750691815461735738247624757608321009623636855869762977870095345565871397398632446309132942042736962425350234878975343551932814785658361264832498092196522516948226659831115983502291691319168500767272203713642274079617997881037120482859600314332684314168446961258365213703499617029470673383529492193843255632077859650145932175930499231573581117162029901810116080291259736532699748993578117890926453937695106960835636964666908632133261369418802954442725957036758427803349634401574136767064815209147423378181013304209477479603031281914245492488931706073435123341575415823991861915009487681270693664076932568487035256589626194849271556671689039365798226017000651861844156593812177985717355804409156075986829157259752227205393440982101817789122843068592282949069589653369796636933509675093566416810053010218058991844283084544177516147468041428961544543952329090105800093094365259910801197140023518394513396121349641381946888980019761200714423284974551915971352136717259079743100799256777862693105827705007927328057219130264258627625438226447256398317579672160608737722707000211383634470426836275780864913835914402751480434592898122034547973385301745180364729483484180893408909754492306224183962125687078152848871559519929491655770428252192963628350056233295675340984337759820430551727471439465633616787527407428762750431745454457020402401252976164436649771893311823574438586583115314899505808029502067644353594485116812791408139966578732298849318213999238289018453372945652410348441434556407827131462559475948024849358397924242341648181701621085629510856860862854488298064661183419365886457632109904168712029069324966634820415991689866437980848440031413423221721816588472601324356712558524510581693072846569177314291305312477189440396949896369974477897648609233072266451704562537181861273035840595451636648956104373300737712722792001565679953780312472059742971314129812594167703085271810057454304123955875464065960326911946097951513448828080847313734544451122987393090658853204458961489329057930452158175223990889528793877553188106996587993204339705348998986982087673749432658364997215448552677499657696779353282746956513157735420665082981806885819351151272338270936915963092626219846068117989951037772265383401890711111988867376398054469146749241853019378628912764358199547234052453122115015587142011411374972171926059633275477219118436855933995321993692122068219052716822095132194104553921005906743148571423144596303171710005924264004820075398286689754117734731085931393315018379984922641585469514666941537005433593796461143682055312126651162727692102387308636872620555056729294175313712034779625567845049020940257675630584297124679994304462305910173994192049501943426578201385854063888319578434163691881222433892383511437432883462883595907460577093781626611997342538515516976845985028460355924847783918179869129025446416990685428988369319611820644335057368707024281107021668172609320522435330267075330569203332144651770638887253973735002715832329020543641761557879085806111808583975848034858108796594902028440332698850788850410604672230917125477633977136857230612434938985699150256722605084129723699970048392506065620409189695263786967879803920141504828737905887625657805500052429062734639623756230546791186200016356041989949795626243092720912329923575466535776989381703079170253241509891565875027238224940862156000769560611069741126894968554710425651673417186059523844231724877377084623877721935512792005988923699722841500482610432480774786559920699753975746365037944496983631750873754505132472644874827536230606079661522867469725935675153815751495225657599421353878330715213388381287838596037372995200109160533583875276449747619863581621253122815018129059839530148245254145574545262127381885733231339284639793564081420269729234901283920258090514912618390906750618845319753370206406122943044442758050647791597493365734015339263976276739633362483322935744401188083111694414879316900697748885393537311971733089583966445515230348245081242841627931494543223205893191788683058699595031220355252145614461188442169245705154832939161261219998275052503305171366608942296293255619945879443903189766309448455165753456256105795921957555359998441224232884314397725555958907552584226814519448694512285358663934964649098196986520872113445009148281457558896903663268049131667566111853210320177805664342025323463114769427879123138663541738735869573361867860645304827579405181477872073398079262030087268701511853615188168418795676731617434116506188815262474576233473830652344600733726228171628892185389951283704231099726832482404689760712610772927673866748536052121083544264424083467489072612198320813136625128579209379349447984214552980992310200945678628515943352641373642988620518419904448524221430654756041892908368828175977533710879452379170489687389963754793010585835172162411226776712816184744797544675782426325662088509939746700673107641466803593880997829686113982143375452054224394455515224552411056742885069938844911618051341338082989463119569447115919178977868408695885361336146527206843346712801595432484005956746431602133261804902254657602752851258884732021328612246580728483709911817719811773403031426485356570075858771919282402433018024448942578482779944695929559722124686067773104118884920334593870423153518023312228985835825570094218328111558982401209927111698284398706944918607585253268227202446492889602729069181724346832639982371358042621246086461059718333990048700475041870496511020493535511469207023282048589042226899632951558786733716744567250759453855233688913964583988114356965079275107257281829764258785749466611879578974777334633593885187835534331579534262954798672435808781701369543041199621598530392188256376874633299673717884953240628946913889665400486312210381412366007866704528294561530739712384090584763012937312644259673745168454523282008773190861606616271104375700363753673287387457040863711790281599999873446044400209637492980307952133439651092592285975378753804199090126922508374912552078612628829964493775148661308788030494559367121811952027914598237442990214066967678758261784857116370525876411017960190069423464105233600671725615398987065067778754696715036601334187186975008674356777142058842287072890477013587751344553726974710256893593773887124243541246828656182201589500573631487470845946145918615162037729287750443524204805449123010668298046926130094812295766751972773606190902617796658699006909766421389875762438801429139484763447968088815601346682124774340541487782563092648473503800575923233140044874294870719979705193242255656045511091823454935700077035565318459784468147965138218115307726305488752885084251997308380549931262272877356773415628399881469811212593946259466798569049551413395063484292114082029588551667216821080564298245324207780699856528831113283313105423047597826912011213851120672500872789053347204191642846823949056926061337253510590190971168537011742349556211827112742555700022702113375156849487386854047616041138270629785480152691116348168685282562314690982263659384134633444245444171704975597607839773388852552457161217007807956310666737630585344071914419759822295902836867509851881258337629363683665510998461565760457789663513733822674582296800171795937627401806167784902286116017064064847070438886436602221558180176298784121234539270109320057755406705175741482554687565138497808846429901514413955136600628113485654254210687663936392587950136235304439716895383783140839391077509927909304861533640183984476834640253857687815201939752103253627594811855788996527273436745764555848458477735005842599763092547561143209824753436091481611774006059223825527519256633348828676747120784622837671010162369029436466046792250758536810600328446711188370760014005975849373630863654333741977367755246992586530502773502666067141915566668646878865798222090189527883331670124261697490943007737299523804441494949090278353108664448923772137490068192050314176278658721555948364983867336045039915322558971903192823945475847971318704837628351041325911059427275780767619084740061138803007285160895891924096067791122362306539620512979347521229589961764351693534945300471531848636684132438940095253986326520044771178924283201037798653472199045728454158518159840872861693013221494059219286879970979419002137531003258316664068467022616028659003864356255053547960719371366172732287964570140250993050279146425178616834860501298537048289185601677357776054977918586432126576532854221674586247820858029502512745489887621701578417986064809125258689880024112785222192162068347169316756264167414289405287129458084848157356489635507657892427024622932995829882391184588896203324279269477664825498204052593775196216529901268728734439090539366787590081114846472765877896976100319210269910132162062301012710045371083150638065635340568681262174115849339398477967994948521874968227422723906588455097783877554699570618012485665729931806079393161804359009347873336456282811286843127064221111488812324277047497437527979413888105075124775700543972794338828801303865815140172361378687501563559353615878104933384615806387257121693321983303131412733546547559823902593587877522905026873077701209078485266594613816513423351252932681789229723762157033945074217211595658737759824570525977916214918557876911508147327312575422747161655592484184842005625540213971992969941053902136481835014852913121891424936718303772420865713793625397625519597636158798322844373997357370356219297593867608375288539267280921863971750963604378110390771663138879953291831958949385922443203860685237945672032888003768669511893357847151657089703741030945086774971234935183476741378130121760427899365338536330371747799023255937310374797457884886705351914855496977403274368623829530490199277539629589093182023949405653634887637203041965443859987526787138414954684265289471620317083400036608826324009168944655531719537876534741119669664145039337663273022670497547035100982409230193423882938232147972297058261305081557518190626385067224341422002236244316687167144039503432143823883557088057336724805709564329970545677799327598711558653323288921565324814720261799370076976486359291853435002067636323139456947225139330769377498300753416939815966644620500913645446488833444141314552021266080747179803414725149231989737306203672375417022536593464041888046209337465581894287471076107615179014654270581140373763583598308878773919638189029751464541547507518095416232143083811067263490569633598104404585108904360087526958418208072592527621453444569729259187580226030849945118767846551358390813469785827939550861364203028683618534357428971306494816456517216609361660827809028761383265584227133303099910750459526790038051658825192945961749929757064993025502122226550389388666936111027054329119601081699282383329051233594538756062341259761631719241646217107796923478304191894587056232420546617002154080579868302319460379844552246917524750145021126829317244453165402226261775921542670332909403493148966654007655730238445952940851114827279003853411956057854877165354975387731149283095530706324970232586873207074139142949914726976109660468788723341432309957169100477941192005743877857653029103793689140307619712004478181786973492407879103723224392454928811078543975498371864102365049117614464077374892303450348837494023509384012173014909671418997856055063700329516054601472207383944013497232842950684192960911396491806168737927113664481040610405257586205327060036283922881916674708525626673039493848468767015715461156482490717013890041494193962556246462227078200734043324672236046243714461142356716689910569421707637189094292922456021875528657514688363583494305503287634446254482099543250400988046025068669700332694633145583171527961976246208001895426334430564414481721536790138970516434914431287337628196396949016893462816990167358629371844462871864444801699854670980385420478216385743947548191023469484254860166330198087118368729800561059245542072886772323957316861085916483932358548407615833949210922370242209630511302368743532847642153127218710813030665385474424511302057281812397607654219548837224165106784670512829447287500338037067982915293373958284880238788249306754639273720996578011194574919458952068732234652449879917973192366052633276456286453991286097920296146906279602583066802496315703824003929991103013510620070289227683167238680144167141831320918630718166845362795085240149343602155340445944265896704648868928622294577432714505480588457283111394268092530801058452759639910355727390964428392869963855879450627209202566135916987108392839080523486939292282994029709677483847591101613412920657066601971529821090011247223910593065846220888149704775321413124375059070994158311933311488449259036698763968383954306900316139574134564273113928406980734999841782873685550085645104275588430911486477777812954186477139332959577065984829045952284387251043960330603029602325923025086282857327800038269846181052930107467354117408142105897332198808699106661388725052310210346916321950507024036878482549405294160978965392437866213867374882384561422627213144635561205703665806515405901640080526268931684168593759616140782112028922657160008809764265096227310886484356188161895857684492746667766330455640943232341149337675498562237283475249285210149588154434591495176730214842495387174381845900798564599968122468839668259995058693633867005719566979199644091098932924558853238401014987528993029089655811615333631749071670874317500776218214285669859298286729938260715713221302303139343518168342349825196315234693398860490189905687610636274315129009437987678887776366231339651111283074354447118981436044592782669213820877967122544113185764922771315841409406619911163556483467410191530645371608572275660923081302055830489187128110473891267106543160219527500516557140323932589135206415275411356171073060985553921331785384767727496244936707655750133576329719344918342528714658072757771118420584749302827694605919603066319791033931255662717949236115702003604658471082597240864139798937378721261392473728527863678298906919790872263276463896826110524478312962338137276137380194776891643111097101623483722459492546552411065184008646414652322467936257381807801436491053882101118129356704183199360712062768163442581576077393896003866979218827359632036300741908728774164905652879511206425995928801915064324365030609242444851923878819203469821596262857413509936020389287402126816050761512986249075663281746356538274932731870312868017769391387254113387624659550014381450170998932671488962205692380238556657324807108864802749098987135521145473436564744524080651454795588216783331642208934082550715993213000244634442817477858930427383500555314205237593879256551591015659704346050785961779897469440087411377217936933992421526648879603160317966626506206142638185691394039606064388375935858378463990441062704209733701602731308449382771102530744974243452381626587997919332477971361468255345095121891581935089936535864865157379885616365304201400871315376311759818785842494677100137846607706151279701090048172636646024123239042650278833906579008049863477266407405067247547573344368117096051815389910907262337088547565354893812835431464156212438324395941339186775437445354268995609915418939065874871334520440107206269319781879322293198089075019008013815769819166508641104389385255484700672151581525092231928543671062640730495505824326271256703634364762106669935854616067417372529671275660797509529615926096120354970769357084816301215035832988013792224455776597734421742697621885420209265661782766529872428262916534934378544272322475531311966239439724391957484654404608698820473054867274019570385267689352748142002115676830238550999426678590782385606010491526874137525778293785031424510534511431032374560145056059086797228200648222403981440260476164691363400441805373308919517231509982810369515597926732505529462119278728183910936203809933999283857980309888346558800156727116410917154610430758134772510668038058934798964182026627218885295272881736879948536581397633344537431277774357829553517547822562312639990869205929775270376103945382624858333023293065917836116119024875524186335328454045130848968387693636827389672560221196408321221693801474898703597371652888587086495348748766880006809609874782238544009509883409161540636762250494156126329519263134573203663622717828917597040030424418772834965416287159372132631975620808318647207226521754947436756635803894716635981326906931646801836233003484094210158268295153001966407338849213705893859609200842389996924917669201150067918046533762559389178422015659755312368527871271070962821136560367634648332331128413724245316100181824544158850024390673112370786899675212970675041162786200416865311322548588398440967654056300915033722755379566574974163794734922486144211356137261620405459650594808449381284113204848633711192201324064783708139261194594869273106468379217729576075311289150238706591658277045634035628787325571215939879725009603645512870234793741645714504698048089991734577889599026771746706321184944036870684107564734453015108067508419942032239103756751209588737435923721913108839791570550994360314281715562897171420014423351400761441651875811121951057769749660332928207121257415649531570867089698105436525844918647327304122603186693473481407128343277073204639505031038441250130676583505943728936447590117715518706036550342721661448638756629511546235401878714626634189846375820626477491175621127356844678074424043275567119168273446469411404778258055138031130536065567527554103333041962127110621035417589220644787939252221159714574974915567414089741732988899058336436805825620316272148526835067188378604000863892589033850283743078871371081664191050940051524132071826988755924805495135101967896696463397256047512935080213935397920129771889473544291189041480086363440225096369442363934896189800464089835766212291548935877092733510851138612661429992464243590597893144210322098288569705833635601234099214534795783230133759681041465266015210093927435593227952442553013703620415610042419598608406139270335410735434006252045633299892805430614838823536534252358071003893231605854691630761985109515287052387531861268385072392998741553809306851534551552533284184966102761914675040714631351705305288035419425560303067011913004471358675464496475415497508503815544384030856160117081505346878218400480551805444179808696573397351735646390878976087299733868703870385069176289928961332415738546163320553537003503052899958618151442677115164286428357869657428895568599889992883611411929421000790621865240492339437145108376424233854265824400866981470086570759997412336403870346002237757482120509305874636318768011968144314663880616024056632473777168572740211560895636420841168522765674964292893977414662394104754511467555736790695411864644115114949025888914750145249954729418383940109618809637159569650704554780224014378686636939548110121442467493620785935691997710075325239021402663221366377517772617172568214133836899846027950384239563984348431109223848746741356389009972324997968078363652965442721364058282946918187063308329281662632216019235403217627253506032940597704393617742542690045382334436298972505667736513346008337071149974094079613541963068818390670916760034097941624949803118708218586401443752663808453178309511804328729468381882554208375454770168299455298243415031427128586402927945841782582203160882958025363372386923569989472675781207466294130465544026115987505645866914010183205266254946208836286946514703878374197051951547125339451025034241314463031428262941350053469608147097715390093570731591291626153877912639061169689542581722796592299896766763688213577202873456201910996509903446644925661788661368542829353394547736717371698953124196639226668363226490423070579161215363474835676531612521164201095143707330520742593996022025067676218897268895383049089638398106243214119257581660823172555957207878496937505360452338798489113004693412285896535817462433856862952999260259195004861004834957506523543305161519907328141072464458372617812478675798778172194318631564793028721981651825359493114454382883773600636449400987513542161843878596687480547170246937122320365555634956670660570469697908146493943488902944725223328275937526756816988835367125924611981005059503089253010711412663511581601008152544845279227582714417820005900070728921663420746939972765684933591491176082584138788540214124263905594442631332252838209385520250330204467781500586286976852338399552796544823790414209557630452177690632964170059792606934950800980422944490177054155555028950080005113498937937028554125836442797306669129447837212667369652353414207415673580888986512657739050101445243805549870948581445299253988185297483166424330913536302804451211361180987168443149654766681709386009018635864558890618814573660419543577275712739703110378243253249503745589686030354690598045800905248052194751520652219263580967819876566528951863094400132088571842769425153092667310354294661072422642012417328124982734024471508893831097993799104191823362760421232957120966489800441958144366626135667883844511635641210502634991212373097510465036719484795801815756801864569611752860748748706853045846984366064462651375659406794170630353795190395608929318799334451539792106751859809749567339332814242220908104274547711587760765878308609022029819679367422139756235343935480852579199846024451450210139506819100753691818502346618664411019730441241908581028592706457100876253638318638827314817878485046137842627353996844733104327977555077361011654858961873856771819073134993538629615963029905531295446134362263921716597956177390604440787507813754945211973208478302763224798595456590555972379298056798288462477745031982125326002723762738858202259871195150473447408908100214612208681652785325032109973907089144542968791040634789063732355993282192137909935716303107425377644524774881006706458813312053552738805715080858039614691685116704240955588373493909588361182387348111589413513835293078054067216557532640036939135084286736053291648090977893707678999131288823496433142785435811801958492828753772545043183137753941016461798268382531938115361916613172792805181395072679726871242890187225076988464052596199163059247473463578164462584460739916830221792926319031452664823790440943089391638579328364082214116261871962923954843267499322484787543274961903554684886695745587239227025492415603145538523835263508087523897301290709651288195785945165578160533372782250384075401639348629865270314015907385889723535117042853138424078503497352314654863100678526005215952814535083409330083904132756577588672134490636402881732120192091357497333251704692219415001144713269063552369796506095619514156658921390896624970432352828991298050245126550646762131164362638879059706099788704131651884837060488873005074786018889786672309118839311397065833302349621339728204962186886162200940297090167685838620504649347813452249484783613055140754395306043324658841839488556171861541893350376978471481878707861852009396048662631159963019876765459325782053565286401082972451369529098410908715489096308511017985549881918300839464500105304448525482104109706908319100125811964904931430657358074492298979006460713249997840973064838157604587257067354293213405977888986237058552172372052056143500473157313501598234350726893415340602708378476532675793464801910488308685467770611171458649509076620849504701685425522710889373356784730209798472986028550216365546289580385076683886766770022293816221494634697935735488963342068079540103477113287395702090657532461445512500710373049125346262226777757242596072807298481380996573893077709645518059552440606976380707282773800739929665723916997901790484538398772684135340772759911540102065939534115201429207990657805550524391062456472669508160166940521470513528271635119446311241414226604370034965059326393604089572386378302467738004113798401473263610012634311263901409243754773178135531349962015973068489437745662697805643005025511842706828816995640996773071371794076298295654410357615196833086585390871098908572158514893979334011393716377392947876781367077659768715495470475543397450844593525770360187091449084343002556657590746227491817861484622443653505112916087818738017266940366518391277161614277856012970306041944802636057144062848820903049100874609890764550275173388819318879857480311682930965594050197791408366431363839136360657430412976718754288687736370018617848937995736892537595010323245546710330777418617765122150757854850156006004604038088217679161339588881534853905368358356573390241123654233976580885456737483050504020425584747888979290739954188267225664515599934978992800888484958149401181152115527508941684054976831715849911517342609772250120153393846598719058258228680581337546183045434405978344515414835468122506451978577597618036886858913232088331224798880732602522465987976871020397812344751824793667684366929965814654090887823084106118409288968160071712549517908365048854719991879976444479088555317371564463965633215036771533530063880269511300620641248805912355313294397187124976789814680123049044248294824536796577443839202390756453322067763543853879465711591288967022701643680709817241698280145657072147598669858065170022191594666549407141017339115490121352471352786312388148766142720132064222524548421187180105785237504792361380061458729999350993143642905906165159387048755156102905017525790236236480539154631958686723847892037566923129155651355379091575744539779840678827873704504373117828571058708693260059714821857029844574434463623395618523427676912525342920269065497877383322871342775826987537430368613247671333377253498843062125308614887453701587917321644809103887259668227305918358451756614873025344364318290838208660163042706369280711195499400761984041535415932932349526793760399350014811985997776804603514098812881682743211203127555326359119596819317604370002233957772278227896767767542937471756655703237166465325218413676353978637981152544169193604166664217440141349349640942839724862617069048210774657463946808337682164782055589093550852946100291851793044907705587256255377572120524897879291479336006146936784623649990755512473514853196373285871566229159881873314976325785177210948254087129953767935276586937432121237834116756743306492303680458717490378909996726513749270382954481530318183224241723089144736716902447169911245337722323139072122684696234389961354256846237270205169150415523650394954013907067919629402418703430548422048936039388770140133666482029358100390207613117976263199869407596628098517998192357168172972795817297158416519480847797554233461881233753825476519793865967656046944806883586750927561765524097327144335577689997899094547512072958624637837180873660206561399449338936801773622772537274642739151213198741058968148752877422614083367653017460407322651837766004260903336597167693360292202099770197681756480137965379521830735628737916911538739615486325857127181750951633648710399132704274165470535154858496545944443528680125665217495269796913899454531037433079246751429804456629705049788153075164147463982117405779962995514553087414799551817186674764309200795479585327263659021871299408679299762465457086842347330015326249530254764736907456509761210322718351676039871020189782773679187241159253927019128950824348351148722907761179822674334357669794073606038289124694231304835992765126630421654535217633212786632332597120583836662754678387659214066996938081519909567181314592623081221640039853298815465827207563118613016786301873368547939077258856536843319856528061877165640640846005626819437737589959596198806979288224445710779753720512351399670103414542665571714263979042746749977503517188490284200084733689560447914987590301979425422659962421944501798290665007299736698795587021362020825679895029487092063242012672117319121447994926500569557598554609723990180436327544324219025587245267365341472201985428975429545465159208862602699271402296804771226844822860989339142079704235511465029560416491740348805791442102730784348601012685703348872738704969788724282471511588138618594251966864502153635314878908810201023670060412897255999746930825924838703806414163771616677309365770204873195255476282537537605410382103036799618590529537082179071010419851110571682302421803853993714831094595966717979011978696655426422819445692458900456902223334892709684887032767000771761070524550371096015300654602984905100701031103481079918586367258432140180822748068385084131042054798377461387968365793473608309863291445475111770251738009156266159883824566487307239510561175599059161717761634579857362303461525979635184347594293467605287016991404527432926437584041684646719079200031184954786292240125737508509044476430044953252862107310360395917374505424098004527877555808186082779803858738180072531557207586439895125742954174625026978149499636329610129514565855942170953069822972518900483169484363582567231574482954000847019582449163817456772878321734944629757566106281040323490194458043663016368545664023985395880213575199932095673198750858769084160072404742376180115832820526504623816390113297207037717681896765277246489196766746120925390368052034069104235302393559702428605722504681752252854587718993414808896113738640905887112360779404531924235941028098759991840623606946615166883678046588222749184193158014919031819169880288848734803044062308965329547605850832150800124035329200049351644618245658975413222432556732180264056143618541761808396295144217178837720679560411815942080332517943698225110085149020959715706151062623013297196702890508625012629234722523269517928634792796949413410000842336469534969248712664157192437460954280475262673436589181707702917214571376881255410331735148294688198900791870226573601870738468164914369998710698460019168909659372024188504797243572837638913875275313600298245893185888769256121988251672940271416627411010905705167040440240807140649882882985695919734610437733101144769147526291069885382513703853578097465390477906725501646780336018167932988743147163098648057947836254965783376417688679087983527460233567625001817865629403176703662737302309237265015031869264107697468858684374140692621716434662553291614629553325918200918687796526137256435633065693032800057156543535809233076565795772013063193887579325708692442805146587176897430006920533072203251388620140979782370094896330559785585878493114238313860039017378617552209062356810032937440853412640038781539652055167556863904484472350354176691754806153804641474445076554838518994926417248338171650941634908813494551211465536997899514514123030136483088655984334157677830306407650999291375965937732852848900951058617801653632638360346033958091117832929313860201356560139025057986284551478390706340714849145416133152458876422831010556006227771410782662538967036056454819731775310733683758903516050091536723613251381280187161193079201225835976438373037059211705425795342335819801531851512604294898262010078592403169382803396047268025850129324956056042463864006433321674827839722136051484026868059994282735984112876088411089350780405085800613234373880083980984059005429303017718380077519028171052596650391779096019083197492602320356029168492700346547031505700489377556371112640943415616715755224149500162735696767253721992997363102773975492830266662742632525460584033687460373253212936619174796400455063838863938982948236983787509245339778243178751971179847431936368164143014727051314058620572133494425048536528260864446164422843850298557364319120633565493935605282227513765833007498595305187291795382470946042298507110141679017855558776489838261080439307310600452159165787308095907827632988056064229232120232077855561531050450270731776024483138549340474379703990426472194245081810695586486573927624178613863402401106041352026402662727135022116124838758540952400872014214462003929370583436197576481019267736340022154316600814160611606409952708962292182885930991787560903171083557497351817308836315172918737386698062090547024289635589233454592571183695513439603353613464486035196493890255279396853650534027981286803044996293254654711754305876107969995472343611613493541234088929457834056858566597253673176557256497694857133054142273797582984878705336243101326395879860008655569101460056343697818915923790484504172272211386176827208260163149345105317896230034308562997973575201294229120391135746597393937081862784548327039849487109509873607449216379654270600143612989064171600578857760733042307674963549648599293139697135128483938233910949167588127609318503436730019811259069796487490901250549746976828472000553837348241411931946144035624003740911007021800262208954655465412745127067062169714158728110866892283179740356698924610404876326200621906771333627520401636770973844571534830495891916508809275590114017100518575248121483504767085020112920564624109509701245676160173843285733272082773188172306247453368386893615738339752968578025025033317197237773991740399857825983521179543913002740409667091053284265071339805230340014103416831698768638549554703951339378965439153850025036567010030672218112617115715652431966179249286065748786228769724774200779128836498967094983038864172813042358981119278282474825746911017632630117113528812801038314324802813493684523986741331047795742368355088755495752734885269651357615831493756710070034901352776049566457901416645319959574974469904335987971996950532065535025954725119525724480804009247760329669175706463163447530864685474801740459102398530145544357791297359610903939709449797803870632953189898664247359223668789143745559594694968069281187299469127784323704933772982719772601713197095363315172659040397132878904056511964061802291427136220442007053539697287187384030654689749771293566238982663862780082681900471412422003154158250170198907990430390291849927767740231149383515996132359915896028897527030394581548554686058925716687784365599773020685427333836251795736435488710764330866849761643393595832018354245360808482085732918191056364111745463879494518834943082316284773978565207368969334325050250436900909851852888749279872947282241015695303879640216684095715413326539361378451395527352942070203087005459922745754523678873686946530890764964283904057658095229327706620352520332187582701937202329146321104395636163450956902557655681605356623516437808930696373287785381023284864626846687266325698198360245534746345397303483817702775174023146485590687136362666347792755931475900447884862052529926428599587241086470392659387016740293072075223624763013717247798201345514618159578089178901272700189166373095118427306152744669942657918888891004820762432551044813147161553425124889471171414604274991283651157749220077079472598609864961859113433296317553943351109304512895075736306266424621427808791690166672347976788105603255886001036023066865884136930226697399430491456042174685451712842941904983586549824881549289230213551329325156730699100312584637670123844499518775598994218928084451700782150373470241370410190901850072082058227262399872123807410197388023939320585419615743863954886476480466406836821662162955090624672992775498684792551449284507062165229807118061373068357835524421515870422601289795491552231355128311452666922735734568074852693886830072796091432020066141139042393865249370363161112216201292765784105377312417069744162566703894475617282362956728431447731529433667004278779017769427383111105590067980832107160918994198885070821162027885238137013430658509442719275185537325672811919014776236383593558281781177304166418054530456309784513633613809163470387909675554130107370809866501973664840305250816943191284395646243715392885266696593499359834180899748408463777424935113128211615742306853178548949360705628193469437595499671729825850161001502467657841264221268221765810910112900395628255611433189951645027024833070074755365407224760262499023610504532330971467113281597996394334718527991215948051590607304460623637463418896767032921495615344057825666281602800564492322762233867311277572709870836544166101848142293353298882649211164909100874369492168360208203466962529265862059184814125271583891869303912908127024087291592662803975635633439945431421946162354273813128752681409561487222455045893581750891140628560610281735781110743986723112233210599412011972123618067591235467940114002635456984348126709828026043262759366462123313236210893887124780811461307482838181658344471904722053312246444863743218989621364414870313744351120251040444217457840740750928115230874323846656284788766741761459597125297529715181445132249752673847133725359611551635231386203197159001722842925006932912305231587329029518455372615479891401699958467669851090940081326691061250819355809736662819965419358446577407688916309688230499679153080053534242772928140157618746775718231907365909358743689564448461517624470046686961235922362111473849243664971358334947205788427386165462785205476955166259824191066110441350387982279380557373590330159081992929793994801333358747767559226766259739322113821151996583517747144445726168731589032525087068732193733677509612273757286805492797339729054554564543608995091117313855870591755142294885228510500108373460856579002954811866296182999787606729790875200945937054894935990656975953523161899112293117458166034471110553799753159590717722372898353414042145978916556963112381547011670117223067482057906137809190891639942099682490067560964980357200758983526177600910716763709719138891281835797212487435420568516923556588624595104782466107283546185405634073552518831575863576215164887393223903065517142613899717968324292885827070095269054733061473784911165024851309454509126033053054973964434917048099061678844625676786200773007712326096753829059304729360896612513353445636132790760315976586159010158844054608625933064795264633779187942252900217184565550248807216842935467374902928722019069086554503960955292597637953437889442499420480601339392428714034728201489838762102088301065499180264817098484537978590525286861143160162525753458436533827492420519439210229062300460736586549746292237700700474505994846662675221907297074328758598469907092817466799344686523053864299213971370808392743767312183083182945123864191947505726340073506389246918271184058477639034550508796999883330044098791860721846535780146828560841962813542334891143747396943635347856423691726297899542127015533263284325723687501872945754964382026442431741152678939600707684838860154635527989366758215234394502386810931798274907582486962236061176711189087180434205829289550649277592898202855254026881887859221317712611896411587621638828459090138931830948640878661930817086796676021157569006420065139750260464611630260360597433387575493329538082238861831824687426545630553760152584635444217230378254910585346727113647790579726890372240332102583807591912279524380409336507259787759309092633859500832118233341507344409585365618439123422303206048986877600771112171460293966368839396719153865947315452872689633416485563694281163811533484722831324344813139299434551519301558983595705558592900074667994263611679214491545952196173720129583022513341701719513887084990102076039692411794933947554694671176452914214025564297037644043472599286597366626173462786540014938603923479327728817711372851702741489192170507797106565430295473685315187833574953492804238805788993540277449088478697124191384831306905733359508571818540960951306232357198265848748831796885635945258539045393883134433390294614682698736091803438697528165715734312127070332897910206841434706402579350111982430409072961860774158707964861670705848350284881674753873599568268565335647313573522294854346387296997985989891775909214993299692627985712522018609317243034600614761188215107145425184736508942790341374239278988744752855203158502318978480791464302328077640417736253936737111961595382027059631440114478760201273848485020768344277141043336221994596262561641079066011515993186681769183719298879162076480058621428954272242080188259367261454134045309355722678425711367719434831032421280160926518216688831052693941842923659023810793396866392596818467783818742800618155118827582063002724088344653542486094668161520930130815642870743449168075010800809902486603784183169687589604044612227317821328979825427220273711353527767676105439871713579365915021743735398902382785092385390121007711097173838265972336323307288864041831752766426108294970992761443773887651095053426070990311307074284452793998191426762444396658798056130474278781320374590353803382351596548127835782591728560143235471359107776182068187905527945024993317386494774293873577913955013567581595816133468582385123076141332744956688466633826961728904406371675715332688531163470930430233632137887231080069455845345269722555137739432646050352135316777013091916805023944149187436042196772081015681915921588832707566917281573254500390993914971242603398871202112956235185890010943446507306867756911411351762413682615698211955681082222599218650517329480263653302471480931755842380501778016419976072734614619098985000891902631717428714519927816978645285109886078755146714188045630667875853936140028155977962748670576235206310676527678472039469210130912818396710543644964452564405473076394761755530985867489053016084872744630146856837187895086612880499444963065340488944779695612673052448341455662473597973965702012032660403293042146314270861536320852824995203147296756523613809593602054839550275869990627854235915349875252319225117169344965510883613741974074041674634960953179885800724635090220466076078766813051369647240727410873874819642247758193077401407270033838211102486507813425966170447072540869453841699462297154560484448680910954954247314322874848127269373679112486408942201371001510543930482604867576497458382958245547671418607797465966219551562499535328991119940662979781071416604913169323023178713505017588045193375738956366613235993865403356325131835233259285001486267970044728945544182209181975012614096024072616528009720373956380409842644625458628604999552197557050308621810638601864039053115824953325870375910721862358599475558906708792200469117778854226705314840044331477758751501991239348251453209230334828991999883459437762057565208093647736227676970439885463714094900120124585991070702643070624060128745588888805336158588432997123281419995125250138829945814961598620967064406832170548226657749895500794318848504922382995528497389599900610258644150015003761906764756272037092059307214852892618129682040164620839790093040287394272405128076472613782965222355710044569702235610698302890218991688085375214141468347010694202928370656523894798704323838520803881198922643042081750104609647567309526091493614830044497414171709435678450873168328718332669494529874368075442182409794705340478249389817334742489665777024988770583214756539581325211733824355253623481547525701724772891426279333897264529334345374016123725186167520917156204958496194623113103156665219605529147820544268637748548408552166417896996557461427420720885934320170498382672950316988505686560446521027706938771673411299017608108350843707751181338694046236139031022470943584989366420538651240345646569085578414246442811045933153941056879735272040603272061722520750362864655129437155227632379744041181718554976967705292222060136075942906423304140358762396581269704937274423752861282567470986717302555698142729021486890087528983370831913610921191770725568942504557197810925853528085801246113545589684348021866101300090146897557856965838360364506502918280258225113500548439109443185575747282188131281633554689556863280125792082349069287584210363859018171677376102832091565261675821200174242265399193810086916242146763381545805275609002577183446465224698944508266218137735502489198762057070159287699602998129471541477620151614751590922087689042337079148762351014809730089751710355348753862242392621336620340186894768612354724401170300318936316843164002818864148959918792954535816693782683693500318023545716436758945180906264565134841748382031068055458306086712280823988081281083480535239007729251560913828050124397451658665165470417271111964312564133113167113930490983007495651980455240169666930033742041103357968054385376171534905290516805906869483707013148142178466348126441251012798637310471001721588806663742748488408408122631180296581019300030753511436108708655072874920802744303498780072725173629259055036268118467097643000033646369424386014070229449234082252975119918392354507963879048621048239601673545317871106040606304991474245552973514206418665602624894554015293669796977235324097954972447576570988558817918488585538737331810647035394770126588013497970054861788972387240193315382256963653637865202621138889738454273978529483610168892810983076446412564147358656132569485053796379787010069379061866965522208752104942755466135348312381744314358895666229015541766932733508828766532083390343639192764517275411077196501315670372168489617011135157220716666103434583365854759799585644744885805164491053696225666705786340156460310343506828799060076933723570562264574942663309463598574850004425104878021648910894550300079339367201761355602915329978959117836204618120070868831586535004652737998539434104889876022897051563109173161891820144363417452798298072317375939275130064657357389209039884193680890753460490189758877801779423428491435697939393188416226370763088895130093472729478801047559376664177050404746252544262332966895715482086935783333960367052905929208521049150048435514496680810192655483874062000914607801390117171878726757302838353411864571645996692973479444224986223748644441780591292985157820123750369047816682437277096963713776190869948611834986265075138774326455604116725757908813353836209122383529446770088212169282645749226432440070466913522056130227108466696149797745761166441555443490243648977622738212394170971649778207879048403625445453704106283222731696595467803255500387427373181232040707574818303656155080497889726633476798125829035695097551157597239544821903357230039799222743141285980998407719693829136109157459243521492879660937686434045978757820760225603449091860236898801471864531670670550020641066284502352845372591512396117192369430368878679309482390799850376951952025199277439983091723417842749293787775487045036620725817392555404456614940552344180241778127107707477868451282735514858354079211980329137044820386241982387588529651778465190064399130768339519171855825066735421680490435578650701639516719009261651424659915824515281284003582011289877701600117640166947852863207565088716399672718852040122425472188472839696646409723217106761876012641819945722288152435832919482480318688699851330216634145292276517230915888920644865024270569180080885494139494653551684096658748626446476275220375108173906493053435964305128688190168496149063834285086126294301637662907863367264477030217207692468297679581859697227226604685696381045209854360995504079575937479095006227729067820563871791325945220012246162563163445746134883113115873074018053438744579640866410071006582387674750197901649331273527903381682340718684787234970728738824839668998607781872363205482940721042609703707273040950715658269137246173111232877308517542604949932151109915715294988986966543244565378795149413508638199096534112386389879382721751379184011765439656011242713273061747690477704234055440963818575982534440246072462512056699930738415985238011631693311590742501563965759889420439857788390497379168856714128380101232444584023264154147507101249300772643705547054376518442444250225967799997685499828723447646343766729218842447852550726858473006142357890595796539794578156878606169721833336457325455513798901589025636583207580486925806735720169919271916431994091184266436730495739123469987521562106529771500303997293262564221760046215108095578199927241370603060403833940925730230891660379873138068675809511918050648491627704905405069739037480351458773770067887497363092350091702697791623001953741592975641280535974198168407156999626022878946628750408658268862328215215072621585086629606528386386617337070486970590500944494588673263956970129151203917387215774756238681922528082277628684817736218067543168085705084905093938938749014986979985864691868288072960794009099947722373885604550127726788994063387244500465087039580282405413215915131763043265253603783627880867755793349992136855273028740660240225360033111102392988490221454569155095330503773989806397031775675037505577635218636600690251433898172846220210890369073963669024587271755790216151667495455147950178239395538818918043026775937056219722389109430630561021745375101469206449489531448419798894282869516241342706701543772922460565010865069571550318886072137742718404012197700603576101524970318470624937068864601669535559159840183770081805610147523