311310611166219233029084609541526975118153759867286677416040977073558812689945247975416563964046269940886188211770078837331967269997978442364893269804414248454849907214258694670325845205923901137561975859528782446935739536472418112015605489332813130079552691396438051701997382183915040245624385997667692651153382386860746292284017127817575215987722229485179761231868655447375953130112944783659522211087924433914588825959155672650603888865311424986848538060762876971658848858996167429454113378261960850349956277281547969401298820481759458091936822876631185729377087718447519651183753395043988869913940411335891716140613165346953912851123868327748374889065460095927665608981684947717340197823751592969288563556799875845343315884430966492919283594873250232528401690191468475785062878495855683329533555538849783689153863613494872152583350454399997619359677742565408987980435886831244664389764432238920827640766757433937015111161433275460406827102553026531268152493140894137351362259123679335006107932945454163698147398543974319523759588248383240655147275393864368520580206380934623012509804676956329683519109346925581269746824419082622140163566538587306157025654886930751060779256794564499946364060819130946173542214048747860116904183409915819749651833294245456722964589927079101722990859811976737773642592364592102136002363540487507631950731867028488184649928918893570567433279644863180612767602848688385803709727821166328023062030191365364645722557811533517362771612884101769795318733781812947667042275484306647668562613784658387605775595914441554684837680887110218411102823613990880414565306190018049850347876192900267852825825669669873624939392122571972385919658380635010437345325165617684922652959999704898332192981602189376991935280219450723353415715228067075341958332635729810599640523621187939236376613532886597248928894949463415325420367825704530610336802927444011445655960752082929622669675128474768451249322294882415396147550329977891203045935683411166889846986870497932471627604334791412998176189555757922140383374182452251785111313666815269474169029612444489954808223476768068847450222023659506763592819414913661533643313658894747978486658149854660291801870853041331456246610694321862961664624445663695764880595301219539575377580870514532933962958784263681847583267420787920616124282465642704204077692677987094794569361882956946705559253373343888796190466127896254247573986055139054151855753017471898247545067991136422119539574177445923252238076801025912522691247863710019561768931827734512262293028838246931067568402514275777608954661898980272535981682098819226180417865706476579453955535915524129024544157697413002639185357378572263257028654535774751510125689375558363722819560711835983970958654758438949640960279382511369239643818419193261939238813246709335511304657383452144937525927739628250514943998906838851737705161779694460488144864152619275883107399631469464930881792517975914144391284262583340357514832018392081114245271222057457800446629816417382156107409109253239392737718185299041270326593214429867980760081686252381114887983358476583962244249294425308384965323782173454819122764461968196555057537886219632997479984038628974597125151755158194796264075007994124775677726454151805421269921347477293468446494615967747139835096463136961015198641122373650248362235124813334168224802730883900823073091986449842789827186591387559777362947170037077249332731752264954453519672901408296052787656595328728799322709149597843568036112652266912649601641001921738827947338417857722129445937607731973539440595023032046999892798517212766883385044407762217593777394760791551114311256318357431570259452841578749401565583311153057186521794784496992885425288931832048656977174652003212832214821958218396745857519049315431393666898579531961772388934463419929930714864339562225802919948421142346119433021566737536738966929692241359049088995320993423807157885047374520869976780354313473970852714397843613131567436512638470821025190945073878365968037939084791899171438567110863078965018412985936554269440698713741477363538858243774245350924831404426898920666226151128224930519922532015473868192411517408955724992454596091399814990737111095853162176437539476635889418713044284140750445072046680392392065132355677102128279958511718360123848987582967694293929112311345842832790635414286131323531175808899378434732170672663531792417311939909616253258455726133115489267122395682268389866082722667875806193102861431698730758551539731742319158586416717948528385850811205189950307149839042829362268942854436402511797266906116682509652792689413437456161193262672748655875147722204311069924537317770857994138981981896655429299138509446596736826260082987868558762291495593716135001179940989651808567803254794973981376722961574727867074372731341395970127561357240666497882049984226960894018203796882174743401684003459860881236988486106141647488918158945265760004858732658466925662943164801475763477435389532781521998572329167634747876426377854778684525477519002519796318462036199285667293213843457257530107819249788981133552859993493451695448690128321468496080307467576067151133635236272327849191723615866341961676663402274317733576018347743476165841579143007618885527748267970571026531738028663450254018281280416745467508935674083128161998642430889494619215083215845573489825723796014722849722933093696361459657348917100988113548924108672838212731117985694679762073501588216595251667278052346814162542814171931343349171938456273963179172237696968197349907335069633441329609698498058194589100550204172711568703888247996812997497814009473408477155533726614004972439724979074414057549043632297500186667098286930431387249960334897435817087391948699348583074686379528562192876929019903560234554375655965068084644415114981918428921961095969442453309386982866731989390933156713436801747436720632148109392201956056218320324521583263432090736801