#include<bits/stdc++.h>
using namespace std;
const int maxn=10000+10;
int cnt=0;
struct node
{
long long x,h;
bool flag=false;
} a[maxn];
bool cmp(node a,node b)
{
return a.x<b.x;
}
int n;
long long d,h2;
int main()
{
cin>>n>>d;
for(int i=1; i<=n; i++)
{
cin>>a[i].x>>a[i].h;
}
sort(a+1,a+n+1,cmp);
for(int i=1; i<=n; i++)
{
h2=a[i].h*2;
for(long long j=a[i].x-d; j<=a[i].x+d; j++)
{
if(a[j].h>=h2)
{
if(a[j].flag==false)
{
cnt++;
a[j].flag=true;
}
else
{
continue;
}
}
}
}
cout<<cnt;
return 0;
}