9679269851491394239346840500162611078220631654165419869531654981806379570614307020630025006513123212358640164892326028393840529759597128090764653206838328908372932010801217063125233572672704316843996567657765325341918598129602030004756617549467411214077612887822443281581332981055088501864906880756199155432754528723569908057120480739542846682116103612199963237518800548293197719348106599370743244300084490884703079958603143001586822305108244008974115269922099875934963128578750721056114529428733409227461699012554214269189303279922426602447003119607192302179128583044167567873888908831784013671064590635284464151468555523007109111452774118193937037889964167516641710659338688624906974653992074529969061857413569778351382230214285725994661824076921008215390869260710587776802109092536420807800371168290448957618129974230005598406721963702947763347504454487308504693141819069221663656846845923793801433676508704105684033093837436339588789046515942676894792078175201818128246015438135974998882442001088663197162136668959293464441182636659761385726234314073775484073876526192029728853913607570081305463161678462683469315778930063887029203448152537971240959696753663667415192753566033972964715358009921484779442177861980582778910264266910060000105424846522788805121413170976839822332676300768514879845873224289187645410307024327529174490218077102030615574441180752546581474042168539687498130181065272778320599592536179815222766914639753876788151997172461336127697437943408258141493650290774677174184073000880372036442764257461989770235357618851058076113090229145900836817946969342783492025274113859370260340241607561762261688653972063109714546458630730616579915683274925069703711479688118139328642433219110629102746398653975425512453449881507220650794691858583845414111882513006038565473862875449981087162141073046750294879517095853016341768490220300149723988900088024318996401554096575154820502944863996755301206171280379926009369921830729870710009869363035447878993197469740296239525736957482173318777879060754145850802819368900059755921739287125665522220947392633528587497967610013973409440223002074438926647005522941318383055167701941082677169554237715470445478009380604872210030101252695073188226162223432472844464399466318822921674866797624200607689735399086398491198569489449282482964106373894021107760038224363378955464596385802409935600653821075517277671087083245335978331618544609734493195376779401635051440583566434780388982656605869093706565710751698180476365538980623231519156147216208349529296803834873581799244660601300264583162203574367479401860666813458806662385123966244602086729785647967185785021040375258200201549289313724247825567691153104537169740799510589541963848855020221803500691167799386167880806693193790549193519654444122395136463977719710959229093907042981775193316469494455136892112707999120430751483413579284068385141132325118544230707485934354692397425154604369537953097586026723251328686852541096995599001868232136920482805090625508610630328220007665387497984531959633971995625631834498162860223798684735780965310943686699129039729612492389615586849498286257138795446074719356291787278800466375648632080226606731247740239347451705228514685084995702232072585645935322920497690689124437370133887416004985020542583248113886748244568376065100339001839472488438716774186768231365616785352592698910652825034313214975516418058903823292255892056176663724967981749973738500408165339444579613980745877956504392180837363035494284743437061282753460314871562307601141810170240192107412484698534506594303270208350693740192897128297545345223856796836650516459388028260183276916021593358223649904741179249365801814531759081629981574360347767945084487471157695298412570081420849225658780181635243663097851955451192005342172925719957348626056532218922524137654017746832798952014544074562828741290240413671464236262926995595648881934586037048044738396763291685741052917236156805848064308294913582418938528211912400318302448095546259051996732026948195018791542366078229141916563886071875688464514131288798907946600365091661809562457204900219192316834265819846286585889869574659909391352926772979433878634039170495037882360605916644147572771577746543329790187605268606535829208297563771233165820088171807834079771755950511281888402495757114892157179394192573296756027723557300397412556132076224645062162047185989371946191940438680911174675700922551125750358174817035137695943310286336971844313867920310487604677494558289212306591763307663647413025366260444968872127379969812661389150202177496185578985043559782313236386992312956896257586522771166917313590602702648379574369350487235306899100641014846182676688595800632209321851406850035155909375087760185899977087358495261785798288454383695906872242084753532792453836093576775531364662157961415725053227934523393250572987054150433829289857092675394701498434756404777652713959193528252863689223615009289570196802579061044536381063096091714001536629409436173959781654814306075483385077765798464167938183284081798390565693944697205101246601123606102396503242933556589562045087265128293443661675965155686118963186572403788066022515756988670107297629318890723019208024680664909568918999044777151888184018493517505510662404306612313316966163945776095277957551518464950578597563522559163153971741231662396780428794427302063600224768638315017544322885646055964601136714400571703969430027076564652391466184517062549357738722210378652598304717959009908701805797880088803550755633014663801906045925657392722961765120523986608424691255169718570144997059037197954869568602785282224660697778502496906530055876523020741835532042262781463786209316514911894789941628363889405579587879635239375224992218478952047828823301523073897226061500422503180300436384582851141467176007348638055170244702104933891948721722419613204409017663657554614723484828541949597112491979546377903200616755684363869971764725240481357502567614198408574531575945316892740225803594999623283110399635069567998559743680422035750709555643282049312979374621217920137824688337167553663501626442027736144180470659877759898527771899313504074252865021894943005015490902452038450969027128683582675136431589592858603575759919169808279769933706206473089654642184870373219923130775793742305287347238944248677399700293632810051251133511761264438675301567151395712279808431738675752188789401712906453902157775469357655193462204578682033956938431904401087006048907177584226882256463878331702662893777612442831237282787585719348870660898614695088265949190493582786933321454776230224386104103528186207009671765471145658047882958823809456832790323008156862812798687826024106207490120826131014868637547945486900997009553373544080486407428027249162323372424671738254941478889001367080799012261610987438841928412116595872861684985882026635019889245806240367711259811792096693082690544927969011407227795621043374677414157182075017208949595658101584110759638503336188383520486557243251675624821127053286159014540122479854625033979244352896029188111748801520639230761743407186208953133205881102961931554103575092365734512783637447771853196350299442079657433437525907824530751955768909367903149093989864695929463522807857886917389164867257147251201716923422545427839932860416305543077514605742108015775436645593150761693623688348875209695907112853207592477049231680353136215921445008222903745456948681403488477289822814690825156224848890357379194017041005519099130553630333983613993533344470112738050485890800017220615085428477142095933207066145016808473411763492728531885606896645000372579159818711551627981595634260381747418268500601992409294105728720198563450265657326185475814831041913928132609146478696405641686213294845300367475026563578161238478450288683775931352713284952357778132152468527008968120771274186393063132644455136266536275532000366459526687947742783481717993688044282627258986022472609120216402567609751114892920554267840022584205085242250898249098169542176857713309615006039407681039917576681325671243141298613454204810120897071230063877333934141992733859090196255133695540934836010682953921100463328588517386259316641870640012847375389224988989694652341937268329682931323745550596473908308413887541377167841585229421444383175782402922167206488422498582135854728062678216594634303118569902334829638750247218810007652876311316128596724809823759965925876445168209731178846056103710719219764788682744249668256492364929978666720677930230106083498603017307354222014964582937818897974428246326844750581886590674649019132778528665157754335033176552070333329724038731491364538045192153115548847372917249628206895015529917463831535839377750416210203037929002528331776389374710209869052041642124122563938306131004544622151710539256780541977844588522730813627607664518083281518348800987769568770351005178763287776153970954775255097571126487055577747272673999894445305781965860810238057753988995116769094254398731982285761418587400651008725005560216981361464938960285704604865065522004357199840267081215678297320758880523757548216369796198528545202178068849593039200255391808753609459781632922258240901502063025126679158461843220012816560298662665759156907432549258004095498872070239929358110145804592434623487717856193843023336398638394146609600781118737010843757395447207279093320211028359398541986813859587375057277727538138712395424815347851302642994371829622004180209457242373236984940758077352568143810461519790565330814816426770840322756297895307992120138788299417392911057439677337574040771483194124603305711338620871340651671223276845484886405937514816479313105178594526243819282447720862828692133846507156400478650602780920016974275017831717800892223084058001531871590317939371275098666575151922695628520177017836542816021203182808128334950489042039497410045841007869754130072059904840107025469549557330767927342685897457433201723137721266983616191912770971719746388612480562938235378355050806422275674220293329465610330430236450909693060582687045339667076215811452193746032911715586106557563017757709021887495127378803279449790408699338070137595004573359957089417357140242859461754476455553223794636785379806894159460760436600592589180192329841547274633922393977811009766978931551722876798635612207307044147060919368126469427009749249206094250418843058857891959095785656657462307934135201168970825214863031051276195433661946242011172822068908500557540833869516695312802281447942332462955837133351254803999877961556718584360885601364908697162951525797158704533071644931787169410832400034755020104714842983524958814551058512567600113566333695305130412902462013465999052600701801936358568708727937404611756552845440912325761474391206041517457160081828855724175075509061261898792533715334641839209552640756827593722605273986852804930270928734828115086890559452552842232913436219430256799483217952520814552400036828219146724238236263977118854991210366630565975753378547161498099369184694558174074233832454996612829076076061968059512253758088747264739134705610923344040752593419147582532404117010160565844747009429358497329317690723880307428519227011942815777788750777921270842412864463787952042933352262933934846418735373412206232269762519733695156445735502461263270991083071521613176052102977698578891428041663886124941203432827414589199757615049361361088494177272521049138160024596636108728748547402589416114710159384777589031847349054357299186168472848710416580784104103738710760158300379468720519560537907360171715104736395926072280271460637694280831494164807483104140443021610026061292486548399509091470543233532041934972538005864221738979848999906809622432150123464264882601044812974108697337994626272239529189662161451613112567951664399163918171871611845610289973790401251798254513163757661437670333070598147607905744409356377308987452363075927471267871641945753233152634615346240623377724250006217371130535769877339985598952961568501908336613073925145823705672098218704356870750490128190518845568562968635712811659363422033384427234748516974071735853558860277257718881827583947999114505787452941582551068796646723195878741259889495529712787813272865754991166864788524462099578839449337073672259816311560877820809108946474253967699400050393239412340171643333941813443506492280764924086752638165074696109436925599628002047426118120491913235522392518463329328725412820676042410820179636026306345761846928392742521495155694917797488660584569543428084348250957366445602555583642553754061765154347044458956373032019221304381408743611806401029182302655881100656403869170110131846521026547405709209381998611500020942139838361308496576767880103809680346252980597072363428129938425263079547078477154645678775262276736059323014123050711655106767082986223345264386056978982650651706474922557474656086916321764678548596588913118446609969470957590253598306150378596309413927872689104346238465788233036630821507424500136550172681266611873394241166462196443317408802424248703716958732015145240786441047658008704932758333988350699516522526178253982066404639263055277106161734456343190857710544472317647992765167408273141233282190319955879733701710314566835960472141830959310158355805558545076747236967545455374293636857583072411346737563222820347257528657683644234948162661462340352080824031614103217469502984674707246904587419721592304706602242559923717203458051397280004439760950595980330969764378979686708159066928762397101191395018095149980064068236895102770738638099536697834077579057224121919773611111606485413384714395128558723907621958313139118064035604673935494566657931021109845314273841184049398437749055956458541691992534300484537816585092374448548034657151184306328198952100690674000336743170203604397837442072380826685676642545830151491577376183735655016577583698097945925290925768469972678775051764427719120354671115407505452460702683932492284153138664919920109947569537806806868060903159469063952256239442465097019907057406498255240005996464225168612379297524628477260213361052215256155320527318608965357269379151968507000875601671921075681578722630984711101927809534108112377655887732550967161929151949552564138365675252149266306707595052710664891159667145274620968352464386056918163427329481442216535367850256993218153879198686059053208055319645483084301666426973810327715260951917345933016764521914851441625767746407189620966083591663833905327548258283632532595855437613708632320496368704922998152244979340654594418821632563479031012787852229844836054157560767197149862167040745068837110222571082644042778013512360884683084119244535776123508201322308879658827269645304014408621591307168425866849594512866487466690648376779757410489847397244750696377445693904510207647319184562550023637463476800442117462107637454092909156666409513970082478732651968501228090912201691963489026289701285729668478693541747103226832034053827678244892918555799097667261355147306941184317580987741672131723498106339666423531922590813772171716913775794059415735949650599431775203023651275636761746821948877602642703343404413619946289415398967911705402747238752290660567687677248713207399790352142169581363199561653372601982427404807999045766308017178805932333522415276028278549305469198348433764139468537166777594053374607776629689282548790863793328698200059040258243471146965197562828028513717018073593611919142072758720105119463700728641971055074902770477761651317082909612272137106465789817845245294948962098511357345416806509866210823276386874038996407688684379592400325815400650413388854378202237962701519025231390266384833008115994396427842583157034491576013336111685565798679674738666116303930729446561893673159134400907972368382624733418400487365507357956938100816142441952284997569580065150359924803272556619506333095993379622489139536923342786379274364333780980673812202128289065015734413770978654456961539575675362381533498406162990366263544464161792401887318630122010519245318993517648550013384124507780095156003491891123354316378458521370333809848036394499197333555791452977463181850069465139950589051251498214923219101840312275718195148585144215387112769702294556491548445025995470945794315217309899294209073543116898672646167316096820177811738650981409976788166192071264130726631758471466173891694993717110070327129945352706524384647914023821887450453511706952293998445574278807840024925410174711556501942823321736924559468519902231006621846112023496941360305459935417469849763316143605280522889851966242661890229606343121018523399725863777687092427328898675665653331079410080657170906904556238167063072073488630568400225241870490196021051345054472106856883446145405107117739718916610702273819851561439792035225998763813182641336685895700511461160633844434367619095593446131427239432936661636861342021732618999519327042199839624225340987839060216577923105021423274507105589788182871851059474562945555124338339682569569741803675966540890045346372210235173010550933971781786345945342010697873451921809905033756416194308311111989105470048945193491453292554632158228462694116295461026438783698564963486581933361656829302504792221884289762985092297721300697622309011655258686707184480040493851820485171181920764964042540309029754931391605092089930176543242896537106503886972068532111584428881754147968154047579477091594334650380743241972578773700949263801395365148236921057867304470927573322594447442643797602999654054874986868194679900789922382509233183068004202149458122998046471652018831898247401407396212802326936372692524767693014015311040510249792460095861158355948292381378672348022923855599141842971447052813209997905635195044443874712180112412865160228993319024415907738576188195254532052342462053420894792387039215144470289521541534009160601011880840970283947344733482486729690593507986299228594433155699593199666141901264785500567482196957522000121555202495565568431233957051017718410051964291591815352767222992485747273430219033457895443851841628260804338038408486257533994521492755804102327940565417710527493679062506383954541808099437152425394673069409269206482442079334753859679684854354501111760600108098343193235379493290897725835899465095531459868162311678983020774961495186904646430486649973987380569741358497087573470873368327190607233511244570165780416651273928290749089126843175189775750672858758033037713951052576488347254230908441411216944105689027796689969365861959359843651416515099996811408651627286994796391742318022797909292726305268303511687878816548370218225344275896034325956927865238129062968880130889543386115725222212306697746466534140341713081207691088997645231454910015012752338926962392787942723403776705868763633679515633888232863487181483914123964549093377890191672564452473513441174743223846001953819049047476127243623684640704806330335360412241670491605533786589054572078774577365197555100063086233438105988319186125669776467573714701279676147991841670175618940695161375597334822877057468106889564426332554414733787753127019156297594183999391382278563834731397055919002437870802891659186110736162586234742048919529611258867835861263170145122450510006727859383758977964332784945219075836774642339079899282845332438320835298564045126124777386922259510807591550386631697462977864400990632207670652905963405169585193934093970491479890012705761921085631255886018631688442007100268818592194033009965960912648244681677274856095556836790846542861879726538245190630702835580455639655320635297043956099855060692589680543458705371815794467399073773172692258574428751464251216539220011363399368330525947138617020639932599540273781623584586314780535285710655429269870842391586185508871984325646092685122951475619736431649761535090296064851457352504577670480414376189065573198400447527923107668965019008369092564305980691670067323334879931587677753249417256136234496814548400559878703997084831594138767088358097466103023254576959276052186288887692263662853011538489069321766592438198316466833002019567301203266872627886193254445215411371622790565741069189335579669019277350259961601070557995091747825549215390676617063287513735668478273183440826014156565952593680283299367358751046076671092628435703594542779216239022077507783983677360348148811341452952063152340845600874615996749543143058512605850475257798796943657758252783641923017566692711933892526025552143127572107946570957549784076901663466432950202438702076994964462416558757187189229540078385443801044325940682579043064967319495316752898691898459349377046911387705716472098813379107527737501155152216352749369093865374450004842627925398743017797061076013663031521645674385051898252308267959146082665534446893610805123119434237150655944917105440034822521118033367961956376838837718763115134346817799313875953088644918955654779873157256847764973593799934790164052789009691735619263119981173625470497331046850923291412587899613988696165983462036374383935705997825155917765851609334689766805316651233201924765436884072664814642889113840924584350812698477216581126317330511923541494130015113365202038933340839755152674017424120926717606620763143566927901952404737985615323658435734744022234015839650850544063936631187229020799890603756779151706726264014906943097674674477212861390296910739933338802762124730303002538948105553527440463757231992298934890698935328164279666842841663022087261120574888428563816633436246296501874356988286651995839169979692758526318997417726653177333135249924737408313609609313720527276213773396576408463168206500952842731170666620718523382788198775320076760140525921902922248176188089571365986940164111925179784868353634716716041590233927308840354797948711383457397316330742429045980905243212052646109580330695358210568734169269914025554222848834824715853685193190227032716871780738361401659517203464039312066263387195633305449764010810809793391196491892019257057769122178569779132386922664813514196760649338167904624638667511389832659679031124133143398024465407614313825592980665621456974912212921549910719624132387993189909898242605453213449816008907735235101184485403827992776097738574136149396282313915446943546246825387587047821914789634352705957437745287692199868300554393230038349192563920063326813753935943327470933080954554677820293717489386682409076158329804330039029157221123354830882605932625739091374067891893708825752537651986836261659532468159345191684038005812867460146027273760643615977405663360021416173394662670561492374877146485727360973737239425103383349566820477315042656080508848758496855737154758089457112994658741987346249240944890677084108450834704423612424370918640290272541251215027090338003247184960879496864521712168737012196478976087850681290810399821593108193875327792908339358208325973939941706858497215023021686042596906967340944925798983570974663323545777966073764228409560462108799182524984696382189969543731328062930230485074262911626188173399527873758303434185861243803097094024765443056299672250040639061107672046713800063231377755695819092930874191317632601241211875398377210168014842422591940257460477127756075061563262175345817511415426731171466818133288558246320579279186235950294752641794865506899204452490023838805921767548853156508692358254045763318611038289505107267984791336340072626388963067737263567321778674186368542186856041815413877664083374211064875368096390739177977270933967843465404109322156148990434747245597030573584215035709115920008997306762274643275176735046200362987352605531983948901931995710288795708218905151126123143311666859198570738850391232543234779746502128501466412578764519692258699107454671889980479612858286027620461835765565280156037526212214051598898470210460158877758460077223503329696991691183100419322213119764048732957595397034213021284959910803511559806947755196313915171150061713194864321650535718241627903551952658323456891817856433482879883687537629713597679306517544287985644865924052985420804676230448919452357940296060702641664350640782765098041732475293222752422195219266430594570862344068561701082191351355596918876384844360469068131151470525127790048330524191077982298755709882855934319750251193954431970462675424290637983396780468062827526995322301609315525576072492833187640172188711805276789133435987411667065268428482455501632681554164607700392419634678658094561853115975907005102791035157898022662718810457541274415708922073023046363882868803601067371783649582036093959498733325837039187170601348448607059809900588423471311048274455302282285324407833280557880874583814498858968229275918960642082806885715813992260061814793879716585229352669179611961052812333407937959626710709582907552034318773159172529398891953553466034230165470174383779548569389057234617961874558844882542138084085363480077979690179881102423049615745250787491870582979582039161041947680120216750949330817124006108025304791515552562052929505712266379670612541004041022893895826842024458071634731209065319303258699700167633398867290630299215043057361039118248736121862293306973269034263630858824306419431138984928591699069478539940956890491961924417565035975125163147284184184819142725422665864025185095402374379050559712531305881591023156488473768632272617471966287198459385767332774514884510333176517964973903643453074052122005244228627092543101269160158559685094365891553769118835908210137996912226475914574790173084033883335874366009710783348996540139149267490861343489613419280239468757962170937370883789318446359077124552687633592219056797119386568925969132366757695194310967906106012098395896748922573292460654128937167067434785902659039806752658582467628772631356332796573982145668478712276144986841920107076541329932869113082880953383648114649713307311727340393170628934614972657225701147330558399443430604225935215104460436616015548970732584264890246190336915416196562610180635090572854416700911431737179967066241822384957327694556957556865565224313641500675304018232932832011309022483138348189640245408498884523584309665629289664538120632421679203828805705961419932248028332671902179314646611552370297676609359396989091194224845730691736228663232893743303885393151802434811841461237138411878627600862541465776928325737699199613977156768293687089442314362716176938187869695801761904529855725480473724736411024321814941197650347093602990754660976751243224808003066047604228200244453462577978531204510004199637817319554280670243702692498776708635259940215367182056699367458584971073845103837931687737288448309305784846021468343508635443272814886965133182099251099318269376878554816080792998435198723431775911233974409561718410042669313821852845507458609771465718343828795054332469944958817695657274095301367844421200880610367738229916115219298719106239109021681162491007539082065324146044808428472588587462821725710064049959682825859749539916377470176512980962263414574765052374098207573464856354142987174616490433703056955260924075911172085052126621111054410505374267770302892565957420298244164593812955162879139389669655142156713337142365982026334915013677698466199245774563926151131975653161729470708158612607113408763255466172986218300868756511595435738841604677036918067833784223416678409363532763686419298415112781970618067450615090606905830807887335467212226996354527148295102442666175399137238995565507795294160414661177966058177961356287106342824239846074854379955161035008168834859429628323646830518181144216212405249490849198380162820812020302198461316308402277424330217190488471095335534612692406711229237281775279607670922240750414325664339737791601120453994529331011456624911772801794567875716594572369083147740795630271497555470644960079006227507537515070001593134190801557596012821996328485519197397006479283928221049246779332564809465750254781048128469412206441794277633724958606619222492740606211143996168390591941845158201635565573171500773610947941207074319461680368408627596837857176209394368147757003571876033287525284825268701546650537738244551061100601239929669712179782328830999838020932646889199162879664774317384865597003305259351059236724455655467734981075871168564464840981494030819131967633476053608964140521181346264542918685958148673798502356536323317667358762022470856864712550506951345890872724546653936882832733401077873917576471343745102292156783428253529424489698548675799997953315753065345022230002200870807138828901679540122919941343361346473230539921257324824016065996131629623397120758480803484030064333993459021763229389173381868295599555169272419211559120109360034308583940307859856788539340459815627091960105965820642576036714639309836228554505753797314045717872965867168230817995599328729646136949917864192631457151715751130180722463639048039204349032286235715163059045335582180323086482184212566292187633961090587856788430763056068418413098938896207863132948688159274113529922063825899769040578689837373569216145304228035419998096113368919055969103826719274083623721050818142451779565455703412165381674682949785710064716119712990458825992269701592243480341444894947076514871348360378004962099275253462744364011122810297760974480008298488860716105161583610591011686218498083653300514729805902281457191058916896587733953108543630681065659217530461346827622032011621312580782558461805106092056956380188780393100439666147755513120016170330474653280410558131314161880370657673528685475604821497844605138489740469701196754966466781188242696359026864573687145424494466536784435726384240619073506839004191788532637794424213604211175769123335270972293477516086996277667936095175227793805489451907187742571239345533632837251661039763081595960874131726215117754029359021508600430002346441676655700305598874507921098538548751243916699414317461869933523517530401628105617575053652142876035418194580697649098751675431649853964915330750262701298730992216498052066940500755528713095405590069258527864426882279233986395877963127997659009435194358101008852839195292563193951281704488631838848730192984233808174881718229006809629523503802588110830001371446245418465797304087334226983574607265667640720525982027158394135628810325695974596386861359946534390678266632242615264100775491182608606994061383959974355451634926718499876261136330112628390543956038760623755757088836634567657144553265004748640156223221447847221697264786282951135979678961721248546629480652359445679712121509280152917403480289980439786581616059695590435976509103693724476880030025417350189340609460556708051676509049199990613404838586092061945715387853524909927656810438224734403144826811639610799433978043160909124131912480273588422008680574087277563087343265602373094717585544922485146009228585920587560277356520008260442001689557170108387655178076493372125386123332461650269976612438925004442088608174651184115630711040527136144597424599208777311158142348070018259077187735918443684125985563673197701336664340315789636718636971490801062286848242923602392776419808318808135300765071726297302415782776253540925157820352701765513179034345673047355745284020425138093866838609711831424545948860003938074986173880304920053921739620512299244455315451537230212147710193836988561950170549805080663013202102277243277529876257069964917731273177470071424452847170992215663144242415734920205245625658739529922851390019226511091642235679593910869911109708880771066205325502644169454560245606723293525332953515798827450542631514346760582402827826831801834283536915457544980185136405515338436796550800098708929281758030086790654423854426000835345170770681393262741616308229406683592555401977169999368602323791124666955755893464371241630875019566395362638281365362199126817839751981155542296283712567667112176421939730095238149255924990729622945673704910964027038170821426640985937274012284098134158946730269258574215942631327167035870476330880180532678976785604724042577707003400943418147474162113420241991552784865645684935161098367619389376033851991448056059620351383676950811700852828200218218883910802933963730137217567985636523674542380490946152942804225431292290511432921298918884073150859678602592239674024082130518880731966643454871152971892873492411420862314113314517612939484284413224297154888268978689907220427730910617724432221571334415446646008101879797111566678128630072508408058647166931545105873505112718038695563775667575047165419173099634788711097741783550509682184815492616837551531450705329530342605434882692015258346695788529222569396458658161938848636829367278530123554604560672097092479678802369372247100880459260066899553288358215895218285307318229527715758362252897574937544495735581476973827276225866095891535089040279795165412125644883537243684790336916674615066670496148744109672250652415198778290760638029891894217221739071397922350311769991395097776453304982865910914355906513575614601653022800417047700426608660823051036242475082640587818533934398290791309498962441840609290243885106531608683124779874060204051382903294977970681441093136180093004071864025908990684357683518865852596215052589234581825815474139243992930320580784766951020120048163715645823023610284684823537507347065800122715688266370360851199205405370186632576859912518142692560392829994045526928139385789040075595468460325511214029530251804468521286435132234575918807174725098610616443214039299472770921092229411716089476202711544585814673541317369323504441499511799081794919368928023692818109988450865170786237852306896913026118374402010561495837440771415106031886145673110431229525398086358088384377116326494052317802497814516677034722602490400844508868784544145006021145797637118071795753151238015776287263896692086514246299584811346914395085132612330437485272756073930426243304568753364032047842348929663873855482459088793872909548685878961483887712427311032894239389072739351455073014134995925366821796074692590958691938779575711171613498577671369495887413529950073406182543829667061990060245228985650851217517966016189956867797956206737058830120792597839057698399524997073119357428715085009064930632884972056582146022378500692638782610315373515758655602808235474237408015896655054074941078270141429124264935752715760174676301026423530135932631572881610966764504437528467461723527358068270938548296249911082921745547787815715924706693932548883118186566948822001033602825813299885427802199143669271661684582952325227382067204829604598886323872504844241689040628594927924770608627011374806513098340805597827912299474829713900965707150375437832870187380602508212674130807268255574831592648253207742742660796831929589229713803381023579187236789747328722777231778676836245303881885675020465309121348877377978212484015719291220213275794551212650103566947737123048850178798561877338348505460812054100430659956913261056656251890747932237366510141777999410543841089869173950643092222555026319645474794937139678191821867711522199342611507814893159470724015052533186794502101008347860118843259067045488179570552314925316310776850432328813181100654636913307618008258292079194338432067317529047773387601861197707574820618443968629452487959523348994807369089514140433726627652888796264563400837011223827913351464151543251987500299714631760384592701928686315846527450313273527556877385370512296044040149327345315696907350348732684361575183242396081228458045602092958574997511177695708918758409335923242415276451495690775518852569388846206538412786273466149647887920016401759467369419047098646354512336191128419402769635990715333393745194311338164762844083659012123001806478617573744802531829071402687954251893461558707458895677189386727949179284716492014616384248525155662670476823324504012835704575239271906232432806511772575964778725936222731031570411743387586326202161020740227929719024628972479249840264107374273339008908412188632879660688771654487658404061847375044511411941196558196183557864961195381190081343165058750911404187063899483239810903419686085568840203795318180384315435562335404990471065450414734887686299154078552986497158569624581228389303539054449749539009771135358314320939586328805975602351638855803966777143543023445281332697687833199615162851060435385559034069761101325245011903417194093367984834244502654879779608898099339526714894926984798630268240261930978371995557260158550490173536207893529456057257547626380143364641659337915333971901924976657929280779622630059528906775339792269129340215129802273906135502804339910388161925591036432114660403966625860186454462122824889021031715202828741830019774792936900895120835194300923298064031550783323907363974931159241594059522900105671112642843967186045743146826447471707868622709590071603758788179423653657765865386478996766520553161918663147270782330762786559159995244176834920474352494995128179510971445030341128618605160904230475627779342132847107962361821576320772976353925156869364749269219528102111562588502661664087743896833761235079607049468650219806239637832395094083423617848162689267910579420675126610888274143029723257239926439591749102765428293614216527619604204535141033174665201766344894896167196321940713371988352685620682047443925340593983050511483487034599833644683557945486927819678884501260123738049043002655126972634588431225549274018704449420509896117756753966411637663540165634492639606130451238336100431569496835453112876530447141501596741858648515408141053191961327695483488155371969120295007832386094356223126228538158286601705890292186929028781955388134093958606389540116953580377360054175561783499173709733808469658257898065646920424056250367947636563606325898059276227052805555604124177484822779297121713130463141935123589050714866024329796937648461904744662777867777968274777720883532479482975811652467260493005026560348143339997517914691320734668329437912818813960418015799407759323795591050305989180003417263142528842533735135328008995463025412408420474244815155892215084884291223307166927980344765624356530225560209713199410552402161887660671286881963337686185126686727231358983423522823755252182435360483071618768486165639616134238379498048373294956237132069005113920360626520312062869296929535745343365393006852409773187373928306010127922127793873695615623731477483952111085943749045973065766292880852407695523129551923303805323327889579311429460447968349099839387766776536530994937528629417485100622104021634562048904857142720791408983346190617240704271923926185114080901393524333452713713552339178384938177202203068963327781309220136803582895615872470227855015026202340028185419480887548786897877485440426681647559884074944426964511472833695981799497776599234266607090029136475181999262622842010183801685465588486205601229233610412273636442142606539103237864090875656091331452045652635592657140254841878633200280647800093396332581329228004939101003905962661681424302765430144405685424162591132808412602607980108452412499538954364744589600147681136045720085216085171414674244835333820467749792481285726703856280252556772879283265386341669502647145656490040733196811498222183937120636738929281872277671716225010107182120470373015854856973640297056163859194658704256202022616620243665605913824272241671205290029304300952824722078357126363692906353219109759345901169678447748547927011700494542090175920463486758089174262488726561126608450862563727943973693357927024891359185212603880173393901700630306833287534342915664858678689496672718294409980269847819671252407738799218465013423796581450123517514311095483729842345276514292068521619468882725416767776652512413124315342453891087619445371680276165845484694824977586511432567697365365481950141655908602318815192765580928819512511127433007491686538956743876002100406071380542607434605823463569745812653441223298656620406127375441990815375990563030569384192069867443655233900057403727949777114237114534579924931210852219136006191511737348409011215173120331214967896344242142093458382243806812742142631265569986653458817044037248797336422177918116456961917530976592316109160880423241130348196948940369228661534909165027199515435141098183853346993183943449543304259742970190622002647170685445325479851327962993592420807579336501637577085880508637928283811442659565170196056376242834433959922641589016914648529100549957220634913077857314588993663404033946712386234379603942956897120644833441975906663922790036362058193043231198913851807673747422532208530261459792557448601201422237268916970862397983926523254349063231171125994705603990685545407759680974820802526137884804947335729288848860970009697834738836756377985040198188703937024859446854863810082955790763216809875162272981904545529353372520059459683105689571224339092845447142402579529396445598245276336003755129438796130565432877383452409641927232969064952637762001373086097934788600561201549154110438664761136792573725821775887584285252752574007773431574946930346777961502526767888497031837086813500799321479514728901235042675446386023809762746790539449287919607608496269311190571025304244992083067820644216588468760746897080883506765181730462973968738480691975644671344138296363760383101088546617055909964128867711713272817120062874415536552494197454303653495602261137236246137800511938432322334994063862767751914396006217601414600924861067852872358370191446683275465439710802872586268167063050721173809626749168108341365224478647014307982247816312457869634150884646225628796783567279052565836120601533314194063633455161923046510184245366534569744609630615928966496603121567288133931237499486506829608698590771008054602105942328388616271653863592642412249870741055934524749599354863968555114461396162669191888698513001368954029648061939724418816918944850142348069252508250924391928094681226719063775516888846715862908508652611046502740109506413363172435780902469159382524362773805494827546688055129936558552456652281750380229990849434907725357163950449694995199865339715128890738546937668406523688070845136565279277700899318478421394686707649817437907064511342329765470327269490556022426186966708128942455712165262248023361830504493323790987845777901857288076077736699702731270922260482149573333036888134825750068770897713459706876519370485562800575798488310012864098732943066737432930177463973446030021940697235697457931803637518189229807641763699051283426250473775857597736578997244035520770526499585134977567075690648293849210361357364967175534072988777302309643901766013211592318483882533072581526570593425026282724769771989098084689650088703064603774647638217549034279499479519538504686785862105827651707380183780115805876185410959295458698961377036405997026757491025598778654888475783719486890701021539473965586896005706414358924065005517063775270056548144251900953702961158222455713542103483444922095443436369353811734503139793018072655499363237735170960888691792341164008799190410185706708225810396061620900131053032435121658125962767823893951333463765950886769884425336187235352470724767730985898685296161779050707496695635135754453023674235041835084389361190531106039442502854360622096542701160896646151728396141335037479785942299041489335732254602723423813732442932282739262425072096007321336247069310154707927410598307945183034370331592306258940954657951464135012148947628460568026376707216564300865025334084280295357096853025419236624296737764841931545732090577405287982383235620843716156482229490433937369591909391171079849836639044574114679914452506289052244510685072342382772902818604814189601113744811491301571385939833916258372195816153513006337359958851056612149011901580670524623066147513170399379521697936533565708955228464788267460629664924300226958097577410501826175816763556955681680527380762140617335382970335433540660564136619731939418942090721862543675217307394960750890891855638974427116375296861100516054492742008684649481519935921276214381058776760708678790807857750269027397549099270800464997963460312087360662986748035899044328107086114963825181228099511992015241795397065819207769838808208634468576451198764691615635160209865366552176016149183091621545336320071098253393347552507016393509737198168592157131561731868864384018044434467868789810140248253743692829001855820359330002429171940779776952760047575699990051553150832468288613914704587175824659836256456269890126710408280891225059846452319582520846908297782436377692024438033754658627368060581817754971041345818797943084622785087783212830605841598316192755707240895939079280895348028679710853949651278146865030835525357895177985968486779830275360655836506133710201587660007269528784529358198094738785634828462364018061727856245699221215355895358600939496054199619247256724863170604467030558551174749000908008691384923134024089221211292078135529799574366094998657779516469650808679554238697403767997203329692351321879960347510485833261207841145327114172603025429774771505176048413647811536172319490571465174012217428139101307869441474652567989882913987512657543288245432219402086987970038086476945226115533781586388403407055914631549378966295555366339123056423142249061410992530640150595350780297621257619100863897629587879189549944465925578559973515380966591298986701390930097185743716884459565985695496439336170967234505073236371100727316836719205161994783015525134738588637852821717776789871003117992793818134129449409869425076291588218776032316252905557218785082533869881050155830473102132457404935201463348331942202062999168630274629982652371128958897897088020229090684848355185687158093285803100259090844851328342596169667463602537170270289241953852414136020946074286578167778168665097494549990664948320013313807293445909630552726531528232080639310663835742195344895325746068305489576950292300289118628495055797490234129800048958743724531060558259051023550660932245330042379951516485385521321609623227441453879612331852180807175599411764809090254588338497622145459247253362050769821627156243007111406038048461911177063499021066250458274143036741218318046603787906328339560389584185751631413909719515302854236032169312847285388741311324288303074493011675372087027890531955267058119288609671126593328036010595464713870244968204391743490517850697550595649738064771330198232794311436526039767353405550521401638513123217816947629206912775624143607578336306569234794430156555525126899849935696614819485433393096829350386163209786196769612106294261005139051015307500426650357861587051426672852498187167624227662988402391418224463822367953348658736076308299696678726078780312213041830920362152487853011190199914785766377096729463767733716238168954499867814161710043690804039900039335586896381716165663739648547897491025501740997154473749309040048262195111936068627830010892743696429508790165863932338528186157039599291334966067018058659081067577666980888138557167439035836446996773816672876796960940312284356054004548679777454331922224021986003180321559652693806639539469555942180684599913205984715576360831983212751669769955000478277245751687575923438135790647902605130458977970041608361096682274328792263097688362714271478644384386596631012181850909097931322210792459135258430685111697982701737405643472133721518028268181119394098657460017257582553062306113017071853890978298014820926053734794012477475949396631809853360799348669625491062847982666519168633993275433921738612816422092789801503004704411925516802359231072899950258974520225793313844512002912489810795625092513738409698263936021484940462719615417724796097720573195499707180137455189482028391637881150756207579291173505851730326698670506529235967657936460905730481076971090791028307636496426095467458223033765654993755666693501994741445101430391267840759769997720216830936458321694550102824459081989179166703741185667309059961258059294254630747744849480378128300575845393329911395735978096063137764636828904055705675641899584226135632151721729591564638005842988434368421539545028095501247974325412232545455960736925637173973112088316852710139196853229042393465305353874365761467518638207549650445221049076478273198569525291497627482930735266921225885998847527618417352928445785240980542293873636579737220660600995183829746440040286813667047316631728410556420879914180945230213918364926310779973860049627724101632428855615548292670489208241425888531728289648200189405728199735595124926510920251620038544773790999918382203421274798782430594072539102456701635253339758415935147050986532934348026886616040896205433887858030115524348178770416481334239286712412339015638926921614090972820852797752624425253026368834389864403928208550095571140456423909455342224462695334763213727724995310190829821013324114209951098560773311304341786193931918245415624534431749216626066990721214907131179009298037010971296707899846320685385526236601968112979783011107140664774978472149504901542426671291879641962568437057467190684804247925356864354154903159168990239850536847673225973174651221128734202209383070621212502043283789137146133301745364743758563245396728282767486627485957044338258227484766640366881629277797830563458316842667460946982642410209837071949656038794291108530106299954569244070260407760813375336772425424488769754132050656512083439860923439987536894582586312753525961212062851049622316010495157409756786585376445392611723420981037302216617959053949919240004057980082851788770703874910862610367903614070050791435232631311716674947121992433371948413700260018729687888182650738052740553148485647048874890805291816174416487662687883143010553109305754537408193418782791139144645557097866779965483765815479739953798061696496561628048915424935626682019494565868583558152803589187189938146165149598451644670352223068263929542426911054867014996760874457580344341571870704215365556071357270269980367976733675602437882983289971958493299781780774506850942238822436559755498454481928529383237172065582750238601395553996831011301503697302554004452650838852646249192039925675934950570221736717300400198457081698989843448246434587516456085727257311628190241068561674251642439238218747984320581890851808496934155022838193392994990171233018660317439470687113139615502764241638629601792593122064886863000586178365661274006656921208653225539467473621131853175460786590537460514954566803501391900887231235589313734947803299965308503069816852913974700886815223867484624143044613831115067971607674134919691034824337093758148804983342161487200373904009780262601342773373463830009723323227969523114456031008780665040946115363810439206891556766568130718921991868796137785110849211502889740747937757586736966384951293500681040085138954726543107745317911897534991390117631685199872497665812868028165323377732281363357925318457368143843118812803917352430058449579017097892949837152915486148079671400426781641895672225300325153685007613960636983918569751431485680281717909390158658822437600577586129217390195718640797001829086007629593094418297855435936599115296014593733868815270939656647055102580924324546209901162567470703880333435326013918714291070865650013456750606898493453177777987113974798963419958404154857156337243692252436594826005279116139699452886396314446570632256110998778597225636148765213498871495777807875436477253476349508041747811882389591560118470435880550702859789832311885857041116727614037669208997975667353778168994565442117855200720451412042279914507992410657373178223855804688617527721211751697064621646765608921110883592793609258964658740559401787244634557099311935238172965269080048134664676467943848312309655741412035752455483367993915004443473306693688345676137096368362327879935438843354262381519785342182787141216514361292885792912869298096159513737756764190687696464163872183021206887386046103384621693703704546842293550728184076752540536110502287557522216449738808275263883877935282265095080238299317389477671308997054084317285963694975560466347084092895972749902086408771761407102755958920980436085365175749930793025989920950911379734080494756308005553719141533439624159137866608296652703670144140966420758569641772135445674819761279637514921912461913907249118255259967040112059896188178324899891217562442655083969696034022508685247033848695944280200872345531943401927069023848791434709576903720181191058728478754804477649218675426573861894508190521295856293268443111420320840784330621135654063938569059626499575778242315761946780124835908474740252142920614846704154677208192020305858327479104316811799943822180686687726279368600564843741238077145556064134798166369723181884205137186486171666244980410676103429427946671704747719410707942489191179126873666359691116952208531896171925576531009457554802065103714963837581768176311945382226640669093446868673273184512983938324756941090903305193895667056276537022217207484866874323048479917307827677702219924790865196135652330347281833252771058284130387923843349253872879284939872081502314583637346437400619962949669093749133483675767430826464030852412006804137661950894565002299491079655263783343914093516600050264769375533267644902346883393996718203083534225421742107418403203597847215066641123984504337608154776089216141362646173106912355835783478741193951586686321669621942296352939752268281542998604256099305976232043182266730828731884322132525210934814657346257473545100008355428686988692685865593434585720833893432621243710056755702739676019569126069662580100987075148241133146424590292789564138745525639995098978068853874935298116476471223030052721951549113381211690423787945318775117279536929419206576081525406205274473129160584336329432321123681901102972218514728076176491885441927294544314336025459862829550969655893240639803792756309496517258322664726517056120868802520386251992164034856732018279713604176408540412201749021708245197157360065949770062245530398298650728420974450092899071955871105172443549898008370252601768582731641555282792001903178069053871323963556905691228208291495028136540174664763718484431469047587195177302600289936888781951952893840957842055912922273626653165424306762389670745314535839514225912536721446771779093736856901911594884514115637410008848225247891011929503293503608897746450384851670305301530260806120647643149932000675148954917363746979611155359630079138394097760726551397100445378184896751274678489958027764859919072773453231909437384107993155616053021264160858927910129326219497344984183346289271390907300275197482299737434552169859544500201042041353819345971812186191934355027679043897329582363030853924803601019628583724833899496943791381671477704302592353495114903434971607271242538121496686511334309764887195666929896414016585292488397024956967912416227089587979171285991990802045645615605315610149082938270866291323995431515632813905926654231408135810878714101613441210602144830235826902498065262046085805109810552076282227216202748487458065100899710007476184120295099513114305654182194268412356787865642421612043548874812188195891119549255108750864059299707456328779619875231901907817903924436548937165372594548870664666957162400704969764324806731830195029521734399306664310918475970848546934948231687599399771066944639409473422336242302037357154510203616634658814021659432877185094184569103275258619968062218500747062593933958746710919312327684891212217323665283515017762853945430728611630886987941479508776322101434646519706079187380067115533421344431646674901979229848934675802569601876014508994265582846132673574440946561591999014923663263266626850552182334850472267570816856237242103780391599614515794797656434077874647566691438123479223828954060168780883691841791477175100085452715845365074559162240744210205466086145046034213608925471490192737236947007442222184260265515387945826238380130239088378037399211198069837162676101960490743349275631829164878007051063015724603401471549365194227844669995468060393409640128827518126493706225633874877392954937499085716578984532784337498852276231493928633518896111258124292489474682825053164971445201355845126451558973587113014094817873972493337166315519963785745130375088256109354350089229369538036378679384015403522896067819179879753643664400400818721965750111545381647333498284205708659458010550944227483080461931293832848808632808777042146187307789181579625721075227727386570425654743592472735908082824313417108326221553393156480384667336328846911319032626504295743557858246473387823093805548208221298825500261979581542981787874429658939921633766565123808568954823941877395043832152877891754944244144236377699654026740777353432953383920499486059526747440020653800572872405523938588824588346157306643599892556605128567089571826816100216997866237407511036013232045337036876743440302097538522012367567675153780841392130747141509223989568216370827121750393147070836968191100084905938237990814823802167497765830705221659777699338215809227586872833754136448756080448299521447153467187171095799509343440243791059715222263987498167927387697986931827371853593932173521755216121166216981380613784243084607134173408788882512960489801131140153504387722481460806154012000294377606873320710167130001530003965734195913989983932607610346210194027847751913424920906874652914603201877225000973475476385563505686230714406318034219621315157013909604874350452422241184182440988574378702432165115101905980892516467236783719235683330029706534735802235548093619710456860388698715944875655986280935030650440197923648840269600218632495488928335801415277621940474230110558804514348367865474048864915798818170768750608233540546729646786800296099167127620564984489373855234050209431691291444264681724269791967116480269225914273969009021692309377350459763681975103039903007492746539407482864040500857237204757410000204940151751768001173504897324548369205894858517141715926713709981683745245401003149031415592107932449015745856320852195252304448494919025537570850641850774881473990433129363769867495453420477730192989079109544534698615400229887785792081845901423243467298130257755736179163843512895519695328884509402929501135250156146500254622892901352394964971724254654004263693096099285781102020076706693256045891613895133503243129367101612734990597753282661749402863119279146166208095275371836383494664677321737273178637916998930245767514706555503795869338684744271063806216838103121747870831013896774026851707864231667430911337261626960918455797722147565082330620150475871195015105293134679653559320860107834237986265669785182568592273114505275867463962163523756154772413920316302510625457129969798188845257083877074085991754547554557264897205469950318921479277884946689995791408313062785666880229386817780681687363796982024163512818998656227277720423968691782149754195224924453899641968649654809882633592327875573752292247140000633857894954496874572500942691099981149325899976302258018003692903910088120352244478484512983338585019456582225894383353308837353371458053623815087846443740422273292419016083640602488800636221489574829520709878285549485960127664927427573669290217674692694787690100800279151826225715799001711553438008193480494817723879360875238457856308872723839222641241137367151131882492989351107192456872405850458072700296690725400739356943326545400454416036305443904453421040248856101415002953917881040168178672415402848664635686166301005909075822657813803570268795425633476060470179135805758383806600361438655567467973745377785666000526354958162260158826290199935739622145870663447254227065161848988585205423986743917355608986244478675104678422559767019574902615279948999448640287791177982501034686044404372910244957521665008930296022557004765544876907227866495045528903900299876155495534429846924650554725720067490096201257237729624686633765999999361125716823719572367597927998161970890027771056648874727601719812112454050319221050159704666315709113049367672265673337859589858474589955435564345263781437706474618718494151250532680729916678633978951485161031776143759165569719270480395881886456491465400440979288340777483318358768893631240354479903949318240557979797544859296455853512591788532082080690893581113770951398117732848599833165709777876283475570921487312718629898848242247507265087583287714320495028318389073434391686139551506664187636005846140551958359026332066253449181256946989266169679936973391841440451391757959614179195186581597774298901337097700930654088276097394294868358874655285011954233343623740226801804016772460086398240458987213463914145409113122296405444873541555725743526509581240633045408218544825247159052877300386294553024766132132610213694850732179076257139136554250809637156931850672641421458092344931329385539004409812163876360163652475235289674755657633856993426520144034248036232951501261794539773632882860350824770974105373557733228655299405760035233546257235646823366860139550726707892094918632604506209858131471066010618278082363051892975387744371925853961205785814632616535651980074832099386839200027020328195810278849014598909269997678275087677538144977247156426537156133559878636697726451486513987799563832616128064316741140943524970644420047357816107886783715997308191501684094163346392645111788405471287153410572175308107693998921825071889100861285331905482660604104630493016226660976998063224636998286092408608354594445613668747586203569364559205653925192355920695122620059604585625563745374383714882531703923020598719485909349856880640424315023725612775021411062270243653062520338063969856528237144530773484111421311217850106192242886871736088678475286281456477285985436533898357977331210830602913699989785232704108865928006378604485581487509673139710259211814538346711288848571649958238606939718071746747315719664325867702456974763908884051193842317107212055901347285450509421320092658651795653144450588932622554831915188813357258189418573508595986344420843603292917651153728334836709799827427278510910566571852683872086312161867532214608689113921901204225568201893580465914182138527588277986210678192514589194838993261161990390000312704836001811724437421239961747259066182360826653814947960822368353077495260641165201347432083818709530531015431794726231937840650525784747129972227676587962714168837914806889828418813531528749321672292525474902567054077916971537052121115429346527068773553552886880864501010384588476731386553115590584609377523446511007559661881227434296719978761761338066512105317772972693945999606819030888534728224995736692047822864609104653100305351465418734005783174571220065171315132332608399316974896709487347940894012445941995385795450577833046281151354477240964775878140210891381309956545615239593825210796876996309095345605179585840578474473162040622068003667846159420622217385590781290404632221677884865451463244454498071136855878711818225590936868786812962345592668642476970766871382823448875114733031937054139005935313174988901479523673752320205180278358868499592503526509962888897598547882725800709230589870518455022494522253672920325058746935105602721575147102008511571459432989589116649000793282149409255116857672230710588770283183587167227956699599035044738458119712891641439810271289484993942397335996290488864171551903914373954125269954322492059218685554104772185517415143151802189522047304237629578687939133596714904548708372585293444548985259016236358215688630623619429442582976640866282388725033096712926225986798708946095495385516883902551354759534779592263660988253470866643862890111896422225568888084689368552015333161283912385247577262329489258950767214732728443093289645934109817054676401377818167305269451733948488828508574432465819581541099826660941010820966470748531451485276841055641735119883499884000268980094201015257282977728928003327988301130618318858010101334994734542926011657624520564148824824732276584421499629488770953400733597117921359980717679468097551863010536663941437585140012408581093448350146657273168002935008290547473108935182690198755248076341546562938025913337398301845213962298042957921569404455186507413012805985346184989192819244971565874943190573792114487755398843761845309811959393417756942180724254673780123344051565497093857981223281325873896631562351642640317063069105130499624623525130142184238212416748379183072717296427533295789942293830148861207569843463073306364990690060759268132949183087520231060525155661310975525629397860059930526961280414475443336360535117189035086812305950360877796058083520451559219587157075903156720736132387018017947093619481838397653738430923055625713072208656202019052015465766778433749507295172815677888166928368434339602835347785786193284400369172246726937346297391200981846207087490951876276841662355955780971875751330386590104407957182529625636229548047127186692426152893804681577470052416416925059611423888416840264083283180468536370408675772401522761786565823107429316330040435272335840657975032471626386490365775088005654768183687620067302507835057216344132156876334833418663621407804020914665175813500776360606191761871459471659130338137831943570512566732114799009601840398228484599126782622989466117999737491018885184972101879169686162483257667906430650906306736176906686056991779469441066683633508656500507898709814129250766050913675209438741638195248160064140106062355256984344875599943781220745728987569029857576889099523163474837784650126394883020378672640137489948575818658292147392450320220926940376786020898658724491298111206332372971586329605027828856476633046588954845676874429966971321571117400161477158726444817934911412987888865561624530329956375836156799625613151269695954761483656268878423606344290647532882856030370310981286507013215938553424865868794202538048797323107121727636229221202987352384089064964547855481479844562430771438136305829507168111340497454847342579290491603458011816218130062765606079688002810791470393686509332374527421610360808891868217690291101015917684589026155381834023778265287731852818853654171774905758163520589729081234428781823649169888253913196262373692548190150495724461434262928919653948411270757137714889510314883105170636073075958036500792175406151602000268463781978359270442675908773241084632809274978557575427310220969021753306574939597005331425082937317944237739157390199408397996688696201986551333368679205228334180816630355033872466937523363144856591448852806781174791731726468145701265004210778407952958596432854068447636804431592294786756267616256361512580188598272302504059910933449716097644892704381240419337001430151152084315898722757629875730804370183261718321865137235570711905462228283957490764736878130884771879779837894136209123109984665881608842229888384358728115486380345204786170937977594083923033276657288757517479988631106973290687068432099774013214372138434858612805598115959630332578938301087882865550758266948501823902045218210065592752187179630159903566600517681190540679167178447467475691302406941013577487365457208743061723584532651624251556621894254011050735190362661835359918953399088864161106493732732767231900618240722758677465217362474572554128941958216444454838556647277726344742015509330707119519749853441587103304586604220710319436239098661765767137639962568252629711526319885667498694814301940187857068378952506555945074550142518640141164558089365380212281229385083147740204495064755569670535515459915600688248540912424364009650303724415160009717127623298604430324453141192700066450756301188469639407153433729321412928401224561255748869223193571429722772849189708325122457414154931475078925635340283126951417090475517760723169174380910129951158719005905164116204861875623039319029777824329479284024329345798432831452426757269154556544504926159747824324045687117830805933501141257053397752547900292019553003630874853261490581871299131541388931029908962483257218165228491398406947137290417990104631502643025388297028690002538679635260417977708167506840590156640405180975528540171902759540632414398327295826402073580054931433247105329527870537720926942169180924974066614901570230969036518403001326353172089485050008772152125683416392206576860849954225325888613760118104624199037487117437434628219142706194432431257078452051595265208939290084067221477097648061276666815723871152700658115501458096792383087635903113507121137634842439761190568707775539475276998541006298929932954067804086018764704084132831358479198803676190919095818371913799364075229913721911899939208061107415789319281104908431130046242471962223385310877545279064684606154791703966242575854614790426059184126144667154624101488188639211351077566286833981466216244874710239371625323156972762928635233121544292234191368481544807492652929002734562879539308317528217642339740426556726787926367428881015710944618972473786775922088945478959942999638680884733167170257735813528851573350892969477514683413607672340766309806004941962842533006498436443519808026793403509388228137946172928818884973091478381724997506868364599911414162295433275884839060401181305452169347869232414887768464487524918040640817201969703651408896997906173084966010939470423854766719856557881195467933863396425349458698360255891843983631095481076035314898202926247103514335407960452132230372689191590722263223324935374183541100017956265315919185131044744092614709852217829740710363551565411785669654595068803744527346423795346139664520082330777116681215611976756113658342754192964947685713716074097405684307070145487900339582182180485264090807281231297264720478286989606467878160269122214625228421787667261435563059404492735120160504081727917337763501012418490488281785697249561276487862581543661145347720284562987183563970712783585609851920089476388878020037154326061894679513756210725998893691970968453106249110784889393916019967819771168666517846837880963849376073265662912391905253045701122359421283175503412943255354957483015621864169777483568751334153418101352682387743065646813643853902830924023263523201481253592614680857578850765251807680343921689006749800953808946667927341466757443384582463670227614716028109351903985597908270165765881547814599997966971813965471516750690355319089590032940166203171175604353629476330188776978753803484189933327098826417932345349776390998295935177176846741653633246689498032379237583304961367500821785973150470956054083852697257170975476655317256623966578889094224460182018310519646428356162038069653563891379091997802658354892249770177735386707923310686250251836991518315932916314147562569191100736619496002464803859594078194056703859098731618941609382084742698466226562983536955320289961300319093167800314906235256211834051430998924460586926324537207047027382529308138330666950580033103418544289567935548953348887043685127015233727007095417924962833187847854952669522078117000941331348353882180054598401765670715483392294388039101021328149217642915494205236940930515491465340345963351570294468195978637262575615982377919803718557265373927463843005596714935887459175321522837990931994904458633314332307471504415127556434947172004320343613437030754650097590129351147058671721090920060867893940551469465651258374119269559030535417310039655975388169926516021283444257350198493257548408016741350221152863788097522960777619713745488300196103065861028325513758174478978234701282277589855250916708655990784766540077384767513626652489993300489265964551573935309788767247667693329025579295286070455105905860159303844133202403641209885246984359305873734593079009173624632955538979819405215860371072777094933447641369386543905180004809000178392199889009565943353711442384294743490724388692605742676981527568632785155233346769135623797655088562298906632121391764791846695703544533568525017751353760137943483796215954767097289762881239049442413261631291618951984828458157487696292500883646801024216174993640870708342109313520282987071533279214569488382979626528348496460515797014425448273657789224227865368160730579461389464898755321805469689031978129387022464872901372913713439990674632464727211430837712882049748335173134558434387805953622029372301375712623922535266323350975487269163789463796157896072024175308546696500278324053513869689935308345505199647037645203112368675183172469912532906176804717397618901391146133057525885006337072174754724655180787039677787964664857562238685019003336371982284353427263962429905579794907349156323839588759814517136227623799943754618147332121886696083899210365453979465282646394286269804087638776175408840991977078464170799043602867238610403058300041253629499887519266928010297062838865287874697121729674747278285517312713316469706573533911861083002708964705969255922121797120125629901764232275687516177008956969176783663298007561587906062891736451192315814087037661206547826380900338077127999107325587042905184660529800639827005468496974947145424602556252869240841410810110765627914461101306355313099853648880210597392813922648985553526620844160957643318709511392501543003793936756661279662432694393327058549735162197538368507177603517269260715046783890419526453594998490162780294424664569747236949492118665137584435342309727748163844150820645337228468711943125427081848368155086434117261327712548930785986176031841249776536057519896101711060693350586216090448825930497116463747601247227879570017236985505819115111752661117561504802105522048660140669257836752745487004493067505374976023066472293561083096181945210237783732671384806104581853691813474991447319032278443943228128265753618038601256254271708009814643118846576292452566665389800619605408837263848124689112202223123442988306467327567532675730388948140430006783311800099988641411186937141086765243062196494005272635394258337024670143180394890934733861507796850828079572170861913973939040328934759246514063057970948532315219903599975702344306519858721303473614315561758818629280675111666541060392945003789573849153888831853434734688612195872413486648526693409827263632853512756289788003404666713800097379274265193671652624151505387896354465805590486630534314350797598212214145584876187991072141947829797791428616673909358439291591197738619550532028542633806669903700732839520354342624318373153505112851494886722985959340587009926088702088817081855853876155404579602367637051585404656469403083925035517785503288901654890270241714007677854268803105718507689750098625677024059909181103769515419562206898085905297653190010307335311479512671742708606479772609442587894083224628490118535459576364811376065973854043913139516728226242750820420625193935667592114471626975166494721398542961107943843557761804033133480491541078671766891529406913710243604993112726168558860944227732018026266134065088922492721445486893495520713732138686462509836763039988899652131508413618161989061950915099237428336932475252452452178572278431449847263019377305388840342930717864334635855622317817007026715660012553944505323122085335778976824321541527571582334896779922202726495429032668077133587276791009798408265915751314896395259069848982589406131445996407916137459168655713506506628303765037996860809731388036811115713016148760564896251776736431152966329049993489461105004348852375383542922320787028597949814127965959259570606086288585083008887020241544951496816280260731668216646104800346031017766357258692952254101280415359967422818642354799161874371103145542702857776001312524199182471477818151904153055272159885576686173643291568161916425192300710496772234147737606926727959908005712501151588511544488333477459440865483710480608087943635930535915103341123263324416733458510805959861699771266108148075238389718777022895020112183459663994561884270689457041563419382624392468601221509335288169249915200762361159722913758403054925361839558992134374713142392729408162528500895206214490484673605318152200590701998587972920918046521434924505602443436789827117687183551200991120695437743025494692063939686438267428519630235331629011025433743454744653304252591860215788929131680021795891486689725325318446467437944663135396747000648871549797188846761234783636608941875768319355114621586349888716229627854213919023091419064801728109542369512683153710559850125072655985809731084433062044035034678139031963719399466123273279052713763134275862531924045120915950165385267150133207477881418545222539549284317206728639593175939263834351682755969287885991619397356844303577665632770064545523905288620858788031350667018733723093245119113717748393312022467193575387413850179890707936676421340597734595481823377599037910628773270566594805416037744596535347847961781614195973538537808586302140641141878925365342794026941948890036936312452816613921335123828742553447621332749847261661847993146269477525659073256561971962431831324756429288967326721103125106409881145741940974299025332833028599036094596592555532518226360728495457387927676208298482607682655836592557963023472740289914815909222367043428354643742953705530023024304684030545911063007295475866202805989786134455681166700893262529103866543911687131258088745429535635094245911626950861901506699000764496618241008941293053099096025304634876587718910387516892040300906142175802931286556166949790172511051480643333157516664570400576422914616900642995873988473228529954847874198203720568277240185687233865533929259285626401134819107916246638699972331613924951275508721220298052696342080192797459388125775108954542563491419298540305902630162305123990437226401796617282693628079305790789805199431027413550702467746206195547027308589557798156690127274765212265668546607048710582603094491726007942577482062942632423926820419763215613627504426317969159593096269285004978081907940252976801645267124913515611931146087466340420708997832074773354718404966754075865794625741587678470216035445222329672916200809059900093267181438881104336950158188384536306888656351344923891118566844983384324102604299049946888300179439821608261921752220938399839397156525484535543223596665385373566097032473275106379945322049192202155650273174949584797906956461243829666507413920894103308986219429891575596390543285460625107745720767988042325952497163431481911657013326799665899887885711488944245502947151579510310592424065692832169958135625309996011251377471072208165797078335894002705328811337738167091348649243672610714506186096574797305646563670337919388393437875874776295631977216215332265030046712747931504572465109709257902142329297479989113343089318012763990032236725652681951592943589001731419494850139428177911567839982476228412380127550721468790056326270894120635423087119086566236792819958990812989206610271679168476719939389478852630074317711145146057365709280002247023305033018399995656672375799057826397627675897284393542735671824713319260676444262683620731635712169231829666109788344714639339205852100452561681192788529208077865746285116479726856205975491062972561735674076757451642409063517648859278836552261079617706832598396928670843845714246711455915232946884575507289958263978013061835569569549801018507878278137671791318698759380155003012361123670057544279555801685079716387285635429681844188433244120494912388327141667009134654727686696300454314323698481854732718155619711913737924977527677267592973075102439121866311148875635214150314327890596011189670134220445081129187735865935699939266959079705675032092469134542516139471213417471513645849959456281272361689572198461207686593233631590089375180754946789749541980555253756916306985718898992088927984979313859851286746626476137788830597286836967167428498059805121531212121118745574749684472495322039299389144053853831244122914343430480129059361672288830096115103550008734908469596517763943253936165841025674264332030050794653088516582595067983000316532628228835747320052885135798907853736470946031254738724873961475093260635740348242985281558740437344223941361454902426820181230401991046398801009230008010704897507600987836031619256107276319602527351939078946285583665931135675377326486430172575623518733011419594599203713181263016656078386250331417825072890294229255413935742154218047063650761385840284933890904033689802023406589267269957494050657806629226999035071153327918502008023395930805606403610328693932777200056511932488219533828075427177936823356217811859775413956062836981119672255547762026532498770262187543550193536893638852485992725539909968770347201426189960364114149612916662022202796840557454704154939432294283123805855903308827154616471339957243235455136120007334521412831599265765327053406888518312101051359680660276678561968657790829728809170853114996164470204536859405820351168592876523312358169803085634047442873771972841473737717735124597923974984478499266000255203543990983559974602525657090983064848213007827163043093702257721280834146493714575121253641674761976933346699629870556606030846659391498363341683415130371202997647115012300792345584787714018707989449661189755181212324697486550489525004259598151227034636893815055320804955785831553377768243026683381670929589070942092989560265007025455195376849831510297876451891351376587105098794789293957824258305848374087376625627656398118543045951242087714530363355622515348098420592846094056457524174970337799873542193315627971133571474846769471883741415734500152664508919506016233985952266831671904515075888124276029061456923152147770254298907028063179445132466825441851882642549223135215043854381909897142007055423685802863750684950133317651955779107362022883942769513959564359025297288497653297558583436983275452396030787107336501746701041844013688310002134981447487749239728691887141991558301833729764174695116025530379357769549128076075570605874290180140454204082409336259165806857123283508851656870058138648908151884021093748129222761822791629519414534687419481891289575245238380542883682318235815243128240564440871528304792794202223262791029859893957618485436535313454272281011266419527722225182252145198812567326304723169952346576928408766041781748164258528149728280104423047862639906535569460050213756165195212204743464230043687196397014005588345549666200278126501492470180191604670998169799918479613626383230798784859028137163886165524755462701190222956595430396941160931416580044224329606767244147666422151860374150221689916462773097363304910886914597905138664353806988628807276033683657478071037076556896536635627038664714974170621653931650765696841409851203956203034059026363463801510874256618275802687936092709954433716660788521305969321771052276482691280063463229028277910427947941174400347933658911580123206407333641688870730491817108295345368706705995474557079294422589743431422651294267207276293916808479044666683711337916246875492555272655962615769924090891862698181355382744985121328744812362216062025471768242270124291881061307661017264404954502633465707915636273943964412622790338480167921687925542348582082018480702126402953228499099669595853716146512839277060129420800473476584993537051670569066777342655700791022283502725571759246892037750305636555879947430531011544983490497986251417052551736497286349632628054140592914441195034582501969925318289471522656517219977155748773539631956749746158534033733058677214963971574914694081093034926443901511072108938927765278113744450514418139978261245467654490165419192061268579855053155747134818812350098364030813646400799412221274810531936367281955093694048082751701429049195184318559522782546101675905918497325964477281657478688078470963669098541994737339479085151585704382239664486856085694190857511052114713409489414906800735950023025990733981030050146397774633148562687957599793003219237374548074055459135990672336899656758126365037321783972535148558866450315041339701568563682277216766604399181004852798795755119808080519255653818549268253188712086668315467132045642017150368738259965374864806616730027306100639547792987031318568894344059615941806957523596401047968014873514072057450511382812520417656800326470657230414166170239152663744510388572609321417666406358480431652996573429982514693348576889607578061619959358362683847143584862917711223359070487523123797322142326138752855971883165915237426190164525198394914218419468826117000578614888094577768315971010538360285137765836971337631801690246140354909186948897461036601859192958616095673182200791690360419202010484063114076938958204118590505794991431623434152850902708617348721380273605990198963976085609921118339726453771453438690304688873451164205309026069405368010048490093358399380625699454032456410954257685346657528334807965415720104159230205262502029212260314698757855709390741311147224130699666725248696640286899118265567021258446503247432321897292931052637965493237890926013673842701495672535806188362931385519803950345633380280165316447862197015960940583900360553370042192633567461368179482400808924309619966285149757924834858317945451456576478725312558362930020062444334083194370258628968013982584433981102565908757688593928619832343453231111384267820123775610237527126310520442051351720220001692049614823938863450043764856532544566524078537666631420216171303811929789810571594670597866704955660837675357718075140010995254851007001220021832752654921441139555232571379514639202155450511102889234340417206104806804902069255645635550047112145633525255430908474259915189317483540554489368423690939950718691450054423870577505514037993786396707076324608612249949751312834239228466227229141622097992643426867843165442647326009971102200533939178834585160827166527928160034535262891036294123557235050578756835101437871521883860116467861286136856093665921787987241903000948031713675392056762303728222412660764601353209620008146942723875809263573364616201404887173649351199511039264633995093929092297732983448220312799853457081728258353758121283511483800639592938233701043179927846874373082319667597365576235989533952662665856625142576391838404832824927986605843504665576918013906971412003959845776961389565694181558345555870829871431107876164304005416379562029240128251206417375496145658385886445950015502530068961931822602069465506174516903379214366048361846208342268683776651000226336701230661408012066013248236237024875695347249928182549451057981069849827660391518638954685673250888703603276937478649169517668886807764014609129852251793441265269500817880828557171364697992799263444567409783550226307700337166418232670407851772026045506733693694833140430210270368476549368199168709083876043484844968432756427147929190625546029789023538686382524484461163802518713865613379476735715990555042630691426219227897456002273250289916196579401756299394540019501978180777917261960128821427025554824800018668010405329687456095550505468808443057353905760301474156934629197571190113478063607855245265544831472774969457743243894994593901161114807341259186137845842684298735612458895556942517328986243700082414581220849486881677940658843036909704047402667663987669241191563932287325574167973453686750773865692574432463618293104370805170274179593582065873109642014768852820103777549963472120921847359989084760539659561901740455589847987467785190524533053693306272566107621926661831628387045003666306406532475914819143294914500739216347832044811317461870422882194164892607214433988432700959341643786934347082878637477150997844305937689887288694832351589772619879645622516360981677222129568003810578501443403387005907747155254301245553497260250593307809504380725302305808176882763788782495850809644221403726043962209048487791632831790360100887175971750469702323102624110652491546083490437975968869481683558437949494638920781814160645520879351635007782606545739448892444898921308559709962792080478320832710595841638009124274545633353707214869646077851248012698790186757395970417742979671751994609873281890165413130113676541260071022007255735359520831258776504106517580988682778456548493232559752599524104734227650201132040072591988911788415687782563390205376323271814567048098930181058298704749018167662927823298538814051412623926489284098547440097591984516263431419858895029692844643233605043477583066600301813315983580925947458686224108496747684096627816114759369602274608407714580448380187580754192354932605543324531091247578868967690855381924820758340261215802793357978173607248948813835992973294102197068708532918970474819189847937391065943679906108471361279602014334957134540175410773981669916337594148349828262407403949754776943880877767936855608603440262660415754371923562262485776664130497285430954240722608074389742961810793624217651077211815199866065973868221415500114881739965616799251537979813244253076406534142807531142544967045460698695205537557065565211827934401495737948615621181336045611791692493585076950721919908947058339299688102269655351435231828575156953202226847981920673200620334810012042718474874806340276022011023179139068084879170318713078618090169846165553223990914776472151399007799210988682798845243991362342926729514562567506919889250013692611225907720006095547891104644115612222307545158221490050264981787236388867350474348158001816597867715666662506552587108004108079998794674982466415128908436430377620008739738314389919642446340839324436687089899725529477951122683519002866540885321243620287797156113491057855198382136723408060377143102675879757137905275416742829499128014459312498516210713034710059289363998744748553590996648955462915494457507297134588207158667107289446519861294849008856298693566295086242011710267885214743415856519545175186607969574116355903430607796548451334659240303167805895538457804313004668780467591419342948625300239263657230644084284002222800657342892470614131789287505953826737303811876526525401637418512896221892460420298663312797572302485663623114876090919961827226605438675876420506941139609846519922058127834557736901910860406643973394085007130548111873038368454816847946685768084566583372217110705874929987647650662978724912373686843974965303978816302230583280406319100646749441741339409087774473451291420587367204959554264701227472623685942784806997547646694240850334897199537650669350193248001539996090021136343771907139515054580639170742284857961756599530266759756060774644043416818084016333394071655137737382069408145181551702496462846216942522425321436155349722411721757985259563493030411328553448229256467285548138137726402789548451987087990584739065920774649783951219773169038630336835477422724572087512727238509934790301582446526525892560256132696145744916403975205334263841880139972712305252305734783773843568050122412824726243563811457153626511168254784686917430921697184784855218739002961960496352781045156344981300331964586799383521257834132044254718924802676780236134002303704714867111888378035658931426023814661081069578578728571996122112041278825171746184932195876558582660242555424398291153181238960451650246184581556894494749406998778025742050752440672676675520695921468153758426875940743919854394789293057246235595893398988878666983676978250506746422472025100363703260619031660840154622539214083628243116602020105412253804362710917062789482408345336881050318935730668296119583798055777410338162720499391891978107505459428695662648238486889958492549471492962869899535252276877512780181976905879886799137210736649278363408643437864306064298513312774962395308164603368802529120403632584844758443157216793114043520397909527925061625026172978470527389552869655128025052487120409587082261386702793700904646074990915087773705748043776658664697320038623916973036542715131534780764406711105846432323719044327899073390395543980263964109639438724043265170762855599553040929846033479418559170769052871130433767957665907919470050758156898518018044369784251995967105222538072645157482593567716195881463836252754623421414362093203657018702710002846727215434524734441079298575829077576187365473261858473602406243482698902074375302538948063764949339961494837083339758336926857673808094316476924355650461527851780508786594165319763112724678770917274589413562592119678442073715464663124345907374623756330681764334188470233728951966192605760059108774920224024675520115981816782734518270423857654198699342792477750991263036631490892532226751075917272826778298928979456104640286246361792582983571909490845052208562670783346099589217591590663352732216585541419477713189123796093057086092022717603724448226076655767752699971644419416046715905148909350481128234685042126819704735211143923991154110728647275475398183901484726828905339536744771584694992378957183942243221642090554683610225480587059017966750901074952810458681709040572557770135817921028707689313947014971961502802480861667854174080734287379145327214845830983619018290409784028462043000920493992593868983849875295563427065996949403402657697628479689153548741102208282009657942281773983526471323474954891096322362402730499483699976446151908129435297755335583219493157608142858744619439972601550870998559231067129338316776762898563571174159424455963193276872420625878941352952615707731646969080748789007840467382922188500942836494093147432975156169860703875258577830186882768932490868137804576213432005353762410124140207588730529087897174432517557579694764301140796094226620884184141554159866424774958495685983200338029259933449472157093119644559017206623805968258214253538923995709792013653312078345797792832831690852467762992345667364441921591579560841334704193464834582775381224786278776282052572243018339413446673847860878400320045948908719279896054178708808014654549250484851880419975202061352273889134290329317100262755207730693318358831092357672433767106618835087220035966392290525934628965463302347474610847977516142807557013976206290871946143068679433640007048858873940215155510995752352889841360240042897088100556343318415999114770002693708107702841561018331962289193334343571388491917138593019813941767177681267771150826065847024262814580705882804285179443370782190650984916507263900358522290365228463364583233379150675900969615767731687281980236752912755268763643068652142794651776861759199164732296069862500207247961910661863729229203811908446573304409481297684193893212599197859266040896471562463002828155615246620576261421170387233220060990787600512175825318245224468053271869903049502479482712534871597677815402782238687280815270885897356480454578213156526617667065866392873842931587713219637510655025210787342462174291634225125682851863273042094929828183257906036517331145028352486333029060547217550123012661590336652658588791685247414152177197791355447857359956020134296702900110130197322476332133586382923035538349506497117929758243205036066269761971299476691629087964468842026731598677006949427529813231637654235114551548623023219008705440679465265232907746610325217837360922947188896299651606744563696941021548967932074242520457851108633732434886567331632738199378682383166290753823188434666787469443568731126348183971670775924967162258767305984969842681260164685407707266521607525664764506475366151953880271282400320052562428988164408977120334539442609127249435769523952600279573020391293901283189812291870373698764028008845138228335795664787674859627979716945211880331173818951860299160173235040199605482337201538223506331168954933040748914456698498002528091930728401022292336054900883276932462858620168453969473043683859754841964432176018466031332985592762886657913064687779439822850880472847036803209450246595778993096415456593110517089148056326695579698193156333009690784103042989329138761459342723178011541121819470349537914732987758216071462895342594594397773009045759610075801922322508416969084546189442732305871858137943323658443339499404512854454184252228821680723651200111270879238340171807929352407949309156737590743889695439671046259185232938381154450308294689408934379419027701401819154096980970899579042657115387327680892040633448226980541649446004494041857786203156199971447334241029282100748905512297963389301665435644223958926487482717815543323133522925284523301424849703722867908198864398572320298372810951613393344132489667069013717741178307228578184458751688455341778330797320587558349039010076509172235403103289977752839380029474450123081480947765837469518598616554563066215312798020521549967786271661704561588702631749505394735153466697050325130479718224843979193512040292440775638908011871833739121019613713728388884296379154891207614818621266269670251059900352009660195832749236422511172457140410427645176014902968464511071912623432885541811671349565007803302199099636180436373434097773648377690677784144488285341096800304248483921593396036548375850784875329065030800320034781515406349826447484538898881752042475065071260928310148600685867060296501844092379703435011772160525638444893856107132684042426560244869520483693830172700635336185304481145423484200393725985844132071495023870782358952075948189024123621347631937461862232628290137663443043816965880247978156911743409712263503554385035491386606145565962431678089517147191428617661179345349502952134290010717918483774987630037440799067048588415397228579015652322033597811719218152931101279129881124481014723760860968852955338493482878537391298800732047002336589285765988839751315125732085175547591183632273700147958313665797402582682148947580466622319488309859585875371723397939653882328358990225481716337961156458103995761440788338319119086564126169097173351874669502111025668016859287317901105340281767771309492999915202318772610404217250355927606144230967541722916648456451476879981981160315973106749216440811424125384056996643406158794415108615511141887509768938677080588140253205819337008043275784147139263467302611160484090663743479645895976412629215895070520267499848393024927424490890152229715427786124422075374097038629482538214533886076194764991527619405071439391437906494491127616889568741766330443898401451031731066120938123936389185973548932424968256322484347353127796723999507980424772959399807889589194366361415849915901151397019323857980395856238640901899076964769640929057438253474344340416749333183514905720719038323379380160234498507095478273084075074761723420958754836187409180538285990407700410697267937480860394889730936661593876051250732128953388838324767266076119563772537800989862520949684057016395272524768992404954890911574061471381149582736836697338450260183106250697426996256666150696612800102938805915315327963443585169952232713418869633673937137809223494683295018779624846223985279946647376464219431941644896113272388504613518425571141471890312913530310792121757622195922876740775917638537927565776840663537451755142177227220260741528328895494776659337256837523666824999508821018171109643810746166682251945925091127941046874529922157055971956735585785434864943079641078407051678923851741778446357287916129301069779337976730962945412568779047465197445419441440695102763252117634785761417533654598942761084849241131624736435869146739470462020602099201972123330584678468572852255224916789312887467956505926129253615997898032131902157138115339087083382927112020405283128513162480058870952621857849413473610285421446648123471844557787731354123820374697696147582229844830864875144316815814827140617660083428159566789191592796352551179380154738090996158164694199519889330863798302357220614036909722803247826205498850875924333467372917234008635361410988621034362430457748064251422876956297848050676660237530699012506769671957000231409276293362232906546373829624273432453310904186138117663798208975913502767685993008268932652110000645085747242060541990504776612041635885572608989611841163478614553699792556819671266752500024905307992927611661019479337122385133581448231912857659305693344180530205459340029062411749840959120685630091419636970644976604236803888297781841382610539348798381257682758327786796892286423155620139735930484195547867726828952824110417501149109837967336159300605216452940973673219555006685226200193223499958488216230083258460721103970510644976466609691557848918659376488166629285991734299395252928078690588792689639072675086628578942334359442910526672668532476550427285794499081914303687992184289666131863754890524930565986150885022766131227934484785219431097355036018301768498730078334572046759652291433491839165449368905616861550969401375984457243601444552829316801618490413557330481256733116194884092986223611705210322666149040676810094588773290482478370020213256656452439605954601055703491636791243502932398304476733858073249900559354786457077393744403889140439141136280460567605465330855053199611212024741525579312162044412175142107920997036772608611866149779722317427493799256289410020702244087191721128197215081952109056488037557679091418973305007033653243546027541340690787006816543524434683657278634084871216287943103867247134454921621480105441568489958914182002650531948380722691922559143744060380133129688854183766229834006117701785334456580153132264147964881846586982732955810417660513690944349836727940433932754862629600116968350561723547396896759110213436942962512210306891584498658324834414685203677446365674685973496821210956866155480624689745143120888839208198979812194299009666855373864822501324395962073572211632298343299806924592113311862671169059072007421189225626801034324656332415004194634518689551361278341159151933029530737743721937538732427418798315774477568479411851286712420907398184183210287666209870771429133885932050408333109459619795717132825677344297932421948059882419461906956453366876156478181853261432668287984525828754111869914620210513370976665887431616547180411899847264292528092495795805200802663079582178344120742344730151170034141739105425327924746080399997058983396173157886848641667115478821174125139080361922824015583716543535486896196218244468233996908960481381581443197088472150844535577230240676785004153915985923611313398120669194670248701614743101032034019887341925332647215257810258354885606129726174242202013184508038833256051391634883600863388702398081323069553502799363157123894223113293068963294096093101892828080303767456387928918123390395397020354157005700571116586105349022947976387382080655144307513753201213463966032535713230166882181565873007478431842893181079192903949879665447106076010784949689386584595882470596347580730594017593291290349720935475145607200153760210137586263369837168189399970817241649528102232875609081933745157351855760514207000
