D. The Name of the Fourth Problem
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рассмотрим бесконечную последовательность чисел $$$a_1, a_2, a_3, \ldots$$$. Последовательность называется само-описывающей, если $$$a_i$$$ равно количеству вхождений числа $$$i$$$ в эту последовательность.

Если наложить на последовательность условия $$$a_1 = 1$$$, а также то, что элементы не убывают, (то есть, $$$a_i \le a_{i+1}$$$ для всех $$$i$$$), то само-описывающая последовательность определяется уникально. Первые тридцать элементов последовательности выглядят так:

$$$$$$ 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, \ldots $$$$$$

Ваша задача в том, чтобы уметь быстро находить суммы на подотрезках этой последовательности. Вперед!

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

В первой строке содержится число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество запросов, которые нужно выполнить. Каждая из следующих $$$t$$$ строк содержит два числа $$$l_i$$$ и $$$r_i$$$ ($$$1 \le l_i \le r_i \le 10^{15}$$$), означающие, что в $$$i$$$-м запросе необходимо вычислить $$$\sum_{k=l_i}^{r_i} a_k$$$.

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

Выведите $$$t$$$ строк, каждая с одним числом — ответом на очередной запрос. Поскольку ответ может быть большим, выведите его остаток от деления на $$$1\,000\,000\,007$$$.

Система оценки
ПодзадачаБаллыОграничения
112$$$l_i = r_i$$$; $$$r_i \le 1000$$$
27$$$l_i = r_i$$$; $$$r_i \le 10^6$$$
38$$$r_i \le 10^6$$$
430$$$r_i \le 10^{10}$$$
543Без дополнительных ограничений
Пример
Входные данные
5
1 1
2 2
3 4
56 56
5 13
Выходные данные
1
2
5
14
42