#include <bits/stdc++.h>
using namespace std;

int main(int argc, char const *argv[])
{
	int n;
	long long d,a;
	cin>>n>>d>>a;
	pair<long long,long long> xh[n];
	for (int i = 0; i < n; ++i)
	{
		cin>>xh[i].first>>xh[i].second;
	}
	sort(xh,xh+n);
	long long ans=0LL,now=0LL;
	pair<long long,long long> bomb[n];
	int r=0,w=0;
	for (int i = 0; i < n; ++i)
	{
		while (i>0&&xh[i].first>bomb[r].first)
		{
			now-=bomb[r].second;
			++r;
			if (r>=w)
			{
				break;
			}
		}
		if (xh[i].second-now>0LL)
		{
			long long b=(xh[i].second-now+a-1LL)/a;
			ans+=b;
			now+=a*b;
			bomb[w]=make_pair(xh[i].first+2LL*d,a*b);
			++w;
			int j=i;
		}
	}
	cout<<ans<<endl;
	return 0;
}
