#abc179d. [abc179_d]Leaping Tak
[abc179_d]Leaping Tak
题目描述
有 个按顺序排列的单元格,编号为 。
Tak 生活在这些单元格中,目前在单元格 。他试图通过以下步骤到达单元格 。
给定一个整数 ,它小于或等于 ,以及 个不相交的线段 \[L_1, R_1\], \[L_2, R_2\], \\ldots, \[L_K, R_K\]。令 是这 个线段的并集。这里,线段 \[l, r\] 表示满足 的所有整数 的集合。
- 当你在单元格 时,从 中选择一个整数 ,然后移动到单元格 。你不能移出单元格。
为了帮助 Tak,计算从单元格 到单元格 的方式数量,取模 。
约束条件
- \[L_i, R_i\] 和 \[L_j, R_j\] 不相交 ()
- 输入中的所有值都为整数。
输入
输入以以下格式从标准输入中给出:
输出
输出从单元格 到单元格 有多少种方式,取模 。
示例输入 1
5 2
1 1
3 4
示例输出 1
4
集合 是线段 \[1, 1\] 和线段 \[3, 4\] 的并集,因此 。
有 种可能的方式到达单元格 :
- ,
- ,
- 和
- 。
示例输入 2
5 2
3 3
5 5
示例输出 2
0
因为 ,所以无法到达单元格 。输出 。
示例输入 3
5 1
1 2
示例输出 3
5
示例输入 4
60 3
5 8
1 3
10 15
示例输出 4
221823067
请注意需要将答案取模 。