932775235592662785370364025798095038919874187483923868266266845608960047032404711232642923351533890037518755482127554043803694921271929360201472739759160787884284636503002994954468914659469573908941895036431568237023433190395498146821373251019958838417059797563929198984502178347923334089156770888689996084118585814447291557698151296494384675005415803733415834472134754535808945112393873462266266859185699948981919162943457749248847160237789575720674309288982543627355215729219818270959934209067822921364231133773117628897664360039333859846792492081217157698233811434004499222218772583223841330874371198809366191735101865857362099506603589151645371375420599551865127776353094816226553576525124018488415854658180953887799936931426318588931275708354370888962286851643232632755142388452981591418571525994784944511128893273816021017356318511425508592514949284310201337592930422348774651333377565564624426384799109912928610757977855005692544627554746460758080726062955621741948316273547641141570573291074689870337548089134018278272297382173622238254531996560412466443158672549800650084096206353334761191610974967539817816255877253321444559841536027479103866643176282780256758936985051043987893982398801335724308855598931222627766622296327165541262432053303451127099815235961107989964716869386770593506181218052461912638664526518114724152654379704577207517632713324333583765032377005763887724602789386114287438734534032523429229738153466847682736452915973467354785147898774005217375555843199323207335143140233523295186818492872192587710124582882862831108316322322244597032739323551150748052199247735517421582193539990621858531851417864735968170567371333107267032895026717718853310462738723671465373968324273824642123262430654735554984314052678916707145332627808451826036141571989344499114914591740870318617801946187634799750219203845831248192047662524522633614508067677752629948833110574547553267524465073994342668669977353348434851044790240452183796467550516555396556305691347299898630416170384105225248041293911405718726098724233859797083652197673862236972879713804508991442358122305834929004975181312374520328938115690366475023074928791154557653286394574190359641951509201102795046900772063131617335653092931378916896448792079284987783314355042479131670961827871636969168509721930748838365165691579191615440048132019956662757935921725465345710178366153386612668329359124863157305087145267850045855341231031407166298789033254484159222127362533088281724025464217818552043993535477784931215739561578047311100730647647239799957123422317490281502465075935701787457368798896125465273555045077732177829388903686218496519249211624707899451584663925762076545724897514856797425665339828162761656492383788920483538773753502771846923908482890147808995275855771207975735979698558868384478045444230570623845988948471549374454988088967908356043891297862369803403340285579488594946992335998641498191826924802059164762439160765533733757524226914088424713579912293606903616635173866214498225376504464991410404992350263988378042453413218993884081430798340869385407475304373173331234591650263933606694263824582506873240954624095887890201482271473832702515590547162146845099698432527310891992686692704226681254556779892202065251127608334783595691559565537808034888450672422293465525233103332840466696412070349861641766334989550724512168223777947306783446857044994916383022383123425605682550073631746837782006402967929311409892891591841643125372260221113947251813559816613286591605326712938913442765202853253956222829313751687769683607656217244574538506192693279059442817944497093528027305977911731847006443796229198254361082485857600212426784306283441008004393487093114036592245879958446696071035307828057248924730297335875777037644934381433779234679376074607460166927462809705716448505881603392496476381114763699927451946924470577020967415649782547623909255535577471075203243568366656791871148335534893465425828711521482920079657881796929789404914801334180575602737366727843562683918020857784432174264610370355737235774454455885499990594559164622125516073383371851150269589278934419353590756600117332234049968641767183939857253069416888024289900855637705063588758682015592950651029194226671515830215370399138078384949256635644230093847847522471978737958834658272135675342507068901289658876871416175124338445117321353232680891418084824925709592408488403770113441749283377894929059989352496067735205882228453417879814308100924036656070943135482302270254945029680964385830473149829853143314873842143711281383325856097860993699744125655726275909645538326938744411300188122066223466166197803429013514275484738196417909460284538402788317716390834755929610979555247370041221901196949167120435966819086183815401065347129557628236312199722707398669711493588957793848727575581972185878857960873848426695969734583919331391130559234103919885623640581382943501399884698211785095457895586542750355810380171907588465438572001373972107198537355189138566054798013148335045872849864361052745036979794104499339419879245169169705867604214620833190048250920096503276828150862831923734998345396678796404196932649067518453591479933634743795178640613213891852256204820897983843937346878434778190750806144353899058579916261575282562190397458335530389480512616376877382283887501923736552749693337054207739374474692743990311876795079874046787976145224828341458840741501977597070305214424836795096930992175360730390724690190812001594278971525367247998918251322269934112215113714141269773993623367807732331623056480780680678243363665812665764566225817579816825713389015102091944413467211175246615189610748587131774055838534877864257319335334634954817088825344029557258653498124154834524043695269147219106235805951685885565365228911320278574891451697619704701933950588364920459931159766562414141473745901430737027428552445688340316413547106409233097155467251441969905875682701819