921427848864106895477106567882188612476579538399358512212114747674116088846760950785928982628840913854940837536089497908930618604665069308184735784137572115169191092331165588129667552883623574972452128057397439489269770894111001526307973831786177381533354103653493367689335334782297242194132537616219715148515505097267651662420223422289564543376667863620927118332264249097367271637881804979136566874733767675835840897319983566721034935316717813368446065379210368355698465594673322630955481648156927849441208920726032506294344813312376778051801845525090375077615332147808322624034984901782832361195681233612535085699356587269921592203030191371001827262364538041752692218649991481066298169065899662853144784658924679042574776994192670645616843629937202945934569710277722651894241379480593519772013573851028484333880428446604762748218655540943462632034772940710210237979588215330288622793531038041364037153388881359264755113680161852541187683454579720849292092867223701154251498106245984683079542536960988956742625994036280218947708570743374906325864674046433613989665838617748163883824010648001913580777393542081522082989648287575560188695545836201767784840845488727731587193919355461670448414829261171479106156712752897046474433756263814117986211888563221237177756025912658963662567773308949811134072531587563073892365763291486229329753855461480583763180699926915665135916766673215622536780102518509243369829482112417717248419553520814148569313618723674675956198570741223667007411315544330740168362124263962587231284748036239277625364346692379953239455700291396943639384559583480882738922662276166889495305636423418142115813887138628091899250461047624561342927372209125221569997196227406756332180697653692213033376435934959124845493316183399808075693514550186715784935672225477162829399866460313999405893931836234452245714338941129969886452745778885704749370875728358962965505202540446216470261665788714417885223759652829960219400863136283299697880120743695488647013389299818334582152317024204315704412257372244473284969864722785287325932927103419129019535471058569969483395155511742082218593897255813172142397761827360938748448731520353348294486915590603689782424059445751521806648788169349394228829999099549247434017701216468279521054444767472241709402876615658452469875854913869160750043022864963091338045955888384623378555888590294157465069874467832444254161114281519423623218317879113741428810276762844853124918774096657434629423139310959976817736979379130594815606647926629811323664696735128569869503579660031984701739777488619924485199193168238058993672627118090319749123773699115774097213175884491826405200938237843233223675401471551168269668270561029085505785135924675789688060271214886049225114975319111534691643042090835455395884442511271052462893777149278301878974639184950294855505581064552678893590498607860339491459411698179519260675788321067365211427942828012789313344570894593211454753095965265893345193016032415334623217240675059048055721689475137974907821038171313652371800579790439678310818942278948099711813479773791610705567443146591574251853266905870328045873370366926887660416328033442160836034985080842061172641138683002961781620346921122038195526501426096404848417044253872340688090324475271103627013506811867125053455221239986276842352291481566967776315119068457950817382754227648589720645785380799199844803179856288947546032718743633300895090831813528662738116291222482994833497777355024757880420095474122215226636612216325380635388410598189384513128846964626111360772926897281518160055994362897780731464641920924818642221519893743754023199003332423357895414260689223223079717646696019164039762711170949321598782485012718795340986583861437188928872640307801853235545157917259231091224136356331672427596163651031783821981175425498533677343875733828101047937285947206319760407132303537294639440285016245781636511163989146818454678369156980231778842694303859433046963938496463254035883550867113159858267959947376426431891158636878403420240057122947995961867452587464029867461345092469749057395891956745838856756217122033013100826812043708363969149523196156602525128540878526579034742496702661711165641344391578360254595058650662583012435826893082003699546064142796453647142651447229001462208986044967586155479319578037845170930896701832828273634134192946799014031748527799401923404150339193781560065943223454845392096402331195984205465056533897232548129820105116065481936955631301137214413782573779221205741048544589680690107764193983796835524682117175844805264348859356730468596642644002642535432551157171097673979487624393311347325105893775666703510834478735403149681645880159695573004737518374057354505899542525265149932474229350988058094578794764854670600768076101116696775690414090648733056569246731219091113782602821156556360131936615244505841311964657451545296364749104397141431428222606933125177753139210388576087048361943296165886769774588284546618232966733488850472611576850645117748598329475782152563226274367804266013747684351573835105902490094872935486749833999148295216139523874962466629421189114429556122425174623950555135975416412135271522604637221116454915167888944101678384684172640986095963104634114230555218425228359311364629651645460319522327059403627970772217518128537478637243547078152758159760471197435777388208389927464154357979078854461744739092128367779619572792701572295946798782521556239481391854314689923892674138212770598839336482691697592839625376644726893631456206110716159391388359593890808626587062627039309817029117062323448784874571085821668392655551740686706602274494987788687783172961293868493413045815649743154127189558869626647156326131456934470690924864107442816444948161561212098084631601640692027972232785892988936026849941237428993817136943192228935976906116858870490086865893846366836853576944388975245836856456324641377325673760180768862836268385736886