343777108858372434511247136349882648273815386543882876108967734290442347443222109463834419896578711851500668468127454590426162046011546105615471649604216781043413286711729270420366996977490987636117438689201216006112608292057704656969201669513591586261539784451539466118991262941135534588542775537871473937232817670638573902205274258762178457752417605990937374082631334422545303366633688254817917085328560541763865881598014111354683372859444925626438783576159166944763134382477699806271703493508430625580585993599579578779468683846985912512168046702754185518421921798193936650106050068854832749175049810441149092719592471482555707461370825316936420419856139820130358986826400187843596707689555179531942909318992717827272395774181025613660528993859954842697421783571031982134033996900270945118772797750499344561381428452884933501913782381825397972798785718957746146459735439996071865581321375945431220615885542447055493364339166434930984097374752079443311019322291240828256097804622327431820123696432809526812420571188145037212344111509098198597078966456336102238198114088398337188688953815964662285368573639709479367411933694156356669638554198477851120406793970074171540777092105394290129535899623990951080323760565796256689515645375845777630819771217027080717281254406372785543933284885699768644168168893472731760846693543349734995715799516079036191433227716913817054493342191794860793867186390238498116497435987563384396219888683913893154101369838167148845885375351336411508635933016092877426626449192867124661243050644112329319727553760387457094645731984732388459153702905839319267204486228122799977399725941567120309022555823971171197619087688562164178815082352533862015528753629615030350111374087509865253793230563675723266370220875879821384692554175750654226194490316981332184941313911853782181305868407955348414743341904671813897300085482671320190338005323514543561389128652721699757769293970960952653892869510386898152910955595705170607679531139878767219277883206237871727704496017779234827999229765923142189143356770472822541523081425235114991965352416273841220979891341268782297248170643699114521234125908386288232925854563451568947344310735597699150520217710342344847672608694404151485632683324462470393167990380523747734357973838019714185478014441743977793941429176386851716187260976389657458015455348570023092173834888551100548575636725933643449438537582337983836327456973896203729835866553564913955085766251840580462647149121477514946175233245724935799253493627574085154777526303017126751392768291727929092725530595247171804449866403394434603330530465258933116046633606850298006237828190778377487973008332120793124732807534525532447021762221522773596979304665186402573033317853121719058571205348901438482896303197930994898305539713768879248946616878314251836615903307169538278302728949266894133162468156851230848290805832418169515421334447824248436293198401149461347348495370544460784338506663445496702203631056745664534227523187462987988683170194858198544911018319655419717346765042684031378614698803992912131232902366435587861697173308853764164587257645352699447145278954595242488155982477194191801243233607739468963396454125019473605135339172242935502131438376738050341870433137572212104176892504184522052007603860502044243294818812277963217779399566015214245863681641530207747397170531533265494824535288192083241070253970100520815792812418653816942595967467951282313588824901871929120586356688241283968713545104218237892288601394873965148639693132655732531684969224018618883524067659738849698418898125513813656749453751124478598315479932947741608108309925724656173336190377728100714241134914289472128420915345662057849926389249653464943654531143987416569733495559111092160525937607029568611383944838698981003817321350167722546484008490819827943141479328843739322950145808633725661739206551106534248782288056637610424350572403103855217985712449645037934371140698985792601794383093201691118422568436026567548649660914084322107344938454438522567154952573601395302921077188471943973673922689857063057988103870994640813075487846898960125615970466887993510419883181559591451243388770634880611898972684453409022992849489276760093249793775748296829199269151307146485321272474838676927792575487096082111374736548894572373524632638882764079757761372893537217375210311356626727422344280296643661203210550717372445897847729564218932592396592915582497667815464527570438092310432850512697438961807160533352830786690162423512288246891964608969576500722040116504377220089736436704637370677792455814627418451675933084305903521549251695380515306756680163248344361206359617186734357926689149689516939479847168178925449344054508153573057185628564605534158265346287423169006120734457475796665411924874994479469172602128298880476831565436982831135351528138358979424170285166739399635390638476249878432408435174657715135754764932875184215185045228719197874658532657155406732202319616473597654528449941964844362721867670892036466102513251122471275635744900714833030243801567111187292264051443586328071842593053807610271318472884661041575679485811475268839354055099852941565293284587501043358718067465293228424817911917817065825481336656470719968761843180088907212388477162966260606387959283630495784255285436144377703681077317612954433367194606130184636909775452025978534367469170250448273103845476606249992664048342645064365968092353085507376814702282966445837335432575568135970421684259254207829331613671380658445698835556878725886206414058925259017981704477899591162968421038437520855669146395071081451558602082773831814195800849621178409650703277461189708736757041637088074494386834723172483742838521128789102372284283563672361673637607191173427524396442171684681617502519995976984565148416938054795319302310347585549210366131432445826076178547340868723982401660228544489998988512400456314917201445733718014890813746041676477931544387490