1845: Цікаві свята

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 35,00 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Скоро Різдво і в родині Леді виникає бажання якось урізноманітнити святкування. Її дідусь стверджує, що існує лише 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

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.