AT_agc056_b [AGC056B] Range Argmax
Description
[problemUrl]: https://atcoder.jp/contests/agc056/tasks/agc056_b
整数 $ N $ と整数の組が $ M $ 個与えられます. $ i $ 番目の組は $ (L_i,R_i) $ です.
以下の手順で生成されうる整数列 $ x=(x_1,x_2,\cdots,x_M) $ の個数を $ 998244353 $ で割った余りを求めて下さい.
- $ (1,2,\cdots,N) $ の順列 $ p=(p_1,p_2,\cdots,p_N) $ を用意する.
- 各 $ i $ ($ 1\ \leq\ i\ \leq\ M $) について,$ p_{L_i},p_{L_i+1},\cdots,p_{R_i} $ の中で最も大きい値の index を $ x_i $ とする. つまり,$ \max(p_{L_i},p_{L_i+1},\cdots,p_{R_i})=p_{x_i} $ である.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ M $ $ L_1 $ $ R_1 $ $ L_2 $ $ R_2 $ $ \vdots $ $ L_M $ $ R_M $
Output Format
答えを出力せよ.
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 300 $
- $ 1\ \leq\ M\ \leq\ N(N-1)/2 $
- $ 1\ \leq\ L_i\