#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> P;
int n,m;
priority_queue<P,vector<P>,greater<P> > q;
priority_queue<int> p;
signed main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int x,t;
cin>>x>>t;
q.push(P(x,t));
}
int sum=0;
int tmpx=0;
int ans=0;
for(int i=1;i<=n;i++)
{
int x,y;
x=q.top().first;
y=q.top().second;
if(sum<m&&sum+q.top().second+q.top().first-tmpx<=m)
{
p.push(y+x-tmpx);
sum=sum+y+x-tmpx;
tmpx=x;
ans++;
}
else
{
int s=x-tmpx+y;
int maxs=0;
if(p.size())
{
maxs=p.top();
}
if(s<maxs)
{
sum=sum+s-p.top();
p.pop();
p.push(s);
}
}
q.pop();
}
cout<<ans;
return 0;
}