#include <iostream>
#include <cstdio>
#include <string.h>
#include <string>
#include <algorithm>
using namespace std;

struct node{
	int k,num;
};
node a[50];
int n,m,p,q;

bool cmp(node a,node b){
	return a.num<b.num;
}

int main(){
	while (scanf("%d",&n)==1 && n){
		for (int i=1;i<=n;++i) scanf("%d%d",&a[i].k,&a[i].num);
		sort(a+1,a+n+1,cmp);
		m=0;
		bool bi=false;
		for (int i=1;i<=n;++i){
			if (m>a[i].num){
				bi=true;
				break;
			}
			m+=a[i].k;
			if (m>a[i].num){
				bi=true;
				break;
			}
		}
		if (bi) puts("No");
		else puts("Yes");
	}
	return 0;
}