n = gets.to_i ds = gets.chomp.split.map(&:to_i) x, y = gets.chomp.split.map(&:to_i) r = x.abs + y.abs if r.zero? p 0 elsif ds.any? {|d| d == r} p 1 elsif r.even? d_max = ds.max if r <= d_max + d_max p 2 else p -1 end else es = ds.select(&:even?) os = ds.select(&:odd?) e_max = es.max o_max = os.max if e_max == nil or o_max == nil p -1 elsif es.any? {|d| (d - o_max).abs <= r and r <= d + o_max} p 2 elsif os.any? {|d| (d - e_max).abs <= r and r <= d + e_max} p 2 else p -1 end end