E. Культурный код
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В магазине неподалеку продаются известные русские деревянные игрушки под названием «матрешки», и вы бы хотели приобрести несколько штук. В магазине продается $$$n$$$ различных матрешек. Любая матрешка — это фигурка объема $$$out_i$$$ с пустотой внутри объемом $$$in_i$$$ (конечно, $$$out_i > in_i$$$).

У вас не так много свободного места в сумке, но, к счастью, вы знаете, что матрешки можно вкладывать друг в друга. Формально, назовем набор матрешек вкладываемым, если мы можем переупорядочить их таким образом, что первая матрешка вкладывается во вторую, вторая — в третью и так далее. Матрешка $$$i$$$ вкладывается в матрешку $$$j$$$, если $$$out_i \le in_j$$$. Только последняя игрушка из вкладываемого набора будет занимать место в вашей сумке.

Назовем пустотой вкладываемого набора общий объем пустого места внутри данной структуры. Очевидно, что она равна $$$in_{i_1} + (in_{i_2} - out_{i_1}) + (in_{i_3} - out_{i_2}) + \dots + (in_{i_k} - out_{i_{k-1}})$$$, где $$$i_1$$$, $$$i_2$$$, ..., $$$i_k$$$ — индексы выбранных матрешек в порядке их вкладывания.

Наконец, назовем вкладываемый поднабор заданного набора достаточно большим, если в него нельзя добавить ни одной матрешки из набора так, чтобы не нарушить его вкладываемость.

Вы хотели бы купить много матрешек, а потому выбираете достаточно большой вкладываемый поднабор. Но автора задачи сильно расстроит, если в вашей сумке будет потрачено зря слишком много места, поэтому вы выбираете достаточно большой вкладываемый поднабор, пустота которого минимально возможная среди всех достаточно больших поднаборов. И вот возник вопрос: как много различных поднаборов удовлетворяют всем требованиям (поднаборы достаточно большие, и нет другого достаточно большого поднабора с пустотой меньше заданного). Два поднабора считаются различными, если существует хотя бы один индекс $$$i$$$ такой, что один поднабор содержит $$$i$$$-ю матрешку, а другой — нет.

Так как ответ может быть очень большим — выведите его по модулю $$$10^9 + 7$$$.

Входные данные

В первой строке содержится одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество матрешек.

Следующие $$$n$$$ строк содержат описание каждой матрешки: два целых числа $$$out_i$$$ и $$$in_i$$$ ($$$1 \le in_i < out_i \le 10^9$$$) — внешний и внутренний объемы $$$i$$$-й матрёшки.

Выходные данные

Выведите единственное число — количество достаточно больших вкладываемых поднаборов таких, что пустота каждого такого поднабора минимально возможная. Так как ответ может быть очень большим, выведите его по модулю $$$10^9 + 7$$$.

Пример
Входные данные
7
4 1
4 2
4 2
2 1
5 4
6 4
3 2
Выходные данные
6
Примечание

В первом примере есть ровно $$$6$$$ достаточно больших вкладываемых поднаборов с минимальной пустотой:

  • $$$\{1, 5\}$$$: мы не можем добавить в него другие матрешки, не нарушая вкладываемость; пустота поднабора равна $$$1$$$;
  • $$$\{1, 6\}$$$;
  • $$$\{2, 4, 5\}$$$;
  • $$$\{2, 4, 6\}$$$;
  • $$$\{3, 4, 5\}$$$;
  • $$$\{3, 4, 6\}$$$.

Других «хороших» поднаборов нет, потому что, например, поднабор $$$\{6, 7\}$$$ не достаточно большой (в него можно добавить $$$4$$$-ю матрешку), а поднабор $$$\{4, 6, 7\}$$$ имеет пустоту, равную $$$2$$$.