#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, L, a;
  cin >> n >> L >> a;
  vector<pair<int, int>> custTimes(n);
  for (size_t i = 0; i < n; i++) {
    cin >> custTimes[i].first >> custTimes[i].second;
  }
  int breakCount = 0;
  sort(custTimes.begin(), custTimes.end(),
       [](pair<int, int>& a, pair<int, int>& b) { return a.first < b.first; });
  int lastEnd = 0;
  for (size_t i = 0; i < n; i++) {
    if (custTimes[i].first - lastEnd > 0) {
      breakCount += (custTimes[i].first - lastEnd) / a;
    }
    lastEnd = custTimes[i].first + custTimes[i].second;
  }
  breakCount += (L - lastEnd) / a;
  cout << breakCount;
  return 0;
}
