#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n ; cin>>n;
int maxpkts; cin>>maxpkts;
int rate ; cin>>rate;
vector<vector<int>>requests(n,vector<int>(2));
for(int i = 0 ;i<n;i++){
cin>>requests[i][0]>>requests[i][1];
}
int dropped = 0;
int pipeline = 0 ;
for(int i = 0 ;i<n;i++){
if(i==0){
if(requests[i][1]>maxpkts){
int diff = requests[i][1]-maxpkts;
dropped+=diff;
}
else{
pipeline += requests[i][1];
}
}
else{
int time = requests[i][0]-requests[i-1][0];
if(pipeline-(time*rate)<0){
pipeline = 0 ;
}
else{
pipeline -= time*rate ;
}
if(pipeline+requests[i][1]>maxpkts){
int diff = pipeline+requests[i][1]-maxpkts;
dropped +=diff;
pipeline = maxpkts;
}
else{
pipeline = pipeline+requests[i][1];
}
}
}
cout<<dropped;
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJaW50IG4gOyBjaW4+Pm47CglpbnQgbWF4cGt0czsgY2luPj5tYXhwa3RzOwoJaW50IHJhdGUgOyBjaW4+PnJhdGU7Cgl2ZWN0b3I8dmVjdG9yPGludD4+cmVxdWVzdHMobix2ZWN0b3I8aW50PigyKSk7Cglmb3IoaW50IGkgPSAwIDtpPG47aSsrKXsKCQljaW4+PnJlcXVlc3RzW2ldWzBdPj5yZXF1ZXN0c1tpXVsxXTsKCX0KCWludCBkcm9wcGVkID0gMDsKCWludCBwaXBlbGluZSA9IDAgOyAKCWZvcihpbnQgaSA9IDAgO2k8bjtpKyspewoJCWlmKGk9PTApewoJCQlpZihyZXF1ZXN0c1tpXVsxXT5tYXhwa3RzKXsKCQkJCWludCBkaWZmID0gcmVxdWVzdHNbaV1bMV0tbWF4cGt0czsKCQkJCWRyb3BwZWQrPWRpZmY7CgkJCX0KCQkJZWxzZXsKCQkJCXBpcGVsaW5lICs9IHJlcXVlc3RzW2ldWzFdOwoJCQl9CgkJfQoJCWVsc2V7CgkJCWludCB0aW1lID0gcmVxdWVzdHNbaV1bMF0tcmVxdWVzdHNbaS0xXVswXTsKCQkJaWYocGlwZWxpbmUtKHRpbWUqcmF0ZSk8MCl7CgkJCQlwaXBlbGluZSA9IDAgOwoJCQl9CgkJCWVsc2V7CgkJCQlwaXBlbGluZSAtPSB0aW1lKnJhdGUgOyAKCQkJfQoJCQlpZihwaXBlbGluZStyZXF1ZXN0c1tpXVsxXT5tYXhwa3RzKXsKCQkJCWludCBkaWZmID0gcGlwZWxpbmUrcmVxdWVzdHNbaV1bMV0tbWF4cGt0czsKCQkJCWRyb3BwZWQgKz1kaWZmOwoJCQkJcGlwZWxpbmUgPSBtYXhwa3RzOwoJCQl9CgkJCWVsc2V7CgkJCQlwaXBlbGluZSA9IHBpcGVsaW5lK3JlcXVlc3RzW2ldWzFdOwoJCQl9CgkJfQoJfQoJY291dDw8ZHJvcHBlZDsKCQoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=