#include <bits/stdc++.h>
const int MAXN = 2 * 1e5 + 5;
int data[MAXN];
int main() {
  int n;
  while (~scanf("%d", &n)) {
    for (int i = 1; i <= n; ++i) {
      int tmp;
      scanf("%d", &tmp);
      data[i] = tmp - (n - i);
    }
    std::sort(data + 1, data + 1 + n);
    int mins = data[n];
    int i = n - 1, cnt = 1;
    for (; i >= 1; --i) {
      if ((data[i] += cnt++) > mins) break;
      mins = std::min(mins, data[i]);
    }
    if (i >= 1)
      puts(":(");
    else
      for (int j = 1; j <= n; ++j) printf("%d%c", data[j], j == n ? '\n' : ' ');
  }
  return 0;
}
