ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2220. Обратный к НОДу

Ограничение времени: 1.5 секунды
Ограничение памяти: 512 МБ
Многие слышали и использовали операцию нахождения наибольшего общего делителя. Обычно эта операция записывается как НОД(n, m). Но в этот раз Вадим решил рассмотреть числа, обратные к НОДу, то есть числа, равные 1 / НОД(n, m).
Эти числа очень заинтриговали Вадима, и он решил посчитать обратные к НОДу для всех пар чисел от 1 до N. К сожалению, это очень долгое занятие, поэтому Вадим просит вас помочь найти среднее арифметическое всех этих значений.

Исходные данные

В единственной строке вводится целое число N (1 ≤ N ≤ 107).

Результат

Выведите ответ на задачу по модулю 109 + 7. То есть если ваш ответ представляет из себя несократимую дробь p/q, то выведите такое целое x, что 0 ≤ x ≤ 109 + 6 и p q · x   (mod  109 + 7).

Примеры

исходные данныерезультат
2
833333340
3
805555562
1
1

Замечания

В первом примере есть три НОДа: НОД(1, 1) = 1, НОД(1, 2) = 1, НОД(2, 2) = 2. Среднее арифметическое обратных к этим НОДам равно:
(1/1 + 1/1 + 1/2) / 3 = 5 / 6
6 · 833333340 = 5000000040 = 5 · (10^9 + 7) + 5 ≡ 5   (mod  109 + 7)
Автор задачи: Вадим Баринов
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2025