CF1499E Chaotic Merge

Description

You are given two strings $ x $ and $ y $ , both consist only of lowercase Latin letters. Let $ |s| $ be the length of string $ s $ . Let's call a sequence $ a $ a merging sequence if it consists of exactly $ |x| $ zeros and exactly $ |y| $ ones in some order. A merge $ z $ is produced from a sequence $ a $ by the following rules: - if $ a_i=0 $ , then remove a letter from the beginning of $ x $ and append it to the end of $ z $ ; - if $ a_i=1 $ , then remove a letter from the beginning of $ y $ and append it to the end of $ z $ . Two merging sequences $ a $ and $ b $ are different if there is some position $ i $ such that $ a_i \neq b_i $ . Let's call a string $ z $ chaotic if for all $ i $ from $ 2 $ to $ |z| $ $ z_{i-1} \neq z_i $ . Let $ s[l,r] $ for some $ 1 \le l \le r \le |s| $ be a substring of consecutive letters of $ s $ , starting from position $ l $ and ending at position $ r $ inclusive. Let $ f(l_1, r_1, l_2, r_2) $ be the number of different merging sequences of $ x[l_1,r_1] $ and $ y[l_2,r_2] $ that produce chaotic merges. Note that only non-empty substrings of $ x $ and $ y $ are considered. Calculate $ \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) $ . Output the answer modulo $ 998\,244\,353 $ .

Input Format

The first line contains a string $ x $ ( $ 1 \le |x| \le 1000 $ ). The second line contains a string $ y $ ( $ 1 \le |y| \le 1000 $ ). Both strings consist only of lowercase Latin letters.

Output Format

Print a single integer — the sum of $ f(l_1, r_1, l_2, r_2) $ over $ 1 \le l_1 \le r_1 \le |x| $ and $ 1 \le l_2 \le r_2 \le |y| $ modulo $ 998\,244\,353 $ .

Explanation/Hint

In the first example there are: - $ 6 $ pairs of substrings "a" and "b", each with valid merging sequences "01" and "10"; - $ 3 $ pairs of substrings "a" and "bb", each with a valid merging sequence "101"; - $ 4 $ pairs of substrings "aa" and "b", each with a valid merging sequence "010"; - $ 2 $ pairs of substrings "aa" and "bb", each with valid merging sequences "0101" and "1010"; - $ 2 $ pairs of substrings "aaa" and "b", each with no valid merging sequences; - $ 1 $ pair of substrings "aaa" and "bb" with a valid merging sequence "01010"; Thus, the answer is $ 6 \cdot 2 + 3 \cdot 1 + 4 \cdot 1 + 2 \cdot 2 + 2 \cdot 0 + 1 \cdot 1 = 24 $ .