require 'set'
n, m = gets.split.map &:to_i
a = gets.split.map(&:to_i).sort
s = Set.new a.filter {|i| i > 0}
b = []
a.each do |i|
  next if i == 0 || !s.include?(i)
  s.delete i
  i.step(m, i) do |j|
    if a.bsearch {|k| j - k}.nil? then
      puts -1
      exit
    end
    s.delete j
  end
  b << i
end
puts b.size
puts b * ' '