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 ki = t[0] + k
  var count = 0
  var ans = 1
  for (ti in t) {
    if (count == c || ti > ki) {
      count = 1
      ans++
      ki = ti + k
      continue
    }
    count++
  }

  println(ans)
}