#include <bits/stdc++.h>
long long n, p, m;
long long positive(long long rht, long long cur) {
  long long lft = 0;
  while (lft < rht) {
    long long md = (lft + rht + 1) / 2;
    if (cur - (md * p) >= 0)
      lft = md;
    else
      rht = md - 1;
  }
  return lft;
}
int main() {
  scanf("%I64d%I64d%I64d", &n, &p, &m);
  long long d[n], t[n];
  for (int i = 0; i < n; i++) scanf("%I64d%I64d%", &d[i], &t[i]);
  long long ans = d[0] - 1;
  long long cur = -1 * ans * p;
  for (int i = 0; i < n; i++) {
    cur += t[i];
    if (i == n - 1) {
      long long x = positive(m + 1 - d[i], cur);
      ans += (m + 1 - d[i]) - x;
      break;
    }
    long long x = positive(d[i + 1] - d[i], cur);
    ans += (d[i + 1] - d[i]) - x;
    cur -= (d[i + 1] - d[i]) * p;
  }
  printf("%I64d", ans);
  return 0;
}
