#P6053. 简单的函数

简单的函数

题目描述

某一天,你发现了一个神奇的函数f(x)f(x),它满足很多神奇的性质:

  1. f(1)=1f(1)=1
  2. f(pc)=pcf(p^c)=p \oplus cpp 为质数,\oplus 表示异或)。
  3. f(ab)=f(a)f(b)f(ab)=f(a)f(b)aabb 互质)。

你看到这个函数之后十分高兴,于是就想要求出 i=1nf(i)\sum\limits_{i=1}^n f(i)

由于这个数比较大,你只需要输出 i=1nf(i)mod(109+7)\sum\limits_{i=1}^n f(i) \bmod (10^9+7)

输入格式

一行一个整数 nn

输出格式

一行一个整数 i=1nf(i)mod1000000007\sum\limits_{i=1}^n f(i) \bmod 1000000007

6
16
233333
179004642
9876543210
895670833

数据范围与提示

对于30%30\%的数据,n100n \leq 100
对于60%60\%的数据,n106n \leq 10^6
对于100%100\%的数据,1n10101 \leq n \leq 10^{10}