Doris 刚刚学习了 fibnacci 数列,用 f[i] f[i] f[i] 表示数列的第 i i i 项,那么:
f[0]=0f[1]=1f[n]=f[n−1]+f[n−2],n≥2 \begin{aligned} f[0] &= 0 \\ f[1] &= 1 \\ f[n] &= f[n - 1] + f[n - 2], n \geq 2 \end{aligned} f[0]f[1]f[n]=0=1=f[n−1]+f[n−2],n≥2Doris 用老师的超级计算机生成了一个 n×m n \times m n×m 的表格,第 i i i 行第 j j j 列的格子中的数是 f[gcd(i,j)] f[\gcd(i, j)] f[gcd(i,j)],其中 gcd(i,j) \gcd(i, j) gcd(i,j) 表示 i i i 与 j j j 的最大公约数。
Doris 的表格中共有 n×m n \times m n×m 个数,她想知道这些数的乘积是多少。
这些数的乘积实在是太大了,所以 Doris 只想知道乘积对 1000000007 1000000007 1000000007 取模后的结果。