测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16461. Twin Friends

编程题 普及/提高-

题目描述

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$ .

输入格式

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 a single integer representing number of different pairs $(A', B')$ that satisfy the requirement, modulo $998\,244\,353$ .

输入输出样例

输入 #1
3 4
AMA
ANAB
输出 #1
9
输入 #2
5 8
BINUS
BINANUSA
输出 #2
120
输入 #3
15 30
BINUSUNIVERSITY
BINANUSANTARAUNIVERSITYJAKARTA
输出 #3
151362308
输入 #4
4 4
UDIN
ASEP
输出 #4
0

说明/提示

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'$ .
上一题 去做题 下一题