#import <stdio.h>
#import <stdlib.h>
typedef long long INT;
typedef struct W {
	INT A;
	INT B;
} W;

int compare_B(const void *a, const void *b) {
	return ((W*)a)->B - ((W*)b)->B;
}


int main(int argc, char *argv[]) {
	INT N;
	scanf("%lld",&N);
	W *ws = (W*)malloc(N * sizeof(W));
	for(INT i=0;i<N;i++){
		INT A, B;
		scanf("%lld %lld",&A,&B);
		W w = {.A = A, .B = B};
		ws[i] = w;
	}
	qsort(ws,N,sizeof(W),compare_B);
	INT t=0;
	for(INT i=0;i<N;i++){
		t += ws[i].A;
		if(t>ws[i].B){
			puts("No");
			return 0;
		}
	}
	puts("Yes");
}