#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <climits>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <numeric>
#include <map>
#include <vector>
#include <string>
#include <vector>
#include <cassert>
#define _USE_MATH_DEFINES
#include <math.h>
#include <cmath>
#include <stack>
#include <list>
#include <cctype>
#include <queue>
#include <algorithm>
#include <memory>
#include <memory.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
typedef pair<int, P> PP;
typedef pair<P, P> P2;
typedef pair<int, pair<P, P> > PPP;
const int INF = 1 << 30;
const double EPS = 1e-10;
const double PI = 3.14159;

P bridge[50];

int main(){
	int n;
	while(cin >> n && n){
		for(int i = 0; i < n; i++){
			cin >> bridge[i].second >> bridge[i].first;
		}
		sort(bridge, bridge + n);
		int sum = 0;
		int p = 0;
		while(p < n && sum + bridge[p].second <= bridge[p].first){
			sum += bridge[p].second;
			p++;
		}
		if(p == n) cout << "Yes" << endl;
		else cout << "No" << endl;
	}
	return 0;
}