#include <iostream>
#include <algorithm>
using namespace std;
#define ma 1000000000;
struct ww
{
int a;
int b;
};
ww ni[10000];
bool comp(ww a,ww b)
{
return a.b<b.b;
}
int main()
{
int n;
int s;
cin>>n;
cin>>s;
while(n!=0)
{
for(int i=0;i<10000;i++)
{
ni[i].a=0;
ni[i].b=ma;
}
for(int i=0;i<n;i++)
{
int a,b;
cin>>a;
cin>>b;
ni[i].a=a;
ni[i].b=b;
}
sort(ni,ni+n,comp);
int temps=s;
for(int i=0;i<n;i++)
{
if(temps>=ni[i].b)
{
temps=temps+ni[i].a;
ni[i].a=0;
ni[i].b=0;
}
else
{
cout<<"NO"<<endl;
break;
}
}
if(ni[n-1].b==0)
{
cout<<"YES"<<endl;
}
cin>>n;
cin>>s;
}
return 0;
}