688957285216639444577274309329294497142509055249440835642301745721769344751697303614317274906870753249694781671786213756839563761948247211942362198114877447743457990552489330560445345366902280595011457813637014958883399366166774552884502663124751129847768672813651492137701152162587046546124801403448877678579459358866098985933455125841410839118242070174115216480293269524655019700842647434555318429284046139797525667653133498847888941614473415555571084849952054019143884957191107586958638165150144668176420497945574102562630945816298858861764465092247540285533733114277985753954072326594603913650119402563685121853269947843019108376208395566975382519887643672386387229246370085564687692166360166969667411328053144581543842450932879140672116198532717378060904785584189363453238751373333733652462415616513564272776577068416480182392802888795735761268201490414097755419227523532800891451514863553154219408650387688330957144359533923391035052047979364828831571215869884498550249573667536472827256983760298016428319570120561991595165405310819437689918003540892082738690918015952074597544119993104612501710554286743334582627099693422931611243136219531349676298770539222605984516721273879619538044645612216949095395754498706351203010015864727994733632763231124690743621166942833135043176591311960986444932240508995436051597383155112537919244140648962192081352070549116132936992814291312193319568318943347352449654559871979574925231136102065091904902659738877762240953312464075249163415823567715614257166457656979915364329051895842563717049847191177579190898579210937298236903914590337012115660047142468590092962577900785545650970545975974356304935905429276192550467676748222957559420466847417221530232888336444798555890560256726686344789012194610569679049211658373627848692765517858277668275498432632074624655206181735091126842673764690332298492825668067178380724423791026809399306140845896539299591497670268545948747967516101999518716180729793467195545364833177877082908272018114007566233218016839438312904226216406456909115333839806456306893627773590681061993389392473311668159082412125662554056673044768816340305336113904026089536258362956561731341476751638350486799703642515732381502357379036253649774909527926429924992802351365727009298675449442341506689114993930715367970326626463615966837924764316012759110188536087555806349977969114140531902548457264495612133327447594798559384281639888069219697883204579244313607293571086625987369701763895391917889263980482515259755296793390387923544525940297773843394498520515596083634481627963767439655067863142505800790542625441771486886597382036571015433258060101647276021028129120895780002563968703728440024671317888709999067649382784225479545190314692705047981172228784715814661912235082682086381534313172920747483291445172778717863552718956490679377052222175129755502961881411685555971146715133911747412919651863332282569412305534378807294653009926821280426171614256936441644441896544983347640499060730872309970968094464426996990495685632084143007581688792595484213882704550910142647907858654520334689757936934452219269692714738317127552668055408366727183641910875251353992599647305379947473717625887441215118718774538150459988613191149123286430977117610774339315740927695845767630070371843068211864959703819115947931773658163651841416633442324345347390467740128829137356253528507496671368011979329727012675660045086546806791640228618795248537049833176058806663642322951899826547166808416382742726164684093967303327876124591981678660553796379931395350312687879522996833541139021847112195369222519603127366046549227569864786882095398599619215079657311625013440576269624710613560339642368798358776861052137043771952446687412916875143230745356004301945769979608588019835065556617719581614807845511065601641215434226557168437881828335184189543935230814040890148617914915028125047663461781893785119383033658664192184840348017051662898360465805527345693484355148600285740235363380782129067658548578543397115368162298580506774568909292057395823469897431351525397899253421196985136370716449721188543490947309509532377835838505925928374669166357344234853531344947313056531142868570745065246425092867616667029796333364901145677175489623881173971407952416450883532617546676112767325392384972041689337110984041266354723271845439653531296238768147848833276398741117834484337056837120709496350427251217803096153898141317917914593913907116471681649267167184811769975101249345481176376902147188031408894461559463532126574911228163270276911098951957159686449910592886752467497554824319390906749914154040472908390757007543833838993096821153767686233529158282085876534402427632038879956918708943088559594257531029437354622570396069664547193454786983678134494978582324669860283659742624652149624664678575483617747614602865877289164114943454951981020645582116472967658106290444632688822315496776880978783122588915544114758286758366416024723906937776234551595743866541079384568953021381504435792216204646481462915715129851519572282161065925478862054344295894973012472712608941788619525407615073850311972323247422487535038310060927652664058129931200541956521640331409145653319245245177361586605932695413595889837213597419585813955826492947057519947713494770664028693146256133636538212869634841478122576706237586716984011564812211218791411595247757938408547838029375067884176562248514149764822168940994694112899738704929530893289802285391641451833916173031751517296768445445163223693238267062861474440405862395951350853942785193047837301331444676145168723469327614811498743490371118654631922626609886978738718274302307602563756758748114562889954758247159123417862122747826424817622976892859222875669045762614211875541473336030164410964017075235655772508571882855454564051829875444685588686363769741431339081025616825526115800784522921959973561299517881367987840648749445375433240278077502784901047728166333633792164215813