385173602463988579451505187847344965787875872526443988631762549618173529392766851443636583726444227188135855489734683497919213137484720570206421683700738361278641918268307534457836965462851522942048473422626226931897232791165651694595784902907170688717438710335133369230496954124119163189121935372670799755479149898157767456230847590380111637049369597056991668889247598549768619953016439651966288299172948289353165142183704715954540595531724386656340439050859413824391519189265230294018773496154729064323596293551355510051246911771499242127032966137958085755148937951686866623126907618508047553643413375981138971926687975761508974331148565738563461182937400940440254111723848601327713986222773456481532737578692912033433723334253147409937526943437215908315859340609290827047631167874809798732486405144773560549996415721470708798421800167713982536242509130268510678081074503107851899255234459234499061193269214102542541057485975602167473075456393695300101928315989392998991653308958984548859730781070318701194141143675643530588275473158595796468700188334563369677919787658181809867026882106531217786176321461623239564764273762876724804859461051813338521984605496115476474946260943015779836834784058763032839087968679426949476277656954138364794746731455419838802689532152842864742563485263035984154048330200270556696389310462087686512562759451581837494727387579842678732827532945097836495099366817497792055135574993377720284198173396376350674735157098962203982891232147545875297323779819941466325471475805296552219722336362018544836813871958907675872615647199597122054584152155101354610901889557188682735314723374636279525853196162675447153404961383997899897825533936503720797932221815135215160920059512779417259575174383560854720960566787112287805338171858173855884665165883995052564264420686703975112249107055991773357758625645291767785399770129164809047274495127479553586166938735455689827522186515944493091796469704078906040603477119741997825839770822930272136797085862639321457751135756786635754187845299162969891194221953399556898419447328583342086661364551832542465156317246602248142028384290131994058647700218257126379166551453142144968492227185683081747798102343914416280721879728100166682993479133636301924293657573323640359669324123058936134264629866129726716777231105754500224916459114322443260474514447460498189662863516574357882734372144192878540882688206541259821512647233382684262622779807476644741853349701476776689057043169029051249762497512880653621335849143850917580184982669818158492276405068301622869854827560107738886897830787579729835138085237731599308552408421003080747299219096227151519462638537547204839320827793634061592645902567148971971774421238747708067633516609228636975572633406459918538780555318530710297931551252844762121749325417267941193967735377600723878245156423397378596756246859573693945710291982428959386538696815985648098258895575889880573006977210802722931627791378124538289013884664154216750607224907764991246892928423783202276689846469261147724979997785211679480941778634769264695519899942813666184861928273851614933718802845337771233463697097384629576572842320943611804800114484015218047775714220961342525258372643454065671512097504562630744367253137202101381577595344666240574245028136096763474718245111317214173128712931277358123215661828331299126651623476373591451454795732488848983277744763436212065039482862603180584113761677483180543224937207877796696256130752229011752358025181222163055844247292698006795131163975457556527099622518863457892337297641785288625686298426330644607865225211589915776299045146975224164709794319014489628551181273183056138746543585789957828825027582877685127996448413860954386776180767430205499285273911469458978056399610427526271751247069596399851743977658111687161504583038492493699413835863455889035076316165614664866854122446854369744162766954926208529311613670802469725039793902418097552763414864078716817489589686722533978132401921745945273369558491255449484629687841731568568845946614667698629332050770968543320775764477766083963224794149770529697552835627799428135190636455419652825751587181690944745155917242901203139118893490932582900166461049398451429940335549254341852285378547869302566674524923686747422083491745603622244881864882318538698195984092582878726362027705091978799809040214264704238152126707498854047372603803329444907856770339571247856069641894414009334753139276378292889654764407922660498373645862284448572520796921108257320668512244517138814429618157483494822455439817889337113929240667967951464864005875164611959129443451093647860814991417549454148595500302697588390664924354398324318408826185358309648497443760892604934270335967237490692276602887076190905876276975009589485886521138819931357126991998781858815862257131267579537103442596463976386850997935989501108635383303614574429984866915138593239114083379125023595286179737154914125357819748476639365452924801636153672746770223242967548869154173182861422461980457816201611193081385710161629672861207653548144373104321991464716597756124518768655625848629164236214548839141792076484938637532061703888489909431430439068253989823275699734744023705195579573774993701364288265876317515347813125886124694507633674423538660131312368540475084285190661778761750812761610576953466237603670956105242879184519190708237482589312080656435821657223084177699241365407874498731968157324491011152919795619763257166272433992737926188682272134921278583586294569325514330426045814106360297170772533783727623620055091717817583865662838752674758748038514826559199736729489532557914869840037753661117044208431449956661336826053212962560975879632743563118251357639095144488215804308844494352864728527688429140658393373844340769957882172793447825010637301297103627808508519439842488547186666807005814578299128891336099605511529329756216756338393732178884636535993025105937364663765839424912738559995593