# 時間がないのでコミット n = gets.to_i l = gets.to_i if n == 1 then puts 0 exit end xs = $stdin.read.split.map(&:to_i).reverse xs << 0 ws = Hash.new{0} ans = 0 sum = 0 cnt = 0 for i in 0...xs.size do if i > 0 then if (xs[i-1] - xs[i]).abs >= l then puts -1 exit end j = sum / cnt.to_f + 0.5 ok = (xs[i-1] < j) && (j < xs[i-1] + l) && (xs[i] < j) && (j < xs[i] + l) ans += 1 unless ok end l.times do |o| sum += xs[i] + o cnt += 1 end end puts ans