#include <iostream>
#include <cstring>
using namespace std;

void bsort2(int a[], int b[], int lim)
{
	int tmp;

    for (int i = 0; i <= lim-1; i++)
        for (int j = lim; i < j; j--)
		{
            if (a[j-1] > a[j])
			{
				tmp = a[j];
				a[j] = a[j-1];
				a[j-1] = tmp;

				tmp = b[j];
				b[j] = b[j-1];
				b[j-1] = tmp;
            }
        }	
}

int main()
{	
	int n;
	int tre[10000];
	int brg[10000];
	int sum;
	bool judge;

	while( cin >> n, n)
	{
		memset( brg, 0, sizeof(brg));
		memset( tre, 0, sizeof(tre));
		sum = 0;
		judge =0;
		
		for( int i = 0; i < n; i++)
		{
			cin >> tre[i] >> brg[i];
		}
		
		bsort2( brg, tre, n-1);

		for( int i = 0; (i < n && !judge); i++)
		{
			sum += tre[i];
			if( sum > brg[i])
				judge = 1;
		}

		if(judge)
			cout << "No" << endl;
		else
			cout << "Yes" << endl;

	}


	return 0;
}