913958837192546895783686953631996933421130958474309541791556548394374934191513687953988218377362964250396863878436734488375262571596108391451399181441668453746861756723560224369003816217905815755046815467567098995032323716888216430622552827245617909515557932393751083797867654390466599802945246119744975127559388433760751707646585733419706995037504425821135653065355645331005772416484464871616763655657225765735781713481315963354551487374384885897308182446991541246993082697380797070046725783892501368154429978255841806424513181299846877927295490938393241887482389348400458831022709478115679897410931448400387450493516954778879937918889658255152179186782090919743164778539069756653962497741430946228482394789889030947438704131145415415171009278883275981794413446474035332426018275577033787070151970787571738933279615718111550800645097176045167931341835443776504659757046102549173011162605341752215163464839661576309329913339031352277191491718577721528811779828424268834655324201421385734835986546033653088681252120685462735481678742511357520591325648774749424606393179605297024131477853971253267885605999562148940215386008491010338679201929425180795500400832029624601641450477505791683819980140628818526512478297401946298524760767914689155874277528209831369738248780644536481381114764634252857132051362235386054403545456754986909476943314283871929942141877640699694938285329045362957735694886740193762624113299936700741130886011415532181639870953203399941810092437059836383895089930315676349132320748826640180486010795152761516118773059597353810789756804354849327021080369289054440440991338294703521384673206472416764719846969201639567567291872529855118667560144088465458255133657744618398619512111475771171438801177695732320218818475226702544169278637775843313823442954167347768385864415674620117039986339124764602599225938929699107142185571722506253745123878470175296497164927147498499926081589858923067951185974721799664742113913865538323362297949058951251831905862061154859759502364588433627579899504384203991858117902834075384180604789754353695861024875779927943592429894329534875602640726193637795037639771076034146540566079904824839654826530826638280192378276712983179482918517620071466707659813231488876291453669620374562988101312638954230778935094126949984948324486159976427265176297163102768168366709124098397935528015065791829802677461241436612376058363222860996703132209160254997067526778806413359939486264547829546396010032696973382822707944488598951887759782718555313117709686228919799736535267360884339679111195276033977548712464452932959184971544949297221119640132488998360067088273686784834763778819436720831416172413880671974620534477796201566873197681764384166488216395023275779726992398953888268861311329777776145085918859784939701270303227976434230858496289884238332385285318843419841799906633538017672245796579111914611079469399962414519730258688689806285664394944564686718764751550949679576447873757364840168172445431455779446378804465669271686500586028622931815766598362642647649265446197048655158770334628119941847779709175782706356269513290267252312490968873684795111010668048132099543218256774954877499701573396902262584458682323348011424475293481497752513284111244944036901126671584036737930339677401304139284618132560676724835531314407697531535616215655937503784938603680420843598708820971912962188378348565160870291990320577019903959854793678573840453867930288136161402397257891368788467567686056170984392692507883447637521655466718176388357051612206125180572702269191226028477219994619493085491756188179368577625136464589245173212973952424620877052384117433482515265753872623844063926190944481929903862231039193316987944781935868358863873557466555113058827399166215357884673969309653317938031134569279218856641456111429637575397534055853624536836239896708906631027464891950890678627408249025593768672095464081160285014158501307724724264571735383108955144533817798578339104754728445481183272135638769523434698223903431795035951543117860938626753498685675325614234662797994481057491298854938952972804946949784289239298756422043872762556541273971110347423825626990839065487329632534367145209360323514238647305616518895945488173625886759996222732751927916453535439792777065779587030636426931248788071423094329268586780065055855634147734455389818739658433732899868879835146929334394586196409565877935870356818824913119343974765468325552022997895444512309841050938617565636265228416589321675936795212581867510780242934017536816099988496873938231424201549193394850090319157528561324127272485567848246252441503442684145196337807640864902147353537525614738739249731944840444061681018849305955300962554855129214957139713524946957584834585670802606062295341891670641908704393083247909464149358707483536413783985934967801358886306231602752188845273734521598958967059534951922241950870983073284454670601240492447372578997363606219629220673234923638376375745989301736680735332895981819656647632274185172863512005776198170004994642621347802415363579302317563912769360458784829617570652794671667561394768691639445547719526023174146328358822757982339332288505279909796118941029441862422824003359956441923430242305669712916218566178057032375299632029404828880975441707715945575111014708771943597503263674477621090553744368727325157950489864666612338771462493342228640671884886724840765180428738596325046108486446686682297227435160425332469333882396174705415043493748061943783380927854199202594507764506311094658361590547754181982511294950083277119562725260489061700174629422321611878251578568573111308844623925755605760477325184281534760304757569648915869412593556452168415123732343746296379614112844008309974999886141137707934359430997722333759344913368822951253658323059851823762556585462654710807947035946136433095385680557538793443995766058145998834749984963897984936996738902530243372339996952091880116525456392372830544403707235754097329