7669346894931163246275499867361998288813338940969453962054523051615177163522979952599846765820825561387099485738658877165677346835215828949310927739460692631888313022968788401648342623314056114439230373084643912902891428285820136487301772362581294971294192181339329071605970155478913234838441744601854823937429975987317889317273796660858453329667527996412726652136373101222302760686056809282834812261502998940114991797766042358279132513766911649956573554227535916270459029571972885966448024394482796016324537404861745172325334577045622914829746581969511528081625448343118122254827974097977323188171953372275921583954765275517228299844693612337765568229972656814529249976303217401834631724903049685214457872485728274495732320780644018319312450569887940763827122202962892432823551692275305094361971216570587830022181946221014845426068293465114407963621495517472975985654892493096571434831445227613640365335900976524283649689882263500319844113276667553654250908883646325140933665108674793196687405247557978166312884706199848191810274143335053873459978438460643043082575823152788788675852847703805386729952421457764128191096878772095384103793419998598612727938750745462809864787074821854866684319712776396173929480317367221459898833412735991853123469608940363043560394338777384214538372505895834096003313210553384864175664752552921226275698850930356402145452661412946717817746676863437925093005107190076430976674434110406470844835528122905842849952317826992591611984467928955284886016815132595232511557518594058057245029816999833782565391051487624152501363975435594252721566706380410024069675912470951574706657666869579573813883106607266504611657736238842696737754828315474795302492358035197093808216140093788600766595897233214307656607662328910806066562201257556159675673594683003613269629250828598766987843774192360539784129738237963324882945288883138437266298433775782869206942666211720712566136293613520342223523336581400582895460289247680395932114337974799588591245922588352560834428584901384723250575616678664523769453791696971685269629496557618355637737948499718636454292901848351273980282243714041231534886069264178791071272582553655576546997307653164496181751974039253929840573878674576393479053695361486910495703132160439562469019157973158578854171724889797998998690673511101385081520876688403444993191282037904715928382678385716747243032676658426848933136614522788259241418545982255262027992738591889183616422446304962668293355298276882676500590243324766703523758676262664675179026534861449397281873219594301271968423044627975125010742218388567344579822934539220956523957481546834756943271696049938340328165802865644998819824833977607402046369063459698852263219757041454573782503625475299109282226945299093178045364903174202218650257161849575492867804494704323654810886149522378732718944991875438399928481204324186660057505323063944463640126886404824887519453761589653851494263246901242607997921240564076377356087475764877147803716578347774531607158596695003071181087675751307132748661626006955658881340321889065301789914026114801366837778899179078918573397614446286322628571411829541933438892747186173177033597243342427419158527708741622118378740798237325931101488521310836224125698097042354334980528595265318766413833795358162006126463184443805989486983805110856633273483297331224104531366903722352763171006849325464398311143712096581538582852584298287476475377821191944739408332072243444333347834994214639467243512485633794922785576407500134627359031381293992687809360019318625498643166540936199654913123894536942280376027652497483900125379173420397724358126854882548466044315791949582959024629134376967045482830275018719674390238572827066714031196504909676907443378382672424205551152053930474447843207544048936250674976182441314628558411711774031101390164391320458784748202343594303069288515774718302062502502768953672172036918255075749251060947354765720920585743207497231782200458963977495885854787998628160914406428670163921019254551382346065519802166969307868479453757941395383617304582501804840750385057162706187166388960266943298420416022629624642983422838291522978732862143909454616054240591083035096763479087495109610329205468221180021931943284793794252656501136437668013155626921174407721961250712741121249120737543761722944711281042182415734738425125750016753779947260535012673318833163606231324181072660921254047404551034788857060462357519711604848866384941760020441589448092133543743551254421509223446202033468562386936180873225113618388393261297982153974854302680598925313786183076708094996417701885396815429074331093570558592446884708863069055814727998612255706907704157398823853266843829855897282821358301923686409478750271709849178163616538713518551581270781412040186951303894415824751618236447301554341005439482604612228896879176901734215435218976769781571788727842836821673687862649442734463740829995126874845862247339360085652418138955069071550459348313134948327962534181407437459189395585428295659751590911679869106573163441227690187853614379569565671784540917619876828140125230197636724824071526205427099917924267084225245491047378397770593042703880212254711186114437888685760899434258306550615933569449598494203880478785021362838054973557011041643026185779828101243861059003348437617756992552812536780322263109310092672198358078880737690632263944426814246885832683735533615981755085731372750661117436293790978151246814747854979848035951851480425082394802894281085032637990813914745127544868987728853464415519329525433172329116688808858264026317426565055186573127079545247953757439624367383657149321555171495108311414119440526534216978472645722721461555193538770892470503298966161573853561430496179236141415692152794969594251625968575758606139793747170627081854948406598082845481305869016792950923621547911143706884924835265602641450528864471497194748689936739566402675728669526525405322323732566796465389