#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 10;
int n;
int a[MAXN];
int pre[MAXN], suf[MAXN], nxt[MAXN];
int app[MAXN], now = 1;
int last[MAXN];
int Read() {
  int i = 0, f = 1;
  char c = getchar();
  for (; (c > '9' || c < '0') && c != '-'; c = getchar())
    ;
  if (c == '-') f = -1, c = getchar();
  for (; c >= '0' && c <= '9'; c = getchar()) i = (i << 3) + (i << 1) + c - '0';
  return i * f;
}
void del(int l, int r) {
  pre[suf[r]] = pre[l];
  suf[pre[l]] = suf[r];
}
int gen() {
  while (last[now]) ++now;
  if (now > n) {
    puts("no");
    exit(0);
  }
  last[now] = -1;
  return now;
}
void solve(int l, int r) {
  if ((r - l) % 2 == 1) {
    puts("no");
    exit(0);
  }
  for (int i = l; i <= r; i = suf[i]) {
    while (nxt[i]) {
      if (nxt[i] > r) {
        puts("no");
        exit(0);
      }
      solve(suf[i], pre[nxt[i]]);
      del(suf[i], nxt[i]);
      nxt[i] = nxt[nxt[i]];
    }
  }
  int sum = 0, cnt = 0, rt = a[pre[l]];
  for (int i = l; i <= r; i = suf[i]) ++sum, cnt += a[i] > 0;
  sum = (sum + 1) / 2;
  if (cnt > sum) {
    puts("no");
    exit(0);
  }
  for (int i = suf[l]; i <= r; i = suf[i])
    if (!a[i] && cnt < sum) a[i] = gen(), ++cnt;
  if (sum == 1 && !cnt) a[l] = gen();
  for (int i = l; suf[i] <= r; i = suf[i]) {
    while (i > l && suf[i] <= r && !a[pre[i]] && a[i] && a[suf[i]])
      a[pre[i]] = a[suf[i]], del(i, suf[i]), i = pre[pre[i]];
    while (i >= l && suf[suf[i]] <= r && a[i] && !a[suf[suf[i]]] && a[suf[i]])
      a[suf[suf[i]]] = a[i], del(suf[i], suf[suf[i]]), i = pre[i];
  }
  for (int i = l; i <= r; i = suf[i])
    if (!a[i]) a[i] = rt;
}
int main() {
  n = Read();
  for (int i = 1; i <= n * 2 - 1; ++i) a[i] = Read();
  if (a[1] && a[n * 2 - 1] && a[1] != a[n * 2 - 1]) {
    puts("no");
    return 0;
  }
  int tmp = a[1] | a[n * 2 - 1];
  a[1] = a[n * 2 - 1] = tmp;
  for (int i = 0; i <= n * 2 - 1; ++i) pre[i] = i - 1, suf[i] = i + 1;
  for (int i = n * 2 - 1; i; --i) {
    if (a[i]) {
      nxt[i] = last[a[i]];
      last[a[i]] = i;
    }
  }
  solve(1, n * 2 - 1);
  puts("yes");
  for (int i = 1; i <= n * 2 - 1; ++i) cout << a[i] << ' ';
}
