829928068300335458399898185518741030666563049410339275291234955693300576488343197121068776644121964802544966155605230125219076858652741874898196039959359544019037347650557097195369341345886424388739065339770229110192615943456070702035727478808497556925225848439015947181700116624590226581335896130685931068647682898573991644700784735323655571872598476467937239764449229677336087401463486929749416803579843405840258676529821670733647822202529851824108784346822839932859615958385053494738922302880592888557001252666995789539774462564716357546465597210997627173113526324968884073866202498832666547252942946942841235899894307371852713761684975099459493571221076615641715585383511786331559718577926468842834163457573334777451725424125173581849657367211363399484823576353908951951454821472122720891474667774252118621854512680132137568919283739062216415485831845866077954686179894795391353364423471691182714046622215253588819927633153924410505137891384778984296849574838807071675203109723247959898417581505472500725006205494425188082842583094074829850848478332708234483923611811642327584984229809843058016801607887776668933610254102392605752851804801912126847791873096768458494197209605376753406646574888214095328601941861827436569464638799297220757223490252575496831856214055505945695346035376962659317002808614861709533849758271153261845606913535583960996579385802188989627358446736640983873120074861394159312161399358967156982721238601666328321808202839488432274702111269761135114353554874835112453655512185257917130688078722559367956582734738199252452674772622920583141135384453866747486431325016644553854633199269315442916165558727412015347970108553996316105411698545274291433456572462075620614037856946125198878735215628039260858610111440051895767847093139063183072299672636875656028404058765909764416957563134966875497756021941016292394470199641504918996024708926870776138899677723015901596627265364417058214179709513962840195121198215458433133449068282728136092336988244654338532706586652842982018394681634511643175537578670396217314876351991124487482463257535420435114034454973532545565423074661196755217392831143307325832670354888697618988813346967837219134361488337378657484509601494161995895090513311384388578299848415090153622545481012207727257487772817873684737047519057253829192644392913616142665541492754343507389869614986881550177966307556048174487083700696666213204292344007180483121952485795682874992300562583811779389874796609441871153351927591754372962993333831150344081212787946852743665503062546923835881276165771839192183948372075183779256890211198758519585198031422978480032501677959743677168861058487886181580986346051213342799619299905951178651507896573611969982585765151905435137188364545396773395926336328924626034504252779624918885619637144831883937395297846334425625127765348763324592575919237977918228349606232266404902969981446459835551941414975448886682543196543985068404506631846839271454623817142389732661431104915667241428574266534145238392154229966871230342834605628739086617260253626295793188888622258208919436414720379256429909266211707161953665392809589882275597680431310498371553259858410435801814238828562849381121469948712977137099445267471812319494038656552265420459254377759685408078504596191864826699079462655972556644942711608998932189928961902110771023547699426008215278444504716208854772298993920965111276124888109608538374218525165347108837980032328079157252347293893540126105975125625887353869432983052150251349730390468267661657498357768111936512668399560779456222906833065806258450919221390706829083224291738684042944112812114706575707387254024367638949729078320120349422496222438793762766889945862375896974459054137997417564004835932191471399785625377910803070212281608364712856448933723860475748384232139896992392679950887974085209490469348143083943930373051742473755463976376029700233280286273954808797383180490117602466251465436642180143926939237842529965316315595174928069950324043992748611950519637384009604682866231276177677774955968658861027343799469205680512463174621758916188919131423503764896205379328213525305494781514346688114672681949113832519887075913500655012675105331818048432956584529954121316878443271116358140651977709568553081676594344445333449662526302450597741929252919351142283118593215823664431943525260272612872052486971931006633072855529549919527444328497621218774197272352684666277887582648810286776770315706147592313428853118347441531856423357914841798747711069722365973228135516436094430254163906515221093147037158682178138894411222008912862878566997930167578669737403969955706543790533238512724775916592165219642921365311783941101823449872056215636882848137975782763917482051955531470572758410330892178256162150604376762133202454441838126849554048584424258655751227104614207300119752823336492382097802482647159050706334855936547374552198495729596170272697178625631787977787581467319413924548670404397982835632878067451103381043467265509674023684458663269453805317408813121360802542467736576202723324493222504461949041170711432639408586930122205133848873711171249674108851326021771119265522411483277917011708534196055501772731735798096254882132804522879207978128997151861404691117513344435553223090353071206826517338788676172720945903316329037544538718955613035350815536718329788841606891365186871977381773954628062156858972957590293659751193636609357298253515148663301324406453802149824473754785881163666899909351679992763362346230523075057448820186936718607248148762950640357049344462179733737047258924268539114691846533168596618575721158167253191561518555628816433411799029577723899199606266223634186968634137366674224757130171223292565365121553790545932399520325035992198929231983033858670378311566453425156574107978547941378836441084817944679870611966192604338588493356766613766770785242095419564936885049214845984763051590785442271293211877675756791194416160