#include <bits/stdc++.h>
using namespace std;
const int maxn = 1111111, mod = 998244353;
inline int read() {
  int x = 0, f = 0;
  char ch = getchar();
  while (ch < '0' || ch > '9') f |= ch == '-', ch = getchar();
  while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
  return f ? -x : x;
}
int n, a[maxn], cur = 1, lst[maxn], p[maxn], q[maxn], pl, ql;
bool vis[maxn], in[maxn];
inline int getid() {
  while (cur <= n && vis[cur]) cur++;
  if (cur > n) puts("no"), exit(0);
  vis[cur] = true;
  return cur;
}
int main() {
  n = read();
  for (int i = (1); i <= (2 * n - 1); i++) vis[a[i] = read()] = true;
  if (a[1] && a[2 * n - 1] && a[1] != a[2 * n - 1]) return puts("no"), 0;
  if (a[1])
    a[2 * n - 1] = a[1];
  else if (a[2 * n - 1])
    a[1] = a[2 * n - 1];
  else
    a[1] = a[2 * n - 1] = getid();
  for (int i = (1); i <= (2 * n - 1); i++)
    if (a[i]) {
      int tmp = lst[a[i]];
      lst[a[i]] = i;
      if (!tmp) {
        p[++pl] = -a[i];
        continue;
      }
      int at = pl;
      while (at && p[at] != -a[i]) at--;
      if (!at) puts("no"), exit(0);
      int c = 0, len = pl - at;
      for (int j = (at + 1); j <= (pl); j++)
        if (p[j] < 0)
          if (!in[-p[j]]) in[-p[j]] = true, c++;
      for (int j = (at + 1); j <= (pl); j++)
        if (p[j] < 0) in[-p[j]] = false;
      if (len % 2 == 0 || 2 * c - 1 > len) puts("no"), exit(0);
      for (int j = (at + 1); j <= (pl); j++)
        if (p[j] > 0 && 2 * c - 1 < len) p[j] = -(a[p[j]] = getid()), c++;
      ql = 0;
      for (int j = (at + 1); j <= (pl); j++) {
        q[++ql] = p[j];
        while (ql >= 3) {
          if (q[ql] < 0 && q[ql - 1] < 0 && q[ql - 2] > 0) {
            a[q[ql - 2]] = -q[ql];
            q[ql - 2] = q[ql];
            ql -= 2;
          } else if (q[ql] > 0 && q[ql - 1] < 0 && q[ql - 2] < 0) {
            a[q[ql]] = -q[ql - 2];
            ql -= 2;
          } else
            break;
        }
      }
      for (int j = (1); j <= (ql); j++)
        if (q[j] > 0) a[q[j]] = a[i];
      pl = at;
    } else
      p[++pl] = i;
  puts("yes");
  for (int i = (1); i <= (2 * n - 1); i++) printf("%d ", a[i]);
}
