import java.util.*
fun main(args: Array<String>){
	val cin = Scanner(System.`in`)
    val n = cin.nextInt()
    val c = cin.nextInt()
    val k = cin.nextInt()

    var t: MutableList<Long> = mutableListOf()

    for (i in 0..n-1) {
        t.add(cin.nextLong())
    }

    val t_sorted = t.sorted()

    var fastest = t_sorted[0]
    var ans = 1
    var passengers = 1
    for (i in 1..n-1) {
        if (t_sorted[i] > fastest + k) {
            ans += 1
            fastest = t_sorted[i]
            passengers = 1
        } else if (passengers == c) {
            ans += 1
            fastest = t_sorted[i]
            passengers = 1
        } else {
            passengers += 1
        }
    }

    println(ans)
}