给定一个由 $1$ 到 $2N - 1$ 之间的奇数组成的整数序列 $(A_1, A_2, \dots, A_M)$。
求满足以下条件的 $(1, 2, \dots, 2N)$ 的排列 $P = (P_1, P_2, \dots, P_{2N})$ 的数量,结果对 $998244353$ 取模。
- 存在一个长度为 $2N$ 的仅由 $0$ 和 $1$ 组成的二进制字符串 $S$,满足以下所有条件:
- $S$ 中 $0$ 和 $1$ 的出现次数均为 $N$。
- 对于每个 $i = 1, 2, \dots, M$,在 $S$ 的前 $A_i$ 个字符中,出现次数最多的字符是 $0$。
- 对于每个 $i = 1, 2, \dots, M$,在 $S$ 的第 $P_1, P_2, \dots, P_{A_i}$ 个字符中,出现次数最多的字符是 $0$。
输入格式
输入通过标准输入按以下格式提供:
$N \ M$ $A_1 \ A_2 \ \dots \ A_M$
- 所有输入均为整数。
- $1 \le M \le N \le 10^5$
- $1 \le A_1 < A_2 < \dots < A_M \le 2N - 1$
- $A_i$ 为奇数。
输出格式
在一行中输出答案。
样例
样例输入 1
2 2 1 3
样例输出 1
14
说明
例如,若 $P = (2, 1, 3, 4)$,则 $S = 0011$ 满足所有三个条件。 另一方面,若 $P = (4, 3, 2, 1)$,则不存在长度为 $4$ 的字符串满足所有三个条件。