#include <bits/stdc++.h>
using namespace std;
int dfs(int);
int sum, t, v[26], mini, n, a[26], b[26];
int main(void) {
  int ans;
  while (1) {
    t = 0;
    mini = 0;
    for (int k = 0; k < 26; k++) {
      a[k] = 0;
      b[k] = 0;
    }
    cin >> n;
    if (n == 0) break;
    for (int i = 0; i < n; i++) {
      cin >> a[i] >> b[i];
      t += a[i];
    }
    for (int i = 0; i < n; i++) {
      for (int k = 0; k < 26; k++) v[k] = 0;
      sum = 0;
      if (a[i] <= b[i]) ans = dfs(i);
    }
    printf((ans > 0) ? "Yes\n" : "No\n");
  }
  return 0;
}
int dfs(int i) {
  v[i] = 1;
  sum += a[i];
  if (sum == t) return 1;
  mini = 2000000000;
  int x = 0;
  for (int j = 0; j < n; j++) {
    if (v[j] == 0 && sum + a[j] <= b[j] && mini > b[j]) {
      mini = b[j];
      x = j;
    }
  }
  if (v[x] == 0) return dfs(x);
  return 0;
}
