import sys
from collections import deque


def solve():
    data = sys.stdin.read().split()
    ptr = 0
    T = int(data[ptr])
    ptr += 1
    for _ in range(T):
        output = []
        t = data[ptr] 
        ptr += 1
        q = deque()
        s = []
        isMutiple = False
        if len(t) % 2 != 0:
            output.append('-1')
            print(''.join(output))
        else:
            for i in range(len(t)):
        
                if t[i] == '(':
                    if i > 0 and s[i-1] == '(':
                        if (len(t) - (i + 1)) > 2 and (len(t) - (i + 1)) % 2 == 0:
                            output.append('There are multiple solutions')
                            isMutiple = True
                            break
                        else:
                            s.append(')')
                            q.pop()
                    else:
                        q.append(t[i])
                        s.append(t[i])

                if t[i] == ')':
                    if len(q) != 0:
                        q.pop()
                        s.append(t[i])
                    else:
                        q.append('(')
                        s.append('(')

            if len(q) == 0:
                if isMutiple == False:
                    output.append(''.join(s))

            print(''.join(output))

solve()