#include <bits/stdc++.h>
using namespace std;
long long n, yang;
char str[200020];
long long a[200020];
long long ans[200020];
struct Point {
  long long loc, det;
} p[200020];
long long top;
void E() {
  puts("NO");
  exit(0);
}
int main() {
  scanf("%lld %s", &n, str);
  long long i;
  for (i = 0; str[i]; i++) {
    a[i + 1] = str[i - 1] - '0';
  }
  a[0] = a[2 * n] = 1;
  for (i = 0; i <= 2 * n; i++) {
    if (a[i] && a[i + 1]) yang++;
  }
  if (yang % 2 || (yang == 2 && a[1] && a[2 * n - 1]))
    while (1)
      ;
  else
    E();
  for (i = 1; i <= 2 * n; i++) {
    if (a[i] && a[i - 1]) {
      p[++top] = (Point){i, 2};
    } else if (a[i]) {
      p[++top] = (Point){i, 1};
    } else if (a[i - 1]) {
      p[++top] = (Point){i, 3};
    }
  }
}
