43527055179627273607661384055793114934487486342911446632578369973824554098701299157958354366092938264989473787470224141824968792505953479012388486992948419789642409780202094379285371568832232631717304762722428428932947743542218370952322954472126996497636131315059560223217693737163577262927786997613154556376496413809456728522304245951224506295895847475978856571928386599249486698941113448340278936559257228379068930299258189681784353716557571817098736845453841609831337082771508992870871817504463606149495812116474843593109510759456460081933120679992894343018871820413536506125060608229199410865202449769445822257548967672918262887464665253503308522797573771305259988625720677941804499233224789594293727663604433947752378617758899415330155114552975935682687393638112548375322245712057735142328602733105795448546639587330521009430772113135501401184422623983914510621869618289611557071662715896476468620083632797177039531336819380441252411212888409589294981767735226083703814136721674171976853775368855763176531977729112335672107269538428097652536279125405717618848289914883724913342428251271909593227609494483157284847727364686175314353260599404775427539299399466822953130381963123797344315999717124553255672804142521298468242969911197186637951644242787713716047680948928896811791295529353464814547741550133305332916157607554031277703858352044531591938036212755660723527707281265338172984512966811210676681856150426800419092618328242795364905407620826680142214567576220592616016384546133458490117364666924463174751993809194840203495920563156796313762752909707948960744406205474561811431768359985789165743563210506091322628432750111171687464977717661682206558961458173711384121826469400452585323175779592525448258606282392261166719210705111469728992824665729454752539730221526930888841281731326754495762473452492395774755830782137845610117994695339777087524789439726845269261126783280771425162815344676578203959199941972757634962394794934201081645299763082111185211464594459286394321418936138542711345809947895529589363305011510165182657704679182952715895656148641975212871216448457698679831820946018555209856235611867666337474404264983745419293961387306998836257115288482137453564516903991321313510352622977314945624384910181538978991398188089412514596456368140233243388932556283510374275304915952320976334781922402573996447249754449223284545632450527672805598949646481257331054297372814168757550217693377477577031755181659994382764934831552846769949524319722423163929718204677528333875455641767054973204627854815935654198046180517669889478628180776163428568889573861218163845257436260101910460594587696417707899337162191892244673254014165319725777566086872232196545028256751719855524178993891927056347265977734929133691308986880858590827132393550515717450928696997647639382641141858994431265689201415676057511448734267288810456285643321442835142677752319197963630120246378349235934523941229363194023869939821178458858031295416241228587231436086210498454423313361815186133880413652347545498787547478050340119907003261249302109758931583483473937693157638370504296206938906674391118035720948664102290383072348902480577169739291741718954349545934863726386924815685656165697718492813790207981508501135711401201339404709407669666964764009686157729524521198959211717695918463165759908820551344991418708735275440418670770255139389859075334226578443382922365711746376136079255662865075262301230439079825353526005762827071567302338718372917927730864455507992184257842382182821187807885442475029367806347357186292881028129477443075146249425715608161220833127742373312462118623236363701329315265465844019953004377181366659515799764758233518445007449249469289610847375808204419116972482202672816661416019794497393791869797292902955632115335884017603104398477921116399588729959549751728721656997669324260416628119423437752909458719099893790952282496698472895406527162751533641784420714640162769067047604657084665031374511516430595354993551395135536574497509916173137466686824333394305364653201946158712108619632656443835907128859642130207151686396002992052639981614489836332285803547779845392917015395635009920124925040865719883549115913670940944489852491165941731565811660556292973761891063755982473652633644903730176833985684551808369419734655447355382532850325957623232978442923489234392846127405920497498055212800739599884812682503896462654893963305057467546327800329061052463744830469740548866194606858569301021276823664798821676114580493126745612987936618231684435395605401546390961315595572857343088547376125309127626282468727338581001806977779674708108612572576209221848024612114614545192123082903224535907597716284747386555218067820590594971699900326321550326014331340665151890969133064291620865571382848471596706410968345621120239704594624861275669155839474031588169219775684210665734736478376819628862725758123473139688146546224811545436231585961933536772526907646790334465948314956193425822666365364396646611163670249454329843765691407371563509559838869283586187386670288282599126205857809150366600260116701865333462831803162683878611901640186597191222234442251354576125561633907192164033081382670911938275945227275962686999641821266925996075628946179937203742813236037758508971325635662959996257439932246799069251509973094139870611884671031865897451032847396521159784976169150835295301168270726566504225566843105720670042851046737417798642763812295782551517074680650012984148477711759629144635026163876652049204547733758264132892405294204787286680339071394512174847587622386939514118610219176401625424687647795919518551834767571681694519833876404799274776348430623262700937226324139329184386417633717285515435252168957151135412353424156434748100789290929883646672474275497292392292717613608355815030265787366833719823486606638084896281673591362426424339066936014028635426290563695121741744188285999163868955120628466494455662107093273722357253944020815524