#include <bits/stdc++.h>
using namespace std;
pair<int, int> island[26];
int n;
bool check(int now, int visit, int w) {
  if (now == 0 && visit == ((1 << (n + 1)) - 2)) return true;
  if (now == 0) {
    int res = visit;
    for (int i = 0; i < n; i++) {
      visit = res;
      if (visit & (1 << (i + 1))) continue;
      if (island[i + 1].second < w) continue;
      visit |= (1 << (i + 1));
      if (check(i + 1, visit, w)) return true;
    }
    return false;
  } else {
    if (island[now].second < (w + island[now].first))
      return false;
    else
      check(0, visit, w + island[now].first);
  }
}
int main() {
  while (cin >> n, n) {
    for (int i = 0; i < n + 1; i++) island[i] = pair<int, int>(0, 0);
    for (int i = 0; i < n; i++)
      cin >> island[i + 1].first >> island[i + 1].second;
    cout << ((check(0, 0, 0)) ? "Yes" : "No") << endl;
  }
  return 0;
}
