4202916999307864073885198163855411594720632391009748990055462819557087331598899852393630313261826157239927433833368621929728449009151184011639260216366644879718889701393499486106194875891526803126228652694695912645457837092468793225843911335391114526364238943608347557786274868288953709699617926721553386422136541489601402343659728925996239806356639496566033699617144348114795176252409729821740874881506731155211952414071441227888337738627915868132236331875195532214016479324831668754529509345642048171250460578406938384455946136032272922446710712734370680137884221812132439867489786933949785567415029765981029551517272541075439665548646371354926317907051145355734458866037163510817805946668418575954780148776292179517235879709331003396827764973756770578954861515453155179948591156557633758682592802923412064963020409927312446046714576542433749294208885295995119627032689836268638142451712347923561153983042911024077531607921229042914486046771770893253143141322804152553435965029234742779134844696772582901555532652783039138238477225875445216093285530160648767751629170307069351945965897489848746327846558819154853288001341449265733929849875819593948261352715222611084182443356967590819857584623973852562353026333939358886453577567616560712652030556240195492275254161139013408668847511497923832969671424013462331850322981689725017102607217157575426812711088624539848423744997697579633517919010150667233274220113776402701131282064143534510538316953371858745962374284112975240376781684937354820221595799280041942016872681733349356698651603615694236677194254425748812844412992748811449747757453254146431312022705918122185527735830476652048779481624369313850936972803077955697285715122993386482221756367523595739867796871579643692878556063746587785552423814059815522399121309909150845916189815797394092848355418743391062385881571490006630452455379722470378795353512046681229448647238871354630863171194346664349826564386576082700651471077587051639176327715072953204144356938504877557171276673969464934352130311989520851387165888342930911153288217933943567429089887692056248005997327215742441919935976337405577778088071948589154649551407949068225570604683335147367482388887772355626608987833546972357873669073934115293324670071589431637377820014722374869961606787434256827497242129140251136252379358513775343874241519213932308055922045116689495157875340275924475837796282151377756243031139826903926341411396917417597778893676168529835891766906256255253258301871429418794175896494751218759510284304729477842892403680125623825724806028377146735697368575967075570399955653347795412514407347887449365212778581762709114617272930307357549200861487873531807149111532836398420986400667076901260760143359954948926935568518759197832791400544858493265434999115782921587885354287984885175134408591278145464146066757432524752316314898577358125237201305529829931463127611966097116672296158632152238957507664122057422255764143995786847439107164533207725702323386770643866241323314168691265338773739376506806228407723630666706367804895197470746353087353419722443461349253147269113075636038871442018977304893513685240113445867865955719178151588174237305385648117987766368397283836774345279824343483849168967878781722733159348799685944498899304315911277408687135323144915471872396187903384380344052320550332019651819244995919423328882703444221611659449206337249876373964792036337668771236556915821835365314638668802941767091476000790329532268792062205432274158336491821484316772113223909251669959461980923412512242318678171942585088458233706992987909877690009158483116218547728785338584614313677429761299957003533281030381284933998409615811455062617276567823108266777333738413085607410217716329106244388549666253716638859921823027835455361693968474194415670308588432800792310072324196365869413706609997998745297598689494947783267953235237764095657354617364117486841766390898677393996645163417933300790299245849173635271324224936585841822513085977705216586312201831774749423665140975753541124574041558095581766194622266663234847214128846722316968909943845917550579757351475461165817154152332662548402235210056601301433237514693587640169050879350153281117355494065753029161890345346266189165465575679550089559779127951368429310765217763989460317718184076474425210852836149036531470949699221815999533606322552037938666591212503759473381622688182909193589690529204738525159683211658091683828972417192181217267198536547066153616878413336745855511036666323843716397482884277947177197880266086706735119199797627361784557732914484864527153759656368347524639262865822345972578979990993092804231261268423360645358943100579562227445712197073679049762642315234273884006232773196472013493574439767439151633800298111408940259347103499736460074202949168431823300297118807439765823216331811819104831180373225441614163142487564335542723915361134626939987628749457624714686132181459286330640967236519333498342175989944179729877595999773993467894397358879556512968942833663454686937394493990786763247762992458759306921688273807535823607148522278705766236743358428194172519962449297674533676769968073134674128859463609194548034226487114308441201322348247012030490395504057558328775270143933597382761383408955808833401581834674289664651398205678472002632279874285633545735392768080147148176214585412691981697615121838071567905583299012774651666671230777622177420424247202673475158913312225696206710256571914548777320266764327361433288984350058067101478933566518626576492466648932723758316206244629858563699858091088295347428429211494553605991789355400351617992487261782723640478639570180492029387721524094719387834271299379859994382726566686758358190271480988738746411926769849172973069216325862059926923265493852992533545155798109973793686741449161277499412752581327802513787476697913770395982456713316943292408963763528748143048243157458924750211225765119831764638904732218832