8046782544782351448865838879410436113601136984455088750863488308008138592661308817701247972142175530545067865800625740527438859866005011832271112644830742207465452311580430053542890117273009561346109393124893748985547235232396533298784802735522072513568543736312282978294211748748331360243623504172318940515559972752188951480621974593718532353259476680292713759896284889724196694153271122199457496717345489405380545641136880687085161816439754405319498074376842822796054730182564498744705424664811610604134455691124774626760830797727143952450869441339814932609263923325946450571732288063846247228973177899918630244672316787697378771724818199267513971609449350653666151112548942705748564855236822706144158839456030547860783896877364474817916242299861717696942982474657534835393647819029107989766403009643833050067096317644141054139946228127418448544719916703745726827454437335514897660553261000687543871145506738551763463370752012886593538549797679962578563307495791083840747063761564216825737931259775442110973696409453850434044840734792311845783408083697269817394888512735362185466054330814884334846941566804190247288323254297593552828527550957875929746115858931032525438543552894562494644204827223821726365945848522492574982679328268408917345624400653557440519213959661509958708836400846778080372068214364554730094712482705418852304125569121972261681935992300518146602186108582128429512523825994765859858731280239783154768994781628072226524419523000852889677036803527194443182443756245593291851788321359887276336866130898493429924562245689767912283741919410257616736782626567418748229842975121661679246681565223489877418684284245222679375316149426696559073021801554284764602613938576734212661501772916091522565889499921717707371406764097101973819956382719813848832921707317951875384175706629549911891954162103682659787820297859615855759652733543932683922736713676568268223287348003963781344677707530293343774328419928934238259108688305165188329924506351598569963547246907596724944489608111005214491977252773602282549129480349610213555996870457616447345514862885149056424235551331888810254111999417685367603201685971390880994317058560450243869943197053712642602503229228956284536255547585198428631905228496616462188146233573261186193569789245820804823827381269672768404893592582811579254802016652534578058423462244556687185714284428196725314461279032167814419164391182374712605835240306236964099859221967277418975284492103830953346655846665340785196101792224576827947677222475361980778382997906490256528412342442088609834329976361713397098538334317857422922692608419702196564155453304248960001414165657548345308161177705684871343741688414610215933912366345139625260917369815917916252363174539246237892063300790246379129189147972882645877804261716079614275852814804730595691354782575011918913874341471199647753967737208040449926922867404149966163275267585431626513793441467218576048395456995277599921152944054084375903825648751837031996254217383473022318125372271523593387504818503312636135380774713687559775514709210365401154764322845422387320957831333599733524174057378342482491699523954664011381248807531498838854365791622852146231475779637811755003360103911434141802583568155052570820968141566065183174821912997312952193317281797318633475165056079446702318254212639188732159282406664414348533851652233112522353496638327760833939938577406217744941668267051966631119555177051263739566467887267658259712603485867587226704567329877145917230191035277604581185952442125596342331972783753289085657484391043822292033209953552726983333365583815987346640207301539268670189474368876038381752253218548260444249633167655171033411630594446971639661113942216157743224521736915475871556133651669804887397618719511838886968681628219343947491997241412195029846125271853341875152162563464969406663606550166631838213190325396886051745212244837586887265484903971452331155091262292408632790649482140138093734112252636571625934142461931523759529919652653517532660501115975657820048944702402206528030458285929872207136734195283531026932647398141913154733037952411375609193123128024879387159661675376934089089090119865467393232166513371454565896727879792823827709456855750361925816103252926917540796326845443132849267534574893412175544515940430709757547936193222997256727967451928785446926819826794802205871851322153932928712023391675530345665810641137836253424332242955433764491365504452194527362858431280597088242350469381957282804945265774522442516212477163275149958767305927138264482854353262981989876176787532692350579166147590434226499319286848562453960941431746048227966101443320986090204920513959189042709508983103021451114884825256538719328913795883339417549452604798955766548820275426940314979314934035351682137320857949557175856369008335572747471151415335222317106369257801141757637625621761824151900640244196468075915802359941848346895166203622455914232263181195795626682284198725839089618744493715926878509739966451278434186382182424972739374608621339593817783054512947165563333471551940697027327958778968714034966669443009925855009278331153886898867640363737200226528579710238256508525881270555635514650406767926625386106477578848325310599313854682681304679491951795630019212006448455548696969895383644161682622531581913634570941860788183498052378283698412521793300360556216893959105318853566715840685914905095002036839718102766855199864404420138494384592583963138513741954406364254044775204530031232719554107852156045492908073046584170074167647361018311668342679519950652527499166040843357093302236857471075337710025925577257286089433166417132101965131345699275274224072155361950436653613954728610224071582202783643168512441885075829228404117501156886724114272930676943932652778177540297014253749398084672667586994220430883652782628380552603605184439903112115172102494250531695669870334874906693796621976545432991504268819466017166810233833460