Example

Input

1


Output

)(
#include <bits/stdc++.h>

#define N 100010

using namespace std;

const int inf = 0x3f3f3f3f;
map<int,int>Map;
int a[N],k;
char s[N];
int main()
{
    int n,x = 0;
    for( k = 1; x <= 1000000000; k++)
    {
        x += k;
        Map[x] = k;
        a[k] = x;
    }
    scanf("%d",&n);
    if(Map.find(n) != Map.end())
    {
        for(int i = 1; i <= Map[n]; i++)
            printf(")");
        for(int i = 1; i <= Map[n]; i++)
            printf("(");
        printf("\n");
    }
    else
    {
        int x = n;
        while(Map.find(x) == Map.end())x++;
        int l = x;
        x = Map[x];
        n = l - n;
        for(int i = 1; i <= 2*x; i++)
            if(i <= x)s[i] = ')';
            else s[i] = '(';
        s[x*2+1] = '\0';
        while(n --)
        {
            swap(s[x],s[x+1]);
            x--;
        }
        puts(s+1);
    }
    return 0;
}