#include #include #include #include using namespace std; typedef long long ll; int main() { ios_base::sync_with_stdio(false); ifstream cin("input.txt"); ll n, radius, range; cin >> n >> radius >> range; vector > v(n); for(int i = 0; i < n; i++) { cin >> v[i].first >> v[i].second; } sort(v.begin(), v.end()); ll result = 0; // cout << v[0].first << endl; // cout << v[n - 1].first << endl; for(int i = 0; i < n; i++) { ll extends = v[i].first + (2 * radius); ll take = (v[i].second + range - 1) / range; // cout << extends << " "<< v[i + 5].first << endl; // break; int j = i + 1; while(j < n and extends >= v[j].first) { take = max((v[j].second + range - 1) / range, take); j++; } // cout << i << " " << j << endl; i = j - 1; result += take; } cout << result << endl; return 0; } /* 4 1 1 7 1 8 1 9 1 10 1 302917175 641099008 **/