import std.algorithm;
import std.array;
import std.ascii;
import std.container;
import std.conv;
import std.math;
import std.numeric;
import std.range;
import std.stdio;
import std.string;
import std.typecons;
void log(A...)(A arg) { stderr.writeln(arg); }
int size(T)(in T s) { return cast(int)s.length; }

void main() {
    int N; readf("%d\n", &N);
    auto S = readln.chomp;
    int k = 0;
    char[] ans;
    char[] buf;
    for (int i = 0; i < N; i++) {
        char c = S[i];
        ans ~= c;
        if (c == '(') {
            k--;
        } else if (c == ')') {
            if (k >= 0) {
                ans = '(' ~ ans;
            } else {
                k++;
            }
        } else {
            assert(false);
        }
    }
    if (k < 0) {
        k = -k;
        foreach (j; 0 .. k) { ans ~= ')'; }
    }
    writeln(ans);
}
