Рассмотрим бесконечную последовательность чисел $$$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$$$.
| Подзадача | Баллы | Ограничения |
| 1 | 12 | $$$l_i = r_i$$$; $$$r_i \le 1000$$$ |
| 2 | 7 | $$$l_i = r_i$$$; $$$r_i \le 10^6$$$ |
| 3 | 8 | $$$r_i \le 10^6$$$ |
| 4 | 30 | $$$r_i \le 10^{10}$$$ |
| 5 | 43 | Без дополнительных ограничений |
5 1 1 2 2 3 4 56 56 5 13
1 2 5 14 42
| Название |
|---|


