#include<iostream>
#include<algorithm>
using namespace std;

struct island{
  int bridge;
  int treasure;
};

bool operator<(island i1,island i2){
//  if(i1.treasure == i2.treasure){
    return i1.bridge < i2.bridge;
//  }
//  return i1.treasure < i2.treasure;
}

int main(){

    int input,value;

    bool flag;

    while(1){

      cin >> input;

      if(input==0){
        break;
      }

      island table[input];

      for(int i=0;i<input;i++){
        cin >> table[i].treasure >> table[i].bridge;
      }

      sort(table,table + input);

      value = 0;
      flag = true;

      for(int i=0;i<input;i++){
        value += table[i].treasure;
        if(value > table[i].bridge){
          flag = false;
          break;
        }
      }

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


    return 0;
}