| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 22 | 15 | 12 | 63.158% |
Недавно на уроках математики мальчик Коля изучал тему <<делимость>> и, в частности, наибольшие общие делители. Напомним, что наибольшим общим делителем двух натуральных чисел $a$ и $b$ называется наибольшее натуральное число $g$ такое, что и $a$ делится на $g,ドル и $b$ делится на $g$. При этом используется обозначение: $g = \mathrm{gcd}(a, b)$.
На дом учительница математики задала Коле несколько задач на эту тему и среди них была задача посчитать для некоторого числа $k$ следующую сумму: $\sum\limits_{i = 1}^k{\mathrm{gcd}(k, i)}$. Коля быстро решил эту задачу и его заинтересовало следующее обобщение этой суммы --- чему равна сумма таких сумм для всех делителей числа $n$. При этом он решил брать внутреннюю сумму не до делителя $k,ドル а до самого числа $n,ドル и получил следующую формулу: $\sum\limits_{d|n}{\sum\limits_{i = 1}^n{\mathrm{gcd}(d, i)}},ドル где $d|n$ обозначает, что число $d$ является делителем числа $n$.
И тут Коля обнаружил, что подсчет значения такого выражения для больших $n$ может занять значительное время, и потому он попросил Вас написать программу, которая будет находить значение такого выражения для различных $n$.
Входной файл содержит единственное натуральное число $n$ (1ドル \le n \le 10^{12}$).
В выходной файл выведите единственное число --- значение выражения для данного $n$.
1
1
4
18