#include <bits/stdc++.h>
using namespace std;
struct node {
  int st, ed;
} ch[100010];
bool cmp(node a, node b) { return a.st < b.st; }
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, l, a;
  cin >> n >> l >> a;
  for (int i = 0; i < n; i++) {
    cin >> ch[i].st >> ch[i].ed;
    ch[i].ed += ch[i].st;
  }
  sort(ch, ch + n, cmp);
  int num = 0;
  num += (ch[0].st) / a;
  for (int i = 0; i < n - 1; i++) {
    if (ch[i + 1].st - ch[i].ed >= a) {
      num += (ch[i + 1].st - ch[i].ed) / a;
    }
  }
  if (ch[n - 1].ed < l) {
    num += (l - ch[n - 1].ed) / a;
  }
  cout << num << endl;
  return 0;
}
