87882160867394301990882356612496938053446295211916937088326382326705624968205008723130946053257913318473533355148730462894356558225051762304587763513576058977560844989144312483784121866899677050033049751225441545908095952184523984638172900688696103130431617057919357280672796352406399686105401683587763457399931555028507829664339179520366427642644225749410108897485044933164718931121753594523394295846586745757122844571699169129698225731939954742263151964239548545856341923782482012560678050295468222503544072664714951354528559708937682383278018712875327738306294983349951848671952074444408062124660797525384437859148854652707047564167526117556779127148612164284193546541964839811346589495103430939035991041707142676212069016971135539112761185921591199798363139776242664126486777558039186535417405708115431596329278771699355251132514145579250873547833642767236103973622302087219247527153846250088461120903879233439558812529867023613290867079344980353780007658499893221019960863356767238491459671742815970640343786819873809639564452492857536329383315316237856823408533283582367614178944293358816644449361480031859484880045131119921424291808166492395417906521171495799847456028491177648528107888501739927983706223739240988224762168836982745828488280887682945115693612415590632957886579837659837426449152721207271693099016436777956609647936695502564108782856833406392777143791383249129383777910347583437939974984942251160223427639889228807902703848952192212926817898195691535661268575129549516100598347174839532587090688678322692912540012419185664559918843762354294775271687375921514697728877437548595126940786905518717564146627257819268053735786480859485527758589009886629179347967204171336725390383228305927317756470473158484382565289332150542381254996169613044244954510321528121788239408024538444529634894236511569249551180838949845950298337361929472264359219526244585322545533424494784396502186870154435562148832462854561998247830198791067147405181197533548530923270034776898154354175451133527641779594966151546767316160307238889145216262077831136460649434352655925496411662032715550144743029254161737539544253258761460375734833229611569516690742869347165507027569016342481117934066371750143609151617281809091318378538218998247521230302544229586322257044206731464928288887881858007379214139960223329143324652695453077297143868750747094136696631023814228618636772222385362834556939630039830652043843962432648621205748352251565145636848181607045607638246085249266700473614043136190622790989746931147854666444361574778391494312617708794125725818634436173404544128154946978974132054593794125113446891886337086089969338085306417219564663236431759928708143499126458997821430273159718887781622944409598397298154685149652062460142877133486467284541964328642168304249077011309318627941303101997856286992260196266758513104939481495676233206409973707356788596198455022868121744829682253077125069117313953197780658284238822930352286745051139436999582993417397928278204093722435652741925199915570851744240387162665243570280784508805467325453260628470473600239551942997995360267404262149537183458083347611893229871977669962007584062372955617714551717960316768154861598467959948533316192953191896922051741615272027986453958345944188201386596507743278236555933151316647370994243452545861663955529919717358240959852744542377773063538701923102954375989840674481188978939682153446318823291228141080489371202639568444654747529624363410788301990519496426075827317968098206981767987883984562981949885792515520175447335190215017471831242472807942137591367630221574198822888712658805106776627411834224094980900150378936101620732929452584234205766424526935198486739314205984392874828269868843249633440158663759816005247628829344850715375967252509445385347577745908492235327627581720055152437930827958433595849875584804830211071420948252816205962199927168521683534243497394389898415014996804167742583891979341297129872484209586011557862671139666437692747591133699343057382745819115097674550402238877563144048467327423278886297118139382825943391856274039982580589328606928491435213986108099244834941867167418627857398833961321173026226087731210697861860588061555364985229378508079059133225786398352879660397825021239682811816293316317778883456427607580918590997067753709549998651589937962422187522566341546878679330053678233710236846149653668531270039928021489572014651777996765319651163174529416853740610377317624722669941401594969674368681566919599947785939263756358871780893361215162881414079921473843028232917965167263528829407933920743729009864910244221398718324201594462044669296528435502050507771266459418163076918291425526739544288099211499580163446789642462151431823685539843119535437158123283329214358384533584130254971816450593762618553895689475563986893323880403392859642357296571630942942955254919395299455745161724034326427132733095569488750957862243876073541383194258346228729686551471954747233159416657186210961844572956940154022117688037484899556130166555188313999743649025617370771495984139877289803840937465726157175668898548918335863679893160954506966701046364215716853655344245487145045234663246262732048978795883066372820040898233373422151794911327330247163209728889426508633490258159415914955555883623777371760489246664952912811259944121012930663473222370783696273282983480024961777768291538350334364180956787577968192825371756847866453910823471324483934089687219508358514807716261613452107379719166513688921944076517304993958675912980729431876498514873736356992625935702973657246489898948893103257220436186913269103389486629328177173765915387676804353585067100678716394401834748488583848823635724381041565321260112365409091969187646473273641307182791694619076166369244386564725415981625394351955662975122572328105914358215555215885033925478690346839572044233593390932881393892567640295282409949194441074653781280254949456229655282771668888398985913706225325729