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()