#include <bits/stdc++.h>
typedef struct {
  int gold;
  int wight;
} ISLAND;
int island_count;
int ans;
int is_pass(int depth, unsigned int pass_flag, int have, int is,
            ISLAND island[]) {
  int i;
  if (is != -1) {
    have += island[is].gold;
  }
  if (have > island[is].wight) {
    return (0);
  }
  if (depth == island_count) {
    ans = 1;
    return (0);
  }
  for (i = 0; i < island_count; i++) {
    if (((pass_flag >> i) & 1) == 0) {
      is_pass(depth + 1, (pass_flag | (1 << i)), have, i, island);
    }
  }
  return (0);
}
int main(void) {
  ISLAND island[25];
  int i;
  while (1) {
    ans = 0;
    scanf("%d", &island_count);
    if (island_count == 0) {
      break;
    }
    for (i = 0; i < island_count; i++) {
      scanf("%d%d", &island[i].gold, &island[i].wight);
    }
    is_pass(0, 0, 0, -1, island);
    if (ans == 1) {
      printf("Yes\n");
    } else {
      printf("No\n");
    }
  }
  return (0);
}
