10747216845078331112869888573753982850892913276944034437095829175025935589416231284282619449465519388771350465733332653327455948340718487532541872304301229728795739161686662173620643638374181725980657720346614475782885903666595625594254892216377239696481788299937717316907714773485925832269231148703840227284212676422236996547164767451913330659151273885185122778852813332622370846016652214083297993437952477259559180576816347140783657493887308480250401221871155492259034754729268720150994168834989496684916216475188502975131799614803476247891506580637569345177965658761588595134419419077493144004398761121232589840266549462448425237543781898357028628041455123863870023670239580949813197211238243750459765082115580698757993117792474293986780419058376136107358497714342541047169396185048487250056810715979961999813035685504824135149226393278096382155358549117100114725146744250918929676128984249065571445046546743620015759774364510119234364819493715079955513743108890310972729276728016472452932132202505515860156851289917895396280672807829336613452168241301717887585586033880240013874421091965244360898249442473019624227873312345334211981883562855162335697270515219587232712771615665471592287666109409224776030618778822831904252844716701397324028363360662752687690994891329865221742455828774078231993618134654310396327679481587688816105991678143800830487742194206134121326257498442712245670422114323934182252278507390123867341729136712599820194978769207196343738406094192528136889451475421609164756676077315756889456160718511853071652447668232066165153187955801685737676440735876036124364628823113137739317616683176529485770191215839921595472664933904572838869345789561732514008544987837864741029465725962886496966995409176671325290457376542852607720251730267590851803581559655150383946622921336740389414766511157517648318914378190394156002721984734950267955853386251252125571083996374386837469576949250627608799933523647360232382266852665075982382393494715025427478186920541397403964140858111088165372389282182186375689751100846597135793768258264840113567915451649983475206603660649505181926149177001235155453131451335048114198880554655003453664224074041644115212757297581661244310221157832521581106475662345218415498617563450565910589782661196412963965956845594365270261027635585600637332738815241855368207347691681319795442115836547634230537883775796997230743437378122812832048805809944453746899450181779605090952139481624746486834119600691635419683946498862738994634612305226544520435170528349648670249749692847197174219198417519458170934925642348907641676239261492867332940358888552714147181591974952687795236924472192025151768629005910569224416081128657196073565254999470306763152135214543371857530345794873835494972509571245662730799826476304803897143871448997355726919182376823949070846371270891894759404587711201840770427671671636353718051595118683894453938779831659255531725170527106758215515111694240906038408486385342027204238807155138541986522935627671213300893184111190682329033134559443575389402664345252479753166361508658819536425397947936457214951578344644337272787685966577650266031670475337464788567406867650219038035991667833096270935566135771374619601429766393847588616997942713194849937444345379278922922298753492596721640419431832693414387875779989436359795490615458318648214914194756450520154674754951218855152960146504442300030914642873528065137330615471168765999194531537739482760528310118185217933866857195660463172827280592305116394889520353737296100752359991566442178823612561250557524523822418672690768741645968527032982921462855618265282350219828533629731717203163627858233893107565981093866040059045935286771432821310233881941895762022164629125136333831294204465819313860900953572239020983465415255464851843895169622063291958655315592122536435141981108128675432592110485651978715114851602527777984884836765131253855010966784155272703065962305374731005552121784156730778526507592204561235776478914089103109637089921512869246998412059937717611811982872938775850324351110883496935139485751444723228218094545714992684169800284399261103639916703056035904167446991299102068044954013683739676541494633006015956565942983297723975480281342754253255177232723436566363328628113261165768809763309147984868372610378119543747276765646103406147702835501232372184147731295586524311342165239936154968845178576812809190364619114161488378178969262335732485227498951098547542314258283341004885851716263421327091619224718212724665229619176431672407647208783077766430476500883521938972122129501840468583790850490879858132134788668939606168836587412233013588703553676476693786582346366747110603825214229015293839137363050387588095390440614945904600380814932163820802279686479508773964888281259395807660818019385968549527483968116130555479791792297644335924002521336850122997618530416685351227952779002520586772484201384604672883248156785992239797513722707634918616157379794117715267832418835877354839597594877461352599818751194141399090922130316306420554401409108635971170513447280378101330770210264252357052619963775185923971387998851278696533882569388102215281415539195918859262311887334961738233457409203998187695168558071614451650245815594503321229454445827451639682622477092883732087248979261059425005537456221439892521935893656534908550161323927438540180945191254777081551358654355757649334369683090122132942750781769323857364996721848362400780872662339102453086538698012888293296827282641428082049488196105736699217429673125155458955125387503937143299023878730430595546821380864527387983137992400558285784912965532667717842389582889724514973295912978727753027818789569833285778748201433143841534126737828462437234595782479732810233939236232444094279669099991009583624732047849124640807771035954662458564128435020887973394367139953298878206665731174891677540304598971195969345896091255177058237718103960369621316