#include <bits/stdc++.h>
using namespace std;
const int N = 2E5 + 10;
int a[N];
int b[N];
int n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &a[i]);
  int add = -1, sub = 1e7;
  for (int i = 0; i < n; i++) {
    if (a[i] > add && a[i] < sub) {
      if (i == n - 1) {
        b[i] = 0;
        break;
      } else {
        if (a[i] < a[i + 1]) {
          b[i] = 0;
          add = a[i];
        } else if (a[i] > a[i + 1]) {
          b[i] = 1;
          sub = a[i];
        } else {
          b[i] = 0;
          b[i + 1] = 1;
          sub = add = a[i++];
        }
      }
    } else if (a[i] > add) {
      b[i] = 0;
      add = a[i];
    } else if (a[i] < sub) {
      b[i] = 1;
      sub = a[i];
    } else {
      puts("NO");
      return 0;
    }
  }
  puts("YES");
  for (int i = 0; i < n; i++) printf("%d ", b[i]);
}
