46748187879689936334385135658130754059366905976527376807398690853896649860722824565910452558330313469753405183108914399879710309433563469534251476980663659594711123372989074787563228899837333462012534717702110944962002996397587403849123868170907161254141755665504815651482772664105565166345915734981552333277030989764757070852550690261621384161411558779246371522843134493980864109519630120584949729650293932596084319376197897395116988237791152579593957784252661990881906631914899816254535913512503381861956035721296753109380682885268946769928121212376194527136905711755291987396667461369203182864851997998811657473695299307287233311075580822389973923131238998747349842264885487712164487237878066451930145105531902793697932948039742234728086075813464528407119040515729240518207326425223542449484893055968603488933773643799698431532809222957616519403958167772913058311191006453105965732844856912539385394994198388083235120684725303121264507197876153538354771562793181183827245354193743225632120262187981156912259534044275190216847407158798848255721978861665464371988115371531254987285823318113042923830871316721290795585803551694277387785704282555782882222953716416821329978054837982433848417334986392821359414748897856438264361440074184993710765735984497996155338696532769354030734101165123385291028841984139613474972274459848496915878331618311845219527233549949127732294498825107715433028093871335712398224120756455414711273142479427137901063311177878591614108443171615629826881511889513176251639830777777740950789181677997759558386805968216762930186268566262519265016997315953895123432548879922124702207855684506335710945139928424681715628210674629577207533283539341935046137272722402720432178519573580130012530192378288946438898103191586414220052527651686095863162709720898134366858914233644113230503565153400102643972656889236693328295410129281905782839637954159139341638873496377099359123547122467224919407595318033037433321937561510419931259049351198431709261391843198279877537038517201616954028925786006351031804575198020210795362758370485401752181427982954282979164253531156736856867258746786849310428133285219412992838090412529885928260148790350318782110911506267769978292774502152970748485074651412422647374698105864284636524035745958650295252759015956594357570547294386239473428137633707803864244662356524508322516653045732573795244309025804711513158451476841133497275951357252520594352926960322625316461892703431253120509323268935256889961515337817186041349741564216252029787332009939117268401636514036998965155395659127710537178793401260278312297927790207932444928739817521300152415769916165137119925853655778747784126584465197398187351726878275149925672655817983687287782161839582822178197196921828825215222892344769169090761366517929686640657241578636421663277112589825969942948285415422128393316037677488061970975825698349436437825304361580125376120281798539981406347421385498190554822634322315065341510192952932265014837391703766004706559758817724064958966949885788930326706318946398099884406996323798754131541405501591106325915693782905731699288456880432371954288678649879207319722494483992555136466051344280485819807137150453075031926364215289451482346822459030616645265866388437878555995808523336192898486844659813982657138134284926082739913191990647441614953067499167252913394705353952661286450216788144202127948539346503907990536556467063665404978487381418712932534266267428031271471834651526747412191278217908638182556164832288218381294645752629239422288937276979782865974812876975038937708245561190154553185976381290807022857064166743360188663907370315639023949863659424619876755237132879525580572187547388876081161979455127735477942319584949013038179964409963949866055098375975557016663016396489836439562256634769912690291691964396197671552170581522839221348865850548823197842879881574946210831385902790153698541789265483261739165844287437431141934917317622496567577651024452340646327483203598532867259835220152378989238032338845176643332922978348824091245180853597299736659216317992239350498278957843638563679948699858912260308712831667229573498059343245047158528277631655642217437633878135262153778882641126378385141747356226868193478291829359265510276767543259518397080223993144852708334924016715643446842581559215623627315401548870287362329411742439180862712626360245043810796369897795522213453124984915414919163996930260553185803488247471232044989984908555936505779620667454375630407204350359097197874336782340274254495218580284764192606041924702784657788981512433391614305677653141755604633971720167724536900501583589622387846792491272944206232424566628180482955154308450938881730682390765989554369955929121136093649944053519361645065551436389487884416734234184665830677016157913271173773555544598181353535296631504353356259891264590474498426134309340733740592561170557926005252412364473842061876724504252324247947865754742382700950452579724961452782861762693895335436299725246717895446425909828579634438198520175046005796051930613525310479970663816337614640452207361910367279468103857151867675323964032873318891189485977212747683041531890215867181220288214683946972089320652499254853371008293193733299863058017269582333578798927592722221216570527529438828795221661873796617764589507611716371395023164747997476294624707736448826864266955146920469061244444373515492038194968359118306417764322552989388025400408665413310348363062850762895882610387387392296481412701642046617351533156099570689883694648666101419381138983177727144370035051163041653536027689282065708421558428283034893290536535101477019826036244120428794511958133345992246827397601609093371811856721617974602529810092897965193812721085694283123770673040062030521493708925341533871891948163833987595152096933140407746852624681310174390169257654571456896359024252047140272439158358481572627466929515351753722481494205228629423678418345237172080