let input = readLine()!.characters.split(" ").map{Int(String($0))!}
let (N,C,K) = (input[0],input[1],input[2])
var T = (0..<N).map{_ in Int(readLine()!)!}.sort()
var ans = 1
var t = T.removeFirst()
var c = 1
for T_i in T {
    c += 1
    if t+K < T_i || c > C {
        ans += 1
        c = 1
        t = T_i
    }
}
print(ans)