61404544580551777529148721319930622983812496767845278849746189939138604564522682361123455878338140192071116430076240965761746582518616014000867091044225755445520458717647337678122214635493442228528785339873835336644865869002710685825118134778408690823257919289806973283360185949770853038614503930966217959101595092074729108793381392455109141716420299083405961139245415912828364244703945676152113780831967022111661662488744480620546604111545729923061519830904401456132294014195892509239818283864713215791535204531677183684862665407638570840663348091740643525985957582995027965169191729087825500769249126871603639634704205113242106171092767258294254315543795463374599818239260074168262325129151832429366217445917003415466713266775217871221728437432727809557024330547028797585387650026645679610599147520028512993929532452226404546539250176152638090877186326591859441993927469135479297233342440117876101852929771619702339190849785283495540607297903122045559108632958816327644242389735426259734777219145482924019709496568575151454246175524280458524014121864782566569070361349528187982421853907415097784555655723588004722764591265678838488662126492338485633359503043660987995776552261778116836527703041132621056845807825929792514826360189565444804463145463430136686967316593426159313961912181136033469427312334243237991216630110814604288671607286769168783117308149844156489981417203568623160479268714769104911696231468359442359259016198501450481263693994269567546953399333914592162190152266929167192723698473870637070936885829720627338937192963431626685062257817868591693839898128481007986839034017880749665396594692210444269178832817483076819722184777144692414998795169072557963484124972251665168071358116023108620492525292692207043637917840638092405510649308583640025724976381273801075635154092813592757735608915754945666436850922319189380475233049418503968984325344517968176625746366870848318469277738286150729989905767425973349653749005159984998095510608931274136363861512045300381581522932228124447539019428795466815255976533128344000215511007236863579549449974524345109400443524937216464258531922238493108313228333756937663364323893525824496038102857733266451957184139954306074419872847530008236509741351476496646942906176860256921947964878191906546048641812455086107257881013745169425158928585610381598315976465680247123183590739136796417689564407012521180433195547836848238298847228623397125978145496690220498631228513673872146867971763427641354077274914755307408059333634871359375812981720627561589597546015100944497131163284332671995760999519249153572807918601691905495247726324396446999540324507608867322085611956548137418050300993453200933884395899944542631148784479081506697448099855826870865933634525330238948141825796189443911831532874222244306563448882678559653232335715962925035591104858293696170181326276398840425378417967353446575208705215197382439985126165778738510566511326685842693514891346167668156438199607087753955235891214583748863803591589203487873253239727586563714283517345270957031923357926719156805313729999111854240487492086847639526556865117477080966373216536723755407861074961151332336777891882329834367204076894942269574683764234806488448100158712207699514508487924593449681759896844725041796256825393150613178015294214555479591798633091579330880415341004277279411253045668748416531632098773894898528629387840269497178588797503104591981032494944418681156092769477629876861876625832378224961125855973930114499212965228143954477708390966222655564545705513677392251642007194558113672925198630544229308261349142667175987524276595451456985579153182979739312254413445376963698554558281253530583381327785673763838206692540040659363757195482527726470225841420326404324157788591765178816102913862732163180482112377818332503199116572852712135337096868363414823028225340247460547040555526787781007992323165674818459865846510589927449182897222657915622362353558646434639810587550875048738534242669767852121518674304814793442588734654915292067074534760998233359770031856459499807967145159053533474990169581565687945316696371727699936176779650844432751903675719246807717149452539133471022768366583228766744576650720386032702309230769248281878101400153045743578712031929625751795397782295472886865435537092964771866294892165719793281429086802963138330913967979013148847640751876045619636986689135944667454878813457614561263364948594938721728233402827531182774276850852991979170122361906580088139831437336152745953254763685428604735765855680438824216712137737426361374964752809378367855325141715372954910387421227488810637438973787013411942046013306838759876620115379698784594429290791113158197612615366315523167480215126213934198197588839326914408271066262869070457724642841122986865984713082934368922917522155556156834703759758403889763457610038028914689877133072262497999557527388182543520117269434533358056778713234465483724780737563428637061933151331794316210357297606040618864845118841746422143544708541982778409841105946406002873218019837975440893862209149010392113691535167604457232682236077725134318795507553655572072973783930859619441537621497914021414411449854453476208847987121955542650192140760694309145621268972953251826035869483487589854714573552236579155425358655385687021737370188647354793078176544174944462805520482934309678928297496085985109991779419235985169274577741385463004273092212042225254479816749662626673988926017707435566122565405477692682701423397081413523615489273574956542348210980678591902826319340978672765030517187703837353118381645883472507605671527588373092054706051423249745093978854791263263923100071602499505746457814288891694560935660013276442981412555602582283797528933948262204564393631917561212522248571368522553872141404542898963241813570057914616071741114986091262957498256750006240599432519678161412529260752581490221599113805628958804547644897131438390599455586