CF1906H Twin Friends
Description
You meet two new friends who are twins. The name of the elder twin is $ A $ , which consists of $ N $ characters. While the name of the younger twin is $ B $ , which consists of $ M $ characters. It is known that $ N \leq M $ .
You want to call each of them with a nickname. For the elder twin, you want to pick any permutation of $ A $ as the nickname. For the younger twin, you want to remove exactly $ M - N $ characters from any permutation of $ B $ . Denote the nicknames of the elder twin and the younger twin as $ A' $ and $ B' $ , respectively.
You want the nicknames to satisfy the following requirement. For each $ i $ that satisfies $ 1 \leq i \leq N $ , $ B'_i $ must be equal to either $ A'_i $ or the next letter that follows alphabetically after $ A'_i $ (if such a next letter exists).
Determine the number of different pairs of nicknames $ (A', B') $ that satisfy the requirement. Two pairs of nicknames are considered different if at least one of the nicknames are different. As the result might be large, find the answer modulo $ 998\,244\,353 $ .
Input Format
The first line consists of two integers $ N $ $ M $ ( $ 1 \leq N \leq M \leq 200\,000 $ ).
The second line consists of a string $ A $ of length $ N $ .
The third line consists of a string $ B $ of length $ M $ .
All strings consist of only upper-case letters.
Output Format
Output a single integer representing number of different pairs $ (A', B') $ that satisfy the requirement, modulo $ 998\,244\,353 $ .
Explanation/Hint
Explanation for the sample input/output #1
The $ 9 $ pairs are:
- (AAM, AAN),
- (AAM, ABN),
- (AAM, BAN),
- (AMA, ANA),
- (AMA, ANB),
- (AMA, BNA),
- (MAA, NAA),
- (MAA, NAB), and
- (MAA, NBA).
Explanation for the sample input/output #2
The $ 120 $ pairs are the pairs where $ A' $ is a permutation of BINUS and $ B' = A' $ .