AT_abc357_g [ABC357G] Stair-like Grid

Description

[problemUrl]: https://atcoder.jp/contests/abc357/tasks/abc357_g 縦 $ N $ 行の特殊な形をしたグリッドがあります。($ N $ は偶数) 上から $ i $ 行目にはマスが左端から $ \left\ \lceil\ \frac{i}{2}\ \right\ \rceil\ \times\ 2 $ マス並んでいます。 例えば $ N\ =\ 6 $ の時は下図のような形をしています。 ![image](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_abc357_g/0f2568575fe490b7f48a2e65414d3153f92326b7.png) 上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,\ j) $ と表します。 各マスは空きマスと壁マスのいずれかです。壁マスは $ M $ 個あり、$ i $ 個目の壁マスは $ (a_i,\ b_i) $ にあります。ただし $ (1,\ 1) $ と $ (N,\ N) $ は空きマスです。 $ (1,\ 1) $ を出発して、右または下に隣り合う空きマスへの移動を繰り返して $ (N,\ N) $ へ辿り着く方法は何通りありますか?答えを $ 998244353 $ で割った余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ a_1 $ $ b_1 $ $ a_2 $ $ b_2 $ $ \vdots $ $ a_M $ $ b_M $

Output Format

$ (1,\ 1) $ を出発して、右または下に隣り合う空きマスへの移動を繰り返して $ (N,\ N) $ へ辿り着く方法の個数を $ 998244353 $ で割った余りを出力せよ。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2.5\ \times\ 10^5 $ - $ N $ は偶数 - $ 0\ \leq\ M\ \leq\ 50 $ - $ 1\ \leq\ a_i\ \leq\ N $ - $ 1\ \leq\ b_i\ \leq\ \left\ \lceil\ \frac{a_i}{2}\ \right\ \rceil\ \times\ 2 $ - $ (a_i,\ b_i)\ \neq\ (1,\ 1) $ かつ $ (a_i,\ b_i)\ \neq\ (N,\ N) $ - $ i\ \neq\ j $ ならば $ (a_i,\ b_i)\ \neq\ (a_j,\ b_j) $ - 入力される値は全て整数 ### Sample Explanation 1 問題文の条件を満たす経路は次の $ 2 $ 通りです。 - $ (1,\ 1)\ \to\ (1,\ 2)\ \to\ (2,\ 2)\ \to\ (3,\ 2)\ \to\ (3,\ 3)\ \to\ (3,\ 4)\ \to\ (4,\ 4) $ - $ (1,\ 1)\ \to\ (1,\ 2)\ \to\ (2,\ 2)\ \to\ (3,\ 2)\ \to\ (3,\ 3)\ \to\ (4,\ 3)\ \to\ (4,\ 4) $