351910868985346456188849652917883767206593895493405472693412276387915147443151687733640461280417889145464671699526039658985873825422850641846107927683694896050317967876972646385913658248207592198058469590413295183564365677633273383836348165996788196259319101885783313892175057897611645717180014037503654349036439668091649960882553221821631912274531440175442334175619340693810548959242709690134957228621897620844147760674020763569463046343872789920386355951518434441232570037650599881485403102533331467274197791830545045219226949343527979390233314578814248786849957190747606355299836379823314488493691386289702926887932153881171974449814769310217184458811866982833979479492837473667081865505445642749382354886011202747646879633845529169661503755228291825806385935795485457364597654521066967257125168757260131098874286731779116047664881619197012752475311966626245979281265346947292197190707394879521142738366939372457945155920605465455467937646167613136894971611316983345125544981864116494872528275427873516969562839380669046591907982296811334707753717989107820142768292593144639211460074348222226892278585679656731878777690399865984875534890526557753116683493662769385645390656957571385058198736833773080865028927613531599231179664454947271364811150227459640997432458996281403667116990443968189308783066346312160621981828825881524548369007202444139763271789836954681327113755467214683861418239874545378872714298455561245981437955148747951155065489025775819114324139059951932908371535356437801188801455626852100775119774724924349202161971813729102466876877532988722739971641407088167846972772086788754252224177093433635439535226035577649991265585074934836808644555375185627137419283281876204425278655794879464209987125895334121038693923116884724693419112945389860995592991920747278404728440828969229882461203463367425591626623713616130954577552718513680591712591910712387160098491287349081789766970879390105488687879612791371742552156297566994924209178435753599186742389960832137672945219357346121776290638019604381539184618378574968285598717477155888150781553316303135561127804420154809636097106863571820505369114933126656687854336608851222107863400574344935716520078632856324594298298790592384457305188939034909281866298979693252586688953351942559178886165294692566472973774211126255936696570112097943321679738373172025827286824187621517936705290104059589552291696404054128527725268313367911896245873209120121574361267304954625398921609200939467378830656094795656575383943756196492319903619059999830996372812708106193975791923349042850898124466599896129359344264241533427041256598023942488231245527850374663331319642597066611418968589682542738274974755679832466979955155089543466241789265799145774093009927328758719767865267562270225157879673858957368503871977388343448385199828808615811334113785313149783806659912324845621720788592801430795814858531178039679651710320704859322739972978259343933244746848736547371642925021867961724283881392675135115304378817770626766941756161405718694944121549664113400414854727833748451762797995545539109052559499171380062055486530653493149374497565359718069838619476739590393314933054338237820971315644905651980242822030275697173479972199179595427848129809844353280488323674570796347460566606952624292648583433036065628299890533951337196320492643841178204933787517868494192184081461897736564994557592814465996845249973073767643129612733108252145721875716296422878412959501439786339358124391022238668978791776323926448971132996014870938756118618682110897902730115636008968896506182875642863946765169638228546835052221481741688912751494591761727741222650638560147467778886957338971266465926669227774059122901209818918597324531060759684836646504135211118951439945851420227895553224268944758839115922942741216117525288271916089841989567712752254738574452554151962430689271851215084845163193818465617960703455043430198623417393585183590170437525738645215881624528786522516476630342754615364028540345528766435696963712776845136822610719182031551768521857872538888032184326338611801184743416616392312692146451305401437581003024550647687014148767127651632398048508804066609644159520614500708236033991790690449365760482448498291930729816884251567769991837618247386668796513144381398727214983712949861357371762959245111396142681679525525453574615720398559311531294264117951583235202310112458446273606682841045289748688848404836303731570620718111691881275493975245557015384809982859161088618736262957111869572898126523649198655376980230746963881547098845642664738749785127327268375627101875981638288760062086789195718166159751695514508338190336761459787892000947241504373101824041214260955418267874991097774109117387358862326349067729441251495942662530481798228537309077719776731729333452449617885373862150766692293343332089071883915531548186618224134808448355556321081061894429884058341199196936207563161675693881783093252076719072915075427234210443412575586487738875408252281256482335373440288272778730893792602272039077341479556217333912433841218017632949735389096454580599361514418188679661865144488780145547538280227329391664874568801883339251418042223840354738610844555694681206272266362490337216191815456951719125410978062457396509351227102171991412822480029275092131255745048358625291300388348628895981889479360970922964926871281054115303664329840232722007593703273562607548950921531642557435329365052284749486385400611656061171653118555273403786279844629279890467851837601199796555645146879273844257036447514411214234196308394177659698941240359840631934408882894982081087821536813944413292117095740631472415375211300645941137338352963992178351663424427951182971903636464871572699080614901935775786574173263076357842170338562304748972104583771025739988266792567185291997414251512797713531447876014893193439940431559452852291627369802610931217456590445002808583099182579497549058685863878616192640958314076019