#include <bits/stdc++.h>
using namespace std;
struct node {
  long long b;
  long long l;
};
bool cmp(node a, node b) { return a.b < b.b; }
long long n, L, a, ans = 0;
node arr[100100];
int main() {
  cin >> n >> L >> a;
  for (int i = 1; i <= n; i++) cin >> arr[i].b >> arr[i].l;
  sort(arr + 1, arr + 1 + n, cmp);
  arr[0].l = arr[0].b = 0;
  for (int i = 1; i <= n; i++) {
    ans += (arr[i].b - (arr[i - 1].b + arr[i - 1].l)) / a;
  }
  ans += (L - (arr[n].b + arr[n].l)) / a;
  cout << ans << endl;
  return 0;
}
