104281202699484180864776123986631140258620086083854879322078034931426988902936546692722884793060225864792138072444264264407494738189668450932896053273425474812844269062157413889780765789119977275945188885942799185576164675190848325368901091436222423089163702348244025911807540472286979706486226591827734695683759124893861526921256276857855623078433172356729635511748303958946734623007472550832388468816614634810348889392026930578767069485041577518877321430599186227024926935902056717382154993581208279501556986138447231530346293746836672011777172982088363673924513294830724859352411736763461877824972252728052642234935142621358319599285322328494828715741770353727397387446241484126852336865293473285144841785950676938788669307609329368663345921837545227837535718185192344597157815692865452519593665426770817978716951144252383882225488039042349569433438471075788383888284317969650361883808385678980839256721031872659174882755976283311777240663056688479892086554975293054482162642988862805762308702145228133050166449946084900326542413155812360946726662278921725083593230327751485518097663899269470849965133303491974389123149636803668683965089944473521887236027542783267128949537356134133964713194976026473718101302591283968145988336503895577663779847252105999993383807905234380389167945821276628759860332170363489595813199249808521481467274778647765895636749575162108458895897520434778105250709174135449582770083449086637081899284176560074949213522723298302755861200387584882722490150937533507373775578154084564764244247202952687362189492872756170467630157164620026556520322932731181425782937937145662932233529153479797565907802547119098347816375211882667085624652512532924282063875645239652286530916243479282233611742091589805840827300209541781335775757904284912127088510680427054866897770411407397468797431914489858734281542565201991047728185158444806641819372182561294667865231922743697827660950620973760910423465409196154097973556962622827575559984324286276202400443210182230482756248081656406280665303867577238168587196613787119195542908012335054983094761452014365160062318735451918934863433666635489816498949777707151333945158390296263458788185218094469228743080209639330572582115954567874689655611564808632694635528319118771982449323634452662848090482672290410126791364618022434645505140441089566154488797384873151201351621535158206452858576259851467172096474612883125552642681478815329905381897938338117787299181633798521848476323529451574951729315992995637018955078606528700691798638149949292641978765460576064986793759956416191480888741708230413108018142022637937558833951791298227025197022764199124594655542976939634691510340008544104729777077949799701664530273651433487689592033096795645226161921995472353296794647826721278698956280692734039340654869244251522074385842221953332359828095485549779361895191737039614820364910082675729430323711791314236233583114118227243074915989892675342962568806618372836541971591115129867468205433892992448089993182870896144220356933594525949150148521633039253629860678205223103435092049229410617167196061679613613388383447345293598913212765853925778834507387791720797912403411831844140445464181353318057532985783982075806342174057317996399695878144605535244809345815815051158657344542116669824063937488831082271135164391748632807497839033938608999657419523552987317659292174045206260160163958902571359637159290832605344290649584947115581005153529615342534272863754818810419528185829466674885038389281272413273223894770536206382960415393446627891792828955269350978325148388819671204945642626979391913744568367629713641495756590191172965527399965384120610752425117481956664703099231064683497155562062378393453742359875746297437017662129364135095480726193055316917961215899524679841559393415784799550447917028520196623924367240157042845303010106414966444204324148643129880110692825687354393259373781793621848983145246997531328269839487963373384678222330475604279717991301444409397801027731825857657255445462373226920255557476814682303130216598308979480393462529879879483316225251961384180497666258954198915717483455963560661512426009139368004009208675537250824591480783622054489793582553194102012401591931470029149535838944509286470939714939139206645255163819753580969517569599853677860697226214104269628098779462588563873053432258935529630781441981354378621768057147014563933432541437922250657270646907476857389269717988842572278855088205268396318171827301267823566904746167627698255354008800679519603137564193380934392138715574928005104489601244227654259240508135783111916845930396627989385552856098921115766441333541531134573120458888365136106619767607424380629749086880496999148606618314302258232766337711715491173547377938411182388708452516259322952848279425292769578550560599626663183211018378381363456212076109189399895135067246379518742850263431223789117638502698871667675262531450236659222547748096245524149131328861620029778726545959077614144692641481912347515892486613183796650159869392786569962452758638151404198821335679162164877182452462855954888150496842037935512335497573683165387037878304019027452400817223357204122589851908987613061888523589753986096889499816926838120061356764622024213926973766227951228612360506811972630786854004898943290302894158594815739280915247026353369708278978268205976755376241371360774369918274772352414733638796367161090782158236551694365777407358960795797777384935957543872239757764448102327301334467343713906066724158013260695678375057039791621149248165381984627316231574494957451955754791146710675534794761394008804849170450274988533464483919318664748363119067289184644237640493998757418564758193125255756175951543628377177047208181329708534343658572971109431682937272559619764158114656134451701594292211810671172690617527617021588766627674956282484997995395985935104431398989567406652636143904445552544804022250158902641275659858314312