337966241309764657229157194371647313419686041169203565751686948397709963487918975145420261785558278281428499890864344576311635390196924694327181814974559267821638424425633410156607676192459963351825042902765029378420392138903011861239704959557870096932211263769651593296619629708861731173187855031809958597363646444779455127135051971094089007789333255223310988474921182266899383667000463557414756187561924760807116571537387072925960235083542893194927961972995507491235962661386783563600476344348456558072568189105952696892922029749682743243212228360846044317234031497843981262184788518635593044774488653662347565053088087268418594619630314791971570349438403399179925664532995176177867239722303750978799110433655974645832779981586072229970858721263798157977415577187538540364469439797802230489713473513228865828249696904192331063531010422557931285163348597737712434136494703485789726416273950248768689172829336042023971814774753819493222666616770755748797739835750346147673071837954907807997456836905571449088059855671351120499531746089310848754293531610483174921948741071423050720694031725577763606029314895391098369775979659548607152765459391166884946415112707398503303889663520354756891012701086048186653665687205483509559925899951583275857674652549808736191692803735230337536159970159132919737685624418246694407670639686065599389948679292112492550798796421351809045151596959310698839136736595094933114151611528310982171871200641744221605542414240183386442024822036522926665049253739306763627396286918376752879928753120855574728910296103968600857859919423269289146020123020369778189958433675104947919828037632455024973831748113524885029021669623986459613737262516873464560024156082191162259515248452873967142222024407439125285866422379793822309021651773455822938233185388036770404292528662146824287814196952942847626833267218895516390336267416169966389018298625320153866398658254158717142995553055264768239089974474753119264223338949342621564360191619417625733223764395440558998816488481130291697262756149292865140989225478151152459645888029239520387597943729215739306198822934262711767783973940923721477681763762073074647656355967201351635372420925213798601715249561211529521459109958326694431269434168982710792889337392708517026429606382194057327741259962476177875085741451898689041350187404992732134032187686854996538385394655660485477518246802374485735751637388382103202475576577046500798283176932097350998543456236447987262575956118471748209634278383973354561099665853136969080674714389777409153657916879707487631943823014356428297310925176672770914723997688047015847772638263881271353295244787349206990017547544150507238991078581508172158640141875252147942172548876586617912217252879864859361222232233836236797137816091937624526222125195453713229879522643198908476150725255327831751282716658120413952083547945961219860528703183387454507883253624566852715704234237718243954897117294108585997091443496539882510493451661354768352865501473315983808485759706535367436415676138664303364725743637565950574886186832744468564757182381737269884635092649208841647448681442916511837719711109482971860336858437797919140335908693850288761166917574852796566961874698246997530334265373104642887352202317474822351580890653956106495680239048696896122588991352651930378064277291551907924148753054524693765285385747729589619662503250350473151010414140942040536136489662756116450487793956313316452492593554487523706154679084796991437351734851029386725782293263198659275515971909748929926072273179838079359613896619811217077505514123840768091766486782467014637763496734728174529257597537028333217142373954265323459609827685576793389367460194807274912786918830294314345317533569518248875431683582800334756292946490963968804473194268703806974168961648644780922375741125906910178111495509653111304388672678573125912683355222304771093528309356122234205680817707644208564181902991730296020956860377439584253369743704975390593399366986304525158315661306571568548385262902536431171492062688653461595811185090702976866885359733134648949786959900364279254222358159831036816477580928790377224038530148784531162996036542487740791881177415313783207917696380137373397475941435166737587206449192954815965582743300802617092283934674864146358232336598421552238272258734009240484594372829489727844725982033378408110870057013157019643560291228866348367690736308270162022451075642097662082280347772636160929018002376761970616354128744424372245563160769641127646973971294205699857696633620225701602958472325814616993625225398815174175682338251006401655069273705517958389764515784797913826165619062043545968066754147618203073374227859262900562786383602314075915813681435925627765564396738424158914384443219860982735550658826812747884182191614145198245256814597545844705335914514142204853868340647177094840742543337261545840426653393555591655887644958352903595581124335728005198711958878022603963313511673734197612026812432558921644134966055434268348959910793665247671511881815817524156212477824529300560154158631311554615267581802383075158257364655381143354127132433091232747065733861638999047845939867815717581842435041248564807082716431282928982654067288321751373872767180042263951559688963666561344346908993991992379980022403225354358800564555132522939225148489757148525259123796306116604496009325634148543365437703837869198484860948649518242187874695886759001523689835851760469517821501426763716137644745216732820784906183195212299695511393812199424671745908174453429218646247104414696235505099492120089473163822896173738617486859907581214858224682293111339320809454480619122368585773380759283141915985612927009853355638702347415728643481974838382809163955411772714621770561425904380398311854348885627233114816858988329524458450224593933979833404306855138015871341840587581490431334196493446210474242173024828387947135055279745884829889295391397906758435286989036072666471468229