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 * ' '