N, P = gets.split.map(&:to_i) A = gets.split.map(&:to_i) m = A.max x = P ans = 0 while x <= m memo = Hash.new(0) A.each do |a| ans += memo[a % x] memo[a % x] += 1 end x *= P end puts ans