#include<iostream>
#include<stack>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define rep(i,a) loop(i,0,a)
using namespace std;

int main(){
	int n;
	cin>>n;
	int p[n];
	string res="";
	stack<int> st;
	rep(i,n)cin>>p[i];
	st.push(-1);
	bool check=false;
	int cnt=1;
	rep(i,n){
		int tmp=st.top();
		st.pop();
		if(tmp==-1){
			st.push(-1);
			while(cnt<=p[i]){
				st.push(cnt);
				cnt++;
				res+="(";
			}
			res+=")";
		}else{
			if(tmp<p[i]){
				while(cnt<=p[i]){
					st.push(cnt);
					cnt++;
					res+="(";
				}
				res+=")";
			}else if(tmp>p[i]){
				check=true;
				break;
			}else{
				res+=")";
			}
		}
		if(st.top()!=-1)st.pop();
	}
	if(check)cout<<":("<<endl;
	else cout<<res<<endl;
	return 0;
}
