#include <iostream>
#include <queue>
#include <vector>

using namespace std;

int main(int argc, char const *argv[]){
    int n;
    typedef pair<int, int> PII;
    auto comp = [](PII lhs, PII rhs) { return lhs.second > rhs.second; };
    priority_queue<PII, vector<PII>, decltype(comp) > que(comp);

    // priority_queue<PII, vector<PII>, 
    //                 decltype([](const PII& lhs, const PII& rhs) -> bool {
    //                     if (lhs.second < rhs.second) return true;
    //                     else return false;
    //                })> que;

    while (cin>>n, n){
        int value, capacity;
        for (int i = 0; i < n; i++){
            cin>>value>>capacity;
            que.push(PII(value, capacity));
        }

        int total = 0;
        bool success = true;
        while (!que.empty()){
            PII p = que.top();
            que.pop();
            total += p.first;
            // cout<<"total="<<total<<endl;
            if (total > p.second ){
                success = false;
            }
        }

        if (success) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }

    return 0;
}