#L3872. 「PA 2020」Miny

    ID: 3572 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>动态规划组合数学递推其他排序数据结构区间合并单调栈扫描线支配关系

「PA 2020」Miny

「PA 2020」Miny

题目描述

nn 枚地雷被运到 Bytau 的军事训练场,并沿一条直线埋设。每个地雷位于不同的地方,并且有自己的爆炸半径。当引爆时,地雷会自动引爆其爆炸半径内所有尚未爆炸的地雷。如果地雷 aa 和地雷 bb 之间的距离不超过地雷 bb 的爆炸半径,则我们称地雷 aa 在地雷 bb 的爆炸半径内。

Bytomir 中士想进行一项实验。他选择了一个任意的地雷子集(也许是空的),并让这个地雷子集内的所有地雷在同时手动引爆。实验的结果是一组已经爆炸的地雷——要么是手动引爆的引起的爆炸,要么是其他地雷爆炸导致的爆炸。

Bytomir 能得到多少种可能的实验结果?如果两个实验结果中爆炸的地雷相同,则这两个实验结果是相同的。由于结果可能很大,请输出它除以 109+710^9+7 的余数。

输入格式

输入第一行包含一个整数 nn (1n31051 \leq n \leq 3 \cdot 10^5),表示地雷个数。

接下来 nn 行,每行两个整数 ai,ria_i, r_i (0ai,ri10180 \leq a_i, r_i \leq 10^{18}),分别表示地雷的位置和爆炸半径。你可以假设 a1<a2<<ana_1 < a_2 < \ldots < a_n

输出格式

输出可能的实验结果总数对 109+710^9+7 取模后的值。

样例

输入

4
0 2
2 0
3 2
7 4

输出

7

你可以得到 77 种可能的实验结果:

  • {}\{\}(空集):如果不引爆任何地雷;
  • {1,2}\{1,2\}(地雷 1,21,2):如果我们只引爆地雷 11
  • {1,2,3}\{1,2,3\}:如果我们引爆地雷 1133
  • {1,2,3,4}\{1,2,3,4\}:如果我们引爆地雷 1144
  • {2}\{2\}:如果我们只引爆地雷 22
  • {2,3}\{2,3\}:如果我们只引爆地雷 33
  • {2,3,4}\{2,3,4\}:如果我们只引爆地雷 44

请注意,可以通过不同的方式得到同一个实验结果——例如,如果我们引爆地雷 1122,也会得到 {1,2}\{1, 2\} 的结果。