Twin Friends
문제
You meet two new friends who are twins. The name of the elder twin is , which consists of characters. While the name of the younger twin is , which consists of 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 as the nickname. For the younger twin, you want to remove exactly characters from any permutation of . Denote the nicknames of the elder twin and the younger twin as and , respectively.
You want the nicknames to satisfy the following requirement. For each i that satisfies 1 ≤ i ≤ N, must be equal to either or the next letter that follows alphabetically after (if such a next letter exists).
Determine the number of different pairs of nicknames 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 .
입력
The first line consists of two integers (1 ≤ N ≤ M ≤ 200\, 000).
The second line consists of a string of length .
The third line consists of a string of length .
All strings consist of only upper-case letters.
출력
Output a single integer representing number of different pairs that satisfy the requirement, modulo .
예제
예제 1
3 4 AMA ANAB
9
예제 2
5 8 BINUS BINANUSA
120
예제 3
15 30 BINUSUNIVERSITY BINANUSANTARAUNIVERSITYJAKARTA
151362308
예제 4
4 4 UDIN ASEP
0