310344342486030367397326661709301559635921644845745876710685066918972819592859511678430238628278162130761736009408720882416973864276563201895813723678083355549262379081378353224481524860323108884486284274205519614741441949309111705272889997980539130383524741202371413599402413779545415626340744452583321777437336977421724791767524578891328233955693554669239829247182857065967333690779283601248946704555173278441429373962988364873653234379540989907102918757527043737468981582773731792237200072466582432566307182238950569640788173374119998581899745468737358046444735751087615555159664784229631090062432421292329642975796897087415102400860368109975845175152916444110034012007890147614692608543229656632524217312536349287240706612345212691717848992316575074198278630760864346991360276644662563158316284256512530995418186115061269149857519542086184413514641799338360772158741240860025818937971050863891249712707648720713202842234819293291808364227294683570785424807745894742823811465406824117284419447412616415951521696065558737813012022758638875831461786608713619927742261156864152375689751156652856864458529581251071270959012170944443819583109889350893772650854807369952357589485284225553414746444031318456742527573238301520966493796448161137053975763871042969984243821229092702548278310864492175780989720676421188848333523747353309694723252226290406303332466562572708058714740431720149423687508137326575347151874506515523294698005940301078671025306596797973266335690481732461264072147521388384812618795595632883690323649819878211226577810762954911867768994208558343168593372706191243442277731459639634535816374426822098235047635502733975612601471921892273820846645085963937396760693999043534466172779503682432995497834764366863489987876146309548687374281189624618848489581849727030059403987327086773144492937914165231256950397812234581657645804546369462589260551661137395856818160698555475884970088006759941279301321185567765087182223813024590538845483443540693414151790941917534878128391742282047854722194092592565931758105931347697063222789218134995436818580025872449971854694420660836381968548953208593186561933248201944704434582996157678822162096108224817336516248519883344787596458181774284749038469297202022692465877621234035765278151863075989967161669155110873639088225660834283184892482838160774433962411535314988855239991551337118299522116466784311601522819754238522593551124365444974994272965742606616089344716551711744526035089237192428860493889559850719462332721200384332197688140325663793756124772828551717512741700738866340307749511353460356486617992175568847742411256217233384304086598712950122001041783028788985261488489548896978726912345529004781401668263443604459937291633550269057938276436859120038579328405766373378284882786237474388709925709662138582734398495737194840991122996308327029456995968214349963470964674107462320871666562790776144161808601678064266998767479427482184299711882175150198394928291267539640725211489269499066525558068234707951824314359375367217340821846723006894544173576494596015758733421758785117564096344459567235306710945453510483604890179829358590595176871654492889029504202460794711704620382812996034765713679265595177687193923927862743529394734830318728859619269320166609745338121625331093972281230451023837885881023296939055293966719067032088898125086548495364323645473177642595865597181417116902947754371353186629469781743927727598754776310591413256602979983568803820107348482257614384259381696287510029353484924483688826987198257127294805027654044168424621691593845373147045255713552822215480458345415575133625281918447575439699656645915548387762419482848204812339477257672369776571894984314018471919502391578063820798332453872613056616492377226307822437840468862415494237322897049519216124318223710577319264428557749359180876257804671457564176187315280534643813480595552919255810104525690276860784959924461361724269959772494499757333186566132922358744069475771384491556164281647854298051530896550645537495358832027051243150364953077105188032125346894644134523503098003740210133849601468547995389567821868362652821475353879575412678439473485154372039730827556148214857682697836181621948679525567297313095982865395438367343541746708211129294647199733319148532987649201536344017606359513668976511788775493557481755954425855792385491628365567753263315834216711749915955377642493534531703578305672728998027870949699335381750031425958797547273449555165380819443841137616244238486250968195079369936489835501911215836035606564450564741938658467606230455794553479429221254365426197946358989713216625361937546314756304351744037815954749063511217388566585345558482718269927474415768991799933556953590840969006715915836406317847326259557883455349769832824618242971577314687152873525923928784711956133456167682484203316745426737448610329618656206154872431900419641158871197896184725198562815527635341651773350830935184114811225436115364216522042288383989974531391930273779860452279299277848255425182121319983452785016529912812239928875282857526064061376157068890874352043826540616615557853461381327415780331139756073321759566175045943679290784228445773581676713483297251231416222032706747279782354128447288520295026463859173523510281491063581234926125230385784619500425517199628631555003475995345469114936815412948820928366043390256249001489288365925891559259367696697227667899136157925036675659396357450189761249297681535566643437552142717466476772382878760422635449327370834316581594029841249655656184358519144418785385843457756835206334137041623563977020868661970531026284765650877003188627340914195723163910219160997110322647426433166668468681935883689657507777862860048860308092358276430758567366647495288398860616664387204876247484665493106506291281618307849390043352220013578240644520361426827719236081845814824693915530914136984028391241137414395639636863920315398998565