#include <iostream>
#include <vector>
#include <algorithm>
struct pp
{
	int	a,b;
}p[50];
bool cmp(const pp &a,const pp &b)
{
	return a.b<b.b;
}

using namespace std;
int main()
{
	int n;
	while(cin>>n)
	{
		if(n==0) break;
		bool f=true;
		for(int i=0;i<n;i++)
		{
			cin>>p[i].a>>p[i].b;
			if(p[i].a>p[i].b) {
				f=false;
			}
		}
		if(!f) cout<<"No"<<endl;
		else {
			sort(&p[0],&p[n],cmp);
			int bag=p[0].a;
			for(int i=1;i<n;i++)
			{
				bag=p[i].a+bag;
				if(bag>p[i].b) {
					f=false;
					break;
				}
			}
			if(f) cout<<"Yes"<<endl;
			else cout<<"No"<<endl;	
		}
	}
	return 0;
} 