49657647343798201789548451037985674054141237392952769398122982139821595032493634629489133225218136698465116326402852374971396580473912291618763789838350426044224140775383891694647664157594225778930280479436360485580885646826527034702992476315968194530846548666489296383498968162946218112614139271923328302868464827913584628824781234831279645467770896609831379403463758863537284687176660845696296764239254711614573924550741881653782600491499069749254591939768286110761259772164934029306406298380021436111964523736449019146615684842226976800626853671284323021556348665282455926453685990174191698636617541380134828625667317089122785746908938817439462398175328630879555661395761844077507361921118852558493455803833480145493489332367891129978913518110428218381255078743933927146319187285269632930865910902150335218205811546780161047471020935092892393286378129834156617122217712271238636251111378174830384037690450311843252079817105755921687542636882856131613338573117982146119123780492938710683979313900436792535831171852649437589126376356205493252222909184569030566844813306964317733395615330340687705766653971283279297659716628363917199095653437337973255977574771579513044142713244825995226499403571805441329127920052826346534467638464136795395849343725643652736939627138498299048148782444645333626740372294753907385055343067734344161160924896409173845528722139532394503186462557216310609372182100123662525432817088149590136218176194828858747223155707926285126531415219523133963850427319509533049147613795654965581945205238552504237207834375945198236725522255428379205181668121887247295814748445353377716059616206854697949999829937738702423291209909973312355252479982783598306882795675942944361107681723755509569164191286006883591482971349261577889869406392364245820328763939797912449656181964615422266338346097731407794273769077697207793009011600922393894990734808877741138357939458622891473776978747254480044322168857475445691640970097803998913918347829232666496991820453306538530971545972539090249314614044502272672628415431136476084368044995146678772334674717233057209003978402050734813601902099829689898024021552253599516161278982487825399893024486398620443069485868281526746015939520338780406988791908240123908577198467779720641886935539206220346088668539283514008120946478756450659794134385578419564130041964754586205294498144236640910770009109265072057047198387863716916562217695015823733078873937287223971982366214019349298179591668902120617001978519644374586888488208914854263845058538130868406774761285621318669349555805648457320421849655155712586786553705830699183229863624828927584631650345849627471825741957948550851495749501216398905162315996144841957064805213034256794639649820576843595550442119169819959157381910329995769323197458370032085470343855199743767244822528270597035185568910249078157487298471168321905284602831436502770270471541459782571886591240943161487833419497599554133093253505773576539747075741474809217956059303769985751187695975176483166179514916434555387253877690935130623580122574082056171454945957477935885965058099376129297679456338514922295214727728792181996890238797517199376714123448790054952819564823371956314937288095074370714539313564865033051539220585777809074292916548938853587136026321446936001874989478132309569482713966542047800592347039769758177488775099201088166865337919628385254233613640472234128132885678601588693994867935252545741697432687215792866204565589275675649636006206721142708464877098779928632893269714899938925002802746497704654734072346748973565399182790163028641376465076375164900666754173620214616741743256311217776583158403144145668006265158923724429614428495717978286002554134521697645680271550991345105219819772607227923173228568221379973184950372966419822152820224965683325431751723521595869789546461482365765365698264014757578382218148709759421733559957894869309605586530477025174469683847942604858001383924853867978854955579550495514746463185400669219037342799179506289567466165427207896696923724021636533079826504461424645989480918665441784497682117091309527106477030351092123665367426762925466119814147953859598666990847131735149440488607361580492088403918930454006959376515448723433995836556051118437125322704613279541797834063359284609720774248348786025043170966311963757860369636969528415169598600805336765712101999453748312725133969960883276014632617610532687008160858768149924668523164905419129896635905596288010166459466480426031162988527917381456117066546758715635135694626295736623511719716027306642800952922992688643441389208948422292202728757862921175377252624606890734866672223927860671537623477452538429034649352860015917906918358657667273984819649162123806867050804021794443665378856269554671587446099704606129611598536539226997252111462934833291486665412402061848061511377730898899969250091374391242512271443436320741842776988302628463011624418261314740977587640341843615155658173348928943721162446547109437348270355636908419277924869063895987077579346583915862212900954839978989847239282011940190477942503157733293182880712533364624509034794445101899774550666167113577594628842829128192742455076295156898234242913421939953485035389118767387996024934169184208630778112310713295450186995633950148776716204556263243559453572335186676859378460181453561822194982554178491117832630945765632196389863815617797481445839627540786367285113120387130680639392500694413821766854234490328868515138636427376361606822714837457989674288279679545544322489704609834059886135249275073835875446522710380634457496157546237840077233237351564961191008505154675431694911851654155546488727736092475681109972824904999229731274698332909480655178357425740336250807151270425416177914121884170960849895769560530360029299322674294496869428227424783814855104153556018205980887857549404900690917009410013461028592344915124024865238928682020479362128523936540203507430702614086362