#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 11;
struct XJB {
  int val, id;
  bool operator<(const XJB &rhs) const { return val + id < rhs.val + rhs.id; }
} a[MAXN];
int n;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  while (cin >> n) {
    for (int i = 1; i <= n; i++) {
      cin >> a[i].val;
      a[i].id = i;
    }
    sort(a + 1, a + 1 + n);
    bool flag = 0;
    for (int i = 1; i < n; i++) {
      if (a[i].val + a[i].id == a[i + 1].val + a[i + 1].id) {
        flag = 1;
        break;
      }
    }
    if (flag)
      cout << ":(" << endl;
    else
      for (int i = 1; i <= n; i++) {
        char ch = i == n ? '\n' : ' ';
        cout << a[i].val - i + a[i].id << ch;
      }
  }
  return 0;
}
