504060249223621955984630174937071482293876142461617326412211487901654127596287458609162225438634296181530587565464321958148157326119838371964174396434934724856703233370147091902791823987628977934346952610416768231742634375609543698445427148594961518218279165792919899660874619865630632850473185565788156381548069476680983129446527969159333404532469355004307020906662170916836601599371119684022280497313623582295863801570795513156155220571557661232538225253899439770854549079996147994136048539113382709452872387692485225257744758871378232257966902680521922656109328321163436967565967472991692611816480809161663962408431663011379947779821344718026486163347435189962217710815488430551335172377519678511141327580259075967874245049051159510534277466196956244851180221628443302384318073623160549232092565289879932199289547118405956205162383560345464162665783914627793855829716570317874618403477503300862439251430880861881945807571462194846259037969008628683622015563516552399796989263816514251477511642352783317862536181549517084684837242533171651460620150992531643473924285204780844527133134612803729592971397874390371991292751729597870818642796458203278790380564436357988677669325858786111635421656816210817343789006952303231879114147350069737423599966756549681448259793252955984864431840034431965078858730148576741589659823054627596633481376961218011292808814494651686918511853169633547716905106268158450371039155850650426572907724576935622216797035052586677413688939537627548809589056288503338891812347400343216711522853066727169213756109423567615900172107931541328495821999083339837558166943570629219396305970702479528460828670825633720343319292897600036388664634415565294725404158752441662305258207871264421805467592394163741461259973759678722508685530467524188698249928877323745559064385310339704639271225902550943216537290499611037766176688671077806951649419199198916551285794573080974165970868701725612094527274496295943551536202071620744982010480239498367880989538844878620381826056027069129931416747592742251284192136866470398090716892728798120516659675138597556262399548637733229327574674451822601107357421798791514572562648562629567804334653245367963666071837362212159628652024675134397767849786889561045654900767555086527232997329735230279788590380736662006243461390964675435101155767011646471412038295873502259194036480279173113828955059976318368459697899917238829905990480724217773968284479476172250244634889606271288542213131731185550553839822298288565489433818538844931362124333546876129142519261599683230345289234782474382163838571229672831980577737949337370847039537915306510298516863491658011887659359281812472276621259545636654507917251653827021570434511703246185329094129787007456313591136197872987492046442760595075128953365613499118315768183288197605278031405457680853898306316740536270997395952352602471398304546664048786299956327097066864974498260815233102644781475478429865977185091258462896885769226377650136622632187517589138449106128592162851428978729461598563949596982054929740477056867650701866670661573578614072207556182366214442968095698822490397196809835358841473516254197491919825275616964378679948478111177104081261071393262184456202884351232818823617940520974368349410877927665897787951573312260208513628515749168106159229915316384192439214956325158909751375785438576942202430924502917193108848392095828300019375049861359989728114669594605716973151888112864764506532744329193115113678456132389555705490397914183654019607738812896563489961548016732310260353474964489711877327112464664426712641575791268919675626845738466424504608135252925195754163134532706333742066302311805530164568607234063424754263187045447575118069217989327756766456997246112754498731926652734852575765813718923862198444029553995865368519711817473746094319547491855036112546950302621738635265143612432654258600373631304351316921111744851134815140811553206114714518333002322426731551126153671271947287882935355472376150776728518133708081590937449311656925618548272651678336664567039449012699945328311301535949423349272925039785570742948034489717199629441128130490472272486338662439705577607986652001555747341703958889481371030223512924129522838192209598836515357542675460727116265868838837267592122463764731588468257056282481278833896942110674286469655968814734068124275510795324434836482822279873266785813347369488716026626956539404532543934001607438783051188151753711692019676218178797935306402476325919890506014307026233026522766229022708412679364165257601594314172645745072252387016003826378847640884260903977046281905721794773599995642879903405183624302635266566595084278803408844537162232142280355475520733869794964117230684698299087282566542032565542382385906816591018238257702324800184632128104749621377536990005409896713357909902182692809851423547418225773335736273442938863192570415174287970455638155312213060415621255465152011808225123215281884014723971729693422583713314075978119478971154924727762863348198691705281719999823893406377308320404354551525905844293130825841288677478034623869577209940194818109815187279617643828463855990450991734811575376487396641596557599703273887382674225691867263014856763564258198743498963127525184232965279676176354072883152010434306259670764341643161105555425044251386903949807766513786838435386513252936234889919656996247061912455813082167523085375929571892261606369896164680851381653829257694698937178473126894894942965426354648196942120487813989126384382683814057323154369921338846127999714891891966980460507044435780808597089427328266378317031111647848697967916548575642787393746823455241155601654714346845408531548069269306173622499856750977781954236933082771910102162379609186489545805763672063708503694861117533835367136794977166525873299708856377737226516262655419724904591204879969375141943785469653465311269302863850128029897548864155206907969978098427234192467143784045286603