AT_arc178_d [ARC178D] Delete Range Mex

Description

[problemUrl]: https://atcoder.jp/contests/arc178/tasks/arc178_d 正整数 $ N $ と長さ $ M $ の非負整数列 $ A=(A_{1},A_{2},\dots,\ A_{M}) $ が与えられます。 ここで、 $ A $ の全ての要素は $ 0 $ 以上 $ N $ 未満の整数で、相異なります。 $ (0,\ 1,\ \dots\ ,\ N\ -\ 1) $ の順列 $ P $ のうち、以下の条件を満たすものの個数を $ 998244353 $ で割ったあまりを求めてください。 - 数列 $ B\ =\ (B_{1},\ B_{2},\ \dots\ ,\ B_{N}) $ を $ P $ で初期化した後、以下の操作を好きな回数繰り返すことで $ B\ =\ A $ にすることができる。 - $ 1\leq\ l\leq\ r\leq\ |B| $ を満たす $ l,r $ を選び、 $ \mathrm{mex}(\{B_{l},B_{l+1},\dots\ ,B_{r}\}) $ が $ B $ に含まれているなら、それを $ B $ から削除する。 $ \mathrm{mex}(X) $ とは? 非負整数からなる有限集合 $ X $ に対し,$ x\notin\ X $ を満たす最小の非負整数 $ x $ を $ \mathrm{mex}(X) $ と定義します.

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ M $ $ A_{1} $ $ A_{2} $ $ \cdots $ $ A_{M} $

Output Format

答えを出力してください。

Explanation/Hint

### 制約 - $ 1\leq\ M\leq\ N\leq\ 500 $ - $ 0\leq\ A_{i}\