342099923135967351191030566947223248369577977217866091240287099350892146793781542520301504672956815247414885185636329117411886226900985764502377560842982795772630487280190267272819628714811094041504212327566248655827139810608190606188428310802318807996714345074618806835284837462836924244795260569514598788156699924327759566071268864406963812224788520830941322953965319987490124832061752966136256769285788519929709784941368409320389485790705184570025325771552371264918312138892163958252734089845372241258975690695284438137059577123408439587834133783134500438046742341688756103810934743973539735927084989156497996972446187433887729784918736944988963139195070547395393611279782299305263378767963695157050862472242765239628477243628995872306788446911172572890713921879554291175156980675246974633267143648983173244513760865206654426467259260513256048571534353053435185691362614943375679834489809084857562503454894994084424707353174874065788224344431182636507045018652554318768543956566345631597125466656789705006778762355822857071604213620226205025359905146514576696606594802409483075234918387531949679546869224583847843991161647666287675756061337717292493282042615832699465253663188554250415883013502626399492306996304815151925532358623661623946713743620559169108983960187708174681667374544398581221070852757302359390651985663934617518172733075573202188745084738869161752109231212364365138185099703454268822271937757521818154426308161019864000874177078429609312333360951160347154015754287767832260329296131402116771053630261765921542174974639605421079805982277386979133515964457312969420457043609692359459189947424192299735714220545385653199781767499958950071889145589064017360724590291494103349162116382776627407139461268510484388718884671703677842429944621101630403135206383736676177378767860165747325559026451284716858211702359171842917815127306734560956335965779111251832847372627514484120436346682959485586532959945718332402664486162607361079647412650672542877892268162564897264414770655748644348187054338353506986699286456359298949364131187993341846147412733763273107857548179399116359796075320795413161962241617379722655558539002690982465200755778405553865111695748164459623615081360159029603809834778777675563677136483742956937818721062319296404443232579009931664545563766951863918883949557591570431635084744616573974059788531231224863820915222135191987384061493709883939626316345523096291221472421426729214177158930560651724563677998221868987164334584696488678524526744555935267646902779037201495776517351874594508905975649601036750562806837217837571507446985582981266495868441984486364119267452454187860778553387677138998856392748693969199143044815972353704383957628484728425353124960486568209060148115708643140466755133949390786986926445137704270935869589656517754358898950867987059698322034002448484646368841137123183005536493370070984536655721185687433537108841475270180122185144966125331623132619628992443714107422524712873048298910411211122424441705990273368047306762718617821162754228835302440386971575930921260157570497424768171333868500632168086484797153223496691973255003443360869296932185826203206618645539282753190554991738444832764936453157113987932771028794640475894528882186421486825037280818552985307999731128357722941824438365797485833494882169514438611095025830935162845416914859280933040867541084432308948809671742690242016412779975735722682885556518567571455205061935568735756354973241676664199321156609270777367236062289982232932916449214782836835045893634365476496875481069107045928935247513231939777572917290664327864340382849420878274747670243275086498445045442598777743528549855304343946076409536506552763468833922268562874361642075777757878891326636749481753312921212440369918729150511701868674934299736457234644295655602471634952662849949909169205727027788526286283892299970095224162932875885965722886615637749316552132970224856851907895677724282700187679427315299868014851966277938277100587826276731671599497657821011548979215685353042815540350129099871973041921339662239317262431852087743822255743191931183474376104447748819964205334593176344807318298469574949475949867851797619702627224371528842086498618588707322124485437963419749970973827691089183776228017155888359127819586238256467565157056366184953507813966788208166172036274304697169245534322406390355566412418438548930191116291719329500156608175217475054661335819665811359265604516465898589477739467695787287175139211072627749317891805958801753826702935187968077131430573804303221877159348845432709017149872157572574795720541508442895645782072818469041895798560826373094474255725125345834343444182515940227273501222415631973070172831685650665279443482433125956597832139456912724645976745743334532245349815233025375131399181574598655724031014923489809493536297193123411351751849985332727892605273499930707946069863467550059840215828405354466770094403528811691380726510383213177210043641433744059675173566852625335831974441254438136866399260713781185873265637242109762823566680370011589634712202549103687966941177606941585184161109569372319689672312511334371585859617918660697046012057209020789327144310050881741278687718873152504775012818990846728048909527169365054862256595489432178989135504793377551056586113662434989141627206292104584258665348244275005425470198285772163204829804899816435491253961748373932370989234075698870955878346684672573794932747382604174420714086639679714245382784810622252474448809653346550114328134544172167971613319154015875866651221225719971978661910359759732286011589461455498971308210324854678464722916617458366831777113868472826708867759525954283883198476460159483273032653571212048628643685600717709841432396653536103374840845712636996803484338179278710833174431520475358106398905531751213295533135444884412470472449589110373217553443681227672730290391046925473840827997697152682183666447082882260596859363