object Main {
  def main(args: Array[String]): Unit = {
    import scala.io.StdIn.readLine
    val Array(datN, datC, datK) = readLine.split(" ").map(_.toInt)
    val datA_ = for(i <- 1 to datN) yield (readLine.split(" ").map(_.toInt).head)
    val datA = datA_.sorted.toArray

    def countBus(result: Int, timelimit: Int, people: Int, cur: Int): Int = {
      if(datA.length == cur) result
      else {
        if((datA(cur) > timelimit) || (people >= datC)) countBus(result + 1, datA(cur) + datK, 1, cur + 1)
        else countBus(result, timelimit, people + 1, cur + 1)
      }
    }
    val ans = countBus(1, datA(0) + datK, 1, 1)
    println(ans)
  }
}
