#include <bits/stdc++.h>
using namespace std;
int status[100008 * 2];
int n;
char buf[100008 * 2];
int ans[100008 * 2];
int tot;
void output() {
  for (int i = 0; i < n * 2; i++) {
    if (ans[i] == 0)
      for (int j = i + 1; j < n * 2; j++)
        if (ans[j] == 0) {
          ans[i] = ans[j] = ++tot;
          i = j;
          break;
        }
  }
  puts("Yes");
  for (int i = 0; i < n * 2; i++) printf("%d ", ans[i]);
  exit(0);
}
bool operator<(vector<int> a, vector<int> b) { return a.size() > b.size(); }
int main() {
  cin >> n;
  int o = 0;
  int N = n * 2;
  scanf("%s", buf + 1);
  for (int i = 1; i < 2 * n; i++) status[i] = buf[i] - '0', o += status[i];
  status[0] = 1;
  if (o == 2 * n - 1) {
    if (n % 2 == 1) {
      puts("No");
      exit(0);
    };
    for (int i = 0; i < n * 2; i += 4)
      ans[i] = ans[i + 2] = ++tot, ans[i + 1] = ans[i + 3] = ++tot;
    output();
  }
  vector<vector<int> > gg;
  for (int i = 0; i < n * 2; i++) {
    if (status[i] == 0 && status[(i + 1) % N] == 1) {
      vector<int> b;
      b.push_back(i);
      for (int j = (i + 1) % N; status[j]; j = (j + 1) % N) b.push_back(j);
      gg.push_back(b);
    }
  }
  sort(gg.begin(), gg.end());
  int d2 = 0;
  for (int i = 0; i < gg.size(); i++) d2 += gg[i].size() - 2;
  if (d2 % 2) {
    puts("No");
    exit(0);
  };
  if (d2 % 4 == 2) {
    if (gg.size() <= 1) {
      puts("No");
      exit(0);
    }
    if (gg[0].size() > 2 and gg[1].size() > 2) {
      int e1 = gg[0].size() - 2, e2 = gg[1].size() - 2;
      ans[gg[0][e1]] = ans[gg[1][e2]] = ++tot;
      gg[0].erase(gg[0].begin() + e1);
      gg[1].erase(gg[1].begin() + e2);
      swap(gg[0][e1], gg[1][e2]);
    }
  }
  vector<int> v2;
  for (int i = 0; i < gg.size(); i++) {
    ans[gg[i][0]] = tot + i + 1;
    ans[gg[i][gg[i].size() - 1]] = tot + (i + 1) % (int)(gg.size()) + 1;
    for (int k = 1; k < gg[i].size() - 1; k++) v2.push_back(gg[i][k]);
  }
  tot += gg.size();
  for (int i = 0; i < v2.size(); i += 4) {
    ans[v2[i]] = ans[v2[i + 2]] = ++tot;
    ans[v2[i + 1]] = ans[v2[i + 3]] = ++tot;
  }
  output();
}
