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

Заданы две строки $$$x$$$ и $$$y$$$, обе состоят из строчных латинских букв. Пусть $$$|s|$$$ будет длиной строки $$$s$$$.

Назовем последовательность $$$a$$$ последовательностью слияния, если она состоит из ровно $$$|x|$$$ нулей и ровно $$$|y|$$$ единиц в некотором порядке.

Слияние $$$z$$$ получается из последовательности $$$a$$$ по следующим правилам:

  • если $$$a_i=0$$$, то удалить букву из начала $$$x$$$ и приписать ее в конец $$$z$$$;
  • если $$$a_i=1$$$, то удалить букву из начала $$$y$$$ и приписать ее в конец $$$z$$$.

Две последовательности слияния $$$a$$$ и $$$b$$$ считаются различными, если существует такая позиция $$$i$$$, что $$$a_i \neq b_i$$$.

Назовем строку $$$z$$$ хаотичной, если для всех $$$i$$$ от $$$2$$$ до $$$|z|$$$ $$$z_{i-1} \neq z_i$$$.

Пусть $$$s[l,r]$$$ для некоторых $$$1 \le l \le r \le |s|$$$ будет подстрокой последовательных букв $$$s$$$, начинающейся с позиции $$$l$$$ и заканчивающейся в позиции $$$r$$$ включительно.

Пусть $$$f(l_1, r_1, l_2, r_2)$$$ будет количеством различных последовательностей слияния $$$x[l_1,r_1]$$$ и $$$y[l_2,r_2]$$$, которые производят хаотичные слияния. Обратите внимание, что рассматриваются только непустые подстроки $$$x$$$ и $$$y$$$.

Посчитайте $$$\sum \limits_{1 \le l_1 \le r_1 \le |x| \\ 1 \le l_2 \le r_2 \le |y|} f(l_1, r_1, l_2, r_2)$$$. Выведите ответ по модулю $$$998\,244\,353$$$.

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

В первой строке записана строка $$$x$$$ ($$$1 \le |x| \le 1000$$$).

Во второй строке записана строка $$$y$$$ ($$$1 \le |y| \le 1000$$$).

Обе строки состоят только из строчных латинских букв.

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

Выведите одно число — сумму $$$f(l_1, r_1, l_2, r_2)$$$ по $$$1 \le l_1 \le r_1 \le |x|$$$ и $$$1 \le l_2 \le r_2 \le |y|$$$ по модулю $$$998\,244\,353$$$.

Примеры
Входные данные
aaa
bb
Выходные данные
24
Входные данные
code
forces
Выходные данные
1574
Входные данные
aaaaa
aaa
Выходные данные
0
Входные данные
justamassivetesttocheck
howwellyouhandlemodulooperations
Выходные данные
667387032
Примечание

В первом примере:

  • $$$6$$$ пар подстрок «a» and «b», каждая с корректными последовательностями слияния «01» and «10»;
  • $$$3$$$ пары подстрок «a» and «bb», каждая с корректной последовательностью слияния «101»;
  • $$$4$$$ пары подстрок «aa» and «b», каждая с корректной последовательностью слияния «010»;
  • $$$2$$$ пары подстрок «aa» and «bb», каждая с корректными последовательностями слияния «0101» and «1010»;
  • $$$2$$$ пары подстрок «aaa» and «b», каждая без корректных последовательностей слияния;
  • $$$1$$$ пара подстрок «aaa» and «bb» с корректной последовательностью слияния «01010».

Поэтому ответ равен $$$6 \cdot 2 + 3 \cdot 1 + 4 \cdot 1 + 2 \cdot 2 + 2 \cdot 0 + 1 \cdot 1 = 24$$$.