#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[]) {
  int n;
  auto comp = [](pair<int, int> lhs, pair<int, int> rhs) {
    return lhs.second > rhs.second;
  };
  priority_queue<pair<int, int>, vector<pair<int, int> >, decltype(comp)> que(
      comp);
  while (cin >> n, n) {
    int value, capacity;
    for (int i = 0; i < n; i++) {
      cin >> value >> capacity;
      que.push(pair<int, int>(value, capacity));
    }
    int total = 0;
    bool success = true;
    while (!que.empty()) {
      pair<int, int> 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;
}
