#CF1499E. 混乱合并

混乱合并

混乱合并

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定两个仅含小写字母的字符串 x,yx,y。从两个非空子串 x[l1,r1]x[l_1,r_1]、y[l2,r2]y[l_2,r_2] 的开头依次取字符并追加到结果串,直至两子串均被取完;每次取自哪个子串形成一个合并序列。

若结果串任意相邻字符都不同,则称该合并为混乱的。记 f(l1,r1,l2,r2)f(l_1,r_1,l_2,r_2) 为这对子串产生混乱结果串的不同合并序列数。求所有非空子串对的 ff 之和,对 998244353998244353 取模。

输入格式

第一行包含字符串 xx,第二行包含字符串 yy。

输出格式

输出所求总和。

样例输入 1

aaa
bb

样例输出 1

24

样例输入 2

code
forces

样例输出 2

1574

样例输入 3

aaaaa
aaa

样例输出 3

0

样例输入 4

justamassivetesttocheck
howwellyouhandlemodulooperations

样例输出 4

667387032

数据范围

  • 1≤∣x∣,∣y∣≤10001\le |x|,|y|\le1000;
  • 两个字符串仅含小写拉丁字母。

本题采用独立测试点计分。

子任务编号 分值 特殊限制
1 20 ∣x∣,∣y∣≤6\lvert x\rvert,\lvert y\rvert\le6
2 40 ∣x∣,∣y∣≤100\lvert x\rvert,\lvert y\rvert\le100
3 无特殊限制