3144525160109948435249304697708696233475637261789784899390639695987786467941548490777911185545309348621622201930143515780442577651610592478764982623706877672822639701031657950312626342851751377681737339153183322627820168066858299972438031760537524222767719019602906053799323753312701082310615739488454612945375181711768926433843914991571249585056849142277929958178132272151438148042761022208725157778507347612462864389409369839966893386640314106861874165691794384364626383591962905429593388021198522258134689921796746823189893248983521440812144511996228228632598725998643143944770267958118785619684181676478433303963516996394027756303372666281284996612174602271868212928265226994558804470562782525562618382783142395042178082747812917557580564285012201442969030724848048298113073019621730146163085634726271324477900528470028986351271145872727740922555215653413250386344378281559443317317113176386681862661919754898979907017169483424042379746201448113471314094376513153123199582452589282897580956731900963068923814357430473161764693912727271668036315900814832785208850355687875347523611542660392198537218894697424672477276123048782917353466943285685926183366277410638323034989917112197274734860594552788257023767558245522507850460021581185428967734753355120315826346360962516678757968457494714932797941528081757456694438338989593272237910483879932295447185349500077329372756564195997871920543253679822474235289244467408512166182076240979897771632764486297745716154437685645138625535368560365800988077260893368901770277788525545126936471699343500390974650111448994346511498863892381185192657371122999529331839548364536780147616261321503779989663376984813854861481837995373932964424986293499729215037738786989547459066224628471218630415420541240666701278351033055346519442592724284441857810107995884165571850898697564123529631891174530812943979667139733330673860207545677874872366821413714114099549363137129216887943779725275518755927170772678352844403733148746820493941871983556322593982056116420549930959523236464156381429693912166913455427971171954817153610542994741645600274318357466945344705660952013675578448047627428375520127094811631618908982119424257625597449758254107334228106145934488244196606990946401547375839658886092785366348231959474021924070952508641679672419372388719481259232566454132548313832441417864364413466920570119382536500881737040810836225354163340158776497630319326842657213016616520223634053695752085183238692991274439813373533979486421190809825776138121041261890719729855796635714379681842741864432122210699621696465482885659320681219886634874772208693344807735741244085764495673639924399122925089543643125422435172447682422233472481130752823479242385716009855937655138460679658055915597741201233489581508584527752736285996993267407969142594859459148433148365368496006217259040428293756352984546167919668593678614662837989898735488292589797187578887271483052669195757856631658403362624456647227089982063434161813726660589979233992776820292178682870851037527914966523890470816865446955459111178046237632243138787074232932505315402508148268795966974905667776580116172418645934399034991272120972361360956094378694566426042632726743047683756668480301108127853739027170899236488595678622702599992330933768203437121346362811489615367932249557804784948876519880388924063592722313037249970611153680454749409972748592303263657784357654396132592154676189928163350577930709857164511029368551627485789097847815638850926921214383201213593571302184363017816533670410744177487176928132571911384053589256827283852892572157566985078822384908490947655666865817346658527667869934713520972262775136644354317710024256395568731334747484611978995161753653135278638893065984913315873602770097182762198455027358946310498579877241733690916580337857139331385654842332997388969301633762924738036802825565084858038527971763789277917435714459872135035598627132957505428473290677294366119882628263973719662559155879789914846613100901642854710970236718237602338575208927129080548412175806315979467281841923525709197124975143109347822669555574241985423989175685315199364742338479904444419612349899045378953187459470510558421316976897271486611041166555143233716461580674411358081261431333447821832213837006617688855335627179815073642542143432574219687147047927673787352496249618059218404304677462305200217643743656401444731761831196216203788038571137264098441427563750236016095655456452893970415416536640027728061115172407804112190672502248882442741830158560524445887722723253776737633579216867451221150042891567364034569433089035305399948604889880958235680932237116124577313053254378980688263363176980442282558280148439163989753797498316271681591784262918893264585660249117539022133370851154991344407856179826795510881963242001416310342099105943568151274561193165420376397008591412710797554909461305001999318362615365768623667862803715461537080933430054031986175201369117372417513007957553398533413848531588185427097409258529072695164602265346655730740630922587250033136752573410577950409467056525930415003708242196493274982617537342654292216108533146296563027456199154506755199462576748391955972290376061366743912008706356898009278237582257922131918687164514570929113717279784301833395957221815496662921291395855738323511517151985542453865916466686460563398151340985976739153530088957575942882913326125241139545570477239939409645160291144237418359498761220896267262753839125211081117279393629012796923896076613665641811678664541252151624995684537233695999604220086595167596054386232113072937461296561473576654122233195218977621123251637370071534542656861034482229316966866618588667225030045929913398668168637544127807926382842356205744342910951940261429697844390184742864533494701104883752307656613659387225949624567331365138634248155279294284617254896544044986062853536735548024759249433624605572757152257322130387624330322075383581188108547294267954684799729643870