#include <bits/stdc++.h>
using namespace std;
int a[200200], n;
void init(void) {
  scanf("%d", &n);
  for (int i = (1), _b = (n); i <= _b; i = i + 1) scanf("%d", &a[i]);
}
void process(void) {
  vector<pair<int, int> > v;
  for (int i = (1), _b = (n); i <= _b; i = i + 1)
    v.push_back(make_pair(a[i] + i, i));
  sort(v.begin(), v.end());
  for (int i = 0, _n = ((int)v.size() - 1); i < _n; i = i + 1)
    if (v[i].first == v[i + 1].first) {
      printf(":(\n");
      return;
    }
  for (int i = 0, _n = (v.size()); i < _n; i = i + 1)
    printf("%d ", v[i].first - i - 1);
  printf("\n");
}
int main(void) {
  init();
  process();
  return 0;
}
