Скоро Різдво і в родині Леді виникає бажання якось урізноманітнити святкування. Її дідусь стверджує, що існує лише 26 способів святкувати Різдво, ~і~-й з яких можна позначити ~і~-ою літерою латинського алфавіту (від 'a' до 'z'). Він відвідує кожне Різдво і, звісно, щороку записує, як проходили святкування.
Тепер дідусь Леді цікавиться, скільки підпослідовностей років (не обов'язково послідовних) були цікавими. Існує рівно 26 можливих цікавих послідовностей для святкування Різдва, які визначаються таким чином:
- ~seq_1~ = 'a';
- ~seq_{i+1} = seq_i +~'~c_{i+1}~'~+ seq_i~, де '~c_{i+1}~' є (і+1) символ латинського алфавіту.
Отже, перші три цікавих послідовності це 'a', 'aba' і 'abacaba'.
Дано рядок ~s~, ~i~-й символ якого дорівнює тому, як святкують Різдво в ~i~-му році.
Напишіть програму, яка визначає кількість цікавих підпослідовностей.
Оскільки це число може виявитися занадто великим, достатньо обчислити його за модулем 998 244 353.
Підпослідовність — це рядок, отриманий із заданого рядка видаленням кількох, можливо, нульових символів.
З рядка 'abacaba' можна вибрати 4 підпослідовності 'a', 6 підпослідовностей 'aba' та одну підпослідовність 'abacaba'.
Input
Перший рядок містить рядок ~s~ (~1 \le~ кількість символів у рядку ~s \le 5 000~).
Output
Виведіть одне ціле число - кількість підпослідовностей по модулю 998244353.
Sample Input 1
abacaba
Sample Output 1
11
Коментарі