778847227402968447292061499883436968797485161067755672758546494085376922485195031295713277283456018967878617058539633332701992990497207390176842609519615391975871485434322072889841582061372043206279933744713853884044599828398529190171716893631644119087619998388290147547242575219193378856692850876991549923764934414958231543876385836489823022727522240984917264320126795948798178953854560544314032398740463165192028117137741778416579828077519457214425876789470769361193254497267813438425701641528333246712330719400405519636739381423441802283718952985610164120676031372158886080958239788292840671248326386677353678438067213254145474595544464311391150781425451963696039439621672155671319589071215299289441720115678637275315185334164383784844571311909241904071264378188169155217698887377346469630508723058130631089144234817731357869482197068831100838753334360823470969792641975683576528387793502378710360725787472371036965137050903279537734185336563224696131162132546144892327589861064501823177433489278749129222894223979980442375305996548918342008147773492422832532878698496921744084471244819065179851896594872587124730615631817061028504926286437267105541981958632778515420599746349051314220745850924922107658747124502286185981577390637925863341142985869974815738532031344862304658682491711587283333928526619384074607357852027883488497937280054185474967409121152434513741322274493242868640648420400276507978331614872617873534190180548009470128399595421807952658536580064516361754993832886678734526208311579306222916159564589556612252014765079458981601212293075457562862438290584997911477389905327162282867829798854323944364468622533936425594774622346524759253150876683345660363224351070670677946132961885597958173138749670821738449868897519878036883560541242102183202887736161846839759398261581805195146693067872640505390859350315989483544808052760039028580454210694945391122175852472096709199666434363350798331243968796014427616135833828724003282462761448973995395597695855371033233907158540383401211973565998644172355828286276712288644314196111016232645376495356079128613005106962120791804954720566700536658133799732723997973808277153181743439669124717537552613233741150443927130595453716432163450009628492812876396347619114853139869601461958869227602625283167847223782922089903913211067317093815845082342116135572354075070224248205673261336475023114374302704109127757897994759316464599952188019412173663940300537687883613215666332227723734292248640607409349420332593983577530255926213861419752515939346403158269043177052108883195645194237447228197924972027911547825874318965461811437220561496460021820265989632016591913344561748780294881687228191296490157397782397891910221074607025376652172797911636600165166948611233695271723527376310524481725765402291342040964615782373318246617557096514410284532226244282939442537643457115543716476078587231843053417455841040043349551961167477251332415391110679247950512176274782244740856452504741768279072178425975419236961238946390397148321971274401136283050443384944828438777715955584741472738824967279655614537932978588188271561149193409218779455594199655116366964789054982560748090676816948685198151333230586187127946266876227650374630062551835421013327828415103930855054013324297745112594363889308972702853686108285896449614609925956324515179705614267797599329611147964249419054975125835563767821278005166151163314499345051232812677522673206301978474388924311215259280067559235015751137417329839812447586122177133439067304228783684093254925353516756396028848781661956154552445547538314639117925176680963298241366971950594143706294881030823670947993851220176152439254546079128491575255771085925943327503107463713109429591116183411284873238545567324699760134465846322792097189791527327334336922465855918752011758296721539459613041401111188632976233775422021599857955875356342273594983552543927821529738939296627087896583987651809266573971644543554501639120481871381530198702109713326962489597797493408200993361427633845495769733169616218922329056005584826991958545260447143810377223711829452571548611541518872894072916108155258836944895392658160928221926104920421992739262094051537254905315473896051627953736229344485961962041223411092321490316839786838433311067100808085197872583785597339354897555068959696413577994765181367922240780192021578855096226041006673874533051130499679433282959538485179395241658035212696973140731488706057503192514429349745836491678333337012932852612514085317480207972879099327873828924719968273464905578999858903626978250357310152257326775207609375922899414298154221719922226758153281433191009296445893935011529474091161525864748916280672824344319803915044865829946384928518036891863834352651768795527282928444304514856558489288515829885511581530316660438775653367380467061453926786154909800810837670114742068746420611523786998367186662623158563980497818818950911446976946279633840174776159198340337814328154256253138084292421725427305746729964827223120094637268398027701275988911366295278382657062161779478817835582592944415062837761149432416747329395625566791766905937712226282930786132602453691942786228932138299758124688445218300476526007291124642524390907879387656752949660516902799376991766902252418033792814573956126075405046564070203272209565968064434566939283879498828827774444732063727703947048131512654773836726252030848562733119115266395877734585495466331623221957445065123712763417501465315951412288105714945966146655836817404652425887875848432025115355022802411175155526006296581649532913218463454323639524467838395651296333500377410539591031702055353199736768219513787411204344283339140637883660533617462854268637629221247882019568518452569779472639146592165475698531605511632632081644245716105866329139833225973952121106595785541652384931810239277126490397569348598996363801174501794375681309133582309904445036575656579984942295539118190052298520