#include <bits/stdc++.h>
using namespace std;

int n;
vector<int> p;

string solve();

int main() {
  cin >> n;
  p.assign(n, 0);
  for(int i = 0; i < n; ++i) {
    int a;
    cin >> a;
    p[--a] = i;
  }
  cout << solve() << endl;
  return 0;
}

string solve() {
  int now = 0, nows = 0;
  string ans;
  stack<int> st;
  while(st.size() > 0 || nows < n) {
    if(nows < n) st.push(p[nows++]);
    ans += '(';
    while(st.size() > 0 && now == st.top()) {
      ans += ')';
      ++now;
      st.pop();
    }
    if(st.size() > 0 && nows >= n) return ":(";
  }
  return ans;
}
