注釈
この問題は、以下の問題を題材に解きやすく改題したものです。
https://codeforces.com/contest/1767/problem/C
問題文
整数NおよびM個の制約[li,ri](0≤i<M)が与えられます。
0,1のみからなる長さNの数列であって、以下の条件を満たすものの個数を998244353で割った余りを出力してください。
条件
全ての0≤i<Mについて、数列のli番目からri番目には0と1の両方が含まれる。
制約
- 2≤N≤1000
- 0≤M≤2N(N−1)
- 1≤li<ri≤N(0≤i<M)
入力
N M
l0 r0
l1 r1
…
l(M-1) r(M-1)
出力
答えを1行で出力せよ。
サンプル
条件を満たす数列は[1, 0, 1]、[0, 1, 0]の2通りです。
[0, 0, 1]、[1, 1, 1]などは、いずれも条件を満たしません。
以下の10通りです。
- [0, 0, 1, 0]
- [0, 0, 1, 1]
- [0, 1, 0, 0]
- [0, 1, 0, 1]
- [0, 1, 1, 0]
- [1, 0, 0, 1]
- [1, 0, 1, 0]
- [1, 0, 1, 1]
- [1, 1, 0, 0]
- [1, 1, 0, 1]
条件が一つも与えられない場合もあります。
入力4
50 6
46 48
3 41
13 45
4 21
10 29
2 5
998244353で割った余りを出力してください。