#P1120. 多彩的线段II

多彩的线段II

多彩的线段II

题目描述

考虑数轴上的 nn 个线段,其中 ii -th 线段的左端点是 lil_i ,右端点是 rir_i 。你需要将每个线段涂成 kk 中的一种颜色,这样任何两个具有相同颜色的线段都不会重叠。

计算给线段涂色的方法数。

如果存在同时满足 lixril_i \le x \le r_iljxrjl_j \le x \le r_j 的实数 xx ,我们就认为线段 ii 与线段 jj 重叠。

如果存在一个线段在两种着色方式中具有不同的颜色,我们就说这两个线段的着色方式是不同的。

输入格式

有多个测试用例。输入的第一行包含一个整数 TT ,表示测试用例的数量。对于每个测试用例

第一行包含两个整数 nnkk ( 1n5×1051 \le n \le 5 \times 10^5 , 1k1091 \le k \le 10^9 ),分别表示段数和颜色数。

对于下面的 nn 行, ii /-行包含两个整数 lil_irir_i 。( 1liri1091 \le l_i \le r_i \le 10^9 )表示 ii /th线段的左右端点。

保证所有测试用例的 nn 之和不超过 5×1055 \times 10^5

输出格式

对于每个测试用例,输出一行包含一个整数的答案。由于答案可能很大,请输出其模数 998244353998244353

样例 #1

样例输入 #1

2
4 3
4 7
3 4
5 8
1 3
2 1000
100 200
300 400

样例输出 #1

24
1000000

提示

cic_iii - 段的颜色。

对于第一个示例测试用例,给线段着色的一种有效方法是 c1=1c_1 = 1c2=3c_2 = 3c3=3c_3 = 3c4=1c_4 = 1 。因为 11 -st和 44 -th线段没有重叠,所以 22 -nd和 33 -rd线段也没有重叠。

然而, c1=1c_1 = 1c2=2c_2 = 2c3=1c_3 = 1c4=3c_4 = 3 并不是有效的方法。因为 11 /st和 33 /rd线段相互重叠,它们不可能有相同的颜色。