515562924236465149842472710721568562287267786559432173188813225795538748190342039699163237549053314416848628468102432894109134119989695785590978726685393708498161050524034765392102140299588849496436874265700489947298976190110153746351799369400865646439172381188765723927247185064741931939186848616645047538915231835936764851870705205249679352094802161675784815527409313390344866466179879433539200694741595353889291287646660822390409687558318803854021934954417765966915574647433832364320184145247064182651895257973659752642906721391486038258681758542914529489908560681435041381952227209404587074102316774812739472998308107540411418484615859041933465183125331208995582280459670330644706026437737565594117515835764769116451183079892559627519175841960632475030694129486673391169802370834651454506533771723012308100264561712138711069936952520354806741254263769522224101124263219655468021625519295021315889745357736853991743644708741033802025647686816489151910281141711586355444278545469673329321886161669591054255691955586145511318668651962448203585106046499044606017948663854381596895092373821355449891582182953482633627523849565439841776277296703338695227945166928137884711623542802962539581772301302120156065373260981012321121176446666356657660812055039878623735801355232644795270895117683153950574737147210767821379922598252987142733895907172181012184171365627316025750360518427316824250311252020746360196549638218172461333891264052542171409263667202834178853877943938880868476749152652900799121111170972558141274181800287372436624471798448294402896401589232798993633901920821648781086101727241661173703876833256666459724424575941287226909158235692693988512701103303268925138348366469097556871338564534975904829006544293233219017401768164945947655132446657243040792971476817110863438311776508935186173887505026929317114963897137448633263711777253321139709331329205014902024914802104647546728650748716177803356259485484727949844997202865162144338413382592811295152321136447463975891728351436480146519497024992714623296458772536265852335701504440034832545810984982721174783407794490731837142261937987327334481809493831406442912189835440292151829777835042417763092164909615565978209412424956362097950131289690793218858800994643227978988984223281986313569322088378821383554349472130050206712631969070192629985757882153908297641173756079261145787428416815775019136829127478935079667035676795636798461291023162430688783965214164611029945472700918049900260899078577872722427162508408438193644293671491308769771673697381424134563800042137432107590067269848722439862879186033347161258365084123714654376800132213651971248890851776301691116087611965237032295008964715112780776782099186595260665947245319367548431941193128322659758391869733073958195334759015535499943783931107692487822068498804642715033101199695158634224172801792469432776902348583449722888696193296400285332947624859599234291002280856783342507109941404942171711439840786818085634225694909098887321849432128190859771349913001707962852645303088606595540423054756745353856186569187225946180129181729366414284979715802436243875067502925988358695673583644157626771312984128583732874334740982939905011638266537823193849758584168117482689654339636661653671892331342559704927812444613660985102136915474326406355827983438431135846992226919471544013709962994854194747699359768800331768258705972187954753608441106707379065347484960172359247144712230415721521518129802946571944273791483143021878272556650576127855930383061769262397794935285493539897540660207372886582454240429461892544620402102144182156433581128386566614583975952210651996808683736182255326501358316183579635837011318580969752259801376910566871638522459084310382252135567886608989985623968656867646999468423521035681485877088622844328898628746919850061199615918818842255822716183740060064367238251274043434426042817322127002717846820945451462646859033882636562922633284073746904499649598466789456716927398704432078665204867999904790475671534652341002335395067093265517859143136986244567017129202223853713593165248881228604612242761439255599503830574487467091244282228745825846958786698654785092288788936233937729526115987631365434258871849125577003938598054674540599444682190215913250872298997389472285343568776448216499662486953744551179741356692117888693312024081833676371537601403214851150847249726661952170420829397419652645919374822585983104384296839789004141674551918749514634071585581139169076656278037066369422721355362762403568222661884398111616817961444714273224441255444715935796988259191408148121324373043366016598064881882983436134112344041229295251249049850448417960613327691618556045817299620705969736148941511422685312161183664774800232842386585474230562279374390945448760455131114277076514272675660544410372115891859132071953449777452813152764934656855393786453021106350229934035971274067792505761642265865951595071120361353266820243167144056546121451659851683733498264762303952260451397619961052216769332263366052516970837647638590456193622602716603146943288321364090428836583761228649758586617174502598067242532014753932945177772154467028047153640935967404871388398114468392607028957054357951348926006892141143607727423960816991286354535857518581421495807539599917742690763771991421119641195193578449710793787740684122280301402653929887671174139916170706731695863299985064499650695547554798480176478928709636988067390422712617171915176105920118070405184766122392893321123875817679353372826979979379941863475382166906164747466166826655218909246521331423560226269710971729637301009541872236593629121362609916122881486250881872836342382441372783907710998499032532932368992245954053453227767628043453164804319683425141920411979568173235364067845910724697703762111140800581311386477061362565537544455918289930016579365991584416350535997671957601656893970887815557988846176639166393417314148588213714728443898460723763243