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 $ は奇数