#include<iostream>
#include<iomanip>
#include<algorithm>
#include<cmath>
#include<vector>
#include<string>
using namespace std;
struct fzy
{
	int x;int y;
};
bool my(fzy a,fzy b)
{
	return (a.y==b.y?a.x<b.x:a.y<b.y);
}
int main()
{
	for(int n;cin>>n && n;)
	{
		vector<fzy> v;fzy f;
		for(int i=0;i<n;i++)
		{
			cin>>f.x>>f.y;
			v.push_back(f);
		}
		sort(v.begin(),v.end(),my);
		int sum=0;int flag=1;
		for(int i=0;i<n;i++)
		{
			sum+=v[i].x;
			if(sum>v[i].y)
			{
				flag=0;break;
			}
		}
		cout<<(flag?"Yes":"No")<<endl;
	}
}