#include <iostream>
#include <string>
#include <tuple>
#include <vector>
#include <map>
#include <algorithm>


using namespace std;

int main() {
	int n;
	cin >> n;
	while (n != 0) {
		vector<pair<int, int>> data(n);

		int price, bridge;
		for (int i = 0; i < n; i++) {
			cin >> price >> bridge;
			data[i] = make_pair(bridge, price);
		}

		sort(data.begin(), data.end());

		bool failed = false;
		int total = 0;
		for (int i = 0; i < n; i++) {
			if ((total + data[i].second) > data[i].first) {
				failed = true;
				break;
			}
			total += data[i].second;
		}
		if (failed)
		{
			cout << "No" << endl;
		} else
		{
			cout << "Yes" << endl;
		}

		cin >> n;
	}

	return 0;
}