#ATabc133b. [ABC133B] Good Distance

[ABC133B] Good Distance

AT_abc133_b [ABC133B] Good Distance

题目描述

DD 维空间中有 NN 个点。

ii 个点的坐标为 (Xi1, Xi2, ..., XiD)(X_{i1},\ X_{i2},\ ...,\ X_{iD})

坐标为 (y1, y2, ..., yD)(y_1,\ y_2,\ ...,\ y_D) 的点与坐标为 (z1, z2, ..., zD)(z_1,\ z_2,\ ...,\ z_D) 的点之间的距离为 $\sqrt{(y_1 - z_1)^2 + (y_2 - z_2)^2 + ... + (y_D - z_D)^2}$。

请问有多少组 (i, j)(i,\ j) 满足 i<ji < j,使得第 ii 个点与第 jj 个点之间的距离为整数。

输入格式

输入以如下格式从标准输入中给出。

NN DD
X11X_{11} X12X_{12} ... X1DX_{1D}
X21X_{21} X22X_{22} ... X2DX_{2D}
\vdots
XN1X_{N1} XN2X_{N2} ... XNDX_{ND}

输出格式

输出满足第 ii 个点与第 jj 个点之间的距离为整数的 (i,j)(i, j) 组数(i<ji < j)。

样例 1

输入

3 2
1 2
5 5
-2 8

输出

1

样例 2

输入

3 4
-3 7 8 2
-12 1 10 2
-2 8 9 3

输出

2

样例 3

输入

5 1
1
2
3
4
5

输出

10

说明/提示

限制条件

  • 所有输入均为整数。
  • 2N102 \leq N \leq 10
  • 1D101 \leq D \leq 10
  • 20Xij20-20 \leq X_{ij} \leq 20
  • 不会有相同坐标的点。即对于 iji \neq j,存在某个 kk 使得 XikXjkX_{ik} \neq X_{jk}

样例解释 1

如下有 11 组点对的距离为整数。

  • 11 个点与第 22 个点的距离为 152+252=5\sqrt{|1-5|^2 + |2-5|^2} = 5,是整数。
  • 22 个点与第 33 个点的距离为 5(2)2+582=58\sqrt{|5-(-2)|^2 + |5-8|^2} = \sqrt{58},不是整数。
  • 33 个点与第 11 个点的距离为 212+822=35\sqrt{|-2-1|^2 + |8-2|^2} = 3\sqrt{5},不是整数。

由 ChatGPT 4.1 翻译