293328097777164027331868879456313576318105647567162317767190881598471511375562151078076473446744923949799649519677152820262748675180234825607394553087308157635403063604616861041841085411704153431749636234381695481598148640543644141680611518688246116408979869157977087877042359421736602941691547582966771396322741984266953161427253254530304069571656283203395670911528433789260197650107078352652136667171391113178578719295926325023989021226192943298273889992029308035872868573450016829610714254847108361369272926675607477256115943409290293835397371175572382981321391106590815071114460287685062562555283185873816392334711732906932362051538773861448359741304793939047771975869205934334522278439155686982875015348846789989306200299649748846221639829388123770450133081950193151348165059247267282314871848523464107678411483172828742618867567881990058127849509018089973618796308968319857964364178887227560323912008870135693754496968851771867896122728094153819610868329847787243320430707344862868471021431662954887914454857465810509035299440633753557570112179143915485919182619756818843731362977089485873467673183589481179952567533406530079904584164156498676673213966698154288955927516586717846445198208190912022260899353403206254571096247253451498801235033808638123750981199752920726745603445633630298416215141404540827746472857314348715864631686612341899492629221720533718358687383289339195114935347029017276715999589847441923881773760972249213566874509990098297945315675968201108402659811533459168898155715664162403524226022213629255326739105878709681025643472216322060665669219067580830695237427443487549868546223509998556448863088261481651630236413306659858984127558333843995011580934388834111543935346542592714693265910713333151631616504118167340941412452677454653277898529453041486976023430545780767257137337815538520244402675147275424166268335643234662612757375607261832302407953737555835325449991115516254376517758154514355570879719950118455269237782788934453835987453898364734776596880093817815383777865732630332843503357143772556731824899299151316091237940246245243402297133795814960783429484469123181967092970466993288960866517129553016967893960353663397758605038813692672634117343522235588738451369829175076191149229476849028314770094776696757812021439984908155339841361494617574113684939414981374674789495545425383421743187501115394749438752820651537223115351976492711767581126809158602744221922743417112113935593036262445957738185256291505479351915359844750381395795685483167140736744681860549420938303715039660574073437477456323982989753112548551907464382637516240952801293423125807691474639022058435471842304159887356220874343196520715381836389593525469046495657898989563913943633983779382448142226867555248369393389615678918454645335391410706281812637743632513249186958831343701120899081201985385943848847676452813665658687800134261944409220950731556878146414808522072286609962295512191502692206668210228128232378703664246156694801655243542326684774516125921075131728632191038671327382219405533868318967299974524724923698429787291674920137556826689524792588674825528181578227385028105751504316365682751372537903561775415751893668891225685729257375661368205900963652201807403430678139639147026762800837094893343383969693773947074772151601365894146516563678360780255727006716590172134980851461671084793443649925226038936332627134248932004534122184569627984943527884607623588630703653417536694373243054622971762559804940956955378151137391068673747843363020406227417337212718059956353156705515632943144048359179787417421065417865368988689455902424779969883819778761598914991611386108361246778258509771270909943385212276090428352332193479490044631347681174815542856945197329283028601320528019671737258150044788615939256252863408809621443806832862308530282022835782518863573717574494913386118568849650521085106683188075471559622291622787576482591061254840355832552169620028592628825493940765793747740641777231580096742090184138838371758070842075805150421612249368744290766928391694852441797176964024478540309669023381385895830807054316412149506179015662299326849467868665462305434622659432751176852990459278937749372732128826363070797283481185678885922247545367533726673867706677748985244500267546773357795436850765067013896381982159367672885442978632353408860926999147388124238622404239942422763112158843132902627824377563312695022302638719729809062433043199133926031950887969061516671554790341561905585940476931100753996475738977874334695047306356337488667039082965110787033969718782128667245548601189650599967893729520491712256210522832847870482921572857506109646747618390285923853376586387321622980110833288529028548215476694583194911980555673955790882702647459494875231933266246924391356753431598377936875735496934579203337711276898748887305227649427345230499391822135775954627944196126416239757682452648646570166355139230726748149392636066495230060536914184833845274208899794184147421191917481961312399830727994492342766924421518057505733463984839324357181175631163185679143239201962654758454476117776245326298502785530057219449391023721523295525146883070328826893715540617242276629250344784116939726578939896768391708008863429227354167864222616652576597925519966195491802742659185865621863281765638937124290952242668235696621695969885860625045387463654190141351537128219640786152271282873488245399423498931233985812407943061916907784943244432645682168148138650063719875378017261561960435585639881453363851972204164734901644941773593702749925017481292680588608074279963339278412032345270998645733846652028173597891613274114894987711884511953024415912771389848378472626126637990354507725470761997618014487879010351027087343933842595550262166362148872470554169505268917019189190875970759031637985596033535377419565894993558251693571317119151473445308755026581395581515363892185983574213415762613512851190529143