#include <bits/stdc++.h>
using namespace std;
long long a[100005];
long long ans[100005];
long long n;
long long dp[100005][6];
long long par[100005][6];
long long poss(int i, int j, int k) {
  if (j > k && a[i] > a[i + 1]) return 1;
  if (j < k && a[i] < a[i + 1]) return 1;
  if (j != k && a[i] == a[i + 1]) return 1;
  return 0;
}
int main() {
  long long i, j, k, l;
  cin >> n;
  for (i = 0; i < n; i++) cin >> a[i];
  memset(dp, -1, sizeof(dp));
  memset(par, -1, sizeof(par));
  for (i = 1; i <= 5; i++) {
    dp[0][i] = 1;
  }
  for (i = 0; i < n - 1; i++) {
    for (j = 1; j <= 5; j++) {
      for (k = 1; k <= 5; k++) {
        if (dp[i][j] == 1 && poss(i, j, k)) {
          dp[i + 1][k] = 1;
          par[i + 1][k] = j;
        }
      }
    }
  }
  for (i = 1; i <= 5; i++) {
    if (dp[n - 1][i] != -1) break;
  }
  if (i == 6) {
    cout << "-1";
    return 0;
  }
  long long tmp = i;
  vector<long long> v;
  for (i = n - 1; i >= 0; i--) {
    v.push_back(tmp);
    tmp = par[i][tmp];
  }
  reverse(v.begin(), v.end());
  for (i = 0; i < n; i++) cout << v[i] << " ";
}
