#include <iostream>
#include <stack>
using namespace std;
int N,A[100010];
char C[200010];

int main(){
    cin >> N;
    for(int i=1;i<=N;i++){
        cin >> A[i];
    }
    int cnt = 0,id = 1,j = 1;
    while(id<=2*N){
        while(cnt<A[j]){
            C[id] = '(';
            id++;
            cnt++;
        }
        C[id] = ')';
        j++;
        id++;
    }
    int d = 0;
    stack<int> s;
    int lid = 1,rid = 1;
    for(int i=1;i<=2*N;i++){
        if(C[i]=='('){
            s.push(lid);
            lid++;
        }
        else{
            int a = s.top(); s.pop();
            if(a!=A[rid]){
                cout << ":(" << endl;
                return 0;
            }
            rid++;
        }
    }
    for(int i=1;i<=2*N;i++) cout << C[i];
    cout << endl;
    return 0;
}
