Заданы две строки $$$x$$$ и $$$y$$$, обе состоят из строчных латинских букв. Пусть $$$|s|$$$ будет длиной строки $$$s$$$.
Назовем последовательность $$$a$$$ последовательностью слияния, если она состоит из ровно $$$|x|$$$ нулей и ровно $$$|y|$$$ единиц в некотором порядке.
Слияние $$$z$$$ получается из последовательности $$$a$$$ по следующим правилам:
Две последовательности слияния $$$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 \cdot 2 + 3 \cdot 1 + 4 \cdot 1 + 2 \cdot 2 + 2 \cdot 0 + 1 \cdot 1 = 24$$$.
Название |
---|