만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

피보나치 수의 최대공약수의 합

시간 제한1초메모리 제한512 MB

요약
n이 최대 10^9일 때, 1부터 n까지의 모든 i, j에 대해 피보나치 수 gcd(F_i, F_j)의 합을 1,000,000,007로 나눈 나머지를 구합니다.
난이도

보통10점 중 7점

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

문제

피보나치 수는 다음 규칙으로 만들어지는 수열입니다.

\begin{align*} F_{1} &= 1 \\ F_{2} &= 1 \\ F_{n+2} &= F_{n+1} + F_{n} \end{align*}

처음 몇 개의 항은 다음과 같습니다.

1, 1, 2, 3, 5, 8, 13 ...

다음 합을 구해봅시다.

∑i=1n∑j=1ngcd⁡(Fi,Fj)\sum_{i=1}^{n}\sum_{j=1}^{n} \gcd(F_{i}, F_{j})

여기서 gcd⁡\gcd는 최대공약수를 뜻합니다. 답이 매우 클 수 있으므로 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 출력합니다.

입력

첫 번째 줄에 자연수 nn이 주어집니다. (1≤n≤1091 \le n \le 10^9)

출력

첫 번째 줄에 구하는 합을 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 출력합니다.

예제4

  1. 예제 1

    입력
    6
    
    예상 출력
    52
    
  2. 예제 2

    입력
    48
    
    예상 출력
    586527012
    
  3. 예제 3

    입력
    55820
    
    예상 출력
    779963626
    
  4. 예제 4

    입력
    493744614
    
    예상 출력
    784740381