#P3090. Visible Lattice Points

Visible Lattice Points

题目描述

在第一象限中,一个格点(x,y)(x, y)xxyy为大于等于00的整数),如果从原点(0,0)(0, 0)(x,y)(x, y)的直线不经过任何其他格点,则该点被称为可见的。例如,点(4,2)(4, 2)不可见,因为从原点出发的直线会经过(2,1)(2, 1)。下图展示了0x,y50 \leq x, y \leq 5范围内所有可见点及其从原点出发的连线。

编写一个程序,给定尺寸NN,计算满足0x,yN0 \leq x, y \leq N的可见点的数量。

输入格式

第一行包含一个整数CC1C10001 \leq C \leq 1000),表示数据集的数量。

接下来的CC行,每行包含一个整数NN1N10001 \leq N \leq 1000),表示网格的尺寸。

输出格式

对于每个数据集,输出一行,包含数据集编号(从11开始)NN的值以及可见点的数量,格式为:数据集编号N N 可见点数量。

样例输入

4
2
4
5
231

样例输出

1 2 5
2 4 13
3 5 21
4 231 32549

来源

2006年大纽约地区编程竞赛