human
A bracket sequence is a string containing only characters "(" and ")". A regular bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters "1" and "+" between the original characters of the sequence. For example, bracket sequences "()()" and "(())" are regular (the resulting expressions are: "(1)+(1)" and "((1+1)+1)"), and ")(", "(" and ")" are not.

You are given an integer n. Your goal is to construct and print exactly n different regular bracket sequences of length 2n.

Input

The first line contains one integer t (1 ≤ t ≤ 50) — the number of test cases.

Each test case consists of one line containing one integer n (1 ≤ n ≤ 50).

Output

For each test case, print n lines, each containing a regular bracket sequence of length exactly 2n. All bracket sequences you output for a testcase should be different (though they may repeat in different test cases). If there are multiple answers, print any of them. It can be shown that it's always possible.

Example

Input

3
3
1
3

Output

()()()
((()))
(()())
()
((()))
(())()
()(())
Solve the task in PYTHON3.
 ... Give me a Python code to print exactly n different regular bracket sequences of length 2n?
assistant
#Here is Python code to print exactly n different regular bracket sequences of length 2n.

import sys
input = sys.stdin.readline

############ ---- Input Functions ---- ############
def inp(): 
    # one integer
    return int(input())
def input_list():
    # list of integers
    return list(map(int,input().split()))
def input_string():
    # list of characters
    s = input()
    return list(s[:len(s) - 1])
def input_int_gen():
    # integer generator 
    # usage: m, n = input_int_gen()
    return map(int,input().split())

# Codeforce xxx Div x A
def generate_bracket(n):
    ret = []
    def backTrack(o, c, cur):
        if len(ret) == n: return 
        if o == c == n:
            ret.append(''.join(cur))
            return
        if o < n:
            cur.append('(')
            backTrack(o+1, c, cur)
            cur.pop()
            if len(ret) == n: return 
        if c < o:
            cur.append(')')
            backTrack(o, c+1, cur)
            cur.pop()
            if len(ret) == n: return 
    backTrack(0,0,[])
    return ret
    
tests = inp()
dic = {}
shown = {}
for _ in range(tests):
    n = inp()
    if n not in dic:
        dic[n] = generate_bracket(n)
    for i in range(n):
        print(dic[n][i])