#ATagc067b. [AGC067B] Modifications

[AGC067B] Modifications

题目描述

有一个长度为 NN 的整数序列 a=(a1,a2,,aN)a=(a_1,a_2,\cdots,a_N),所有元素初始均为 00

给定整数 CCMM 个区间 ([L1,R1],[L2,R2],,[LM,RM])([L_1,R_1],[L_2,R_2],\cdots,[L_M,R_M])

你需要选择 11MM 的一个排列 pp,以及一个长度为 MM 的整数序列 w=(w1,w2,,wM)w=(w_1,w_2,\cdots,w_M),其中 1wiC1\le w_i\le C

然后进行 MM 次操作。第 ii 次操作如下:

  • aLpi,,aRpia_{L_{p_i}},\cdots,a_{R_{p_i}} 的值全部变为 wiw_i

保证 aa 的每个位置至少被一个区间覆盖。

请计算所有可能的最终序列 aa 的种数,并输出对 998244353998244353 取模的结果。

输入格式

输入从标准输入中读取,格式如下:

NN MM CC L1L_1 R1R_1 L2L_2 R2R_2 \cdots LML_M RMR_M

输出格式

输出答案。

样例 1

输入

5 5 2
1 3
2 2
3 3
1 5
3 5

输出

16

样例 2

输入

20 30 20
1 14
1 7
1 16
3 13
1 17
4 8
2 11
4 12
9 14
3 15
11 19
1 13
4 15
8 19
3 17
15 18
10 18
1 18
17 19
16 20
1 8
8 15
13 17
1 19
13 19
1 20
6 13
10 12
11 20
17 18

输出

258066445

说明/提示

限制条件

  • 1N1001\le N\le 100
  • 1MN(N+1)21\le M\le\dfrac{N(N+1)}{2}
  • 1C<9982443531\le C < 998244353
  • 1LiRiN1\le L_i\le R_i\le N
  • (Li,Ri)(Lj,Rj)(L_i,R_i)\neq (L_j,R_j)iji\neq j
  • aa 的每个位置至少被一个区间覆盖。
  • 所有输入均为整数。

样例解释 1

可能的序列共有 1616 个。例如,a=(2,1,1,1,1)a=(2,1,1,1,1) 可以如下得到:

  • 选择 p=(4,1,2,3,5)p=(4,1,2,3,5)w=(1,2,1,2,1)w=(1,2,1,2,1)
  • 11 次操作后 aa 变为 (1,1,1,1,1)(1,1,1,1,1)
  • 22 次操作后 aa 变为 (2,2,2,1,1)(2,2,2,1,1)
  • 33 次操作后 aa 变为 (2,1,2,1,1)(2,1,2,1,1)
  • 44 次操作后 aa 变为 (2,1,2,1,1)(2,1,2,1,1)
  • 55 次操作后 aa 变为 (2,1,1,1,1)(2,1,1,1,1)

由 ChatGPT 4.1 翻译