    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)
        }
    }