#include <bits/stdc++.h>
using namespace std;
int num[1010], id[1010], flag[1010];
int main() {
  int n, a, b;
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    scanf("%d%d", &a, &b);
    if (a < b) swap(a, b);
    if (a != n) return 0 * printf("NO\n");
    num[b]++;
  }
  id[1] = n;
  int L = 1, R = 1;
  for (int i = n - 1; i >= 1; i--) {
    if (num[i]) {
      for (int j = 1; j <= num[i] - 1; j++) R++;
      id[++R] = i;
      flag[R] = 1;
    } else {
      while (id[L + 1]) L++;
      id[++L] = i;
    }
    if (L > R) return 0 * printf("NO\n");
  }
  printf("YES\n");
  for (int i = 1; i < R; i++) {
    if (!flag[i])
      printf("%d %d\n", id[i], id[i + 1]);
    else
      printf("%d %d\n", n, id[i + 1]);
  }
  return 0;
}
