80348370469797052127958940625813672324471961946924853273011331206976355818599419069858805189442293108320943136162901597850837091127054136129805867279693352661434701751286519851606814891191975211936338105807523547379889201910515581716432196324176147771473690429674113079734263336522542490084314947933148813016838380238449841659835113174446935593121770879532340160037136941242320232454297679151263580988537632193568161552836259790747079374452289616206221067405510779214237184773275547831596863585716505120393991378911129015610492192468022636535863043997936172804103690872148180662411643069670173622786160144025064597510232214140280737478429573007036587480377264778152966263299743865739114059637823572365398293645916553903775216135907231699625429978121145207189280819211044870219751365861282938390571090973794470379122416225464789144221916698641044373397693826645269477683207058505070504566368719918261757892907694492891977665753294575667928077300318202424534074855905835953823017483255589524701481757236654836333270399629073868595369060736293038954727255924223111952503499170984053413961249619432321922558021299515417457105440484689441820496003508396469739329684355113157755427067623498941237798943891715793321476631147926150510568943883335383130425591951789145789365195533807572533200661959942956210124895928856605284892588224467053428675123062515156756522879469308762195468707820847941226026272200192641714118436345841236551380380170981841363035149018796806932788711417952535558462199745743687435827473732813713102767013057795277668623839870545381730878633583269130280503689344485821489446613971766720152180391888226554255931297433164997829491386789052004189435993145524134887158422286723262712953858183846582373748777717486591467214386674733425626396167791867605520924254644027170175765083954813534211890656351573509566264379545379944051849557208692553534441634599002283884920204664959525047367160536189231070189195038586742248632484408255923539972324842478881792019564527672078332980304761226410411820407892357031978425196101464726812018797918985955544147185697918984205372190713022473781687952507563550133271230514293941531513943779098147417787221127695298622591381285904681844014631779095079648504833935598263486987967791938558592985233327626494321901806948958924242898087591668432372699679264978965931533829729124519969714856496867975251564706731355339805198856562178226878829767652688196434272153985413378352304682011405909576318217962913251387488264120798278454110760535186764854296586115599510328473449674647897176894815062491738488176888146616581181262625948522686336538986845014316712434721749179145224731934477782982888736168841728927530352172303447710950775749506545243883568494804938914697016999243463471380724398735974876557233784587337802190198436786151773573824439288179746714629395364954970321057845277090668466466989086232366664988808113348678212991847228968390922037518024612640366527283898376345858651894385360749033747754848506008119232914164046776969741524713769284899409915887517545136845461223497788028221728285862703120668435734865476713285507363234582686374182896588587495276817458878065632671723453657318629912193675971851724875267355596155168413095536943552186186178701256183798390164812904267456256510604565756300548366119714666454298792629043982972208417851391914939348461398423715450241721291696438158180843939327056107693721530978901957923089707196119542192723894196176199696943616222929692356547260630582088909981981618083518159085258094438789033084700914238259587769428377398220431542670648561794496247154589095264547467939252520597031698799485321492302197519664827814362513791478638713777445611990834837729272249883183187838187732134252674032744226776030249857601703722532479167741831879365710456260187493738856913351518746492962695147049473992171814624281882718896005729984509744899321763236651041738794523423665706341940762818480457999676683687426364698069421919825799003224201038154439182094001620246796003529587874849337203675693374368896361060279701514987589267935450096293876091034302850585162686225234244344419699388390709118126982156232709614824153222271143281954726172877108414396464562576619659217039629827330130163992427367307003384094729140297116193822328315246296953198684562514425760508199839097085602383895362423789999319239289068978347445879201347936060363176122896491243975177237421122316887980330907577522638662098547308573304178465321448650518191087080469369388293393091536903941458233065185478625054821296523941716514243887347823277723921637797703991227506482219071621109493657733814687900113026824431803394236518628775130367669941283030554807380130288044820839947844379780559093933590535800586260588381998675633111925109918599613270016482421313131596918525749447901320939997491423590376897545187289856554173260642241679351385386784789847217307598216846182271071691383574092491874266951487904941494629018305861642620788174828209114970332609160462402376148593074297201552049175625137366885168086205826539528744125299785886736189523387866261927862559840850159788895449099175264502322510296944983559141761616550002455884415608168882171791564366321098889558136413316707872833436997574995752451137017112235993397992127186348497813577764548336542926471640518277979344578818909333388562433967518999262956282182026694350166180577718720447814689383363506788455383513196760214765987474182449636619453236946770762189124307719551382576954928047051117884455665243829799741612062941133066105230724628813374747404369778471129341431584152686966896732267359868384451193225653207727639826627542550594254508558173446705128967751914547665263193466113414910995348540128655263682337130704194485814591997401897689575399399032573473634873654728175649721891609702677135583796787846585288961304368951038257352926892413698101549978908582814216100644385828821498528574203763314027137101864246155860778172926219279446977