296829578196979238011844397689970604080208810945858547322576499207572706762574319357108381398644492505194787090606222673508250521019833992465627029798498938159503637119819585960065066358482684595504916478019875240790011726858856534537990617771684983120244411306199124395134421079438257449842104053329684795998792999153831534146795232966392528787806992365564135502267440368539907875596583996151116227386243217621294276629509398586456573224354924872788132175004356553664904165262438983941846768607103120935125085600429822587750225176596124255282122794121581044909650321085938124414916467872278818247873763744381417576236238056823946464788546736059313538171294055769536494616276241441616962543003075839836084882586125381934781973426617583441651651682118875147565254373323618216500927373366642596741940422586658758458671053285192199588054726876067898259649713239365540918311028873660653828413585724322753515442411941323652362791537250303866274559796680327811107336640461856227068168183666997565866315378414442431853861887293133885540524957811595993105671759296481454333822691569379211986726306981275886720081709853158921728485611333976242433716045362704777455492161588665665574192835026957632267065446235810394447120843837031883201468471701612434568895353059335454772649874488209884320798433182187482289800456418285244390454316694516409670966397718449123121640400424245561107822924720886285643719703409291352796210396641348622397185168970487415193865904087437386950592288667555163542366743148688159115665171312261763741054494250751610157013255365201149163969183941707625948577816986396869354781673098064504323289451468426076066273210559674951882887573342150253691350657755257148644731329752313843128317510850179994314872737399691267889716798282938867549989600698026204157941844477587431043517490533335349406982322796134354648528275346117008590784141861551760143352281935303738996424580011647752720655028304644778095776349157316805130883114417828939382331063171895461863825777262680720821381071384815135346291408353449105774274187314931426211048765602820174726951604240532268254226735764607420663969633102163276739579143195939649921403361898827517744912335836356355384387234366469859819032727843565627952475460465132647319554009775669146876357946180189879316407957351229512311847083841190344525791787299747837679144861830625410220456883164285835919867303148957325750330931362150173966494105364168443565286083433730832017833812267307287964504337799264547323764071325433058990047064083761683654362014864104965924876700112890678558453912123730741624808963750724872846428924834984452800687398128043859088834782821542395885517793546966684229333486879339582956077988330129798587217916386835315995998126298606288519154708007478171657711796144786698616545054428951622413153904412584516951745870265650895425235737239457656988994859703878473331051849355879512192307342723962913682337721662080928322390225753736978168516922333851740331402505970369540705731828899775234407487457680074769225732043013641179594284279541731545532695814003696839351146608814018878410876325498882973922196613947689092144735303183337770792065017366983955046555859318651713815326872974686803786192331751614844693512464518539738933480698437678439712833080745136295112729784871513317139522568265708374094528171596993758331456596997254451338946879808138816324262920567232240689922864581161353543438111088471084770423989489133519326893207816093897733552754256182965646413774978611201537098853706664387044353813887027807180949892110461112945166292659682589873154458448152321416142698701432684832554103191893697980340069670835234691318891381433813018928936931924214478659777465052372037014380176401472325034539976173035873403329719941726229577571356393258647883507310158853247890671801881955472578322872860516114687715578740834034185020188983793489123240138621183135428105731737409634998540788442559734085789258937179463917748857848086344561845429730953826603837587235552229580221243919376952007807340384738732322033027966862013917154377833445223326210584051722394878361329473241277461771339307448998035877249252683836902590950859233039680043489479851482945708313080509176497336991846505627725555448594435941831688208171452172585913711535044005952186651095587173899924401295356958136905397544712040510917402694621067197124492469573014563683343266379127243357128055237482862358934605494393080618632908687299562464037806222661861916319225546208732590158418171577370604573933442638275517061183290540324458933549596026193679114922887448598157683461582390798032394548172748838921686420433265006814995198449270529575404067985939047554459376268150588366422100301895323568405568714659844116339670731087193874682764584029794917461698270173131161829621655601165527786417474920347530663238905792732491713121185265795605825922351508256969061963266289396206788449178041922118644828205636495986665153222081066645930051186937210625606036190151832261406543176028256891456183115594745857237301966701119581980283616794818085217321604257991223237563657997082167113668257816970568090498100958947598799443102349965744628086831986328293134462957971745822870616008696554547924382249276508150789229429627718669932784981814836214475961364216294532499132933715196317245590106586123502278651565141655476122238097868841839921862596772081388673873174571513898934354118013581510696455189223312329093364788107042880587433910413612842177595373795924336545153556429402491391024639778654989758380281692928046764023294849454147914795592794290578125583785988631176883521366618226418413513289903872008655964693241994414833277993568573098865879749101044824725611404234151355020892443912742067605954594285111028851649745266778717887451664187376568595779121520526970226948558495970691718296614574575408645463191213917565433070939151686146973965953780628538653851194170171073553977129704671555471674688138155159107762243584202714755625755454390921620