n, d = gets.chomp.split.map(&:to_i)
area = n.times.map { gets.chomp.split.map(&:to_i) }

def dis(l, k)
  x = l.zip(k).map do |a, b|
    (a - b) ** 2
  end.inject(:+)
  Math.sqrt(x)
end

count = 0
0.upto(n - 1) do |i|
  (i + 1).upto(n - 1) do |j|
    x = dis(area[i], area[j])
    count += 1 if x == x.to_i
  end
end

puts count
