E. Энергетический спектр
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Доктор Селим Джунц из Межзвездного Космоаналитического Бюро вот уже как одиннадцать месяцев находился на Сарке. Он прибыл сюда, чтобы расследовать исчезновение своего коллеги, и обратился к саркитским властям, однако все поиски не давали никаких результатов. Тогда Селим начал подозревать: а вдруг от него что-то скрывают?

Селим много лет работал с Риком, и поэтому уверен, что тот не мог отступиться от своей идеи и улететь далеко. Остается два варианта — либо он сел на какой-либо другой планете в ближайшем пространстве, либо его силой удерживают на Сарке. Найти друга в одиночку на целой планете, а может и двух, не представлялось возможным, поэтому Селим решил начать поиски с обнаружения энергетического спектра корабля Рика.

Благодаря современным технологиям и качественному оборудованию Селим через несколько часов уже имел результат анализа, закодированный строкой $$$s$$$ из символов латинского алфавита. Однако программного обеспечения, чтобы его расшифровать, у Селима не было, а людям с Сарка он не доверяет, поэтому он просит вас определить результат. Результатом анализа является число подпоследовательностей этой строки вида $$$f_i$$$ для какого-либо $$$1 \leq i \leq 26$$$:

  • $$$f_1 = $$$ "$$$a$$$";
  • $$$f_i = f_{i-1} + c_i + f_{i-1}$$$, где $$$'+'$$$ — операция конкатенации, а $$$c_i$$$ — $$$i$$$-й символ латинского алфавита, $$$2 \leq i \leq 26$$$.
Например, $$$f_3 = $$$ "$$$abacaba$$$". К сожалению, полученное число может оказаться очень большим, но Селим уверен, что само число подпоследовательностей ему не нужно, а достаточно лишь его остатка от деления на $$$998244353$$$. Напомним, что подпоследовательностью называется строка, полученная из данной вычеркиванием некоторого, возможно нулевого, количества символов.
Входные данные

В единственной строке задана строка $$$s$$$ $$$(1 \leq |s| \leq 5000)$$$.

Выходные данные

Выведите число подпоследовательностей этой строки вида $$$f_i$$$ по модулю $$$998244353$$$.

Примеры
Входные данные
abacaba
Выходные данные
11
Входные данные
b
Выходные данные
0
Примечание

Из строки "$$$abacaba$$$" можно выбрать $$$4$$$ подпоследовательности $$$f_1 = $$$ "$$$a$$$", $$$6$$$ подпоследовательностей $$$f_2 = $$$ "$$$aba$$$" и одну подпоследовательность $$$f_3 = $$$ "$$$abacaba$$$".

Строка "$$$b$$$" не содержит искомых подпоследовательностей.