#include <bits/stdc++.h>
int main() {
  int n, i, k, l;
  int map[25][2];
  int temp1, temp2, have, flag;
  while (1) {
    scanf("%d", &n);
    if (n == 0) break;
    for (i = 0; i < n; i++) {
      scanf("%d %d", &map[i][0], &map[i][1]);
    }
    have = 0;
    flag = 0;
    temp1 = 0;
    for (i = 0; i < n; i++) {
      if (map[i][0] > temp1) temp1 = map[i][0];
    }
    for (k = 1; k <= temp1; k++) {
      temp2 = 0;
      for (i = 0; i < n; i++) {
        if (map[i][0] == k) {
          if (map[i][1] > temp2) temp2 = map[i][1];
        }
      }
      for (l = 1; l <= temp2; l++) {
        for (i = 0; i < n; i++) {
          if (map[i][0] == k && map[i][1] == l) {
            have += map[i][0];
            if (have > map[i][1]) {
              flag = 1;
              break;
            }
          }
        }
        if (flag) break;
      }
      if (flag) break;
    }
    if (flag) {
      printf("No\n");
    } else {
      printf("Yes\n");
    }
  }
  return 0;
}
