17.54992877478424412081277661483261912175175365510900718185539125956552929243861256335138631413741151187530197448198116048333731075050349551442934177024542630204605844820059281378129474846851104707212144854120705433660082859466913702520242037220944744002653538598494550665399882664812946046490438224170431696282701596962626423291069264783086177407748977075187641189472630283956166730846720999184704217672871709137411515147463017862689439515713044154309937633989581140612291852695008673126382605183007539465240353444147578483665961338873041243580177097963564838139966429833529603759880864042023086928932296923755810280209723842924379589006745213672509821855712738931825695146017914796969986429385347881709460415983176817478238961404485398597113190896895367474875844578908748776096440236704396602252885511532404661288443939312029880518521088816446034248913911972629244384185274591781165888486015537071404429368989945769423756081026361455887969079884109911038280480089767464896566898856094019067038994139975662470676541325118943242635018611061111700075606135972094515704368085741742420340342074816350216520851278759279929961127289895583493239602334972707207315434006018981080208356772519957974668061371483760168655513247548533651203832483108939260447877432853525270369458160997840185743733629156498136502053677218710854928286434123957241667440157903514366196166908186652933456617347212384116609411885467073965721922795216848343267872349580645557449271468313387186304028215570746176952208360622426450811034012966486238687093741026468494381925364045340020851056563116184391797946633693412266639378927033298789751670763696876823852070675031386106359396026554111324800010776729825060438628441222860509632270078215463284919189528315902455200826930491144811003185151515113519476541172418687037389706581725962260945634267715842894068077332523320945564345254990290766533078041160432563576781300699312789011036301318348289402770483656081836257573413774484323533557489558987053275412170620356264229210454815671593685778962993280127788414679704550089663559958545115272316423908013277755630406832802911952481551863766467874612631875080776091084225882016520973775018036960167077117336395361382648431884603219407771847721336531942269356047364672226321749898221471349360265724974124069258029078783621596994723336983100226497334316180191959402038937936660258806588609238205932049550321485410951353908938738374152913698669862809705581934879895369223863306455288207807391787667023355444707478618081688705996639122949759327478923169841970715767234483707624420707702657969986387818868118222927853853815323544562498181443025684801100811646672386387844525098537074554920302588011690126738341353218179087669437009478143215957862535518986705123212584559157550091506451357367895940096676297761297626142049318266051662456415699276787902850105067202529870370521965144904824618003815081765104532235550042021408034866179004111816924521495960910028556963804388430430896095088930934954675167528110563428823415421156329388818585009512907107496036339614421028226765199765340199166679531549127811062437094569213511450470607577646459928554870701072392433294513602586666808401314666646358208746017218798967179104801620019686035940942570555660505993495148686733611497925847724540179677269266484719260982349627896031119862351629420209620782757618522220274577497157884108691256202938390276735451249466072571826914206343636364841211261303372783341635858147035281030415979282458299766964973987358229893193008566639153889546538852043008739820455351632754743918927095342169197456640968996588697036174766169136382461589421662123749143999373288659271965394146053609672349853887812537963543375464433854800866598189401826132043880287458592379274055826862820055219365697207584300021725655014112800784059130546527461122379018785686249497520123901019037787431102081117384574714459806404782231500182921252400341453458259746507690501136646809485290580908483151877332496935166474616076551299991125978349711478916932494792528542349493564448839240581533697217480118351082809232974198562363742754259318022622240043653029456097609324013340733594128233678326986322056680485842290732894505741696631425936716749167358123971137894496716429522335945409491349737634021945016918212262344102695753372031852952869476925463813402424499085310526182976611586273580871773432171936558654422503474286626606647791273528516619756620229006917632596542928379609884535030500178085845152374079809402064362927587023006282735906266730912887048039793899589676269035464553657092588246264821583197981702601766225587596252468293635515323950010373396317580384913249587821495876045628126343874167071716879615144789490119738067585296445067086589774963030995834268174905740723921608594841378081902276315253416819564923632990905801698345114960551216835396588182477273394843097312161155328078989514043857712976229135133793336906302305721958821521128352751058686671647326305268652398169974283902296590326048414909712554006820147510151898499927227261338227547820589932051262750482803882812442574301972321039984467946857481743638080379274581868460399738637173963280528976163837146687248702860432663285260985676050825138628828199257530141333699605942713751647807991336969401074479805715283445228541073167604006426911051894042210026122178322613244575917975844942261126575474803058932075817572657936044527657430612629796135841796606304409007800121043279620800675352647753449580440938866987945066643208112856105096848344967553634565076684385307788572622541675262196478737730079476197978475603503060673703870221728911823725268317219700008485410331526923334278622916455395348235418321666619218752763201123541301021589707200528505693026855229889325659766460443650839132776414110960701419660864559451711599480077051940051094801556833468661691818458863637842183108697488242689427660833531243639708823776549699636315348738219204154766795145592158123129427755028017781577057938211210809053547081789756153941358002021526270462670842640321777128845962342614316210061537253290037204696664668305272471354364034315485982877008495804192307634547327976383205651183844140185336611292495120110071480432911398328199722435204173826390681859710151812241500192846488722223960119689534857675179436901056308133700949151590385494431507841721522756437958212748680396252576520117868900094536562020034031689005689837421156420821730961298078993704786272718963032268763145447480860864620867060175345781483697744487045455143673252989547684247192271820649070971223301287582338190613036325248236571749973682669797296268080920806665729240599066638468453535788528244745082723654233261731404955236927815249194684465475526425555903499638131007910270502303365163375727192689128421144766105678044252847896959884175522037519884901991969779164617821089971045572729382349511055948781791253178844335775663720609779690470343625062337097157318884735702881349280933899817653923011388065837477839859348065552107998863732447690824774670040718366343805247863058061409351591388665654986552523453510469783587361892376163403255445737533907985313425012808588693573801834034815057214412521554897486183271934569167877032051595261167461144152881063952740391853978807037963544921183159298706340692177285591648517598810080186534340010475792786844744359398648794781489087250908655315651346183592108017225912053539776056723436092614805313192629019304598204885705693070359487733220273719005228498209028976658734984471067834225260262821099920233093077852805590774532542319246870965754212038774522438971202891812362818541719510433000597675887666058696613567750691735742234898400914369074479794269170188879429860337090058617118059650168786572997329866524977557802631470092913833488818784848307918654273499350657237164581295186333104991557309934717874153714826855750098288344217149520025047511267866503964768056025633536952346107146038851687722916283198994243470845861900211138270012105251077471046472891889448058289400334244258863712503401642575000224789390940474409876564774624279061507717579964790800572512544671194675311231370479701513137478921197550097405276418576963267615963581611637372338872546712706115342294493650823287388230392920785494890186514952396466235230360404679692698739980034816755907235267241988002210233734235149858225476934650002522942672616807878128846031312870953586338736930344659927008451947077324066321148758967866000736107447268450258602078862962055525942549017948896976098444812059902653680737797949503053998985786679789570139789290070196329109743865731645846741384795773142513831104611148656421021012221510808304696304962088458144414724882325015060690344990941348141326616739417152503489667740502673077545829131936543966962405259041697365197759528864046768036605938904694595138816280748586349685048045937874668972883751419566847293450669516623333552553285531613193189035475902402177145153885964157642357295166040394839205544555208069158920158559361659436394456403844264498361205828339240399668074793018056204281417414000882034434545476047530842268505546975320160707566445318913869051865034223815510439456261579386548526660825140853790170411373055430781301637869091726728890436688318362038256947566490687040212016885026210914348176152854407367226220086628628213584589814038321382465344020298568135072970509834349953268392234511831053004845379721743282971550324879146982146888332342422231428977392521342368993944599241188305810294641398490047653288256680014786549318432459238622531980470678713369508415200609772719526474963367705741432936844745798972629487127538221882485272862195156375508143103214219566316860726495908424929382913484578461899838106399454344178017641600744111045218727095062457596943807801351149530205905688686272041599035546803804340060513502488391786919977943716188773026753423884156250835269316198716101754664958604017260238254105656476138756020778657164924472202335265180607531832022265582883769042877733030679389614138697631785202117571077535470343807223034613778674756297440230715329389775530358379715887107762206138429310140128772659963207825746730116032356695799980770007043141778437123317099059856303980553499090130439841031006750661567100740388632140557200830754257356736689501743298824906732622128282876354477242782728105536146495354049927229413751180979887942068016851332681511170053860303799574850160858562734054942536067465923423055831827323502439391143403879595801304638833345730896948024499557657624850797887285132917925758663312213332624684069047402425930844088774284910504866777775762151636027525707186959263637599926402345485722806532606076844924220801585511344128794414409522809037910333274602499269559510823696362269384441139787964829661576854336714303435146164666585604210136903194862407132380406025424819258383783130378905797120531181551294295844479389956434100288026263145845183307940572895399402307207651663077368298129500284300301784678380587102919841813629320026761404254838755393745555532135444954767411714815480701190136427411084818095441360126181345175315980967404898794733440024341259157126300001504129774009009579847857821734693096189331827170438809522205416849192794473823717430902806583203788736734488603025112937703510432066189872133672273883712569558580763927728441260218337035565973878449680728505169818299114612046401419722665007177628609135476201618642536600057783875809630670028786993804172890243401195498666137329766311173724841777921097046477762734727739745235572672832839422767040690910251187284546506802918635464001623372172284486890754893722216933027530004613444910417008164327064593539587409156854398969442550524654084400917835191098770965661619510981644284774224690277066222293213599200015455715268267326893606779243914140592798896650323801504974360044289139104486227513272619745429857572489918977243519184692707133203731375026645474235386380391768049552078111887409111474778417988913374290754408964363103851238335622436012136737375758180425902256003754131899698625526518740448719456122013146059530401954227939814509934004230640474619058444980228972724101378387102406191501354546136011658563546256784939603096719340754374050990527384231689358707105173327101161557091925231949989208866889755202482359427748374258949856836396357508138094651835103938689241965903700582421764571456647174793485785547086007027245187059246701205734161578114969731190455022508707027537205543984477844845779039197196153329533599943666846966104856028159612531786478877924068146867070251133338119317513614544093551511380409547045060403077149169424620924985940872113357271476306884217739701056382755345233259175304268934601321890460857863963412629096322094442804387897064343484116703672059605875014740954033775049549276794623971589521225618910654799494811304227423080332848590307139363155083438116978692163723246755764984701731067594847773144211180728787879221121576721836127415996628367922917773136610176475933970109500909691035241244105586548194892571596683740019163492145755106981563660862022226737081392827883346861979405854691405667918251765906041922380309824578569452666860726675190575477267654702319231741455251441148951282306839733839987772623236199878739312949834568303468427775961022581295768850424040777880817688874283373366971560950569920948308234424163638105093296420363715813670621881766056615913531642903613383684124665194153539040980189603440861606088790523815205759849914149646833691103304336341675795758240937681936977156991715234615963870303925662807094594728775157274518658796533334954597148080531971599522680388197322929952579247500260552904782189709530270744227701318362220636173626628880183501942425129803179481263066455687498739337657414243869613501281269454177367105676090184062928289386148083830388440817145276654961408446651877256984954997955393055517866241751964635022258453133869407033575606641071048297390104537762789142329468813633889720366055717317994532118397732274673639858487308860687911880385701315559671076694022365894824701240938371283798934574210644060398777054864116970885783355412808627895677434836678234856921334230153881907375379806851987922660843070212130432805584787610293254251878860490198856125982226356031265200268152106183713536797966945196074112811311697523873319974259009483766514930818479339072589345798111895382723721958999124137663017911691116784336693959992020201473044523582678593406517154156435794885161090294451645571351053591129577844276236074896987723887326996871243438290160394402008926917808510830083949251441375915051761065225150307947787037535476367778776518468828435379823402995651636649544016839614846385954729038518323186202157786970273033120785676745712666417074731494495289882678846198349682608508172390933186506628138642451058226230895516338594876349270281357485943722200664390296074382201777191056520177864376064107226359471496376867466127475317641986786277201218412956237113614578668792487288226620931449841939637413246675530826218922186485212673576221068970919975636935948939760553746347360690760671690060614321799682185775562265156208120298198056350710439257400661653375056842008819951901104269070946870811360782245357160165389466849356393946837840502023960973015259424820065841017744794618501524128724449693790458303968235472625891358771572552897132983035407800571957580242866142654552963034723465313725614144136487157097025797508628286476960472078707396526929387569414328880664157230648839551218381480529359412286569460421108317309271412342499734359554552433766536507096495167658308007269350710892696579920659674929830360337409469875301387319797319913814386907316544950623922982142948203658265888362804375670102038604411015111605022243160658508734117845745118429279471380599513006650276327364388398181797739027758163627485566075026125977808638407478130383531446914084390709206720231525899407754667168017605315865846545258657328363194924370726156381342254448599288331875953208274753309799089785751701062280059832548776244595952391637772660575437194646816408535752937147403864757638604392447253776162884329552883727042921632414770305903808079528575490456446997512099634664449265688754480581855668895046358159953492703013388447233602024574433052325323730750960645766999685008348584392510158216557229609671146487132943971644073621588381209581134856073082791034029472553888741657051795881289450267503128185242508167534714103861768321459108299088318884731573491208238056270079282694976889315495565772468806671309508069000422729192013861750403978406387051735353482378243748001774408139767108890055547259819462804773317467255932904485022183725213507778288148925884746019523790406441805872380019810435860813447605943636398697855944814252933005945532594076694618787157487947901137936670100715848886717526834207024987092130324710240537104346592359329942283172309501038499984049779323888320886011243591294419088736540783027893128854963480780303720650236634002734085149566854983211124766025857107376233961513220169943369351382702292109959106814681054926928604799578757561909144155221471568942231815968043533159461135892982415757014690853333620714041167298103681432570991058837383953200274368833503699576551615753022839704590660948320949474406376422686093960020157815901107766902752432147115450321504576957571163613363019852525762404444283743373976616273506460856950093236787151393985168667735215204370970696312310377687190387192849763321689282077691808674691762916274457545245560887038347229291535538015638685453776990143182996853869683983124530902359962684699940925717586308105959655625522729785608193591120597324614500157418469742988706438148995098837869008336642840488063412999661552141587427391353705334369172927179064955630339751513184736706459779680209734187720783604574976235775576517256616727529315189010964057163810833357906864896493506097342207142013483636156022918627151926624986674287985524202569940105654155337747389114697399887181412824219643609502861079035978444716187928850740898593046463275589700847933782584624251982416794080809251607578648652551089726255082769733137914837106793118216948193793202783136914858218569352830129472878766181895633190491275322309206119382209263688940684310213934687660769452372337591048571785610699144686738992730369105556681999957399866005340258743893487612186194203324448712221018568500356204573054679564785531555534603996428789417870335132679872601859347402679973759547211363846323283149073143669818808535755167481790074298570968074814887424132805994457987689348901549404412517019568129370767227217192882680655694540159997119831648925030964136276890044837187853253490946605070130606610969096257457999254097655428348844381466470896386956690734174247238566366365403966935467579362545826649668447795827031707777388679622651273388390670918331702083628766096914917888614292171477828144696599104351074925021143376574536376444642041772455705641926439046648939121128993210673757598925059094733759512400168712362951770095472465338501154063870735099440869442688829739939660303027105020723396188145265202583090506756340654729662272464341936012544797853399264434639538649257294839047294097588690126019838488033347227051555598545053028781907928165435641258621641461312995142845347478393231696935809594212668361511250202501370792395850009114494527316617041988877775410952634451866748584308284891273127271359254590469583795505594202344339648746392577525425408884423595693468313786632259427175471535189706367910599544064288264856212006016183661302541908229962820444081093088009650096931868841371791035525925326276327124883549024675602304322448133545895504500087044271872926663706556477981047704270711225646595972239557291412447820347798990872830549982379889161963993032259368974253873612870144105416380418339494023095215648165610839171895205871209373661524364799950175829734430128254313645407267832676324339765309261412148576659772426115077844541608483052732972692896542200734883771050925394313295546288896634340660307696981123243053768438925195793869556308068515170413219598400123743532227818295785187511557469975870585014909180296729975407023627743264554642174589970430044184153112315457905115473355863976992459414652822829173936415118237722396692959263547311060195498577132538516722386063878367399997968919640758896109211847542220725987121212457707415531668136960026464147025161342573681537972851598511345204230542366670142373918166878515906486411511440695310668515768883539289116727611512046737446207735335253799338546161211773576175135215729829981193466453542327139376617946672274095987408207966190702742894956804377525597323368277592382089097327697076698133468087043501742688448910223759330523607673794572634312396460006616465643797568800265341028921851569923542558631928853339295546447274854739661544618975403766044961299821079777830500661961585474768012795556236240386983108961918406573663192085706276187167267673043591194915265674015748021169243232496826259669922697505530240431949900124188934413603762254831139694821737968591491090460076738308779660721094209116462113072853897503669606167238217502155513346161579655935040822657404112555577394615728812469815975930481154264058428862418321401898204069188954745855018479276040271465425538638349447081672762625397758997408968992589634661400499511159685973609899482181793061738303442906151930113097519912810164764374527070058387887666771695944187488439969720881320331086247831247271806743120258629874739424750576276280819156539865542011006727221897029373127971856018307545107957070632993691653286852465320118609639007189421042550997180917753611950944953192789094179159651858365253018739458668049110362520866466202579115187234311498114204873499199141250213771378498164827810223300943644979469015873822031662287117117908636027714592064799508287676040824678790043667486918972846283572197876991971941472663218177130333804296416666965638411168555657027130373841205894539632285771208359958687899034393539276859004807433956816911987323605956104469568460395941788118162983781375982005457748762531735234793599757970890203553664623554195404150710425262751898439738118238393828536381630638554940722165372402900617254644861606153621885469881079378284439657893564124367709497152460459706215975092603954082088321048258043823718562462000349047770600780571518145966357775473411687441402863641621165762655196192108744844157139144359385508211565082890455332274572967332153320508808000904894257515830588972938146945065317947330720480411893093631472421855826402355385720668599160292832506383581118361311771548891202704537792056296929583551093399592395501443475729296041526959930637258770949607429912217049188358339837316119699889542883514865281267110253846640651883006796434330241818387436761621563921122331471527263056045783871355519137733992025855825634181162906421298818036109594088935383029822528522952763049756144964282721447371878339426096243160449900775230291165441642538211216904012526474893008547641478915680244204308049672613179029400416173611023742219912839023400088264399509744253635300299797104235867972198107954828865780069556218304075970081736531051150109815895778847139255221585222677679518955346234158295733899394798025351593296182460076994354528903734676728507039629148056683973262816121618492664382616041527741845020638461795507179971580254790312786048477967657359757842011189591753440362534046570379299941108239488159813633443696352158486697174617166093230396149715871657859555651456830047168261259831107708463280519916293596260927830651046782674059785347854760442433503173041340014719616464139495585230483272406973369384082988981750916063034311352438136810870660641360830062200461622147211141903787001614501542795196348560241118699496679883707306591728316493364672768651453925809562863705108301800901758271678350758479233641238284527702365106475568799248360892367584683892780463284809777372230520896456094271569166636060018509002094464341819274085232958915593127095272756522386621210891203291311812632808321118249660854273134608846437547668851855248352369709361783776241925854116977074529855744594636916684699554414460671120856758026579646555549629795936991642176521615707304944083503734489087390895812787102053605312654551803051971104905203487596685189437813570498971403122037145900066157083114442285987582452700914575321500621667105688494524337435197880299209515338594068351347969702936850440534947931617613085915497211701410364420284387973994175194070986345086014678317548639809387285225267626634204453044132424490038992751265283625366940883012439968945256027283955900277041197746270174037429496857086779146358562865139947109501984252542365279699501290470715412098520713990551360945773238503863855371805386494878452296629581505404367246910627960101014228540614916848327593963229596485165700299684969202704605082228808242476091817586447270642608774359968598193495803291072705295377555664172002304966591754279296030233206838390284653228804904895972656020233238979624266735961416629015047364838398066138663043698463978305086501755464377065172746427985073503248303669006531024275779937854993449945104040466567474954268645646204640113074329420460040856169957469860965656247964250650992761592065696435671529317367780029656279632389094604074617429948857776154263922467380386480521761893479117513786383298604045787505715495616753909540703464472919900216713332694157896108897338973716232956171274306860468362654443124545382148542951447706088263769605465372002441231937640575163390360119139578424888889051961970470133894611963630179424196849682632528618141932128854889039782851345681149904359103675006141702321706339394359607898828486669477134739295754899977284414550881044578485784015770539198732976487732561646307325280908674002298111512783183809255091797839491709537252778828838380038346166000917969155455491422156406544642396764095607886650408584190049603857039157855452809136560459435297800917780941603708172952801967509487232024516152975985314777215899945672220814868268396922136514546583075025102079273428634891941958912970202056831951191729968598192049654564528632437437334682287473104470950015699173274948696600554025679885963454640776451368480108127199958760168937223436136673059415572296274228683969524140581505746221524161717631976096236524322887931568340131189508681514806324327645904091900739285869163118120726265169142804445511115282666275862635316609010623908822240249737126369731385831066556842957430153411610453766418277125101088699887276743842573921894388306057870109100973633013423363941318059020275447212427394076503385343018107501654750092973796105920722099961002343016113875586116013371597120372009913209728139754182598039150945720674193021486155898394287351967360454850046567766446892079404972772964759341703545742096695326835600489201829104622786792893791277176107403255157620134168300021674212351992652466759261827472736425000132017759738570221522703823340293073712844463557718723955166669860148252694132723211299878032369167962000649099176404543459342923653427340820255034438168039103731629377725371136455657493559878533243401320796872855875088111125792079969913308222867138022091680976841651442898751477118571187840172455256849302740399114434230312515808310299925303574003725332648536679393480960102601279382718462176492970126623574695754716378279623076566258878756499627520692719917277309776374890412962529781134827722762674966760444603153513592669681961255211430685744915177214496774642764397108251580118918735213383657711800732973195765602331869057488782092507639598544912437080642371686945626795641191995560060554735293546565386947087939936151938366164359626128168557447058509128378298302045010645099947096525185132612111463831224761749466283358644423681129331765516169799487321586380277800292599222570141367527400820515895271856968914347978546646895495302709079584630334904450541014104036034537227694696010541104677166300115426370368504327610170044556698723472075959571774764792183090250453209807735703087348879242003960439292522323659912422293063945625324680807113683196982484272525648008782149758692029536509236955018453109768993132480585581373507298212204939575056288919755640128458601258787640655818771388619902220232963404506508609432344258323923107154219409683765593065441893355714986326400565691723480671034083357932371376111317623932053350471397018395300868648172992296417928008617900795225754720437519989230505834504965575056440983792971637762289376448967250491131772000188190037881297766547875077367739227140791515769385470475795727261037073209172279926447284608664027746602512535516211590225458571891310541927989755875502093550961031962481573235579820462692214340172908220575658729935955939553716749690665012948943541490847108472616755149993258160768362234450823646243470173094754669662291748099915146250665251621976196727881837878717905165551335888054135466924128600655301419161191452939645012075925208306799358553475216501070380787856470192636367779615839470536218035024225376342283875289039007460041942810413976253510898979511963423958302420334044238782390235542746281460586039203835613526128196296743938912479773412333346266183673623932124906769950332499374507534964363526167368330695653944271567285109607973371610574589821398673554476999274076201989309657823367947470550653012408879769074064344538579954653336950701955177934858746617921698222014432758264730855565178994568919126147399935187099341642261957168973228079833432510510169797469085895671902738527506621813869348312961143466847343478481522944716583953332872978681031156520853544604088626281740905176230369860525938924242377089637640630199852073072078315978321558581594512909492895838103405955538786248584174325830292524509228387256667543390515906580330248309413361152382500863085188323160844337595412437867817024868312329862281375199520256218776776625158464947883344403623980323181754316474489885301963709051497534929916145456552863131409234962668604486877788716799304722126869600817350469629520501951301804071302715518763220152551252934516199211785011946184491096422082663255746700728461556717431451098953977646509099762968425106696735888639878198168410934760173725911265242167264002734535798045150714825158894024611651305538503758633332107644553574932113963963414063424643598473226778737878777560808099205563393652810181481687237592814473083221405031296671747289412712080247796488945454644768535692161163994415278461238518341116853264852656475583023880794096869643085570537149206989037642134640244883939641055184023032577257148670826902463599841128815544983479441725409430023489213310880222673159274669124989204590843861998129461024587792826219563239195428405047433993689416627069793606436721885013032063821089669493479253925344558881334230850284219432789533009461191151421022511660411478368368480478450044884627713253932088075128444209549022444564058600401337152490268046240216586752816675882042625578424237771367804212119062350533194186167034226639525817860503061883487473914327887423547355224490272394359687062605512401703983694216072342887864404262061747954145335800872425647908537585756643064204589669859448291073534284975912502107398867850479257789348974358447623319772488724470387966403218976731548947296023325532998297786387045627579654713774803838288022488735391700471964970791798324599360867222701406469942231295121776697040564353281782098993816098739628548280518785178199029563262311209006727845221502926641421733178270446195792843018016140149618009322659337127264678752908427857207704414207181694154412061674041590144945264704946885318216471443193596549806740501015714277718809681792744068452687254468382503260237213674704173292364409494892086459899968654096935000801654371934413489309919903930127855322169271720365498402121209991669200624109681407483113217489111540257301203883324784892911028127914406479910316795237486385574675643411502845957627308585823361137112021116623525576612321490259997326782507575721569383837143342742832188513846139797121308502823994141509600245726521528155703029790937762491231849858641882558262113103651843969148580793806764550138363953321264120380121984256881498860603756820114305394577856868328131712720598045616372444660011859501220350574870636204242473108281506680996187757524988937634932769769561457487536300594326054811079583333618769895838755148506774558018648319969476648095402551833470288816856676547154203978046218058851532713137760329584287763223530194716475362484291391495511197176582932133032020003575791285423088778149713002182556095401212265508397812494105258690740867154413249318285498746676714328880587465793076230423798974016820479657818515734181049781979666232698370606451420689250352101854161759324757277799219828284891237599413279560910978564570043928296814815455886639160876350076376983461310364901419730178789954434885887397846734802387345502721284495631045963012487917348997646718674935453993667765015548517229535917887183531160163167148388214552775597418814848411435487817996119330958675899436633744072118267821767480555927083762840652999412699850448211990071870346445035155099275424058238575347109292892914997472490843369562825050065962635221668803059195487025473698936773152214810471736582923611306790786963302876621816201960681293531381870597192177676225965780403429397043973755563031153537042448441870611452449555776700922401092106571819582383069325608741348950442493023914291144620205160065869753697821646663271792631579714204949191099623542757065370250031439110397040517507056400062060056059980610146690186035585482961478568805959885923993108487155650363439514460299621699518176820651660710445181810306601680523074902169080485468027561683818858848418445801318413728687809126524300356010523630650148706721674895934947292765390431085207988162918204799545868302604509499753374286879522695441844788194612286570349300227827168900318615003531618056964907292936504897541085377047422807392911778015563139392761848296012532941893094807196985935593855780083695846766600808596280781479905926759229729314262968844787328630489483206394617829952697846062479498242395702411215550142322812870075647848011621579408956166593727637992683362680421366887687298240610351424395938490608649946105737692626273604937293674965351752006521681564382086611255719459469562993947711353366607223913067109646754568629929503145487719641964613983238767008051571024372193629663369702355114172048289548283093431683275319294435149181134600025654418592900436613980264295726095080164313685149945293133509665841719799148817571033719485914404216099660629803592404976965335707919156276893837020441391961941876401062030873599056708142468914691738847900922320092078807932187642051928597955742998423035752825230435388223483443426054613095644020191271664264052191098127237712141519919067132140404097563804827573484183526694215719599267014758326550477610402126040609288020349947571051853333319756948228581292041057386322450819498750903500663231038613761625583173123620132613636814683155632249419175661705460971672804001698157454252397414292392707705599558914331277219872912307324680977574399941853285749577203253022075265757139214733767295443842853609265886594259934118578372408093509623790228145815692421164001193587034247721540749904407025493970092562185310011286506211302364950420262633637576999334284767411187361316497845303809571307716444426122820895333169384339633389346256229826112701303991555778026810112756104185618966668274599065567599907448057573728845837604880129622581234612002355542917522767199305225827157598189998769610898254305291144261604365501772265123879660789334531466192453506344408058840625178206340914393170836630941092612092093935988200521019436169819806829797277510847541176576512070902007461021560838480843707440145864006390759465150958293104674777550900851928904185072022549611956015042667009763531156451579528589946302660456156638301865055183314411905593398260689744056475707302868824353239899860518776830221569067137474016256918921117764728265896080248472561893349994164360310442986632101830643462482569550622104077902294369135254597801244893231979220532237236877615186172032420179445142537828731389252963375173780213082682539559984086847863101377468087561586665733574340339063810848799705718430043628281964227373204727877140423049137062143048648762644137185402873454228168322828420337317976680192866146520134282143912562677314826461955594974750907593245977622570107712281753715686917462911958365070654652274998479659515249884760342367277030221390875595440835547059840050774474037855804797307599570629043140574826793476497293134530879455223068383052713759360288842602314537489818326864072900266177121381785625203903508231155699963445459731016873395739089178844630199503458525189778726243444366612776990556429554955540897962492852448486493700132430723284261821469342154758023157053880669566657177902931687624244278200139376092167191792034945943435281090827170646500218757494103063847468096622461389607185577636822635074074772277054737681163715195227873515597256193452512426349599542729411521096662066776830933796412391294504341092206975044825772965683406376477572682615195447318467494434972721681522051514135347505555556672295316245689755005712130274457414088960463035392481497746739711429939689864613400071580563407385838191325452320959169172142457504168931265430307101651652808028664991027962641337091940625094624509021372419117949795387189473225488843742347820243845929385709344730963256004852174280018480378311495921770965427200072412531071973997218334117339287245196452862716822866218698376115991067478161714286459219482390385938525239091416330172152054986370892252249271940639796346932584699027841004162837020679916451885072959137589103233883977699902618556221714512479656785421913542420227698207784775804131289549336833018805327110084711908385070484146276391038155832166778303819584772081070929071098628178019148529498570111859599488295580475649305434252237351966570300656010007628861895183355278316035426813579249307779541019053699032030098468465823341762179850329922191007740402186795486054307665377219206428807468275863430457343672441959394667361232839734338361392496572053739078514299244556461752049082819478168099181637767387337770327322653801506043743328886900540357620848052549505030318495755933826422980827735336476049706924025997703145766649241837425130222635734486054561116164753603922304702576872069691030637418034903168144702501669947706118191990966072502676434839624402963410950645631429141512834467215748128247132714182506656362081372409494216485172500183859469947667854490709103960948445066034055488908719342305228102789608121215555245010114506894347477188832852654559402037327681668471508533991412776119212798197160410838745567113436238615501430667393407990245491581102919174544122731403656040515162502777650514567163658978709131426483504238583260590585981793779467234817548151161474088044275901402486406947956051391825776242521350632943292940311388415453399933299264216584544037869117294215558056845751467186939921461066079440423087151972954406376427417537831681749091643448382136355894770495888996202446020812174477471987530405748455553896369527616026462948693461321084839192123165949370911944723318371649181176913177747514208386910594408685635430618719970866935741175447612895117037527241348141302452384187134142278314292595318868939794166299383189727802864344092809621581724869744851322271298607199047307009754359609859945089059904975614038823922547113588731041505347160549660563221987880621208431287943629641368218473427089813208498222656548816692640554163486337398423856977020272418507292072592352947628579605514497972800572705067479312933803009287464944841284009377416637439375398793329840647755836784447169811606645910735094414901416259009425753777264788833634080985095467373826832677934186375318054966518767142708818609136520319684738243148677333357560296968116260617668989390739749234085318102567526335064091789930286342723769580401731541413038095166252180499456171270620736394497470077718300532543014503216370729302638470151542401705513141373922115792323469011854727354782311261651611251847917084526348846504237215695867990583684249323274954571035216392195791222906932820370387065109498527165994992522840644064508662626745304445107795457561044555085272454073127631184383976973862346827144137199009860197355078813316427915246020190631697676619774001697848369057087101011111483954261333480439272971709643272910532680407288345046804767297838992087592275409064884975745212321013400017103816693173758959486430190424942520261830264850499040469882259254340529067439367105899193445834726006080513832131658570206929056528697627896446083418510379915143081551373302804961479608485349375406369614227836626156090404470192986440489233048546541616347049403550139490601049523637328568572641091712079087716486860547053553787202475884424059384988133826052536766597190853080496820900967298471998248528247032918536739569183739042182156660345056044492710298917498136862651415368124262785456319694950528973049111511926755412215917140604051985321580520177397913775787852884346996391077956721098048173552775069473466853830749343902790404824269207953089031020553181422076922744763129859211879359672421979899981695019197196102703469169357629018917672081893953004177967550984823555716347017688276781489733082617920250475682675880546534202535062845741554225602218451273074103295690129810838510280984476146717402135729956458280594091900608564620620270947626903715157105071068230689704345026032884124876449092992060663685063571082305734997563664876611508656073844683310947115486205440419855647285001444803358824194384664114278996608724547356705787978132550981314171709965384129417111162258812379442400864676375440819272328271076806510826024384378205837163413894463180198205670941492591408478866419641689062399340016816547221769503199434072915755692263794361060826758242776382543626604740601280352105855041641701699112836715735224645606075879269288388764810856404540954289960863041369339412319986786480168155634686794108063767210126638252303091149297505962512799432862665593194812875087049334727054789274992284080526570856092008611123705040239254432313150849789409677123747345490958797952476560725364579904174923207168856435283000693397529775040892571213341042349114104876231815369485457456077940027264654856228443904367044168660134812851217827734344920516072121516514133307311767611244302682362504177881352614956764705180067796430993026711573027618215790402646757767578410400092998911371579487321673810971120145467813077685848100357634827518792354499039889941930908489364874460761369813189108370419955791068702019676179250958928901157201627362660221761746785869720707233959753459243679700138350692761775405079949104185399631097145931582871023475788766933369944066745973110706886405300762212415165508853425920397973212220893524779880348627732373519273842797661755884826560506888255297880744017810656726718471526233775100978506235665779924564577317832892814129698235447398544572183846903953510676357153662302900618977583757138263461255855519246056643213988858513400900853512223995339077992008505307323226850238063689644004015639983665612540974723730426580065499303929948944283296810394932422417314511358676835352918335014981879906057744070079786542497684603750257348164876963360772063972814816198862013070666641969780761985168505264511765495968278772386046778269335453880702306076413612498318707719575459398610552673739252471212035496981169517738137602872527745847234547738972933855704305769598513289682223164131637247005267240363921503899977815803407054306364786396669004220874414127877963199335958858138084689484122793754708643041108396117758160569110022984330417094138996114261244516672660722259555362396510864150396213003414090836954216936624737181189630611019202472109648739533653330554456363190927538370405068269005116397050975281437346592359137100638845545080914670532521913734589773337387626549337640254172348764594900754947318895518028207869949991608786155452847393733476357017441309257839424863086276503296635953641051926026997521749167693155723739640437978743751426179960906757171165675592806949976077938725970558306656632705256822545920875394622022979246056247265141190215127504061032881944580892300115654264120624447823719845749654411095745234957431815294883104234412161930504349038826514036861687892147686951296798752900322345383996960436543788038221902549270723147248485638387156581873834951897962686752341837784930001686643670206326890886387160068465569270451305085743461510240605825771328794330792767276455492410273734242868525449734427455854237963647516155432918450186575664332856620198124536176218020696420550778253453066502907379930041721830102243812112093799468536137404007721315609683787746093434222169238049636820588343322587851773225039123905007336566146300372091254375788571963284976380401810809061963082722735213137706765147823316222212371184036893364589310740691863491180546944693271854645727265712675564924030907071799425658509829058686947015459373873379727550327717253026479149595013284610386916688165879578955894930199688811211378574615839627471069255936115303897294213591550038891593595290491679146642646382600035791399866760568121049630877513548815442407105129267338710231757343321724692957214097304727450040027216390902577945843121494540452938497044071332475107683123746964865106797774164642517033719703929171277138284605450886704151372022222866283726820048195009620701454028920946295111481611560107690006836404703139130935653504307144467313126675801035271117001785364409158427073648840859353239408494955961180466389235984801223619221278908507379173767028908524883484786448039528934635012959982688973375874122268906687257422334990263671657405326997484669432507368481362825555446656480748770943055632597467623661334072885258240107564832428311971258747141896243802827668433770616856422023173735030871760044086012637625940292688108358656639808349982866700408567060222625697750271001466870572438793646147151722079819558714452572509138940791651870848248664295980163380421868596218648286797910399906112696659076971508695358173438832954576867204979573300796852075411080020994306653473147006851439401234426083566835893382478589106585742802973674120325135965172645698345502314347879426820076661507093582656151494470445254717793854792849081884645769536570532545804416866650253448475801231172566308330223711591184288315115714663290835026657301805873681919976720581712149983709356959760934736810534399669602589164053503996995697839646386626855750308580966444583279618345505793385229001912123917817281896169367361875799892899628939913306885005944270635172150288437952771230320299139584677772846376749962115483407656000866064620438181345556951694311365863291576640355683967072517283852427120192934820179516068190190629799249508229792726487064531721255119923234334916118694078848872154049968094766661615556918737687855194518783702326741828678994095788681754939636512045341578395222814740398436608479617427953419461114573202163355970910673531675652448530485466634938135807451993657206335948943367653397418511655678872470647600298088662511466863032599512380035652047393978890975250775009314644294888266584965649350715576016461061190910954040070234601909175835499375638115697113064584998043795771693875373326856656990984718158847275658055564311622729569886480644565046311390243578625209671418711044573067321418806219302685867257356913440440049698715038610390774493474204556583480344783343403856822203649711871430334658026974285668071372859447281388845047599384804041796242483558502507338359766545151525635715645606847588253916657532811964461501151852652610536100477667851813981092919899797158619914362077687545473978509419973237803567989810633346126517340102823366821012386093928169007162125771448991647147864310445543037525795709209392198707148878935956471506255904893698930800202729627153805543912715392414256557776397781373065191298483807461783676727269502246420408404964574263382892215015976466223020732549157697199866949316549824937938868918627806903958441230825966926484096627943100766724540058335768364180156101108094894018504711459865336134752018606783028427199134990259532264443989302650376264145930555393052943528498302619541624097263957327910198188267389127416905885386086789843021923569393269432374098008601645227469247985796412514145638525641072148918414575531353537012674859787983287090644829174488306984851986873425903217454625162578803055296536555310389399969183875468308702272286442323365918591903932797671116716051940992351310843667861277859729884194926402937419514590208841368120486147231544639925090422685833875000988659023667953262471928522614406988582864337093616502447474974564091483510921261732562083699880947169555565956002232493378881950166824078770304975821545197601180849741212868595819163520965744938122042929057731869052589448890432325887417622633800379297705956034476557740267775400342429093806952961802056813412829600232429403019629224692423230220428738573123167366476477786822387495727359190024079813374329524570467939944393981201345498378738729289006821822187788167956978393682974467187033794486977897267798207604852261779177580374314726384679465552582770402641229332611854207604333257359937179843876186427015978193331659215899962638640641220705278640553513915302996939950289799599434308687311121581490399086487594688303333624813205306814003058870862205577128221122228844020881343827317919928839048073279032469492717080423697547078961752452159796351153473165090671290653828746535193112804396029479837728498209897662776283441826410291531861904978680289684139211794862779939270369086196940205659550359142372995716912231828218953751277276630054518298901881216846450076727548264807617557424701326982291221566192305625971907262438468526148176481179583617793368398713067069046527694931152617914693965686523858764601995008624334341526004407022258595836920973142584501158373365656027383731788519725040121526385893799696147304732734659773345832890324305186745295819565344021677920796378752988381655218978851274921635625172235719842949671250683890249459472395330214633766121489770733511429948085341392681779979703833974694340318895135292088486082633674642095014368310591305997103448180584992014914536234634934973065728331762761567215224917825815847035393690322817562886373175105217391552131456652551805470831516534061273774498284856141543705108521978116525041966843557046110853960059897248524785200526961028487113553594335056533158289911964485676088998028191408742038569989805713245882690397478096043227787470381690739594562853700624095326757993475194336814383290462287130656192632318695042340242635999867370690039911390649503922073585593084856402446504071793249463274358431867638647032587034285333383152358231912321408829174986922153243887191237632539361226313558319101253313099830538347310176034494869978506598169653191315347012042149030577359890009014203572500016963714155022373413644165442980582913858519550736434839009577047092677232408376688633585235272459269556144653722234357305157168472565250733928897798459655386339470385403492906486804252116565297302192078723535173950492606214118688027087868935768776953862056672719646527960222405751441786422053486628577784311746885777895493384445305041019120926381055424534720610325563165363619739933193427134883050273240949754090972332054757639629626543007777986742345462236991273904477157105590454735401736116710132377001247583797702274441820147993543885489052341580908750052754988383002434357726769146336367340774522063316611916189020376886694827549072780752602445531742157330434654536372294741820802704589555160074745645957998863092504870486928717293795321260391025993794966923444740439669818690070593441729671562723151219913342581312330842359521431827024136561479030012096211325464867689829447471648309311841516691408826524785655277646480854184931071908382131704676479377149400536578649443772651155379752353180825326014036748238968275589982062434309683686070967072426991625296771128881898505294576170681004101023243478146778454646523194585697617277017824746486430181800120771668987686506545197900613719305696660585237656846153001996065159693771777590005965787537551322331751419737961673649285744964532990628058474615452809638332897389101387813577915766451336631168040183066025922395212136299166564012760605407844863974433003700945142443123497675947451098412032881356087539411720780654006227021116602365091215314331694998825913787565658134910701969302684849138999451000819882271213881008492556543709516263654673771746626581906557260956101246979625670850851544943267834966752914141436654930774366574676176356967178495228156066289622883210206231274265094603743619570803759560293353963261472631844252848866742564309210404087423762688945660770425264203264591947757924289225367978690728763086551356923937029829368344843867367630601530730170744090439258722394016552130248271429356549722830127111410203571230564094423422781439861637280820680389439186477109210350797607093521255040963912282352821678546755095135832523285698020039023316183219475308786105762284956014420430336065921940099149049306626755197684385635876626801736207618341950887813932017370269681547429500793503055110049411047915617581084695249578818099829238262552619037198170314317093182718936893941313982655768749866754316370180450731850543992276610863488488923648353762861290121177877002247207220884433135308502555196636472481302792216247972759935153136323632933019642591421638421723185676485216952595915520026022843994944936388313370512471424084833226994514612707147870495568739233711496325196019300180639247938153886534429987589610378907184969411959524758625954839691335034849393330323693642516383325846271018145745059643235324810560985907635882063274949208770440767981212572626358414078370425304242985386411917595555921356926900158608271603260720750752816191149038107831402237486460616778600644797253307590500396839536087877862905547056454366328258922975944528778986249842530531770422516609617043512430631807072052836934792740170535071974148922806651131220431624163674627628539032276649417675458506666442650536793091934541778646185125359104169393481061808608376015954763882294259397124403587700301448461275027531954001853339743595799142022867044175548070831716693312848431777708222456229516277083165737768635095825777875507377326681658338458887863980753260998593146832801140407871015513456668610229177139354940553684106715237383816912811467168360013629861027809593535284003692282729038354290928605802658152673879897895589567173230720753631203748149033136746235233253327937849095102823755594881848356619602711309091027759494917224629031824293731381252065213353712676344519310038615423721392146670626605968798878339837559256027947366360695106580986992693793860202625265388710554699100586954097442666454917757332922740320603705102342710063549622646145937396841058561392822214611453848025529654810358265149261634804906242308844955224071832068268605037678111780785205452170806045610534389213455622900406655441987938923427246839071735076878864453078736110755592981325480574717943028553114757158706285973242198708712466659140888896686047674475610724076966052336054845354410899047014525023986163902770896287273097891959549632820424834423104128505781384336120973837099589707665762328553742885804377349249222217338141520319596500441698504960303618760824872427395112416952346684935346198270120484343727788342364001504305127908696935057315377680579343547884284025652274412009946401705348889059983867154659217090801753207141014707326011384012343741135209722997128777022136759421448946507519860555624214926008730883885895015292286313187423549357484517710659680763941099448247962767080426288852618187007324809036830993049354329545699227723486170923385029748476853648912172652551581305806864896322556862567155176241757211626052982628815504184237861075872502990480550780656856516314066441700984721525399148035457997948015881640179556410969839193222961737635670361117562785597740231828429905780172580036690438369416190312866294501202695247608840391133546129211509743891929779920159903617991894068464548647819349284270653072163912882030625189343929352833490455682482023336703394842143578682510575408968336059573948540334838132002710951434817709203941788908667128162387398875580304675590850457432956960344283018078842339575616367804109546492275283221767293682875424248624637764421525191876326227599083225467673274222441114420534859385207188370168517690869508242564353024761424036904731178697621153655943746263866483763630473425499742532321888309596932385096225723995071159492030296741625658302941759588292943205690015050245330352608766666189037975176070539132854272708205402597934162362754000004122989617263644660688752701174161953645843845368523177580523185135060273532003961460120463669109653488722958951500448606656241218644295311950380845933395060318449914021850576778042619688400297695749201885267575819787586824428290177613790280349604786493845986406512958820314683501499480919001805983736622183483502377496543762290147173033639676728629762959345936711445004247897797738671916510948642376885137431561007988647374889251078425838882832429093433167648768832698502214879169862819899778173751643808748508041003232775591333611329049934139962009119733914603016086213774492900918716280917855828792339061174993985098177254050673903106799087665430712354590325882119489894982733677466994442455283562339556021928335574669859139086524027268390230148571897623481879208712289680586889049359317920668888590978197270150543248819668992072815244522115765161692198061240656854472553755244564691389732315978481855567692281385152783494362752881965827973028143668346268266147763631663470899503356358501660278217240975007729579582247597535177070716472872163106449967242249024539734595142298519708712264054586180851114052811656090789015186446513889911690622207037781535586751146259726839035474806124390620411055470251065676817183157011695986953956171035466881586719840198244936964563466887570027411151089228010277371607980056234842959609803195142344206344129598959046455925654046547232637155264983939860921581632083504922503720492672839375123203767547184562700066711383974615367668163938458398603928648267134459710557024285083312912619313541175093276606611901969593230548211166352865066568704610867492982523207040437310201959396516716277550024821654318998128429124330489993768783609199969420058097982117826819126373151414024020703116009205444988731128803472774862353449994412756311815848637239631539138447179912571925503578746475550270763382251799384737602430740782579310574805223810199041998168791798370767993126778419564743707563322118444593286125660255578846774551846982038640118780993353605023987259046346153730992139894665612305111418584721955511822624804003996324186032001200493110051676990554461651702469456244359395539271174201363351611086188349387328727907274210190967710102065244905648374232028796731000720353886450442116433680098872218464007034811824763078107389704614280392872479263247296886501292282572777866388451314673527983671516310310129635765709376419504679181090404614929088470796419669335642918815347204459913215153432037787502137414958517939026935792672718741548705918625383244037750756430169091148394415590096224882684668019916454318578572017275594578314526412201954709654197802678250685128992995880098838944403928403744172783607827701926171043345557702619501899961639232496648902170990761139987082686795411407150840859894853845323278207310020474081476790954525338943241151809708262154811125656234046015112731457653022554236748805404232453523518112249009119115323072846718623904255447052320890440419352765218376861951005039517657111479199093090242664155288577465520978952384144550818101091520658196436975609944602574245313974484013769943043120851782676187960055867601416813707332919165434510547852997442918403011475512353365849900539423969492454049499810034394406892145168071788484081672342693082630769498310148665344728561419470007333996096327946017682790068633043059607449506868031217897563597286001512375307670569488357376376541478075321903135475904909686634405254613336090238067235938928334178945605391271076457476268604283198138243874427675187017076507445710784860773785952852289022146217649443013730681985768018392700595551506643985630773309451065444967894823143149704365351883653527044437196237059437124390803118796785769361414904047420093513385039285369457474710431471447333307745710310735016148293247030662442572246578528999378397207751933512791564861908752169895752004656187477033562337253003652141658724455786435886292487282448580775576189871826799971943118261482968899265344580315876771850344926124995686263798729075260392923473947625764390196967320264419592278144761639545762585336150443082473339825623453151947760393644742768051592164320696552074530829782370264990277667395640814246937147544956834852642541432736944073082596693685380418425566302609378055182954125151832467507331178009781891973225284684726986347331304732236837687486855264343504952033336348922831407938249681724011375979210854457666439162584515154754470184632993341158400381999642401802970739216577457685379534272855048286391718351330196327404656196753170146362009331368975838091610571615341285437736173647356402788714587473200177335811627851296640843973246210267825705117942570724911141254628379607932001759355986535952399973572840506744718052706115341607583097910064043235779983116866271220775024075923329527013857864549417885830803649775806148127983650331485432173474423932487865108177676320450196393489375191640432495181842521254744567369258030679198479797694990549555487465000101621880433271581208561232431191976420671961591726434379566947999109833961089492379214512610815139883015281121734411181164736115238362297292557319616530247868405559634295031476020833803586972787343522532222980961169017917935799642796024298953099304763468402426710702484689395394034593199808293832193029966871626329219710572120617896642450417450394467377569417974000758291859763470426172241244755780065629814071090214823788445065568324016921186530720963562120015138901888000376849452155293286486938729749068124166402367733913233129304464690294198202012835118378072264617918649387457416950060589312298481254385479464375557294937410648655908545862348115582874235748128224998348237615773263800339481390858711318764458241254685065743985385972049607608461125296883966734890943990151198061544698733828010823743887823528879134712123802245855522421932193576430339930727176108567488970456181650667563661263562409645262977398940264914778353522706719269668455320819784722098659048520556923045950132544840694672878614211498410986673929023709587906595825488028762529590365664281249653060998034730430496157960620309708134578404673580033818215491300502901687412895370975207089102517210346248995943110726888638204757745610259840108960965709150272104401410830780126480603791019680561671602092336052971148036089585976290620867971801469913864502854269532147521898483243738146804123524796947963382073849869504238533301921916012291753551892785982775559815361277541308971338469152201492408153575631432645538273714235560898629683531486324548530532842573062181812327001007068232797916476205723436563558884111891087675346382092924217963412058094964798736592712523945904496940963547215270326742424211291152080666473642691058616398142709959048879642031356830638421608233988399292596779243378777400258090768109472746914250199359001032170211238747077030459244248082932283464266830419660416949553189850661704845403678134598680799170241958109682133144847900039511948192397861880810764118456658560744237205437753517904067525545183138424654650475782574221588226696794564752140436659217108374874932150441930285463437046223414500108768866803338423853131781449196001645051470110508615492591716691035331788055361323365447951757495777378635344993730774387566638702304307262147204994496687307371184577809486914695249030408895711907688013893938287938049958161878326683890146818942879719025177856476422383709916856466422199210289705211550003253927700200731035298926414419189317105195260675233531649802573250928686768833302022776735319052902259998295870370943731967209082297260854239336799775583210655388858329419551848952824189799112104116054216397205205986365993633166176708155409883143644136765919545675213863448352510010062086933764780092350241140344078122977392842602207022551661156967139889173256047214452555013571248639636294023680043978875687327878261020777589705398305593144283410971405909357711805240269990090205952732058723667199909582593781530078497874426465822276519543460164342878836734477029711223250151554896608620638089007721159911905683608357948224551560218781962391477293855093765809404096578464103387680068623455218111466305651159504954663585554468781762234613303771686948567204647140269291949887565263946184361479601405163793023267935822709482372558456442286857856188047907042182334777115556135513534645400887039182490869061788372081277115728749130742715877157165533316671047043494249968464952721733645613250317612142544142730812874606506638630744687364370816790938613720977293643297334651900895416295671895661570563879602516091464436954136491048664418365073191304709297141774502334342395223562348717797975419804571637512379328541830262260250995123470517985973946671498965912916609120454017231115255840737471007008967750309481489288849533650273229621799152713195033588371606851601111364274077720831919095932417992520720758815676900343239255286357072094003224231865515871538378817701944372616480882943222089939244502881053942553369418528699612249889042070200768590320303801272810797815136392332129084619124211395799263800738588104317401012329360345312669123593779907997106238501912187441433645663622883965737677100572998011344862471471022045838237701062276609608254555054837925589778667238737739714257739986914396442852717764452700718915635291380423313021216048089995852730659728582680478970135654819085570898519604860808158236921499151912053527478577370081649941607521162751969298015109831229332513835826032874760174635720669193100040561749077562282936405995897971218126943478719628967488143473035081638491260541519260170051138346882075841382409337783612177899117094361478198368099151822027463455892599221340568369326401343302081696840359219376905347951617824309542418889197629179810669869367434909291167610862094491710675261334645850161003183594286166718523276887938551735246781676187984890858296942205698019510434378402403406127966795955490125359947999174264181201655941951356691618415195388869593396583169680747648129847793747447108658295028914281911922083151734685123292560556231441414320330967479627421818912702512983081597399938390066850194288975462860738694259987808650845438232280498675856019399449848868472083570285928622175162453288151687460202471488286803577568965714384986678966899726794685349905982182031239878290859151216182670238484402611964680002868578836927986110220591824025944975350567750107464760390345353116778811949265409963052685156010098680137815710680561885606628660642243551195288248582852238104012220989990862976103686953025231521515760022168678124358083203710900167879832007750296817436347149573951229656580652121769571199356123390277857055682877279512601933157938813446690337894112809690548910334497057427120084027892423371855984180576624596005762183970435639592850493097989596802586167645816347997755058740478886702649068705873717580710013798586670003714708826676881217249423508279793200158206812380802122714761989229313795592006309202035654039168606929614022243499764614103437768050925471080191229676999145345428594603020739817792310671879028773484240503450916473365849708147863506993042552306393793739051254045868453594888235460721280014588334264274776013454477658741397207903288722694015021756052043449588110563485788079945787457228715803790916714573676623606673267242633391760947241954399724196149955920272710245368505457432412710821426277871996356787548771347096223598017355622215194644933344939211827344302819371525827609645526182749036822568433349632793182149986995841853961935804043713821220012756646197172946970536896237028851720285472976201137319887997587613265792397718831952807281538070458543823073989549940765287183477008813977240866762527005099876837246370704961331190315672014477564274924637314384743812141432083439631696014015115892719941801898661297414352210288908360926473383658266461729303187138437293393922875520154384727449310722590430924133076574675862395731970091615026214743717917703237163741433678744504578168079735971650172078120189719593655606112035852353472524467182618471271366542156368491257304046853796286910464608161556264088153560288299338522579460694328887876044389259102355881907283863692165154656651000995692643961836182818695188016139142531374364922459127996793012843563503214809941259408733813579739131649127376485533605204863582050145346803023009442454456199272658178953191875120002714647365253702066194648167637122766864915379577455881345985206015800615326308614558381229391154032030868141102399733664505486768124668076786305382469589240724077635443614421212959866255981426864649077543170271555409061953718223835227804608400261950398271196800488161113477092736016409421844561454375108618612745552158966480632468581113846575153705956117277575547724103482773539328238835151015281408128088086060994643349265255737672119033896609576304353875406897167566531015606043176413614886231692696479319851461954730135190522790485677283784041300403506995883027282151410097282022042935847293271944424567313638653875924231241109945577904847163818048105405904662071132669666720269117010007026594635716528548596025916707294898375528844996638469221059396949810820574490145535533448250162485343834749191155182594521656298610008418231459686168058245882343797111246094369508782773756802625253804394322062379259961609018438418438016315122868140296400794596885224588277902207114682384793258124263019345973902591146831284170950076780273291780605042181450477909262497960171109170947796487949876106828450080135283510769102091614429755037847373188132208976105481057457660053523750897699564919130128140741255900509218943829967940510568402082628224865889669015077472477257390253367598048744276459158087236582951221374043214748032426687833368437524931470912554181635817104267498286445626067703439027428414725608073569469998037086700588917885702848186768784620899257042230193202456134802982441785943081773230417723377167889742197064846019148502152589891616562183434772592085903832525825427210441774843360424365921568955080729338253295352196905838875276809600660958365539888803480405895348577665318061388728710492811181291304457692868095316693650123801696797901008362925658527080189396048086791303709834700700044470708109769412869898238439395542364401522288081502920533017945759954848031066157721497868935628065126844161089682623688762467053273552009283623008262757406705543337309439666006921915004628730184982457878756612804988784736859005707538801376973009828596840421472428420201117625046159858079918960650083830046139353001818668769597398024220455828219796823408890706206643521551007998716313854635830052610920289876255146856181183861650609919759106319808607189541766455838488382877596951068031634784827705465711339130214964902233572283852092687256688098093716074346486885773691904920541037468310437023666668873388319482755590333587687567713084849897923682509428671417554387556999935378328318816892141928413493272489116739480254305982073012238931159674342046195827523769366850811360553866424876588493897718283188905381780360524474269598675499732115132711445656533217349254281499467220186571500442131101887896904683181915608503382095616628561285351532989908936794058204441138937601373535978070702935362029513392196414024652745881628660672361139424645040376513994905665193575539082170137087573649275954118483849353222005035672295426852432435094291867240186482039323955103638159190605064446342915228516835519418151727588288466042473733526302702731119484287854606796755443751342100611107175718870436327308359232736339904406023742292211786713389800634407477079613173990450325086794065927792032204739923220613133576209348363763789241655419336016229647445760101980117912988682810247608012020357239063191473142873081410992955350942259403615895678608736368714777927925524039293064093738230351587914059650791662093066470173680080988069429190897073225105428618479361744155936793276996158487369310567998069069683173845032253667991334275404137485984737950893990224611433061697494032430454978826394252714769640040407644063237190988136312463463643742924287462202673734289226007769762120181432704079240799169898198728663628485562686061591148631922235861790526290563290336520366291678769257675690885627642393195403640006973887158593433919451036250879282768998080252728570260812841746121458433600844491940668393999022991026924566999719643833309639747718331546775944965221651279640812747381469916894724562693977448184341598251203529934778172682529394370968156154066626882235595270890670445258638161339568952284508173390507362910700698181549490887881413598009480299259679023263136984939625718838002095757547917630376212621012503002720319880047394584134164288332854807123615084859052328981664403239804961278062356359200892219570910204964066918700124706182584295752221745441198433078369785979966192315421705347636648396293421860151231889037546789897096263460638589047564268458373809128833202531688530959588909308459933939534921537823645500211388332665034238899540704975154324822861600742731768626867919894203961831265539570765128260187865670452675985404018030276491921662540866944046388269134199483825032021114848107058515247880823473213349151045981063333549048624835181856757324945110681691567417911167337207054873927884185111005231187443574868020234428166591826990735458123520266964320465639232782773252043281498487817698382923255203323537645405483418765226724780503213332664482395072459688872101579430009064976017077609545924765155573269323275745532590422214589586863944017209330251018834970577983379995657010073080196851545007167758503673663462592080216488362547786659114268251019694159221855790914349399578339353586632909662026224406991971330228435087989341551984573256342034210705339193878294888920074824622815164824042115460495024134215240402477864752434630622510220958036583024726709158226968151291632345996684154352991774846708781447906327711691095521852058560710274607366766165156164534379558469879290535629999432825278598015528021606625698707314895501336935812302480146580912199322189086749972251635486658028408429772991503250661834851784063345902058294510340501375549154434035365737961481262599946929972330194917973237162130265797630115355276622242970827354603663977333064437691597147201535075816848472107693671097128693237566968347539656753738239324830786705577803401762606798588506190811259095046234742608816084327882211032826162358585573070110054436975536005386123252148826525426933751086047134126557067331466552766622724148705733662640522773620615173943762373138123664637880423947955130666520333384066907525907442340474982284904799584091931133703503159930434023576848483427854137018724189281512364966913397726532918086119717635500566700413679809925582601467674639902664819928949831709683021571889467760440589241504712245089689408363774022697574285587570667634887980815521094659986395525849182367281798025910076521816708469033324244095034516403790138689173831572734911665172165605623046027884544183975935676825378440982197882289354941680756914629077924202953287586398459190322870480797919819446612336479208517048740769889962443175720282354053820243850121370808932475215121552135033255739248093376048643867738715398710331983254503792229152382325804155809849777105009910135855305494391146617556347942058033082685968899905341352987973555757271347616975757873994516598961252281625515851144447409896107794689934959712386446502352930499292019790172168430221978378230347911498333551196584503926367064720242886783097405661423932059781759327234167388845856424685664090920955398105724591695314503435929127145781842909636524589157058101465373342924289990835441342731189631425346321558336327141471683648790041866271766117735272883964044200504606325395460444009371302765728935476015401394433808588169018998857389304112476636316453445359855971381536614490402062008640175941082257813836214316773794383729707976584088117136765608132006121626289174683944280438801307098543597030974889022943222066845762339655520665477822059252316959519974422059260216538068982842122157269008219152715729509693608558102021819624390347330102250866441523394715163338739497118950109571369400410174450925392711858232588564022243522718840897319851863281344219754588020012326394350165755917425526474789125080881171206065396124930484529497484269215277160827290295189378157304624494353069748871116309065939293826333520953331762099797250746462635784342946562798409920507248362069983087784558033865449842613700652089614392078191541468889501071063258240192329682645679938618100493530920552007003490536596896578305410796726973350248896973010853267711051483339374273494161286563781764289381153840211921596239565968296880317247997094169775319754760416359744252492511680700175196884673627103405199642813487392139221957123301319612131373771592971596068575393176560275958815630731916757463412271931636043213984184703742439614261685355682376546568712769425960204180221692143716967039401135575428236240377754397114246514256894280998713170430670168881566587054209865040509601592014985046977238253413398016259514925260577874862644512009605207938839855479653108197168193885589468208006108615886730170533558538312981524370254522277888844589715387546290360044361967781420325592961391042810473982147118539762552664449440226776030278036257378691624374542159325904768795847807996219725034465313194284328621059755552550720158129388578078355160118905376360874808129673795112557700140967274516178479778399161921298942058146794025855284532005204499389087523610624197482225119985924865219070312935693737245389266211201384676113783950556375096961122983623884052790046780953849633980625677643832067839359198758445585061358514863773688081542671670472060333496415427087340396529601602985634100668876153479803802017333604799007815941553916717588524195388977964194279337622912741855251879592273492724804119893079614506487717030498996014146249897718766614347609563893769021532062034255420897614923907121312076331039047750733014353043748747620687851991107933018131297353496100309764696411693619360270881918416696101436830280925385981907877632400028690091327247513000458884196494450756225815112239970010318558830706434695503226342254051202781664734425824717699897435249238935656200089201964526022598723017232589489218448861624972206389949823236838244930913353445846875372337636156712370863439035359971513869864127829892596878273507215643351615850535134089183476117155372801787182248428260258213338443229307839233244349206293913790127556261963221291515673979000914613757987860422136290793563005515886194055273896391128390962485041475669488240931009521389271173353588887648063820450837804644899934387676105079697622152743558577241401467601846238761450196852073409515120860954612432000478731381296853249111537568138973608079738095375763967891750542739219304060246997547497335609010637272167899871466978410692750204135666553495214637243926510369286853401353857206853161419860943160549145395711205416743645683611387856687253695135401073914951743937242194307724362701384935572284588782451288694572085973018484402058866857838510824376062300949813512139686720814126888679769274842096904092350435378282649132022216091467495960549608140158431369674505606341288480652873602178209308239475344407681653160065410578567796661958015889229429777856139155127170877322834046768826413155557894795669033424011316549900032918410641866811609318712645714996049194625927073582375428505999606459960061971746722687678299958715480636078821671507249032378750541633970928267137339539215808236097042229336574971418427985274256704127529444572413886514283719659133823352047335593809373347215546789972609833160452767955016902202059227506316034306814277016086555356004159581883469659668540971829247005692227098447059626393582504147760105156181835930961576210619517408479334180143244838555548006586747205465676466823419230353787512088968207584189645028130867421079214367375280612212218813565285360114179913936321090518817332942105176178820292382786675586629649034619357281582345570142485359133439239793539611537604837259159885430516038998722117598057628691604374448406270388846573032949282917228807614185875593650820949871475252488877059788159442828823660961821820947356561617495114190069153769793876524964977022553747004248319929854139373317428072729846397506955229840390818778611495886089726028135646782081539697429482184604490742760508235944349250591031495802888956189400364208469197818457804805930341096041375085136759777891906885333847750886446601174791511111080906446815012008333324132152501245389294261984998544810912590996029085424923387089745237247145416165957939266215590273030224539883944088530784755721077565998554655161304617737226643604132925523334554216828808960555135727380148078361689495346659795685105505277151514568192433810654710405772369011226582071300468852203335452264942232292839995732865992861232070691204684873299061201254867341491306316627413542315536968933050757630608970628695142389440176791326504852890347996073464737485435631595031584019500971577626578905122295063180994635044033976049445413326986080738260613297619069409896244196043273248957794407613547181415055898620972160938544264318452984044941402678829533014253149657712477593877372812437175079248851980894697376972209626821451832960231538216895475612373463874927768913957170230683814573532773371177860088064659615667144337569574452264514216884073838406912146272605106891612907441471351973656756423171607159808034026036648107293944224911266134095419566919396458322754793180946723668979350895565080778760774762455326363796056959193473222293018179246995350150127051436679503900964837512626441536257521527586787336643045764793335358357950761674942231331366946932911656454773198562126383092211243541371259648153386978762790515960065429510030873357664711389343629411484453246832450174437003890119992976040615985134293805036710698798609802245024582443411159054124564834029271425300236710180247709170478364530769671871335356037915848438358701441113150696311829019626835595100287072719095681561646263688760960947553123659281121562286017603344039416792846550573168894321973949926519208353253808425317508574713459986248758773305096134051298802233940714968622100366808498465600958575504719554111675144444943122179428645999089066902557705550620568354710864314806136345150141676679743072022166077474237053171065695070113872521604593286653409274378756704880584766241130281022647258455329790604173138552204875745109019781390972915627733228310053700389728452607005513545063736111942460629713138960217737174329087534000181538613015482241330171379451461554181157736906987916408411211243253376267680621807517814839658074560820020789802152782435413790983960387594247109716218639692156426203499507734492911172612990574834447482918747525263951873493351033553688179149187389894388850673872265771173057412312716669853360691208666539895185570200729227497355762061574085929889920342148727203018775407946022992274456006363087967938511980728464359009493410988556850489324338798441548058935705906261708311677722718818734706471378031175866721965046193394811062743335932911785852045376972979778682940522065821745682006649885994544788029802196861133860675830820662320039735423762151154900298872053460085268608924220103538296894699579313442827271163449877322607583254257130129004797026294909563992268219805613974769079237902407009451703961114045797638682361483637200087972876548097674132410412468698392002256908854165546634424231040133229237660200419309100411112962578311644299777063978294548993226914027274009216161096237246422942433454308365027154433547329482749506870410734788484364423140506403971476054250184754002986392254419321936896262840230293660143347067950573313646891822323776514503783496643559466797346366200583277723575939808359581579692536335930494017002653068346977429308574318424597427188754875418544043593052385033729680046543973063411392265390600243916399881982381220947804207076818130664581160799491049754376380848454341850399598795191735850474880719636856073467880667327512111514582575268329319331262839203157774477866879737965179364522904604299829210212237495386633236507375242333128882503524260261573014358360805476338316778334666366293868800785703187168508371170751535975110888427366133381535895013289942654583283469759718268154205313527905512770302869333901302647889590193683400083239633525205331481151025344681864137390435680863946955851967316862190742092633213169610178908520683682078215635961396173031985604418286435003238593775290407677187184958247739618787178721419055608150813345046510902867631871428153084816650177751145445995821731114554614254522733568782958329380599176436046957053770787866201027533002059138083698175782223771852677674620432635933354895605763095202614287164554505188977190250336335601559254336094055728894784288077293953694161216573039395173552068326423446296937204850383910843439439528565668886846301175101747245636423302696357797581291604828799566804304437512263558410194157490931347640607785351717466024322421631356700309685627920280692266343909027696306989303155979529118129399465587072433795937452240113703922932351205762063416546568981322315183692718054874115870231887063418033471516499982101191621101816871994901333714939798821665154773397122421307095060748198836445679224817493577357475240271140977874200292170089286908441329646221977806084967575980851221175222339672881195169163678624087791939496427317002798169691172831221371071360933116801073629260569610403392961040728284764989502313004407326183248027611274176734915566068462114973798590381817970888557192845465214412723038214842297635254000178122610603839993496730160499328078980793787033290847569449773780452604952400211500879455560221000970477710474216650562251202426393708044463084398582300859652731508823486543636179721613085818051236450484058038099483298409702200019001920302148025954002566924761522894558969692131360917208255801056728283365145794122185049205019087316548644781577260637527619826717742671587562627511076912399648832281039857147207623887154470286382423215407058956270631460525185209595078392505376278883916262320934218698322586345639649132372108184263124280964067424000768453645855533116765715480309192428584075257334055822245046032230106011826932036427324996185944402591342798161088056344697166508891092122285630821399237538555385485078182000950368705750768665008953549231297351861447874795097954590314001429225857817283247209182334422606099861866662702085719844420774538880659970938558938506647017547700108522159595718802344290562302457233732175693867705346281448049851749325628926894810831691665699120182835806383643301555395564277774412755931570289848357777141938388986136045413463010205034887877996703822584142320648823110444057463106934981922007448568882545230301730186301049216111963970184995028123340195706370854603333738967541420754356851823807553348897554680068436049667013319153581182965940237753376244141763436732978102536216760753178004003337644807625262603122451148979389107484272528479645166318451968360324094293306897619866646204149115562537735667076575701816560116841038037491668011848021133549946110562714330462053996624392922250372378974934571097918395618583978849663140427950942823322055089946386672023911532962402306145292150426503684397026852307070609900049077096305772400333013741681535370648262618966926668200356272494954147181449272136096691963964102913725319974274767946610682610114751908150982159773930055436998280498714923294669762065334972114554804935905069315950374878588729322734659325005413515109561314481379336181454639166288762721954538452837130545073556818335160719277698074220362385997023357976908331539115756717814124019376694572708045261273677413667056105869877982895131644046588508540023083404611489759979637800721008961752624510548472001013823920391772733955116358248994792519865877765863971534882089613362709444423833929008009719290949082225716756382388955136589401136522640536297005214686043082751443950121073100813827107201571073150228941611772171735236198156409839244356069909505082233573895715399589216312176311004914447908266796239383039206677138901097950102634911402314536104085611083298938623610881547531317707259348186265358558059448660398296287061973498721782673771081424111917626538291077059099944154488450248325292773332312965869239255792967741005468858549602869182330174777323835819598112900945051591889050863944713879070035093876297534336255024421918910329533196912966305390280771379776601958203626844106135962687613892906749865696240979089716618009603013273448009723491696315963019203328772884867374658254333907006425704239102735000855010543608208101120497279624727535312542160467202593022692320259640130879490391162913688538816090982426209068612857479837578349036417079728121200609228102164484382760889076232964569035154259312459802966831895152270400499752054632874245071936304824256933114834207788221214832245692225883300567616359192802141321069557424430812780445468391783773236504038152888285439272713177757203689752961331131051513539850120394113021581869025357040108727529492168801667005615377527083649130778052614458696121603796608248618606700138216230174494089518683684246390109932360069313064609613317317805261302451846195897683839799646802756519931994133515768875921793649483320154999867915256213707982295420008834554807426673536900181157874709193319859736438117580020720609258453152847260864017816107066005944266925019946796782307919757028228896927164645835329907793367231919208509481844712711953531722852379083076034432639484641489446105330194384089196649219198619789876274000130115343070353200546658300499422434413495845928594906343352880903786582246862326107772945819390315575560384155612350856156782182929936926190229252621842831109390063702745892109178625444466728412423066803752790619061753470439831530018311015709601441588995841438169886406817438124480146007425345864543028693899078279228159883384560624304849661853109048224996462374650552980341830043351148838591918958245687836012001250669186014046363591827505066144677310799748610197269010821810041776245333734918921998130062574626877266229967309987380879946754405388064070878243144367343154271620120178051645364970847007212301522794506423722028208002367053334527071528778106899677784094032785599240228874651922352775565742860139034836085029189397662111270775155647032945451282948944756073080593580358767631263633202149096582843910604607911531331741541792223982184748111688895604851527800467534318820555834081321088447937393794262660684971066645687229655350053121559786685611910782227489510388821325799609572433697974448754675014327154522675631957596506059283345411633147551737648595473764338964941882603110724520910701027135640662739144103511410306874948625278704037249628357326675182221655843499381915418163890249231150194863454143136510596575237047239077191708123515122405649955385659258161926528679901269167132736790502682487450772054086799728346095362106147217879704738323017122978663387587672891831148856675628024861659812616201590082850861796874028885985290601091254390806396574489607846597459484110388501545834488019549013338884569270194977430978384760428826200952134253289624773808764113161709105588009535248480737545666205804697189213968770173185429141540240557854337631581728974199502968759329017855002794719873450388235338884681909606876772957915227559064261455811935608373354411251764611960394431860901677185231795404203026727084274411435891024758363864833623686333665421893884560016725498900029236029250615568495625665049699588075883319610868388534762508308034039686021990251363449229942190737906664050276233126984226392926384577878192608742463492332593642969094101343773755995548104681544918185109334942716694008146378543937057507497404472475952682199726688418562969995971475089680578314375135542938437697784771250410005826366299596046649213410766974998151531828381809804786047089398398761866568508952649989457663315566531787887948127826875441265885075924281180521063173021483191128892032343431339273625269124537908284418687795916033126756999802963750208668015295706521047822927902028799563720610187602057489247647980694365363375533185884449210302711360266638796358484479374441166773156985308263557925293994230412976825159243526512290300940054522907341863238655539298085271762765557544063264106981222248615731738351282101151258223585694536351629475217896768856572823133031531552251639095477570053788080261264905215164818161747117714709046021330192724418190361037353422811529578973555898741607340925193162702930000069744970883870568354496918223981827447029830759337215144667466904569134948626243135705423830163810097523764865169120453348153365169985688851651031925431368217522043184020872154760415900019915680542992350629865754896188395973209494942407089122577476106617284872968281651675636063896291836952269476846755646896889563489494469352493001334855326433610256864823192644232050482180922030919437477180877798918781032913510628291310523787469613824738305463928931079269436044737981921089528976566047360535884542723562772778251588203572845858793595175892545926452911906884019111766624860025736370987154221158388566578884686756905889941813281491680342098570324103140204600580685980059145953675285218840974658181964806689024011356648934111022563459816159631805231249990020708249489916591883282877816295270606452883543659504791846250510487968615026556654758429813284344907696974321513553512610891627271862553229885076117609248717369105373466518024893989357878136502731359860718963398601466199756867758267218434630847801260128782268460814158021367687722219345369053317792751542830531237218880320019160346452295544610332554739083383035792023809759735569207370788969252481748135194179566111719969192735771846977108016492279686563618670001432191036750989292555717635004260686674847487130109462518798647250500050717485737898080375354025275847416841873266151606966484624873026232013375553027406038132273983591591652662362111768319091103703131593688140132722042527826891265782015967260562417695657147244585307919077026093838456064703175968907365306612398110159988951447562678394258855082228033543183925625995436516623956210366579208790712388656468133415769262489232452703963542800000175940660369110047837636131015675979381991879015379781586340375429753684317927461529709032268644223961560042215928564094741499466622247467707798212302979420016089336123854279713138995221297957932920642617099313588364132308722654977346109401469763822999630470905670723779590759558704104762803067055758435340374349139711191514223555305522949710808681718320834175365328804406308972066075012329389489070447645307283733801189003439210155008615217391553429925537760550112569732912116448663328032781533121934383800825532778707761854383125954970828653381411981587733993350084885556590383458353865476625782349378727429229855459835979990762440745025134193296988790199323017364002239216504383324133240186729948584556704128700550134365998583066033728900036912502456859792815748420302509901379689596747910675960095160017411381514733457359164529317431636543498175364660371676905700816394230823377676205159913783859859445093971214761558999015513512248937534628931109261113275909365856536412974856355978921130085893206255025412658006402071944176018383354168382213887143887487385867686461094410210700978963947762195784292525736263332903498463949186861818714023277951374189798293935697721655252547915811881487698970264096451741365214861223820055111555916448754630747615522137713120310948338769702094108954989803612172810114926026584273117735676301226284263712378811586175571418840959927622014102691307157866082475754458891829197104068308347844417021664280824145132869135847364936856117063752345237047836026893456275631291803569084173409280836181536313028295210571463095396015843002349161290468433208006531527530