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

int n;

string solve(const vector<int>& P){
  int cnt = 0;
  string ans;
  stack< pair<char, int > > st;

  for(const auto& p: P){
    while(cnt <= p){
      int ni;
     //  if(st.empty()){
     //    ni = 0;
     //  }else{
     //    ni = st.top().second + 1;
     //  }
      st.push( make_pair('(', cnt));
      cnt++;
      ans += '(';
    }
    if(st.top().second == p){
      st.pop();
      ans += ')';
    }else{
      return ":(";
    }
  }
  return ans;
}

int main(void){
  cin >> n;
  vector<int> p(n);
  for(auto& _p: p){
    cin >> _p;
    _p--;
  }

  cout << solve(p) << endl;
}

