20035 - Divisors of the Divisors of an Integer

通过次数

1

提交次数

1

时间限制 : 1 秒
内存限制 : 128 MB

函数 d(n) 表示整数 n 的正因数个数。例如,d(24) = 8, 因为 24 有 8 个因数,分别是 1, 2, 3, 4, 6, 8, 12 和 24。

函数 sndd(n) 是为本题定义的一个新函数。它表示“整数 n 的所有因数的因数个数之和”。例如:

sndd(24) = d(1) + d(2) + d(3) + d(4) + d(6) + d(8) + d(12) + d(24) = 1 + 2 + 2 + 3 + 4 + 4 + 6 + 8 = 30

给定 n 的值,你需要计算 sndd(n!),其中 n! 表示 n 的阶乘,即 n! = 1 \times 2 \times 3 \times \ldots \times n

输入

输入包含最多 1000 行测试数据。
每行包含一个整数 n (1 \le n \le 10^6)
输入以一行单独的一个 0 结束。

输出

对于每一行输入,输出一行结果。
该行包含一个整数,表示 sndd(n!)10000007(即 10^7 + 7)取模后的值。

样例

输入

4
5
0

输出

30
90