object Main {
    def main(args: Array[String]): Unit = {
        val sc = new java.util.Scanner(System.in)
        
        val n, c, k = sc.nextInt
        val ts = List.fill(n)(sc.nextInt).sorted
        
        var start = 0
        var bus_count = 0
        for (i <- 0 until ts.size) {
            if (ts(i) - ts(start) > k) {
                start = i
                bus_count += 1
            } else if (i - start + 1 == c) {
                start = i + 1
                bus_count += 1
            }
        }
        if (start < ts.size) {
            bus_count += 1
        }
        
        println(bus_count)
    }
}