477978782259723070639899100214681703869632302789657194754097331247582277949937202485543959112793826965703293344867788998938769535906068278571168855376852487123160565549603527987861478871517653580530937262759470808953959388412842530561489934239029268399968545636056917666847152954460748891207856375855226198614322861618529044088344293327112587280094642718762372183774708218421108659978332649788697758349645329380817528383452361016234124255661857244207537578461070847814697772695552229484536356234579512755865848800762523493571198382626414659153287941641626412161444149908314404531078180567333537325671285379043969872357749188800475877490792559873976482387266185337281829560739266717965374665769539747363048817335294096488778671532999910751011941153212836430450154297161058501168161117504707266359520428033716547947678740302356532396340143993275147136825562492640471313043535596453602628797312439906965147904459282577038894540439112855691756017262385974000754012997260242929595204573556044249505956246913850433791042608188663893801236673761318935684921264531827184958433649387528272297030765533857624108198396419865787908178862581846751333601172194958039795735245724390241686782934989354156994929082438631041723288995188069113548425884930624945447879405484224779765457137718062115714087691173472505843313032061404911662512237809887599486755881868490527057781191934368642935366677481684494626432036799735559524709273508918839207250797292977350209610311301572557846559980165254162688140163146320185855066825337025178488331378359079004560239543964538230824312357858392462457244915662698878471599992923297694358163791484081737915623677598946940054829335132707523892458838279332297427803651256712923022996467640691633853696999653182061661175495623305835524402188688165788374324224809878986211544512270859228692926195434968979313038296298829637740726964742567548656807493134782874227185173358124405135356651766270184367689412955333307281606877649248957093640357156073316869498272231036949175692117190492503898698240625554705780164909039507051062745288048345448296793924346161577410073252345561390033290813667398277443775015401578985989696879964527588764621536557221728488653444388710816440715753672275628665769465974751274277740665878519053656819343811295555176959219063543261064894155149056986324589912832297843281821368450117812441322280526369401067272673681524649764293247667145975100692122272095798301944298138409754134825189649693267303110854266094639829784556027941550047309327742813639585351928079084521279101319810186594505916140853639299567701805753916618981623174387753687766122756985517746850268489249544165706838895253349421364622391421787629173978080373513019221869668818819671991822408572792138722608498297986879538798248350739356083865963406311791736042233634665313869498459540738063845868043478168017658377449871213411436061504155318842296856857396667745520183458334329467732938255307692511701840645744101150584124113930110586393682840467992007130250945064395785495498977773009284216882171806146098885925264076759466873014595743772933834523572479901529271853402227779674479860952629814791545921431936575244229031838635023939895596826339129874393803246953337115322741447371774924181279270504646502367188022572381768051613079175462552813614638733822660053434608552748941768617417782649635184129025368048591569357427378364711373105585452038564857233982339377076967408418598894561642110087199259821452337060716599398628648899926304234935685818153933190395611436198259291731570461916031793979679607280491991454122173137720788512147197439374391589561994207635002075461268872072750934625272824120421353164051378230916303942038093137162238329316958837608993388194042590014472866736951427515894748736168496118043911601896410275528917292564273661441226054291154923468792637747356211271559119667198780254751288038307985381002660622327124984270303838107550196868667877851278384959362983103622727309964272370755772963662273719216899775931243477791395402095637173847377446171573514897738618594921160118516709882654112981933277546803396432142065506498797093467119875799853761063564196468747209037393658506806123218392185022471871149879551617710221480737991079202572855677180315520755497782712854678717428876236579561211886624954979785987806829582302269078674802709532174434523219328762499625551236877912250676766825169653280821555252626219625337533065688170562323127274460979752264717756616952411686478387132278672356580236143171534349673903641626688009457740593708316262187435565298457323751550486285540260746974618903763729596307119603661358819861374113113418279401551322787033425500779455063700708357136586105603594947540971645378896726931332804920769056002114669362199433118641627953965498880506182685838401646513320697506263932492178938778102118613143466147222847093171239422743658538587576624508485495446324290887427101365377392371702986061987878841447657216782375482994464961440963659157835690730756715307939587193317674454985289891346521109638737442562054783785051058250782515388335396622306528372224925701461516161196922952363591910739970729140208659538774094614964421312777821897655151937775073149463624570489292818063220054762537671834191447205450874776167835582617811994568685039804240079587067246590498487427569298466227403839876708093911480744174957710873465670575667079546459221581629459744881304155323472235676349488866033032815551662897759981052136192369232113799182645031764290367282168220597776677882154242029844374009955695069268865206651247979761106494693134343297525320937962669282618142919366386164947831536777598174945973592419884464886488630526099360915283253979074394759322164389936394844970678017472046227965203750411812234927313984594747872423418377796979890495069212678266561642393112747063474530753048560422755808759791183547326306074142252550899286342768310785421045923170830734254812561229934906643567341495119706584646197121659