Большая сумма

시간 제한2초메모리 제한1024 MB

요약
n의 모든 약수 d에 대해 i=1부터 n까지 gcd(d, i)의 합을 모두 더한 값을 구한다. n은 10^12까지 주어진다.
난이도

어려움10점 중 8점

유형
정수론, 수학, 누적 합, 조합론
정답자
아직 제출이 없습니다

문제

Недавно на уроках математики мальчик Коля изучал тему <<делимость>> и, в частности, наибольшие общие делители. Напомним, что наибольшим общим делителем двух натуральных чисел aa и bb называется наибольшее натуральное число gg такое, что и aa делится на gg, и bb делится на gg. При этом используется обозначение: g=gcd(a,b)g = \mathrm{gcd}(a, b).

На дом учительница математики задала Коле несколько задач на эту тему и среди них была задача посчитать для некоторого числа kk следующую сумму: ∑_i=1kgcd(k,i)\sum\limits\_{i = 1}^k{\mathrm{gcd}(k, i)}. Коля быстро решил эту задачу и его заинтересовало следующее обобщение этой суммы --- чему равна сумма таких сумм для всех делителей числа nn. При этом он решил брать внутреннюю сумму не до делителя kk, а до самого числа nn, и получил следующую формулу: ∑_d∣n∑_i=1ngcd(d,i)\sum\limits\_{d|n}{\sum\limits\_{i = 1}^n{\mathrm{gcd}(d, i)}}, где d∣nd|n обозначает, что число dd является делителем числа nn.

И тут Коля обнаружил, что подсчет значения такого выражения для больших nn может занять значительное время, и потому он попросил Вас написать программу, которая будет находить значение такого выражения для различных nn.

입력

Входной файл содержит единственное натуральное число nn (1≤n≤10121 \le n \le 10^{12}).

출력

В выходной файл выведите единственное число --- значение выражения для данного nn.

예제2

  1. 예제 1

    입력
    1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    4
    
    예상 출력
    18