#include "bits/stdc++.h"
#include<unordered_map>
#include<unordered_set>
#pragma warning(disable:4996)
using namespace std;
using ld = long double;
const ld eps = 1e-9;

//// < "d:\d_download\visual studio 2015\projects\programing_contest_c++\debug\a.txt" > "d:\d_download\visual studio 2015\projects\programing_contest_c++\debug\b.txt"


int main() {
	while (1) {
		int N; cin >> N;
		if (!N)break;
		vector<pair<int, int>>ps(N);
		for (int i = 0; i < N; ++i) {
			int a, b; cin >> a >> b;
			ps[i] = make_pair(a, b);
		}
		sort(ps.begin(), ps.end(), [](const pair<int,int>&l, const pair<int,int> &r) {
			return l.second < r.second;
		});
		int sum = 0;
		bool ok = true;
		for (int i = 0; i < N; ++i) {
			sum += ps[i].first;
			if (sum > ps[i].second)ok = false;
		}
		if (ok)cout << "Yes" << endl;
		else cout << "No" << endl;
	}
	return 0;
}