70769474491252671788484245959359591287402993303340760274054105634795817332665773484252202809860417915815428121821551233017557731345553043701174187474502353224346642175547156973512144011266388844985425203097884629332858143494884438937793437564222841463190492539639367745443575418988749815921385886642828754756730856769455683622068943975541763423572173767372671329237769117362731885772045655109336578269373329412046372985719382477149409050296170201742016519662457996223485060361341278156447230927240007192319936253826966082210959176901671360535418595258919839025418036091147370097789206582090052159777651123943667378399505349987475297087957089495721686727058319976316275388220548641343799847875516550468997638898041563396416505970938891948682580658376272985590446277712452938894211925934951454301422403885509099545994466694653274335735047934212940241841663320149817624858336026475550694025551462242084425422278647737933672941324542709668787119382594749095348139263986363257822891811505581529272702568852375403924948966138737301645008421350771669562699614866891643315053289459204344014114299540444220307839147457878478106608371270418456519911222765779422108552585010857515693559350157560208350111788333388415830654284037943639644727753317858650567644812770624446503664470836933028714918126076922637457578582067716086809673224146857024602982065299436553772695647572417453612615191043330907453163758987362253788114998613376221660411733979461537183427581231751950351654252084034693644875464688102615005250816482142639527579796970748115051839383791016352043557520286151691536274899139661984432033172788320401993778635953116406048234741223488881141769498622695540833585942385934325278124742781583369711313109851171795326711709666779305222211502319836298931056221913671317762293902112065238162174002847840353199422979328178124771648372210205783909657862532412393991767296320188174081285376419075954815778712624699177741855511805216912320545849677585463115770778752399578744639732315044316050535855269529756672495027031193955344422448741258940807238522237137874562473096487974556772972545102047336175864227775443227106537131460917025261489236879384273401269944686735970761718915517396667960964938684111359878628272024458482168845745996449012850832593334365931474919901790654557288845812590534796828976301892590303715591862722657823716345398524437532661239645121134786237411858450595967035655585304260179698145599315778587280552456604222798709987562367866101639301950088840816049322755468222515711868792239204632771307728150319686178964860938389470322739985557293260018214171696402879815542996645404666320986542977128779471414579016697563165722962373468460256945196788142985235892603220108513506247669727547759240776342012121585453853199667267260877381166069427367578017139939776048178722927872964143297580953639818741334626476128229528834599975287514746121058355193018607778738723180555654779017015254344311881958273857681705253582517261197588895008176444022363618695289434877169853138524485353041999096255513129922268377035312925569844184886840185329434406833096191698251959784586111304545982540546938338388881920121189715196347173353595782505488059859902893513370681489917988551577683520291213468399717098311919189246413965384580121730732434119343011456953591520936098065480114297501939250313450617890136167856161525962109477949399256251465929763031944884070026214371181641340510580602522728196474491296727224146451216135860998928256963136612978487542839452569977513399788732784327666839801524242480288876609433820122954800882872247175404578521931659955011300630361428145246926429234157081075607841445176725557176082597159171850093067162027544307204629427774541330584497656512279234852807933472443776922102435559431574713149452257067671756812877233333892487898518139590833622076457858236036303349427600910359509319715249612178659804579917202423654764458843557819703447724830626549787048196385128196956882853883525397201269988857205813443665887978686965919154758916525233418978183962058919951521198369217497919964270821259297368950454296043626492653101567200297791423883549710447857806813124593259639437714088269592536651644799935210456798471105172127411818015965793404513451973642743355488622255295349326624242789906952604709957627703694950921674736917192103842355956628845116733625749181149839751145143460489799687736397983676939982867652246020248422870991129738645028466842149142184837671643169836049640777431308793247332171883969546364802492852653851226128987934668977763369783851893341697173675386267379851381670294535346458219246805340030584808694488763488378296606799583317988671916660856838162469739796859869392300219545693242856331701826876447489682218755087306662480625538628825634381681625242351954513402647129967901514897685269463927418154540141646363871585571328181923181727436938900440131815783944595893651739167260996918889649118940442434948830682614671114821016372706211176094797805595995931772219932212920735419739459705332692703459617514228263790042584163913991063038357826884295721949975303334339811235597182389454687764577837806248502187558929934454392583873913634725850075004000140188387781005394638943977357442384683469377666462354357628793191138555024590893062908119934519986056400992791331709834343234012394917747545264612463670780816219928031223953412394501257230168349307749553689875819663516801654914908939749709517418166332479511478766671115090984291480647599147880341872589262664524257208826340296898779836428636963360363596847559778095585938758025700391019951312753410499698344843228859467178505306756775713296854535702463831907887184617496466575706596882711432408543686832900416314534763597189941059832461771207128573827474974548439288782244731612106388619280564511611190973471625339602585362846283306631613468717925094740884383464177079298260039192281214327348588956971285417731308746857715181501193818925018870782722347656