import java.util.*

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    val n = sc.nextInt()
    val c = sc.nextInt()
    val k = sc.nextInt()
    val t = (1..n).map { sc.nextInt() }.sorted()
    var ans = 0
    var start = 0
    while (start < n) {
        var to = start
        while (to < n && t[start] + k >= t[to] && to - start + 1 <= c) {
            to++
        }
        ans++
        start = to
    }
    println(ans)
}