J. Строковый Ад
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В данной задаче вам предстоит окунуться в увлекательный мир строк!

Пусть имеется алфавит, состоящий из строчных латинских букв. Назовем номером буквы ее порядковый номер в алфавите и будем обозначать это как $$$num(a)$$$. Таким образом, $$$num($$$a$$$) = 1$$$, $$$num($$$b$$$) = 2$$$, а $$$num($$$z$$$) = 26$$$.

Пусть у нас имеется две строки $$$s$$$ и $$$t$$$ одинаковой длины $$$n$$$: $$$|s| = |t| = n$$$. Будем обозначать $$$i$$$-й символ строки $$$s$$$ как $$$s_i$$$.

Введем функцию $$$f(s, t)$$$, которая вычисляется по следующей формуле: $$$$$$f(s, t) = \sum\limits_{i=1}^{n} |num(s_i) - num(t_i)|$$$$$$

Дана строка $$$s$$$ длины $$$n$$$. Обозначим подстроку строки $$$s$$$, начинающуюся с $$$i$$$-го символа строки и заканчивающуюся $$$j$$$-м символом строки, как $$$s[i \ldots j]$$$.

От вас требуется посчитать следующую величину: зафиксируем некоторую длину подстроки $$$k = 1 \ldots n$$$. Рассмотрим все пары подстрок строки $$$s$$$, имеющих длину $$$k$$$. Нужно вычислить сумму значений функции $$$f$$$ от каждой пары подстрок.

Формально, нужно вычислить следующую сумму:

$$$$$$\sum\limits_{k=1}^{n} \sum\limits_{1 \leq i, j \leq n - k + 1} f(s[i \ldots i+k-1], s[j \ldots j + k - 1])$$$$$$

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

В первой строке входных данных записано целое число $$$n$$$ ($$$1 \leq n \leq 500\,000$$$).

Во второй строке входных данных записана строка $$$s$$$ длины $$$n$$$, состоящая из строчных латинских букв.

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

Выведите единственное число — остаток от деления ответа на число $$$998\,244\,353$$$.

Примеры
Входные данные
3
abb
Выходные данные
6
Входные данные
4
bcaa
Выходные данные
36
Входные данные
6
abcdef
Выходные данные
252
Примечание

Рассмотрим ответ для первого примера.

В данной строке имеется три подстроки длины $$$1$$$: a, b и b. В качестве примера, $$$f($$$a, a$$$) = 0$$$, $$$f($$$a, b$$$) = 1$$$. Тогда сумма значений функции для всех пар строк длины $$$1$$$ будет равна: $$$0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 = 4$$$.

Теперь рассмотрим все подстроки длины $$$2$$$: ab и bb. Сумма значений равна $$$0 + 1 + 0 + 1 = 2$$$.

Теперь рассмотрим подстроки длины $$$3$$$: abb. Сумма равна $$$0$$$.

Тогда ответ равен $$$4 + 2 + 0 = 6$$$.