n, s = gets.split.map &:to_i
pos = gets.split.map.with_index {|i, j| [i.to_i, j + 1]}.sort
pos.unshift [-Float::INFINITY, nil]
pos << [Float::INFINITY, nil]
ans = []
(1..n).each do |i|
  ans << pos[i][1] if pos[i][0] - pos[i - 1][0] > s && pos[i + 1][0] - pos[i][0] > s
end
puts ans.size
puts ans.sort * ' '