786713236140176496709463508179994225545039421807659472483087662443242779366586443625599682451233485901161058882263652352384517815118844537678974610775275257578674570446315511752532299308646257411388497103034324290863402742122472172776428936998870351377041322005758086608397555116401864314330146072876126583996784938215601210815737295730293678220595611853352819345244376763781644728393212481919778145627865688496899724034644485617332212553673447829062831628617135461221771869661026500139188755247847319068986866421352805658947649506352174534494146531173898306516283785519558562964504028628383751256858321824848486899946999171992286272888741914762584637589678492615960434458725619078253182825175210778754857341981786841650263281378926763411129218855759911571922148472564997513401785411905393573546205870593193004214676036544153948646513030442689451032015456677953952088387904619094052191160798746265827305905229299409917594198778367893310864882195731939036464671727243388286839064097886907792548135752848886412947953974541874198165632262530929965307887542585138111997655138088258131331459075476876996016009021677293338673309522315215442998264871413769717737930532871257383681544391650343610122580133689566292770508738384438448942536136646733361192726588979947420523988849757399914061155456324658487334013671301066762784316192716056473839483151029348377753043444835597238696222761108221969110670998602166058962432669448205631269184715523882639866806431938327691136936286899269176799016787659875049474342416762275733987797142831243059847685938256065392915527677884511699858326808190869119883023557914532762555617984340129607361567694923313335470717501613839227914325546257086132208250909778967892201442309333394635149908860879450581460479134342094552257695489222473983629885870938557652862701687729782724162891693582630329812323441025786527931093159247507263376823560676311134776891957722839386960211291521522920637448315699336229737872663965732572341431784198953970319911628808696753544117424333985714756538043512805732648402620115887286428955804832907794529502776726512878793352640800592531948229240602642313689793172372576857721517735585959314458217527046582316545639835445145168400234547719183495464807682546854969668143649162073656462462720232685378331608095542842246755591130741656653623334679814312073457185012682328702527921492644691236087478878358382686486712664716006554566256619638833633425682694678507990213552192426137697502447181857986552965355067861319513631279144333050550957699445105335226337374183723909838922025154934316395448279953922317926239185442448538281459519715127772361323112576124932435745241741488160930119176259992792125409893784914304739521967583017237623762684871263118363417669122501572171713051482669816434126743934857525942899470934183338883499111266406350228529855656874299297132837716844715395075063519719638527276117024568219257005192664092126834948474815920219456052115683244545945392318904638885317728789639663005784764257650424978928856811031302991026711729267218487172729853642344012608246299991665909453550811494661707925910433116549810362917602359537225408289862986567290926473765916849636914898344537459797808031276268712686146010954387775743489842310124939900419973446805766736773797868605591371517149711255456663078859416875027844514690393597489654263837721535486799818236792087608964516287431843788956628297435791881453017449202937726021724534857472777318483684926862873889628035849413665710538214355888315375464299632568307383556151817780649285147889417993128077830584638505264929693485447148489071027562078587817523493611390279237119994650188880778646917892652742293769293506429777174724125715612912894120665704394583729104475306630001316160333528269095028618122774422348638631722567852954781523424811467029799250846316416898705154728490622764562955205652383612578244512573643632513094751845231029568549978160578856112918638475430071909481468463910956972827266456767406904852615150598638674825266059407866410959155171728039564556439932772132754782653992127452042246524433910298051582593157718438078001697977393131703882980786596231435330421318793219835999163458294742312088062550182314323229185114635837969969466229792513845101678149854412148847163665490727176280021188159983039013234806558121754621353064923447742578932113358932470786296181467921115671745681519191899007687571052974594159895723465376604936753132798604256419956737148719586227060017959171239536846927543955822793106317142668121179611777157756189092302594716896654507950462698615551820772003214164835053287466883387008624939837213635097118281364724326590858465096199207743324995828983867155524408886956056214215858424605917941751943028815898359931128171251682345151497500376887124950125447444689673867651130236389514537956852441601472573099584136773960443201576567693268275154804198607489035796966931318041829105735758627626053209981696317477413129954524254395418575216748812680035013803987188478527837538248256017485084791210744625817712243357301600928540117007356402835736496447740401122645922793848198288076751853257786075910723282643905132543233676506444930125558414538246073693361444848386331458876764881808144920441585663909423526287388492400696971343527974576604172409511369989713629830605786881944877360373252191006861673066402593960189630376587365201785552774074021792523110615353239518332176046694566184058509208324129112202413361818987966742022083702055467579420613366614103826268010157542594718400013912078155432761797320364842178130494820437641851740895610094989537966876970890776313360535065314005193369238152054263417116839121282043871899469543633544733870839511350254152353863921123340118548864135944960412243538707910205824506086401275604563088073609587565149546285589752247383948656280724531988044978621604625549876594144323076565831777937713076365921686858479437122029751883348638175676966628897919639