4604597646305325911913479920751719244658124306928266277154186908479324314327800926848460861563811345934235767551683569994979924327485421522339488976343534389136723975556363181791882317339952608245165767466750930644571992130878696941563911584903292783179947189521659220022788596359620136466468365283547557639881670196556084962896825477793470893569279109977466507478826253227262154417036300550285469662128143023358713836858792477384849319843917007185119597266808352677098678288466645988819874699519451897638042585748171917911904033836109386631766262307744802969703785693889509447104895943273153579518488053680646510341921832451382995672737759681785272175656989879826414057786248790693835494618889426762461019255166894958675324777189443566076106918417009261771441979484693752419880336798051162084687596953751261010867861542494929690150676453137891679016105684136850175754397957312901294850317645549805449212444352019212502298945682016420738769805774613445965701264261273557258619144855499360636375962908854113499189807754696229264827454312608539680865085414232422624462049857647415196408540951972905671825416024041523139608078208079348520694929722172775198448514337343632520402245856454226385008525156463972501495945992219871462689194335277445239034570792330098499440671298175722596965697883471383216493479197439104095815424677761819214117076463737068891450488699749964071416564768558797392699296212818511036833291183924577773731703367549901475246261299482719193226241796973527344623692977711523244298803121004932601871652567472987289189598127978791276906690814985688987805781246471968751982221942154249391859582292519594339685900147482484335173823525357144605058213317275854247787707421530929361515689592840643373917368504266308983447100402182725730216934656082264759969481724833184412584328890859356869839371586385843838116510332028908072307374878440129027253158328774932087648352422141803990055537150188944291764602795835148288433515042631441820582587717637686077974142320542708100287441365676812757736438366424250787905106585167591248225218555924680697617364598510061666775252068913381247443776400341311117141587487398259039158242416484931996370980585061905277365693145836884641285944527077441923629613211850526040339420161859458368032220595517234046342595551083577037266935528399146146603930714502891666279049355156149358539410927366058957103560357618679896467803035793217452498860330249526041803098720931479616442562951535134055613692290489260243850416171303655864688577644539237626861934141204820339817225536274385542373797828259514533824518464799243155394594539945412588921853139157956347721234270391837355609331535041387744577331891213551305547616277892019490846343889524066195315086818236703058485591920160738352731419986371565210325152129651857411529183859569396937388731503802412549476701254632299753144651544136312221409363163359994103515058374309349035423717290181187499766321419127350728270870828115978738115111801459863363904122815848822936158932524942967688677322842742419434992345621250346532964249540687938459284951731817419534340919955272230629724034301371251444725377233782119206069993168237330289378440158414717618635128011222373502262931538633662549684189351730742864102403561069365732475480242181351864766429352785145086380352953138462773174290895567853143888631857708925440887844939875451823263241549138153475862814422923863886489818688401146502844581870836907374226676824399354349764556591287505780272276869566453147781497250871861428685114171295912037882190129768092763474340693098418654834028058833799543107306482763092530826093790587080381083691515061828650059601201983931351467605276589085731729096324208330564954094926755313539004650938597024331453464648131677937875923829867316437307157479325119622851996111429118381464483329844365678195283193544355020602240810655288513695311098548251682738428472258149750433980229396614894385696759066388508352554835464253362401142897385149839693550399601711750390468224507328916806939416908465928283651423511524297433888706893178661892969493771372624131759721732600240520143662390585284216991633287772861467693462125828268987278403560353112713914233235549882886904881964467061555617061765785368139031298274836578066815989452470442782117868990788013127290731422131916347979478563961936310640625201417984645055225623855420923614837963087591021294620344873317226262985545444541980320635803899734997755577105880073605693328832759472678154738352797411229033261721165420374975427565638659873784528776677971168652029386609014362509163413024178344862185493764663767737416356502679527839297374735536543768763599776237650894809762739679052900280341477518348189478532740110838163512040399344391721135536703766895733964939077666575242921590803057212661671878361082917351181260933341475152359854423850638878902180284801870468523918330621814035760259197292102164079875175868625550286947994553898464625911310893461246372221907389375747707248521963796187141308400298855010726331977423815561864918875710048468569328279534061582969441334172958826452870648989599838177216818794502536175309434493216917867494121197712923176902938311495041401715263073487510112493442997443256074686975688787993476049305602412598902246754390821996403114547456886692487958282229486275034343370732652455269729977854714871866106993801910832445652689987249304701162428654478497111059316479446544107065793809927425028571402805467884912789664352794035986829159865475493536388262476213817949768178892247319576914308569464534846471679974448975938728283375143704872193622315436645520219662767054881867966625616440578895982405013046771591315064971473595496772428453545698803922891134097736733231019635951122742077542277558189536365788988788708866651680732958823515431643304743217616295873062917717597861765189489723288510885687238723885199732314626103285505982734599357982971170321017397271133920233680624784599382734545218238134357