31338767435724835783221349540144096440489766458379540255727908844553446875007754656221433393049685041354898949007697459558320249342537219131923328515988395886416910482757924721545787342309145343432662765513023715914717868982379260921684900512354646338616657658646714672301286923605354844666377152643922931416020954196973711625121008187540355516515810347746154553707490988063491236895776406563734333477535771659151426018272924304494701659372577412159983217708823973383886911579506777635368256343254247174481895886355116432825547951350773236404518616396924467498284789309699407750690234455118366878585322288530619454647836001352610923244454471230760376627954625640879313931276462748888214832763648377401578790484099076955596846015357253109840457392449138517129007836854176325361109915499413966891333388293671844690146210192833336812067373657519029057508641425526586612639444941590552240507271979442730463712988428914297784223538345799760859285120936446153497976367287831410956592533303269068518255168010937560051991336377688084732869544993431201511856201438492733792559248275900240925767930399329797800569393413227783472734821935431843857485269139928667855825029338087474520949119281853971114919057335779433962915462801494072367850138279997059681529896104634350738512409048832844779724327209595305357216819439299196129479458415649368623852097192378300032878096488327978951598348247122747640729011603380188353361979673917221414627729360248996898831669402056759868175349260254659803768908937162248990919293187624298977046921863857273314832786904774101414409992500642532346431740947744514991017494804220031865244734872926687886735525994958791003899458416131900363908240210072468039396345566654615601634460985027125040754262508260663597481974293338487376391074826825473548441392367193535212593155956278076925411690124011308243459190802552052904216930677082447427517255360388844906718704892798409853140380927046957324479811175248231605373138558609068678058190847471383334188446038551530131805562786577546302426492099419414604041633914095333951934482042615473905964797377559219095850255634728219595843449041297803646501729795893429823886298552082694970951315029614519285101034307426847581689798397243522747315061728751592461757458983895042066852333541968692616348258224008471089458113708791319505348074173585764765013487985255681403502647468955169645795304417274123535852182027082772536683608090331359719320249158185899437089887093848695839649806465992018808657605787447613324128289948311308736367775462170703979502996855430972069428180899083251470810177198032402350713998316996685425103547092176047962980495046198881515262878627487173982234054120481364267923734181146878254847201160272128998400231527113687195280569398799962694609594776026089698083955600396199597533717234091148179746832525528612578730598596362643964749666823180982449522794724244381467695828977821781226378549114223512129955176775514394788704862168529055369644324288880595367904654080535928799289342617567929094776907480109627488242489732261973477796946451384519458657954225281896544560167016373259232139749872361597914595132161111659781342974998918480799262026392983357579849518088733179815087630678123886530183407033557625493486951633817464524184916136375179549541738537154581246924822440335801387167351789663659088711355722071745059857526666025663539233294721021157806774741659059990552307409488173721391316473265178838373657633909875938925795840437370358389393542328366936273591060481121569062000236398909454592972494616395574553780638339478158342347174502986149482771955226827505410677752758549245076717493078917275003101351471214402478839516237592742213284947816219235593916630698151016119332341373364335722489241356848622838791076997428914053449303063614478457123656467295249756326717458861899572534224895622625154059594632487901217794690640816396985080313517846095215960297907670976423350158235388215628996780192021538864909513790753278100406666503389252632592309821678993228122388023887525859869395787664213528654757722799033300222669236810641040345901401632311727069140762999546679069127967801025268532345555664580350492867904757956258168648152930501862557854715413193515768195453633150689417579691823873671480487885611958980169088790911194498038597023618848310464829287505282686309452737244008103880834924901983477864617887718489641102040388450687974404030759766666139462557143465489831697403021123934918769523389964571935182493853813602041721862789084462768186799280350546248960554098514947014543928228206018606881222723706663713447844385189971061640529229309576457429924692240959179987715867959156525087286978434473892921148457025413524042675560855246821920733362084478107438450667491428948719620251185646302602527572608902645627867430860501553507116307127712137405246676432909778494849701567181536333659480387942755362385135071071175190651388915466553489061263380037131091304313921649296429841004471402355209885702154360380849549178596456300465109005924762986414205283096994437120528788179146242813726491313611493460291690469588077533104490303246182917382216245776487507415871489583771114476596216436929235873727646175693914605278303207966747410024139486524183919624897377165204696797411599710861492549917723515227389814166407613233560393601885619594856944343227688022818810632301164587457057534686527223700806125364249310449252631461021061625687138256974391540074787610298192923852693816543594623598943428936392231361930222077774168390047494918579619312054955433676441920217015399357356024651745649147709915766090649736825460655250684948195870167074055213818822529833316550397138346157409111408910527230802617864523687595795734974174420571427622995081230209658176534605556960859218336384989086342028265089844733789479701945515756913636035977326679547779571603584166211762549010263792925824837828812042502969909134492393232754337749140453821237045692644355307