#include <iostream>
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <numeric>
#include <vector>
#include <set>
#include <queue>

using namespace std;

void solve(int n){
	int val[30];
	int bridge[30];
	for(int i=0;i<n;i++){
		scanf("%d%d",&val[i],&bridge[i]);
	}
	bool used[30];
	for(int i=0;i<n;i++){
		used[i] = false;
	}
	int ans = 0;
	for(int t=0;t<n;t++){
		// ?????£?????????????????§????????????????????????????????????????????????????????¢???
		int target = 0;
		for(int i=1;i<n;i++){
			if(used[i])continue;
			if(used[target] || bridge[i]<bridge[target] || (bridge[i]==bridge[target] && val[i]>bridge[target])){
				target = i;
			}
		}
		used[target] = true;
		// ?????£?????????
		if(ans+val[target] <= bridge[target]){
			ans += val[target];
		}else{
			printf("No\n");
			return;
		}
	}
	printf("Yes\n");
	return;
}

int main(){
	while(true){
		int n;
		scanf("%d",&n);
		if(n==0)break;
		solve(n);
	}
	return 0;
}