import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	}


} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	}


} Main public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	} main {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int N=sc.nextInt(); N sc.nextInt() sc.nextInt sc int D=sc.nextInt(); D sc.nextInt() sc.nextInt sc int[][] X=new int[N][D]; X new int[N][D] N D for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		} {
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		} for(int j=0;j<D;j++) X[i][j]=sc.nextInt(); int j=0; int j=0; j 0 j<D j D j++ j++ j X[i][j]=sc.nextInt(); X[i][j]=sc.nextInt() X[i][j] X[i] X i j sc.nextInt() sc.nextInt sc int ans=0; ans 0 for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		} int i=0; int i=0; i 0 i<N-1 i N-1 N 1 i++ i++ i {

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		} {

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		} for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			} int k=i+1; int k=i+1; k i+1 i 1 k<N k N k++ k++ k {

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			} {

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			} double d=0.0; d 0.0 for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				} int j=0; int j=0; j 0 j<D j D j++ j++ j {
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				} {
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				} d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2) d Math.pow(Math.abs(X[i][j]-X[k][j]),2) Math.pow Math Math.abs(X[i][j]-X[k][j]) Math.abs Math X[i][j]-X[k][j] X[i][j] X[i] X i j X[k][j] X[k] X k j 2 d=Math.sqrt(d) d Math.sqrt(d) Math.sqrt Math d String[] str=(String.valueOf(d)).split(""); str (String.valueOf(d)).split("") (String.valueOf(d)).split (String.valueOf(d)) String.valueOf String d "" int len=str.length; len str.length str str.length if(str[len-2].equals(".") && str[len-1].equals("0")) ans++; str[len-2].equals(".") && str[len-1].equals("0") str[len-2].equals(".") str[len-2].equals str[len-2] str len-2 len 2 "." str[len-1].equals("0") str[len-1].equals str[len-1] str len-1 len 1 "0" ans++ ans System.out.println(ans) System.out.println System.out System System.out ans sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	}


} public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	}


} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);

		int N=sc.nextInt();
		int D=sc.nextInt();

		int[][] X=new int[N][D];

		for(int i=0;i<N;i++){
			for(int j=0;j<D;j++) X[i][j]=sc.nextInt();
		}

		int ans=0;

		for(int i=0;i<N-1;i++){

			for(int k=i+1;k<N;k++){

				double d=0.0;

				for(int j=0;j<D;j++){
					d+=Math.pow(Math.abs(X[i][j]-X[k][j]),2);
				}

				d=Math.sqrt(d);

				//System.out.println(d);

				String[] str=(String.valueOf(d)).split("");

				int len=str.length;

				if(str[len-2].equals(".") && str[len-1].equals("0")) ans++;
			}

		}

		System.out.println(ans);

		sc.close();
	}


}
