#include <iostream>
#include <cstdio>
#include <cassert>
#include <cstring>
#include <vector>
#include <valarray>
#include <array>
#include <queue>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <algorithm>
#include <cmath>
#include <complex>
#include <random>

using namespace std;
using ll = long long;
using ull = unsigned long long;
constexpr int TEN(int n) {return (n==0)?1:10*TEN(n-1);}


bool solve() {
    int n;
    cin >> n;
    if (n == 0) return false;
    int a[n], b[n];
    for (int i = 0; i < n; i++) {
        cin >> a[i] >> b[i];
    }
    int idx[n];
    iota(idx, idx+n, 0);
    sort(idx, idx+n, [&](const int &l, const int &r){
        return b[l] < b[r];
    });
    int noc = 0;
    for (int i = 0; i < n; i++) {
        int j = idx[i];
        noc += a[j];
        if (b[j] < noc) {
            cout << "No" << endl;
            return true;
        }
    }
    cout << "Yes" << endl;
    return true;
}

int main() {
    while (true) {
        if (!solve()) break;
    }
    return 0;
}