687252047862504121216468865583322419181214133887521418293348328830820484055295789499277179378285812077825530921787387247275689257324814295019318597282183347943938441304345918516755413567701162876016338786368281066459220905388455537183978976139338157476395114863157715402648837558559468989566691438802372965077248233581463064725430957471833387213601765635439793425390336139693037688594327848985478927773973262236759123916821440490519338747535146317181949722852507778098766514194535779633459902030477242611980520446908630937639117629662642453511280321627234763715676993161682759604044150431476962816666860716524139655694888255090916354460792014516965443702741755058702916048632771945176884186306988484051087009596153311557810731813925136987375194551959534684201717553782657882861707117291914858952098635854134455838685396116252339482547555267848785796274056198202290726166271747887706343172873438203698559737997108277699011664712381539158931868920752934327414076285110734055042204059775324963174914146347035496586968989520928161392160515256271231568879607769483644219205525969239738662374069554027346096169956419172859788696820436216322540632762348378575746783067787588045154844699054855459385760584815894344105596241044403672449833952980993433511360545098705713815666294271702456978683436996082840820752325712946996347855543497138019031828144945221424492798256353399988216398890753425281484907954694952486567363064931959901564051455638628462235964047222944053317040581218505420661655217456774207377360867962406249394453094726417443016118413922610875811171331839375985421663233371924611114751337508233545114402707916085217372176242178303169792863199917020214333657212359829486124435086590968214319499106442587628546612872716213984183424806317969572624624757936898215143430587534362729277284984404155796573868332350971426989679296455722399268142601383882299706750567972227045069366241092635254712584140756764307273888952543724430391443819331064107039804107188283911117899714870268994368603350539212683241746039506342153089595369561479993307618219875854594775675341255576412366853356111650228548436572942116722943023874157993533531231066545846941417065936445801319625993759419939889895101369379557262044776213663220296759548845637898236613515584476697763056174126532139878746423874683519457134953111879401778208397491532798487277909387918298496141765669414716363328882059502710798953617718836168128522537148125649935811279653570692522162896045722611599460473707217907655476434983456627107963321664121997226315917548933998561568572735492064914672179907880437839477450744460926773760422709758681436221278344978022756730569035854207947274483769808442567306185552619907782297565436377680296824920213815408292862278568871252018594137556688763931455863057898260439752442072972548418474914328461618692012312791520195213897894220586742517033554205915426962103484838978264542953714389607064301912401255913494498949615710373647024455814462092785416277956554103814449565170177221015336872520487882251784790581172066193920501227615706597921880679671745548321240615787334964925850175617592706728313065656461748712550988225159993052521948256988655244505545089027331120258722867978171177308832829891086503379565968317680934532524637899291709513232973289735666591886834594370237021383257361237833984527822944119143049270175075878339680786939144689464990058315630285548575442353687336676607275824293676750828227769855297234472038595026962342179674972763322911707799264818343453313652868842253161488616044648478283058207133860057731384374604864207491418013175050582296597177171872439190342489077490213962497781784377940228025361987234816992365652586160662884174617034229527908192063446744796762803163057794812680024766654357481412333277304455406321654637870374871562020832054161127982387536087726931466372822148556839931883770578757006517979812632811692825307245693751642871282683949946430364976417994445829868592458093992811099461545581352560344187579238033032457492079172150988743445596791798754234530215470205825564203238958092516767587859304224450742798922968490047703182018663301268788586385979367218893287458782612457305527511140893806323244494432868312800682835703355222119764706775252298397042953088782581391021008099985973155285314264736256823611952428783595651972531104950578782680981335133027076962761497221913831981579677098986915084079933515222686166751205940177739851704939562465739932728161883305496471816908243215953723360445691956896172447593000933312761731445361893092617225047543153478766867455184005902166357307072962483799509665757414699274441368594674341450593899567684790194685340442658103382326438605361552309754286219006907778538648784533580817157755120143864291579773147542576829867506630775274732990714652482709859148039946627825430164314253922818231953616423126575328163303446743599566325775391528356864722161544768941633349361848477859864939827149872654455532887271014731467251364886866613790695277235363125607224419997192382991167961585871788040439309978874259746825405651278735324036983689959863266375338618932614313929883952488180257697964827397154201491293460664169630545770321852473538147692891589712779483520681261919969166609204963918306183889478196634221164769720722865961301873435195734908060877237315646707364400734821790507073799162375641221728987764563772640183254559151527859761514652709170953644551153126510891160511995983144941645470272171490668785643819058506784905133892667658620179461995718759366260689387478102465159893933404457346805425809182829774201590631043725994389832584105830166196783208270722865278425788196619295466779488690491431693874869875913166024844054119339997167741929385272422109965349745078936922115611248946143212531667860518942146858391281345402832306252119054083989474730055053967225788093875956770751544198629314915830959536697330218646042589347268731942930109682