847576235607480319794073997125344138317946228929423234268209324761403574731941123131811386573021995233549605214968826778757243921987872824753237468257727760602096242751483889568066248985004614613838614029776734027072296916629873883871830473593425018586611753569874827295326322658127233135812181198255708493279969613115417263175016784370479038863215248527522232870156159702611981097415118363598248078261661653089841416212047104553858434853337656258783582164989973631411080391443337333656637301827965158686592499155030926692697032705750574725534435398859894141991150971480941599102444553063853697749888404281455705407107797203302662585472287935517138995537495244143793213744730851470235859936757797414522410570868692435734636084468075494387230754636561717050939663753255450245501320833185721060720683873295174847728019096242738118165586722275750824158605728994912273785179466803906978675907299779198381675716238658644145660752400151673292558800499699105238612483895708491707608242269247202289074607860588820874979011223321819989601214195222643380192738310672905342158334872155549624802598429138103760282797985360661033956699920780337321529210811873274884493647139060954924454113490748019082240324757706822297414245825318658291246325838442391895372411680416638088023251871612742457951268769258134265827163967269850764297779561558681249552240141834762469322155794818878226119456885413434439271322038803437815071325385774847384553627833311751635017013760833848603785360315621589366029902872725317016001659579232071674504739303508436442267459779487173325891049562190430451938221299732215282605262101785584431612617148834163940213727134404525626057993510391068962559549282862708885554238849771188904925148586192186965867777987629974783360675677877074358690712411564390695064999037998641394421516515602919082852583623246757919334571407320933979591129056771857021270932354008654290015339062974314456370480111999379808785529766647822385299092397629469072899860960766076938757491284389396749982940140949953862307189648848657418649266198740760714754243357241495072454486144892443822345771293863943660168621535214179556524695420386279990150943079836994054142436816387077390127543291488937896826191152816865395763657747210634052558463312148525618155724265408728336952758705836757677005295072041626413817279137720878893245378029324245476732143012398375977714787428522772105542198687998249111318349802345642134509573125079818548853994164417282246158784836233991718158848603165535086115031988786363596989192558875606415452159490770192008470486329482992937580285647081396443547767842638707903749365953229476362577258942829816737184737123240845939154707493742751186711933612902110377948071990408689326640301118892202191761715320233380516137916832615746875120470345004817645515592449246033723286255945412860671398623716864281184255149021604487563857881852192089845616830385303708333965783781282785196655781078705398929979237152757792329219676046573494058783798635744824810029757184829441923070586355409610559444532746115071377650643595695617745580740461078422765669218602176744645909444174644896242339708301397422732435990080925505017600588997471817781592958713398542097632037573026787308393375775583486913748362078859368655246093433175192804824830846786815363167361684554587735462213635012232564368238190503229576431263806315933865023509291352506953386737461878769963152179834152154076395171118373228629671868370228925736402724524764463261862107189095695560030156647657134746339746132858009702672501754845745858344331238656730624659914643941349810149156601551226645128961531518468897287343125068591577480294296646240576351443049561938889055708761105344181234752286327129885563375586330774853059143099731039720924817984561319045518692797884583937632501217124539911269478887842076199377978777144468736395823398632759485660607410707821731552927338761986329642607544780557427215145314195741349313864128222446730490124662950696443523974526918191291392660537820603416734677255577834180105376914004684510195089771284920893416836630924589637949506457683323558244432723992886277495020438189465051122895444574097060915059462252226730072569953435354355912206042071471970055947332902483795845696471631265521330915164299828351456522425720708226413899328246871232034411072222595251844920166014609250307192638416592596859458738421751315617616948957244884047231367347057003644850366251144550204815917862929016145811519285769514673261688117706247543653625604683229557824644628691723745541666526446064637010363378877054961764763021380063441946354050098556726194291057480783610484436469891437023985434731073749052542617522045768756867102910917697857367418259303534338209177643295786927313284483955186435213641879459059852707789411796135379216792318912686212655305576782492482588198919469976693589479248923659714369570930316028715698222587359272387822179682093768847597025198352189703845755621521877384259570387841437430058485420259027074795432782133286374891629446419782512882499371574408554647789659135596801485128333493959121216558213963766025524140634583721147642016467227921111275926293549622496462511671442622864515527962018486712674479456522870029551205363726647562661787208663276392249597924416988777909388395631327392414292831221082025505660958432525227878613225591483706503460186594890757863068479985179546938658134704393793687244045846143472765834771625052867172989696523014539961309287578963775877667536940123081597338158743945491413095551339446540703077576678104174536980589611234132117027383819573397915467735231805374581434972753236345709726391564705520871817616401130742582497745153223088431529083333008880854068654272498893797539246249926750366551775888737823123486028226816696179645818695566448171788502206278582742186721935268795885489120859017729647089747052342151488172405898255435452820361201138176854327409280807689902725324763795953635815821451