289620682714963432755717828190663257319209954685761585388150717468740475571727460352121284562584325782800296741478561833835011964524237999019183059376445346971791189973266228330819662319954173560099381581197713558800317928243292525889418387285577991844203287127654007160346828193037118085573187151782228756298178699185387248047232543804036252392911581075851310898771889828437125202503523958223551958084261693340161150742014443081339670429538896122049589175667776759313163961779263786970943925860080337174628756635110600314584163434335043632975124768367295862286473394642684249174932724032871960749011038864689482086955813330501791561764436488539997344707492315769846277341862538579925035356159707523541651302814883614562907571582283736007729359190853742673574169535107430581624909463447043260763386410954307043793418977962512569395864075928602284702861352819625261450998421216375850180847889581466661302425396772829340069074956144381878357365768255307503982171057632215462971136460697886578148773849640355296981075102525510831586057681499385131317060368939014970843218386185891142877122868478552149627767091036601466072902327398193648542135523061863897212484778213595376179856304181561592134745193203335912044843880342722648122541336657383588357786423814641840872437453699073903465118011363390098262318218960821676718944287883515787593360472927886420887257616114489305974960477861177747041070605767429666866666121472413525774828348859398238021590302759904669148283121994520977154542781786265602870806611340556411337713249920909975724422804303378951132404597538496269220608310164168991052085740867285226519604461621755732920128971851389305684396994844242377003293046888721666552519535703752362146565520751977247909573015401035263529856228280981069766562279637864876905699759811903240655482448665964212820703451493261999739220194958365514501743404196295763563799761539725832691936571637129920508777981584528099542545848889770194232365540588656388315189021168693788839422389852444332122099313473052942124678038751291011239819974456903389951387104931035820156820022843075785753042591993228287541759145551888378614274052819620999476702954661652041444473077397749392700713996071207978061660992847877904530864067981295160873496458445137197564429284145514639024967978258368991811045073882560514162339581070165673518437328922268296394877629680673549702385576144476921272711552220428418100992018777605477281881441345947020942924774038296426162230571592918839722949958838926958265012133476829266066687819377154001568294880596844780238241012817236927820686522523343509678324443789803275882731126544527625340125687841714465314056251396315621845874118229751545928910192216120685921768196616493141701542858758951418364842919751028911471459717491128446795088948443499677524677958404404437983979129975538849884420954861133683956172288770939126923614777863990263785568704108305168627461236786638517716319459869821604382838349182440545611682639343799222770657563991981246925871004144388114763137747856151771465047785958189176779013252298527884554180388191675207123863364657428382518827235718422280232641889036841998023834872465289486383964305566758315274156706907220174966655960067294907896115815868795617404781962094743457583599807369031643929711499711585892883469034633951897517748289099937385047798002980825339233840983082603374237612427785967178709290713832832934261339254401217631709564104911106835854655745893068468579774669385317717556807138609849888817765460166299110810513292943579647085665745348528882593647661939895555422070312921263029720025556323292510259662656710942615165895212639882575538235193812588532384160511710549230192462386003561721183068489878371896601145776355115315653151054297164823579211792519091216617030486598896836497432868575874529308846550068572427076432244392790395745989071133454537735307355792126407106922959655275093377149651539206222421108571708783495865812419308835978395265781743186654492347530889848415214286773353760812462137656884048537928567364379259501784398442958964433224195332919374221713779271857780539275300436015309042623945341194363211231304347580526307908172226416731389791125257803960430085475775161224964104192537469973451339405630046995126274238924248690703405396915814674292982718937260977021705763720496577156846408060626667629814214948602252513226382589851449664553414599319051614910488919092169314089938496154492188428817351431661921480014258096820733109264393134788753009983659336932757191850239503544591723101805090036135188058679690559733633533860890621516266362694825125099829876940022513947983965197561011948352366284463169425779169280187945774386361561394234798198374863097782050512787919644184956710201203141469622530396793409595873561524613644894056914389421036906791887455363522460792412961371471606482596113826870611694216950492769537828887440183971848423463377682946676730155001933687809164521887520203472645280283579213696702779232816427465742128638585326799814670485964163479697670349453986808379855357076238723643596572745463167601860862254388509219936398013702384962853091276562216378041423735220145361759769014555266612181909643327420996278914471787641829725316967566327902796672467668565390062101414529193215528231122023109775144545104132870681036064870439205398199729759836294879515065318532060593297457098515164853291861108557828748866682761884582588353006954199937757709622557025410388906025696643531266991974389871327744312184854543436781820138419470196758228222698091775772928985916745877557170256079472888725387252166327365977535935855984547740516679326009177114592664854959813374542867662603909293333544102811397543978538462675613817397198589021524174534268179595837739209855692064508767321526676266930955459142944671191954892365261360024249767730655759145983177216076887981756061435845912560126999534391497971657992330876417516070319597365980595867469432844304254665528