C. Задача для Назара
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Назар, ученик научного лицея Королевства Кремляндия, известен своими выдающимися математическими способностями. Сегодня учитель математики дал ему очень сложную задачу.

Рассмотрим два бесконечных множества чисел. Первое состоит из нечётных положительных чисел ($$$1, 3, 5, 7, \ldots$$$), а второе — из чётных положительных чисел ($$$2, 4, 6, 8, \ldots$$$). На первом этапе учитель выписывает на бесконечную доску первое число из первого множества, на втором этапе — первых два числа из второго множества, на третьем этапе — следующих четыре числа из первого множества, на четвёртом — следующих восемь чисел из второго множества и так далее. Другими словами, на каждом этапе, начиная со второго, он выписывает в два раза больше чисел, чем на предыдущем, а также меняет множество, из которого эти числа выписываются, на другое.

Десять первых выписанных чисел: $$$1, 2, 4, 3, 5, 7, 9, 6, 8, 10$$$. Пронумеруем выписанные числа, начиная с единицы.

Задача состоит в том, чтобы по заданным числам $$$l$$$ и $$$r$$$ находить сумму чисел с номерами от $$$l$$$ до $$$r$$$. Ответ может получиться большим, так что нужно найти его остаток от деления на $$$1000000007$$$ ($$$10^9+7$$$).

Назар очень долго думал над этой задачей, но так и не придумал решение. Помогите ему решить эту задачу.

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

Первая строка содержит два целых числа $$$l$$$ и $$$r$$$ ($$$1 \leq l \leq r \leq 10^{18}$$$) — диапазон, на котором необходимо найти сумму.

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

Выведите единственное целое число — ответ по модулю $$$1000000007$$$ ($$$10^9+7$$$).

Примеры
Входные данные
1 3
Выходные данные
7
Входные данные
5 14
Выходные данные
105
Входные данные
88005553535 99999999999
Выходные данные
761141116
Примечание

В первом примере ответом является сумма первых трёх выписанных чисел ($$$1 + 2 + 4 = 7$$$).

Во втором примере числа с номерами от $$$5$$$ до $$$14$$$: $$$5, 7, 9, 6, 8, 10, 12, 14, 16, 18$$$. Их сумма равна $$$105$$$.