object Main extends App {
  val in = new java.util.Scanner(System.in)
  val N, D, A = in.nextInt
  class Monster(val x: Long, var h: Long)
  val Monsters = Array.fill(N)(new Monster(in.nextLong, in.nextLong)).sortBy(_.x)

  val attacks = (0 until N).foldLeft(0L){(sum, i) =>
    if (Monsters(i).h <= 0) sum
    else {
      val n = (Monsters(i).h + A - 1) / A
      def attack(j: Int): Unit = {
        if (j < N && Monsters(j).x <= Monsters(i).x + 2 * D) {
          Monsters(j).h = Monsters(j).h - n * A
          attack(j + 1)
        }
      }
      attack(i + 1)
      sum + n
    }
  }

  println(attacks)
}