100 atcoder#ABC133B. [ABC133B] Good Distance

[ABC133B] Good Distance

Score : 200200 points

Problem Statement

There are NN points in a DD-dimensional space.

The coordinates of the ii-th point are (Xi1,Xi2,...,XiD)(X_{i1}, X_{i2}, ..., X_{iD}).

The distance between two points with coordinates (y1,y2,...,yD)(y_1, y_2, ..., y_D) and (z1,z2,...,zD)(z_1, z_2, ..., z_D) is $\sqrt{(y_1 - z_1)^2 + (y_2 - z_2)^2 + ... + (y_D - z_D)^2}$.

How many pairs (i,j)(i, j) (i<j)(i < j) are there such that the distance between the ii-th point and the jj-th point is an integer?

Constraints

  • All values in input are integers.
  • 2N102 \leq N \leq 10
  • 1D101 \leq D \leq 10
  • 20Xij20-20 \leq X_{ij} \leq 20
  • No two given points have the same coordinates. That is, if iji \neq j, there exists kk such that XikXjkX_{ik} \neq X_{jk}.

Input

Input is given from Standard Input in the following format:

NN DD

X11X_{11} X12X_{12} ...... X1DX_{1D}

X21X_{21} X22X_{22} ...... X2DX_{2D}

\vdots

XN1X_{N1} XN2X_{N2} ...... XNDX_{ND}

Output

Print the number of pairs (i,j)(i, j) (i<j)(i < j) such that the distance between the ii-th point and the jj-th point is an integer.

3 2
1 2
5 5
-2 8
1

The number of pairs with an integer distance is one, as follows:

  • The distance between the first point and the second point is 152+252=5\sqrt{|1-5|^2 + |2-5|^2} = 5, which is an integer.
  • The distance between the second point and the third point is 5(2)2+582=58\sqrt{|5-(-2)|^2 + |5-8|^2} = \sqrt{58}, which is not an integer.
  • The distance between the third point and the first point is 212+822=35\sqrt{|-2-1|^2+|8-2|^2} = 3\sqrt{5}, which is not an integer.
3 4
-3 7 8 2
-12 1 10 2
-2 8 9 3
2
5 1
1
2
3
4
5
10