47043365988038577317146746502652661710862312994623986127122615135022254640863383552899686952889359245121847536609219393495088915266586085966738492844852791592005406801799541438279886216384182734015049351673041565344067272922931260001027434317335099940794225834041152737919972598971945227439832911251992101947255516268720886535420779743845332129759758533735431262226700921189546597413235558672289483891987318619334158953595775862824781491795159823743982426426588653421440593204399606074246049884470057188763269402105385777646561264178722019498808975032786824133383767487695799743829480899211502713740573431607674052272709484051273203521124704055689232922527324232338336429282822684038873217989281145020691319190393624297329276233834423078638252157423431322692406814297739994553811541118575556581091851439741902572519139306667206151875585126634506993964371012583135215149644859641679126967879511644346819039703213363869043017681439001099510455911079422461446263907109841386060655872845163435889593291724874510448624157742202630563796772776931831806449101462695533765578786381233932564131939729218943124797655543057830559272114335811395493102275271345121329968152975891376239816511518122688868433354374658107608214791722182050118968452033783468757342973883584262237747198144851478936371798611683971292275764002953222913156626970294746307173938042555915833909410837918444120354073070777641452709715322899233297720249365847971346765539324474427545241446796635613594264972483050666054263877181319161116848518668601932942911379979296963573864817063530576834462158099799145104445684313523274520118485627604042547930286965393472602064947909910563165557515845310469734752921157061610574974266175198032214848958457379974289320927504626942076204831071431787770974475187104477109370488568901160364293823559377266275346321201307255653061287569932570975250774852805036785221668558203077746231796342124200359742661740675248863416180527245547582581667957133462866116649004357659974359672845279164666106915559553293267560472687061951695787011207999374439669524846964904120019778259927738091520790834393996298542559329930531894637876105309962287470131994113263666231491845269230307699051116321584093244693385489973244328678805833557741827997809678765454362088607540337955304822237639547628843289824391448416254357534353141710831479727329488689279314475753302522810939398629514446554217131926586668842610894814280160529307236724712310250341843004291349139317016432140961298610840856375471548757044476385801882731231804073089415951437619200180220438094596859734420689777216012261074848153486847615009981419958355664186558363872997047736072143028093406131096558202374065937161908667719031864422995400570157824556728614321543805526724681522393430653505358979791900432914911006873122414407674533678193676196322428882835899083577653088379936445147782880748667595231229738111607865134771803352171103657418844696085106332573969024506522874799857199858944219374405238522818663610247656424885933338665640923780235360133596416064868080008889602560331904195985076030532265890454675752572224627742826677635417864967813277526463866527277451203922914367567270112009385213571897103444137692349336770185268598942069814936391371310436142572868936677909126871681753184191542448709575472941134119272297304542655078489188081488753358127596459183095116899594374966571536623983287766490415913539311730286767899692389652772542781901308153752163644745567530588822101562027615318953745801124711047264101383577752709517636251770367580816317839676494449618587857792971333496208389468403544513433047908606856807240549839665039653229665718611226030857013678471966266001983712667084238212608881384351691015594710406006339031185691755764865122400793539035404537754894721057115986431161665939329882847641372641794218354837477030975610483268566434306443722179827680807396709071206555185137879172915179721880926456987536477739536666736469477429920242059372557771378330027551559820895842282064685690556764413214057008276335788947721824437119438191171922141075886205940968883862782668126126668494220470629933245236741502401890732726316911453624608484738944116652563949779544450653553317574161121129746141997908621686967034768254120220139844345769990173305109043259878277957931793431591464351747209235962285264345226610896818509497846010391159256778521327625741105350765658822173676764750757881362414383765601365321229082887250282181282876685302903475592763678874924765729822185643045212493704523711145008837432249293512562411699743510864606397638599856220198465566377486279103622973253744717304645580185216250362084298587789491389951827215742216183240806858562181408481448703173899271712210031943759296520099014123693141849248485105399958407357727732668670195345064829368468420546023425645702734639967744928146326984769789568250921767367491956772837405569866839646899427370327365742428292402684258266247937916711961960618388844407964140330492948220431836742939643030713773376219539819395492947202212861313188705267999585986630715946517591708496117443838731467727192659711197757924228468425340757848098574537997136756035412820475732762372250786768712656566069392818243381431273366675924093136284836049879194542065980231184094548440217569805946413391621406141016697216914188385448184277176076816476965643416996881909172929716495987990758292581864919688562677638096141469554599151295926881995053099304128482299652191543037969777020908177201337813097352565656275489501317755863822599567319677773250088091021457332937577888871055474534287912659964811798314193150456653226895967174559667058848941125793049164490384919411531476134388427340773943401837086436095720644828327985101241865613407427464037620143344485504080579219866923992919531494194065441139930227488150530596231295423658995996185572288213465376919975113856980844112657431934818892843396673377252657961038818333880146502505880985286087954498318084613582119