AT_utpc2023_m Majority and Permutation
Description
$ 1 $ 以上 $ 2N-1 $ 以下の奇数からなる長さ $ M $ の整数列 $ (A_1,A_2,\dots,A_M) $ が与えられます。
$ (1,2,\dots,2N) $ の順列 $ P=(P_1,P_2,\dots,P_{2N}) $ のうち、以下の条件を満たすものの個数を $ 998244353 $ で割った余りを求めてください。
- `0`, `1` のみからなる長さ $ 2N $ の文字列 $ S $ であって、以下の条件を全て満たすものが存在する。
- $ S $ は $ N $ 文字の `0` と $ N $ 文字の `1` からなる文字列である。
- $ i=1,2,\dots,M $ に対し、 $ S $ の $ 1,2,\dots,A_i $ 文字目に登場する文字のうち、最も多いのは `0` である。
- $ i=1,2,\dots,M $ に対し、 $ S $ の $ P_1,P_2,\dots,P_{A_i} $ 文字目に登場する文字のうち、最も多いのは `0` である。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ A_2 $ $ \dots $ $ A_M $
Output Format
答えを $ 1 $ 行に出力せよ。
Explanation/Hint
### Sample Explanation 1
例えば $ P=(2,1,3,4) $ の場合、 $ S= $ `0011` とすると $ 3 $ つの条件を全て満たす文字列となっています。
一方、 $ P=(4,3,2,1) $ の場合、 $ 3 $ つの条件を全て満たす長さ $ 4 $ の文字列は存在しません。
### Constraints
- 入力は全て整数
- $ 1 \leq M \leq N \leq 10^{5} $
- $ 1 \leq A_1 < A_2 < \dots < A_M \leq 2N-1 $
- $ A_i $ は奇数