766811988531178621386361691924574323308301265843229417381616252194131034116912046872022399656289510305399381989719953384058386679519636252784638399486416968176160858401134826097139893625449230619642594881214684796721672625857439246598017872486085238079481126819663150103991357640592307886886977285126499286679599555811861865278457985847391370574522660605977781637398117544379152137801277744414590046327370686961656231259791097247412763458814910354147796715832086805141800053676867813990749298429209669493634285395236727389981631727031907854126348247959395771545792827302387457284294247575579845440177052714288892792681228556927231521626030905790879415288947113536316495069325084436006266970069903223852028074104591937933276814590311457243450245124055608881732841589421995257966988075271601626194660838138674609711597638513852265584619140060354049391745965227591576773755362124302275779410163006393966807554541752051212249928950242244513836513179806633445633195016244941352976969525231497195260305335347742199564565179441109424772028118836548404040376557992596791357276394169887126969468437148611728312632256818343922545836847275997524319916431460969321845226357739794528411815341229604970392416558097244754907282811783998900615334239611164495193409273659452280445048098924929365362515979812961106159921617239235741904648429863644897628681536374930284189929347654771958144150429804588136920101710663777040338359501787770334879393788657827575877357871894762470290433345905494404059358365266475240467350126604007120530831404441160693063019618885458901773944244422363962716090366017283796768011118753832014038694473815369779893770575764618427610962995751980683256791811729285934757017267962204946923164796787426468186768962468342752665890352169671166562093545602459617478799588916526443981905334583187757797889676989114531009609965537795270134454105058594146258503151767239441299230554066654176988769603409222057358402505513836915433511728465279961992257172276403082784341710752378330758319025382327636585455559130965779453393421844607902368489760046265289770169808981136347357235234733180221769945584026591319204648787325911447984814053922841152413046392268725820460385932554584215718885243886844265687377306088995694103906420184724854130177525338994357766993527262572931387806383709519638414922426687786187483561495156840359484847279859815132733794217960758092078572177793952223539151592902350930677475297473714215243918072844563261128016724770448373173600778790926539685257811711149885655951680811857448350114871699317296929761924652672522696556972681623396909582919618635808146218318449096005685567360065015786145515722137849257890168086040499426604149341221448551386784944039375129187516154922202064335331671341972265251352492687953573372941873361178758226830780038602691411624199320128174422523510571983369952653806870539591795203482291511911456431604256606231555663569589575993831220683058138711145006410084658847410883148065267793943537040046704731271418544344774134269796149632241139916653966382363449880244936200833025729843951646846464212678313245522798750799393422357778123954896097918468005791123931014181114125853183970474059624353185806475322512913848685324157445030370854912494272361406483343934844714965895762356950192931784582350838296185256425646039430693666326343462314917052701575843160357659501528441784155704116822144003561819344051242413220971467481149663245776418676004165986815776682078951867507302470624775747116197493100899817802461219722833061419722944469087526657782109385845199728754959924493886301157513805851699791460365658415349475135339330192669043881470123245819317288075406987936171422709086292446782148348926588812927715386152141703611219358548921281277074168844089836123621238729465725162343638235932136569231248755570914849946696911532616248626805800574582529045799495144676734018571235226313147820392730335247309999377853243969743576867996194577499275198639773460699012134351948332360160510593315857687670484030566056356403725795812046805010833595509296665540221334953399601262089103218387487548770884498927406805291608964400547248417590781936369834159639215506799389202818598223222028566728979995846882316926764794867818938113915104892095986961672058827085600551098837848535256541926451789290747652322559387773333706228826911002950640130927415571478903166866745115350844371804176919930328944150242964683699836697772772020037063767975148578911304725779201134583276064313625204987440869441883933043928212757893851158887242577437524393153416762745979368434648736040428019303870343168892245092587843806454335749332497362074809014605611619837118258594114291825135863737177655666154380866592601624616459413704324969888521927743831255585952489114877523322758099497760264834366898605397124566166905498920786023133676172462066460934066311628715632312213313961044629763891410463816376238539577619370293078673229285328155541753989897891542015879778789649408350419935949159905260987609995227254393374122433520883317945843689350958474750499242530154473928735705657515395010922460271430409398256384601428023095919038622712133745029991889250725974423188142128374357614626980174584164023078037328964638126177267728040439225351417284994682269613831392925724347406578826490174404977750862907288418512434893395077278405809588815211882395526047732349018333774579916339841036529357114563534146655938945504284238521728303287690922898135193204331372367201758136850659283339524959591703654169270503164350778628739391551028699154745224586023349545626099815686698251293895451766399169204325264062894521300271214229602312222666326892328885743604241951312966957341016866414165651499145392171794673458444765668065396859959281549024548517419873432878782786527944384091985659716627062461403482014221371184023698554794192754035099819704212967876565549546664154901971530694342919665863894565176758963128070818376489662264074634915150676439804