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[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 }
} 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[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 }
} Main public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int N = sc.nextInt();
   int D = sc.nextInt();
   int[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 } main {
   Scanner sc = new Scanner(System.in);
   int N = sc.nextInt();
   int D = sc.nextInt();
   int[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 } 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[][] Xik = new int[N][D]; Xik new int[N][D] N D for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   } int i =0; int i =0; i 0 i<N i N i++ i++ i {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   } {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   } for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    } int k = 0; int k = 0; k 0 k<D k D k++ k++ k {
     Xik[i][k] = sc.nextInt();
    } {
     Xik[i][k] = sc.nextInt();
    } Xik[i][k] = sc.nextInt() Xik[i][k] Xik[i] Xik i k sc.nextInt() sc.nextInt sc int count = 0; count 0 int sum = 0; sum 0 double sq = 0.0; sq 0.0 int ab = 0; ab 0 for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   } int i = 0; int i = 0; i 0 i<N i N i++ i++ i {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   } {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   } for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    } int l = i+1 ; int l = i+1 ; l i+1 i 1 l<N l N l++ l++ l {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    } {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    } for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     } int k = 0; int k = 0; k 0 k<D k D k++ k++ k {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     } {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     } sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]) sum (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]) (Xik[i][k] - Xik[l][k]) Xik[i][k] Xik[i] Xik i k Xik[l][k] Xik[l] Xik l k (Xik[i][k] - Xik[l][k]) Xik[i][k] Xik[i] Xik i k Xik[l][k] Xik[l] Xik l k sq = Math.sqrt(sum) sq Math.sqrt(sum) Math.sqrt Math sum ab = (int)Math.abs(sq) ab (int)Math.abs(sq) Math.abs Math sq if(sum == ab*ab) 
      {
        count++;
      } sum == ab*ab sum ab*ab ab ab {
        count++;
      } count++ count sum = 0 sum 0 System.out.println(count) System.out.println System.out System System.out count 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[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 }
} public class Main{
 public static void main(String[] args){
   Scanner sc = new Scanner(System.in);
   int N = sc.nextInt();
   int D = sc.nextInt();
   int[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 }
} 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[][] Xik = new int[N][D];
   for(int i =0;i<N;i++)
   {
    for(int k = 0;k<D;k++)
    {
     Xik[i][k] = sc.nextInt();
    }
   }
   int count = 0;
   int sum = 0;
   double sq = 0.0;
   int ab = 0;
   for(int i = 0;i<N;i++)
   {
    for(int l = i+1 ; l<N;l++) 
    {
     for(int k = 0;k<D;k++)
     {
      sum += (Xik[i][k] - Xik[l][k])*(Xik[i][k] - Xik[l][k]);  
     }
      sq = Math.sqrt(sum);
      ab = (int)Math.abs(sq);

      if(sum == ab*ab) 
      {
        count++;
      }
        sum = 0;
    }
   }

   System.out.println(count);
 }
}