#include <bits/stdc++.h>
using namespace std;
struct _nl {
} nl;
bool _ns = 0;
template <typename T>
void _p(const T& _) {
  if constexpr (is_same<T, _nl>()) {
    cout << "\n";
    _ns = 0;
  } else {
    if (_ns) cout << " ";
    cout << _;
    _ns = 1;
  }
}
template <typename... T>
void out(const T&... _) {
  (_p(_), ...);
}
int ii() {
  int _;
  cin >> _;
  return _;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n = ii();
  vector<int> d;
  for (auto i = 0; i < n; i++) d.emplace_back(ii() + i);
  sort(d.begin(), d.end());
  bool ok = true;
  for (auto i = 0; i < n - 1; i++) {
    if (d[i] == d[i + 1]) {
      ok = false;
      break;
    }
  }
  if (!ok) {
    out(":(", nl);
  } else {
    for (auto i = 0; i < n; i++) out(d[i] - i);
    out(nl);
  }
  return 0;
}
