U283443 简单的函数求和

题目背景

给一个简单的函数做求和,虽然不知道它的具体值,但是也有一些线索。

题目描述

对于函数 $f(x)$ 已知: $$ \sum_{d|x}f(d)=x^3+3x^2+x \quad (d>0) $$ 其中,$d|x$ 的意思是,$d$ 可以整除 $x$, $d$ 是 $x$ 的因子。 那么上述等式的意思就是,对于 $x$ 的所有因子 $d$ (包括 $x$ 自己) ,他们的函数值求和为 $x^3+3x^2+x$。 以 $x = 4$ 为例,就有 $f(1)+f(2)+f(4)=4^3+3\times 4^2+4=116$ 以 $x=6$ 为例,就有 $f(1)+f(2)+f(3)+f(6)=6^3+3\times 6^2+6=330$ 针对简单的函数,我们要做的就是简单的函数求和,求解为 $F(n)$,其中 $$ F(n)=\sum_{i=1}^n f(i) $$ 由于这个数字可能大的离谱,所以我们只需要输出他对质数 $1,000,000,007$ 取模的结果即可。

输入格式

本题的每一个测试点**均为多组数据输入,请采用`EOF`判断结尾。** 每组数据 $1$ 行,包含一个正整数 $n$ 。

输出格式

对于每组数据,输出一行,为 $F(n)$ 对 $1,000,000,007$ 取模的值。

说明/提示

## 数据范围 对于所有的数据,保证每一个 $n$ 均为合法的**正整数**形式。 对于测试点 $01$,保证 $n \le 10^2$, 数据组数不大于 $100$。 对于测试点 $02$,保证 $n \le 10^4$, 数据组数不大于 $10000$。 对于测试点 $03$,保证 $n\le 10^6$, 数据组数不大于 $10000$。 对于测试点 $04,05,06, 07$,保证 $n \le 10^{9}$, 数据组数不大于 $30$。