#P434. 矩阵求和

矩阵求和

题目描述

经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。

今天小明的任务是填满这么一张表:

表有 nnnn 列,行和列的编号都从 11 算起。

其中第 ii 行第 jj 个元素的值是 gcd(i,j)\gcd(i, j) 的平方,

gcd\gcd 表示最大公约数,以下是这个表的前四行的前四列:

1  1  1  1
1  4  1  4
1  1  9  1
1  4  1 16

小明突然冒出一个奇怪的想法,他想知道这张表中所有元素的和。

由于表过于庞大,他希望借助计算机的力量。

输入格式

一行一个正整数 nn,意义见题。

输出格式

一行一个数,表示所有元素的和。由于答案比较大,请输出模 109+710^9 + 7(即:十亿零七)后的结果。

样例

4
48

数据范围

  • 对于 30%30\% 的数据,n1000n \le 1000
  • 存在 10%10\% 的数据,n=105n = 10^5
  • 对于 60%60\% 的数据,n106n \le 10^6
  • 对于 100%100\% 的数据,n107n \le 10^7

来源

2018 年第九届蓝桥杯 C/C++ B 组国赛决赛真题