127042815474304790956627858814085718964683291168179981471639633979101949653749119026375494463527814164130161220203386255026872277256377236422137721489903333058587777552394290858918779852238233718761473966871645472687314014719869880441001124810947780741907340036123327033352172711791399904949162573307474820716345140450594189806476875866295766145255901592835236294661179422573166650759542992710425760167447096272394447986991238742657996985639256766500728818204254591322026125972137257026212131559384273732078878602070158056884740332175363560352252854744872865926833031148082992294613085197536174554342461652373667797973257284448498543261662577849134801938658578265211951726997399312468309855748675030858725916146013910805781595195598198778834796183541827766415438279455725269728025521838845145701889566348957335077418181986760926902260062145616141642238566203525566278350199442221937061341851665764964278400310983707516790671776324041066452147362396020335075624439845151171375915246869795270427167913753727744695751630855137590813318926189751219511551390990307153647965959384564257795493263464232578480822097940267124383689851679796643682283153320780570126365281247665956163644466703877576665151373910128746094706259805085771975679205756432875354873445435939116394116441400478055368182818063038395167843087794565204167489338342398664136017224271348794193562651220993844683695395128481745660552960436110883581126909030286453235282176563864536722927411624194833692156437057627976121877889919229799529144173447841181553555196815998460819177879831073958227113781911193298710117263583513290031495842366574813775641939121570313594811060596858147690726556665591468985117429795379753099869179315838637894612432377228303585960570068432212246494322801579408360416962724422584682595161102237468857368544803077773021752042975453015461393663084786852717431380788737165038756658245850684177896853791226018184765317238302281345771746788970623052910609866739231965613216681147354858819718276307285996558345443410216065711553764605190291390652518590651034082067373222752938962685341510863454748405533166663007444930255181621846259222229088734771855660333738213695344821464897583591849688944719583316965135156686831958668839938338931872740130327416906819135271509361264724407424123341543178911355183625390422549573692421298411558524062979218204570491640956034543101559362877596379618335015837879407931413696695391677233629796339327924703737438534564534132499545812127765549849815433636525851623455255948488378452432308920981898511059346652532877012653962472822204478679764463411962546778526775013323561328649071233897581681718456706907618869719806557527158917808474855184635566416972322092676775611687275465037797242422394139343513552717521021367267562714336777899151087936922997482039832454726151385239473116147446275195477745396738411476631041648143385647079720553571391932968090462997780159936128636703253124095823937278851420355987859224171489704651171722003813352351582702973724585348694167912664430025688960945531224118936791216674857815633407313224815826943974337818839974386762675467351939325209461967387166654598197815645099160419219302947776672911404131320082928984340476942527984225617784169330046359746334686879352196693675396191966855911690880022114982138319435675330912952182470956392892875755948241764833507076031828606859035975888028686758151554448409497581586980864102352909711392100835672361437732841234967120415773360959921948137534998041069509181644183967413791413422349577523231518435661443165426555117550121173274867278267419477833176502160177454912076308558643807933812947596657236186816628555553362419441150991769306596203749384858970211583551555895722511516000894597935405983187458184979908257984937791346821833816365282587298552053407827671408976684268622576481624559821347355920156427764652156183342651933276210533756633816546322211880847418886914005255784519553543879680159786803212814512930184149748807710257610325317335628857452419550667116801243712557600423524861670481797366091643985796417044537201241048828118036613519474716830832698204950452565780700110523570801976081875360695499351867266725669384870346218869241105088457912651405287791492377493983512785288960842686813955040572324489164277682972217703076748852345774758398412419652511314351348913175480761558209978078795652813794665763756962235754149772168273524221073649021359544346418630635681579490186542764381968117211766924384999593321778082683834207156333846400891119761949792441693137135561157689982174716309488581382255598080019415859127924051990734538959334482461145288575340638625767812650987067594359485092177951026915372857571823151304590552971129204960928746971123400138973507731283736421998733849344703790155908492487793444549746412899186457682882632564198775840575230091997443184451111243986822143111810987098606463587011572336753840660755569527377039283463891841480529777388942972824717174263565141822806354215460416998119196797735138368006676451725659034452466482938186717379495717551201546104695618692662680367856803416827618862037186841598458693482613999381463643187382398280639573127511541558893097586444451722255753132410083700948472629471687569375256702552404773199540217379108816743459432356400672544992982264842545613596939008243357685377221822494129818826241038324259818325347455145746361876999963936692329430136290668698578630345593650205488743019280319163604396413495366685064606285356631553781589666572940943879317200957662644299202949089999178419125206143769849144905702874949912929379112955212550476861087674544202255514226610799999285263974046863977969030081385853828851909851716869159740317366461880184203901291971171454908956370434728614691986331740551537386647943715913580972277332674500562567750679283551660678713615391689158664546329110517518265679459427795259116500250118629307170929042894771799621954048063813901658895776962380415065276795494962541