PivotOJ

Twin Friends

시간 제한: 2000ms메모리 제한: 1024MB출처: ICPC Asia Jakarta Regional 2023BOJ 32083

문제

You meet two new friends who are twins. The name of the elder twin is AA, which consists of NN characters. While the name of the younger twin is BB, which consists of MM characters. It is known that N ≤ M.

You want to call each of them with a nickname. For the elder twin, you want to pick any permutation of AA as the nickname. For the younger twin, you want to remove exactly MNM - N characters from any permutation of BB. Denote the nicknames of the elder twin and the younger twin as AA' and BB', respectively.

You want the nicknames to satisfy the following requirement. For each i that satisfies 1 ≤ i ≤ N, BiB'_i must be equal to either AiA'_i or the next letter that follows alphabetically after AiA'_i (if such a next letter exists).

Determine the number of different pairs of nicknames (A,B)(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 998244353998\, 244\, 353.

입력

The first line consists of two integers NN MM (1 ≤ N ≤ M ≤ 200\, 000).

The second line consists of a string AA of length NN.

The third line consists of a string BB of length MM.

All strings consist of only upper-case letters.

출력

Output a single integer representing number of different pairs (A,B)(A' , B' ) that satisfy the requirement, modulo 998244353998\, 244\, 353.

예제

예제 1

입력
3 4
AMA
ANAB
출력
9

예제 2

입력
5 8
BINUS
BINANUSA
출력
120

예제 3

입력
15 30
BINUSUNIVERSITY
BINANUSANTARAUNIVERSITYJAKARTA
출력
151362308

예제 4

입력
4 4
UDIN
ASEP
출력
0
코드를 제출하려면 로그인하세요.