662762744715231180492858619236051892331316543988754522135156896505925886111377923983753588151177270940321772372807057386109346516028989506077245204913326010525524723800817061725831417535284192396723958751232324144633602909445151896049624619285972880940627364501532414983040885685553927835476291735667276174359702563584659398092805834838348655808169234968394864454858174755165591185105042942744166267540419173799969865769530510123984758598523087445540667353179943395780028132112839366754285151458174481574672196311715303571568954155225236451223484350222463074506519736639572437409368287332015068404842926228741739458471813286628112028573550850559665370468194532717467545586868514817765771307851551634107893872248694815458177174515591130784144067849722840216745318091794048674474322626865601593813524115613006589777480897964416879767325932250922095041285902406778585421915658779318869971575835993537964532162126156857823237773768619022626492860719191988387298775630741046674585823327975672847022144839911392410841502207778960822238816754694003790657973525836195020483106350244519862968212072544645754773729204983827289393669465412042765273565348480411894141693374545829428969971666082048584039071297525633385506933879905643170883353817428794443849462586909330579982510955991187835942017538672783770636764826971542971812651669438266941554598217407028072350675968006005874172527319508763016286055390692966102861750970653763580790097256332735693983540729945254744470591993428421566746620903883474516669297882583573179666366428872779391186843387623488142410847643492393411993404435775762745168001317702320412253613095810933602833314125333947826563292602828704547432161368010160344088640033926425400367638299998104141979777437239197176301995592344133659611228580324019836308619172061875495993413706588310899708502519562257507354672991203365652148031698281366995988166685452935824498200707118675867257147544957593551081805975032286111513795019705915160794017476770646475745051767286829488726261657738092759621051649709745611363996629430988895173225118542919715738989946798107561958051149102364742342033037814868711403699330029405213971907337311059032392977699513333516450179949890339865153142798907395983315389152269564519296209925352231018748888535751836030479667597911902345325644472536206049279970413779372323240842267659162172713016830757663275311541939948577396706457288843587352276995367576181364397119675874974782638786085891200659862741032136814854531639395469505876750858639435865617357284790434899376484475920565709867343342299275327281389135063807189857464214050183071360286623547626905369517950164997161019289112139817301340795188335317592810657267898736496531144276121159410314453517257172102941565455429144380322079903189793666116304154733189418862058301884981782796237308327534711874880052495467839913612984045806783477827654346410152739774635683047595299360411404630562443981235475552904245994886023236155407348492674677958415504746098171423146137527112249690536481429882773971983482115296594649916646255611846760336525884798893429669183193206110743760127488484402685833457258560271973282564612373533393664249553271851081649679716235036162560848164615801165313529422897735514895601820512515226712501633929269726572404554423189755544505512506209609776997823524835798087226328758621747692256198437107593151735140284209306347315596359801192515506223593794128940662585969403400187187868356503931528422301095445626492545896571093094566669451993541754108710689337861545105173624013898482077989885821296996063878197568998663655164571235564419104642877158452472753138513963469041894391667365517536392346532936274695192449338834205556157026913487387587321687945718720422359389377035523284868353027686620562875608625109903273382522269989522274383550427254925551671474133630172759719133794695070444942583848482518396535659331473386199678733901490778765819865818775723697317795716336072838215982525915342174491756627189502411866186692118466035175517912768791946619031475151137659234364726754264447114593714979621701526383893895447404636190683248698334219568109242864769594673494328789606629845638728754562049291861218517064350908910249492739938940868337692179373937839611901657689370287915440391536895825126345789080115356738470012191439539644109177690164550861526428743880829369491057698484597561322082249953861479246166461052907302355422559982218657717554915778032167749349206905817012776735985252634280996874953128934057353343625258177152308940863168608820377892229830292266640179274379436835582665738455155912073903479884970589028580447574995188469818831741469617937075226443399105184457350358280770566508503212652025618364816932659951316985032737440662671199792895647881112813686696306293911484996505872337754531811114437834143715447464565165894676404793011162177139229441947888078313262767915413231386525005206185580134874832720303488519636622636758318441924516685291204120654067321417587193384437980527261098451993892056188917358576678283313429224340854971581030827387636340413379894888122382439651415016636426577187876523137880444089434469919839354328426799035217537042931944802531262843357259497269612202263366410981474989056186673096789250260174429165981116657583957359128633225681362675958362552255368877122035907445618431841931698537563400079026914706368972910955223338984585124497637588783448070631626995179120753866476147760761604802885909978256947276540649887804557908678466246904807913286136534786795742625398713281804468539514477864831131447881852520821986412195326242348743636368280383934482825972491482539781970903495779480044157962543655442571939640882154529711917326463976819909887732813797252649458207854186939619708411509113287118572368826423654716587534194248682876379544145534362949084166608934282019787819674157766558177525407936857486216638671308932854364056910470777314320446838425272222702671469