#include<iostream>
#include<cstdlib>

using namespace std;


struct island {
int tre;
int bri;
};

int compare (const island *a, const island *b) {
	if ( (*a).bri == (*b).bri ) 
		return (*a).tre - (*b).tre;
	else
		return (*a).bri - (*b).bri;
}


island isls[25];

int main() {


	for (;;) {
		int isl;
		cin >> isl;
		if ( isl == 0 )
			break;
		for ( int i=0; i<isl; i++ ) {
			cin >> isls[i].tre >> isls[i].bri;
		}

		qsort(isls, isl, sizeof(island), (int (*) (const void*, const void*))compare);

		int now = 0;
		bool pass = true;

		for ( int i=0; i<isl; i++ ) {
			now += isls[i].tre;
			if (isls[i].bri < now ) {
				pass = false;
				break;
			}
		}
		if ( pass )
			cout << "Yes\n";
		else
			cout << "No\n";
	}
}