题目描述
给定 n 个区间 [li,ri] 和一个常数 k。
对两个区间 [l,r] 和 [l′,r′],定义函数 f([l,r],[l′,r′]) 为区间 [l,r] 和 [l′,r′] 的交集长度。
更形式化地,我们有: f([l,r],[l′,r′])={0if r′<lorl′>rmin
给定 m 组询问,每次给出区间 [L, R],你需要求出 \sum_{i=1}^n f([L, R], [l_i, r_i])^k,对 10^9 + 7 取模。
输入格式
第一行包含三个整数 n, k, m。
接下来的 n 行每行包含两个整数 l_i, r_i。
接下来的 m 行每行包含两个整数 L, R。
输出格式
输出 m 行,每行一个整数表示 \sum_{i=1}^n f([L, R], [l_i, r_i])^k,对 10^9 + 7 取模。
样例
样例 1 输入
3 1 2 1 1 1 2 1 3 1 2 1 3
样例 1 输出
5 6
样例 1 解释
对于第一个询问,答案为 f([1, 1], [1, 2]) + f([1, 2], [1, 2]) + f([1, 3], [1, 2]) = 1 + 2 + 2 = 5。
对于第二个询问,答案为 f([1, 1], [1, 3]) + f([1, 2], [1, 3]) + f([1, 3], [1, 3]) = 1 + 2 + 3 = 6。
样例 2 输入
4 2 4 1 4 2 3 1 3 2 4 1 4 2 3 1 3 2 4
样例 2 输出
38 16 26 26
样例 2 解释
对于第一个询问,答案为 f([1, 4], [1, 4])^2 + f([2, 3], [1, 4])^2 + f([1, 3], [1, 4])^2 + f([2, 4], [1, 4])^2 = 16 + 4 + 9 + 9 = 38。
数据范围
对于所有数据,保证:1 \le n, m \le 10^5,1 \le k \le 14,1 \le l_i \le r_i \le n,1 \le L \le R \le n。
测试点编号 | n, m \le | k | r_i, R \le | 特殊性质 |
---|---|---|---|---|
1 \sim 2 | 2 \times 10^3 | \le 14 | n | 无 |
3 \sim 4 | 10^5 | =1 | n | 无 |
5 \sim 10 | 10^5 | =2 | n | 无 |
11 \sim 12 | 10^5 | \le 8 | \min{n, 600} | 无 |
13 \sim 20 | 10^5 | \le 8 | n | A |
21 \sim 23 | 10^5 | \le 8 | n | 无 |
24 \sim 25 | 10^5 | \le 14 | n | 无 |
特殊性质 A:保证所有给出的区间两两之间要么相等,要么不存在包含关系。