435388923199374123713992942900395464319260680603778384866740129167759631580406342741410425553331594263506420037183061020726823201474550794646681163747461479586375087667682357893838614546036661392751729406272266967842022738472874021426765621247092339826144649817394632085822555651567003923172981395286582891768700322798856725541164920300732945206801394843097432569186322540057324895042308534967521687976646548395427456566183003669147775855789710081177318501688322978382795473905117083270493574259426900574862059531241941279550692824927338715555892734319744624805182373716160321498516716315331733505526274847356558676077399912873991465250995046570919650491925560323472929874619220397986124662468331841529612838019679546240279580826437997911218152732743798115603465793239997143956437299890391219991100538802446524330704790222963617265332998943135241296955858351997513861466243007527828718474794084600745036472548375112477111651389077322624384948533276655593743324064427710679153013113752885107398579892193503600159471777759254266445713704631429516895320588361001557179519671530582771684237535730519394189076754512184788153759498518417763226505688345394184196723637494911265313499782142414924011736616633063447099397365975648937414535269722578689657252331102112978390371247196525763162766317587176462157884855119669644057216878433336447651598383676931029893226834019701879377068199700412245260592686273573274789575906438332718003947180889189470250451718905053596185136019603130706699872331167929578221648773655169841092334819048175919992346918275134986497435499612623678901862007463163056794064980715621752718798931268158165059792515270167668229412089159705294555185725831587428421427210843256806854039907754241965710914543139674242456737969105660434509816213473629709655199504934038402240849045201121153620213964521187964764598387892145794499772916209102388381102805955535025384604231127455391728722392451431550220229273550201492375759128816457911740226696468316923580398987288447730729689936186164667926719516674793116671356042983213426017443839034665468621122627431709380092614326735617864633703933581916528263771040433747763391403656421978333294606574646557704903042821284473471243917648475977832474229290610939370271426535547889751782182232137582954645229287464276031664381296571652298261894866235557476869859450375431369260666832316479846784882487606879819584659955850549028376731437961870032336179326012123621897593740914856061420437582305248202985084983531095351620846656801029973748770049265523338021762008651557878743268164383753088964360136459243129774713717057982075411195577046936797972697171568381811134258517581201389412342414307370736404214281013089961689500110124264654058739346536741396954994945658433976734938173385641538094517938853669017644467580359102428569496015674753976868586626568769249996977148208753329293968867671535576856260143679000206087724237896704954532160595894673059787358236816160064732746138696714636423109623838886366096160830973663217157025768169893120287033532558154048029643577313190669736153545145780708538327799779157483838501962193751740260465261921562442531596969950264653536350748523851263194851620699743859581980191026159184971162288757550794064582385637433037919951765233167835461692064634451554125063346428194526994374339815725433393940840817715560210560129114533869701922989221414918798095370161498140119693731141734234182761769152178498939967632022359668815071027891711263426050069074734401510447785706375717241841428240002462153865509861629587625925754690654796919119641607153813075121576828638777411946670329819640287649627278141269943662743539623543282168479740968824973776554508236576815145711951833377265640797266150577855772411830381099574373097582937647596830447454067277847221794849291644061687494014098643384377284884785551457412721210935238635341299042970713275699568525276543579199492702084983354242839307762777964406558448511260276988673521251407258140888691597366045287677816512483386382642117548878997664412982609823333838686750612804861644155828974655772629136129761168936989088741890843587909163182682584432728422235405360156683217899928507127164854830886497217651836045855835727354057975416721625768898521243486950995535187476995136911169160946720891131884478054315242762957207327339962973793335109189243699640256092472758952545268215541680389871293445799406319746147460944812170375069058503431531044341689553149671413187473451252025167177703686461056454536902450790534704285212995285320623810308553977453396165232496412044894865757349169331658476797932994853423579534559136796005830388678677573115537554221767938095479808563371988195181037468571909357794387288966567327435685042238743049726359061451744932577845912848837751417930245964727054459379114412760869522724224568392841549432039025209700514284569558614283072637248072486777717352736946607393221457707253468114228936581229749262192872047136582371663618752058513386445860507961295413598944874339364461465208597486656376550358743566111775602961811027395394454528485956214482147918511704417684738612711678552473388422517317816876851713556233671929426374682954903121676283465802438805758673216026310754995635128490919173126560313021680119330992771279293049639370124755218671467953524441687477331118798087983058190151993484461191785631273738705955624167303541719016647481723822545960488916913015558647968484312180828272033086546405074133065447751513760975839734689974317970959370120749742596816038663298433492901847744458814421211718656626146877686722320940235975342633931392251517772924203179914473176501238095994925611530916374579345349119306862017762793992017383295487996873106752338050715342504242769187568077739994908672453104959328867699599644727123242505873277905744271298144590977888471921718635865663393661197813256686968437536724515783613449844692318487277577730296078403728287321347450014801890933524012256303