#include <bits/stdc++.h>
using namespace std;
typedef struct {
  int weight, bridge;
} sima;
bool lessw(const sima& Left, const sima& Right) {
  return Left.weight < Right.weight;
}
bool lessb(const sima& Left, const sima& Right) {
  return Left.bridge < Right.bridge;
}
vector<sima> tou;
int n;
int main() {
  while (cin >> n) {
    if (n == 0) break;
    tou.clear();
    for (int i = 0; i < n; i++) {
      int w, b;
      cin >> w >> b;
      sima t = {w, b};
      tou.push_back(t);
    }
    int cuw = 0, difmin = 0;
    stable_sort(tou.begin(), tou.end(), lessb);
    stable_sort(tou.begin(), tou.end(), lessw);
    int out = 0;
    for (int i = 0; i < n; i++) {
      cuw += tou[i].weight;
      if (cuw > tou[i].bridge) {
        out = 1;
        break;
      }
    }
    if (out == 1)
      puts("No");
    else
      puts("Yes");
  }
  return 0;
}
