28901345568298677905901643527149253192475147851952484262645879347138281165464781384771887924525899487646092243597066234786675455222135502995619721700206443363041351024302268612819471165953429132990118093757343706974868113131141247834646927357039942989115902882422515299628568118617665264666949203433894139914301530275414668412119384716681750277312485737359172113288517390432473624064404417507518141963553451773971583266730330494175247722775431667847893902387260899619294379524677122524646365556209913543593526882089453357869222370687540855992877591028381279216306339807966771332656116891988622806377437198183128010435275500726192539009385913827012802388693949037134476153438172375804324295317570366359133238169567037498318861300190157467786131884097668321471838923139657817434657459716123645583850324189316721737241948026854070768801437651543706254161727247839806392172060127872330825463600146116406504976063912145162459333602679655908534797881449479727489537347445432767962876328858691266964016684438224002697304013615179339332942142169538677987251135161964908189783814205380132104271383411104038834164528484782899035089426187954336591975489368633744416301797562817587354236337652388700233805570192740941855735944728816687584650467809881492427852239136967511247195244841768961615921723774285752384222284652930925037872853862867516221227927360660495927544747098895603079434601534216834529697214462310382482896513545494690437424087470036426921260352792462924508366947873361337920315048994991433277917157998958283195716947319806862995019141329029721995528485016276456820491648042105661556288668225734209282364136863135751163565664168087408098249204756457607819639726696863444186139231719754744239120175797622824237857243652665379325755504690738579274214944729328995828752474126645924622735443626332419397584912952312805776822348395780017194866264424008094081934608379661583736540553976145027898260196447191472612331876456337026876871954915617672901713147955998249633409836561470243211582777547829146243178106063884788477602477889806002672912062639289937156773246468647048634539034656118208426770818188000298532325533762632792611435365129223464559911045271640326692462522690223588864027441857518047302841570107671801866375735855270851240403653869734168944744549704279777877821827776780745546216025606240309199663203416383081167093252157600876227104340011296985265735725583849232416922385673698701641696193754982318581032406088343913748535546632510215804437562105989356904930652132997192579369484414457452496758152030069326107291807413624553162286393167157405960572645339438777315978545992252316799649735278333097755629953063441699141248155057263075179401873737827554094082678782389377841481033103456498890317385151867037413753869331395384774325112999864079986450810881942438302440686228836493176505212958512786760150898991148033998123289162677641554963471632967993178020828356525273634146270181489142918446448027706822421701839479805107175336415256798972229219596183247882236732015957939624694469571888661942912293300188467079250747866088755718952242964327798147418249356706673462869560938031275770877453910382378362581457263563712842075907458799458307615006579667037017881723554157779627187354943925559427191072093572190696396286524323673238785130677058856563512948207261551328423512917547289571725953622983781163671448614988103280922787896259371795339834135629285872754475848428461608146312794742650914101870299525946738565209227578487858734726565837599786427611189066771563873229155679999245316411305114562877548678609035614995488280385020993581917253949415793244351436962358836757043989576817251350340649756983889866752837905435224892477086417847643544173156784872645287206929547904458036282604562379563199591317478044112106326918546940474697943525672641342787012266891072312568654649814957321221054872593953169636211988072442888644494070280958585074581127927582384986148027435543291362943799043811996616531239472261644891549245149626302977633493826321705576364995990294371335245759891485384519719716729344369945637808258155390844234553268868978291930214825561797140752043705798835549265117742156937143583155965655767824359957803198602110574840022201987331176674372655102913529755199542384361481653026337435386021119859986925531092822508116787166844244474198919726345763829597561552741142784097599135307549658317118950169660481985942176433156859050103298167441956951654567836738598731640577496113360170999812191722478926375845196767146960689545777263543259124928842631893891481854117346561093264417887028344988799359858570354195454278415411349899386436575931047725255561441622601331964837383946124482060791576706364485154804377574563119799092139258768717597285672977694794727848986447419759909802410230946898381194036854665782728786314793181983039656300550215706041263663103015202024379972249400448567208874153734644833141137396487438328456382088341415829293980780907641458469719360308729441673296912441159203574922182319428076803657757113297976588138913805594295916037667638825996614347805076617985950893224149910831522683194759838767620824936455119326519257547284164165503388763097955215602835074669396012002076350992079225421369505068727526512746220155883316632271698388455445956104720219897244947419882122905574116879490716549090337659990982223169978890980849550334427857703582756726184577950115966270832792914361946531853022899356466212659734985641196531945511871936651734966381733794890791778865941137106416472777101308894867734617889784411957287436135831533267066120323637434175598451120855770983616783937994135936454628855344311956485105482571649961735824274902613254373261956484139054009365503728789362425536372871618033986786548998261555848942259243119445927744233177339934224322834354360567938629059158976654790916607730640816375527951796577900815760683418753144162368297619961213951538279731913497303867808924539276290549077634971565