#include <stdio.h>
#include <stdlib.h>

typedef struct{
	int amt;
	int sta;
} iland;

int main(void){
	int n;
	int havin;
	
	int comp(const void *a,const void *b);
	
	while(1){
		scanf("%d",&n);
		if(n == 0) break;
		iland arr[100];
		havin = 0;
		for(int i = 0;i < n;i ++){
			scanf("%d %d",&arr[i].amt,&arr[i].sta);
		}
		qsort(arr,n,sizeof(iland),comp);
		for (int j = 0;j < n;j ++) {
			havin += arr[j].amt;
			if(havin > arr[j].sta) {
				printf("No\n");
				break;
			}
			if(j == n - 1) printf("Yes\n");
		}
		
	}
	return 0;
}

int comp(const void *a,const void *b){
	return ((iland*)a)->sta-((iland*)b)->sta;
}
