题目描述
在一个 D 维空间中有 N 个点。
第 i 个点的坐标是 (Xi1,Xi2,...,XiD)。
两个具有坐标 (y1,y2,...,yD) 和 (z1,z2,...,zD) 的点之间的距离是 $\\sqrt{(y_1 - z_1)^2 + (y_2 - z_2)^2 + ... + (y_D - z_D)^2}$。
有多少对 (i,j) (i<j) 满足第 i 个点和第 j 个点之间的距离是一个整数?
约束条件
- 输入中的所有值都是整数。
- 2leqNleq10
- 1leqDleq10
- \-20leqXijleq20
- 没有两个给定的点具有相同的坐标。也就是说,如果 ineqj,存在 k 使得 XikneqXjk。
输入
从标准输入读入输入数据,数据格式如下:
N D
X11 X12 ... X1D
X21 X22 ... X2D
vdots
XN1 XN2 ... XND
输出
输出一个整数,表示满足第 i 个点和第 j 个点之间的距离是一个整数的 (i,j) 对的数量。
示例输入 1
3 2
1 2
5 5
-2 8
示例输出 1
1
存在一个满足距离为整数的 (i,j) 对,如下:
- 第一个点和第二个点之间的距离是 sqrt∣1−5∣2+∣2−5∣2=5,是一个整数。
- 第二个点和第三个点之间的距离是 sqrt∣5−(−2)∣2+∣5−8∣2=sqrt58,不是一个整数。
- 第三个点和第一个点之间的距离是 sqrt∣−2−1∣2+∣8−2∣2=3sqrt5,不是一个整数。
示例输入 2
3 4
-3 7 8 2
-12 1 10 2
-2 8 9 3
示例输出 2
2
示例输入 3
5 1
1
2
3
4
5
示例输出 3
10