Олимпиадный тренинг

Задача . E. Сумма остатков


Посчитайте значение суммы n mod 1 + n mod 2 + n mod 3 + ... + n mod m. Поскольку ответ может быть достаточно большим, вам нужно посчитать его по модулю 109 + 7 (остаток при делении на число 109 + 7).

Оператор модуля a mod b обозначает взятие остатка при делении числа a на число b. Например, 10 mod 3 = 1.

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

В единственной строке находятся два целых числа n, m (1 ≤ n, m ≤ 1013) — параметры суммы.

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

Выведите целое число s — остаток значения искомой суммы при делении на число 109 + 7.


Примеры
Входные данныеВыходные данные
1 3 4
4
2 4 4
1
3 1 1
0

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя