#include <bits/stdc++.h>
int n, a[100005], b[100005], i;
int main() {
  for (; std::cin >> a[n]; n++)
    if (n > 0) b[a[n]]++;
  for (i = 2; i < 100005; i++)
    if (b[i] > b[i - 1]) {
      std::cout << -1;
      return 0;
    }
  for (i = 0; i < n; i++)
    std::cout << (i ? b[a[i]]-- : b[1]) << (i ? " " : "\n");
}
