fun main() = with(System.`in`.bufferedReader()) {
var (n,l) = readLine().split(" ").map{it.toInt()}
var cover = BooleanArray(1001){false}
readLine()
.split(" ")
.map{it.toInt()}
.forEach{
cover[it] = true
}
var cnt = 0
for(i in 1..1000){
if(!cover[i]) continue
when(i){
in 1..1000-l ->{
for(j in i until i+l){
cover[j] = false
}
}
else -> {
for(j in i..1000){
cover[j] = false
}
}
}
cnt++
}
println(cnt)
}