#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200005;
int n;
int a[MAXN];
int inc[MAXN], p;
int de[MAXN], q;
bool flag;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
  sort(a + 1, a + n + 1);
  for (int i = 3; i <= n; ++i)
    if (a[i] == a[i - 1] && a[i - 1] == a[i - 2]) {
      flag = true;
      break;
    }
  if (flag) {
    printf("NO\n");
  } else {
    printf("YES\n");
    a[0] = -0x3f3f3f3f;
    for (int i = 1; i <= n; ++i) {
      if (a[i - 1] == a[i]) {
        de[++q] = a[i];
      } else
        inc[++p] = a[i];
    }
    printf("%d\n", p);
    for (int i = 1; i <= p; ++i) printf("%d ", inc[i]);
    printf("\n%d\n", q);
    for (int i = q; i >= 1; --i) printf("%d ", de[i]);
  }
  return 0;
}
