配点 : 900 点
問題文
整数 N と整数の組が M 個与えられます.
i 番目の組は (Li,Ri) です.
以下の手順で生成されうる整数列 x=(x1,x2,⋯,xM) の個数を 998244353 で割った余りを求めて下さい.
- (1,2,⋯,N) の順列 p=(p1,p2,⋯,pN) を用意する.
- 各 i (1≤i≤M) について,pLi,pLi+1,⋯,pRi の中で最も大きい値の index を xi とする.
つまり,max(pLi,pLi+1,⋯,pRi)=pxi である.
制約
- 2≤N≤300
- 1≤M≤N(N−1)/2
- 1≤Li<Ri≤N
- (Li,Ri)=(Lj,Rj) (i=j)
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
N M
L1 R1
L2 R2
⋮
LM RM
出力
答えを出力せよ.
3 2
1 2
1 3
4
例えば,p=(2,1,3) とした場合は x=(1,3) となります.
条件を満たす数列は,x=(1,1),(1,3),(2,2),(2,3) の 4 通りです.
6 3
1 2
3 4
5 6
8
10 10
8 10
5 8
5 7
2 5
1 7
4 5
5 9
2 8
7 8
3 9
1060