357980986622619720896631261823349846534152102212169581501626344941514066898785931116783633881411111298195455594845883238531925024810464270354782208198435161165865857060095076808043402528400716923765424628785613580952681175851424234801139054701585418750412812980292052162590347983449918491324544022470068334208393581601853083369811362107680672672130595315995324658847097058207625994794995743697942448730773827341353527132819619880992413826556772180732219339580986757593319120887362608835146499391638678422323525191558852208473319875652927775536797086453033887379117079566127498533373653513691129246871425630278601095599834347394944819099692703172952105719132245066032281641133136160257625879547754568217932222717173331293667287158463985855469574666082516959842143537673206094895026505984842896684386165757245728712423798309381878773668366080251563740664742714262751024453678116915414591065434400819213879721920814168541172757832888792349431676328572801906418286798341875428594236463217478885893400734123370822180202979469988597171990527738097276431750946875862439172391191122759455846950229246993653035210115785482814277119711974721690686052118395531431959984747799418281557884259962623999632615944434129376228999963956513250003563973923569264769914556194785592224415972838923095937931983476401587312945779255143519350898792165691958573835639142883660166367462932312231822891467033435065189310685768393581432504678172747310590053158838987724918128063404165351948487382462861655996761783999790839198273589116957427830608988007621104953629088147161863547669827824124848196142940446635691646713971794622419029261638822888737458936971988893270451495983984742279648883411310743573629499069981621384343757484449647549623066498850350768777416412447409610442448760934169997108707963133635648082624583295989638677248010228210666722547188215878388426303337401702500139180501712408288815113821648393972235804328298103824369783336551854963283932150707455801740749115037204631563121921844155468351567513111080132712386364769158949110238692173410483176120081865478437653342829540280242238851137663382227183888749120060014550109776814029415718158624746883835037644612192142982098743746146463888712964827764270092362165640741810671302963486616005306567335734273287711139835646497507604990034035117209766617334042228142792645357881702598275768172199526245295008579159040005728174120725064038805657987052286191175225681604570853317607307998885358661357942541416307431861510402365881625236467643803793986256548334283632372825457219152397979077710687491845816685329054917508357735306935691499989725855070375105450306484087787131863431110892484837923222013674628410311047617490702393281049572476558772911161921214150741235003637835882735737249641355042952415065136300817154449344674131644537152100584385462566311039161180947917966151791524230814196606834319874708559038886245554816713063471658353494706071315203633880656279562148045448896995045394488878117779534653829841488213292518631638786022839768739816343857369892037609908376028608662974455023784850324281394079685907784926022247148013549536596493959487293041529569872794849349580073583471581775281212552163449263199623064303365694182106565791635889655199607879967929629155680490523403244735812496003416588947346249260779971813435028992795436137813388086286984870655613848275714745164571436411948394292020310594278416084569563967118518602619344625887365400431008827805943576609803941941450271982553319860089763823915236921601990660734477994666585068870863707073703259795526577037307565538418481491927656291465483429356394620916077296986347508133747577942537780856854861138141911427701385993197931384232951161499627685756568352545875087795250575092285954881583693141328996545989916665496285212492181327419080913432495682836128938875338290679717793584253148213254769147468624819865405591017050943135058338729256349869131639121823343861701369988530572183429681418548270752672625304833891631094842698683234906664078584828846066537621521999538108175981702337196366954585762979391790423172682361760472793442626442058704058675168244642813970861468119142526974210154443038500162684871724880887477950547367438832641874468212847940952378703177721265923675825594341229966557199724006634231447665911167817539295157715639366575862992113873929356810906373680992091214015302743886562816774682848666978280992675485732976171508913825696774719969683982529907799721004406753024782707921556268922217263957057631578973421249264460051933644395995849259476187756196595975773544032818626240466963523770940868897639619443225958450425643878811546587692178326512323892914175158045043645276288513056007887068171059587732725718547777825394013918644022197102149172065238020503518134263645287642582131044377287898247930421823204802675991334304957990966190026588538377413943688431832208297309544187776895590629788789890984140706650933410341695477953803779913249771546787939869511904033565268650442600217035187729150712103622467075444975933814265104408026563247521275742470677638057763806058448362122042719989163247869573266462568212230892084001522312882156379328593024671819330214232714189924890682496301796242051715643015468733114544745948302730689771796985669800172866061100451170043333968630846076737522367972521873362258512079815936992178332524933415306110320729707392922937657339648465167562209575044704533869265088417679093222759955434897444555769997105826790456493513188597531016198383042226850245946079721296634336852842906965922034884910892359077823916133207006885975520153934915644191424933487312120916545415708971418364788565366258885732691272463677489175571273191300555681535559299607961558439670327263908591315268279838773733330129473136643727288474547986714686733696584955864389744868362872985741318064824369427933528034584551548712291755446046746146089226084733111946838352327029724898877145786171686909654110035613772