n = int(input())
for _ in range(n):
flag=0
st=input()
stack=[]
for i in st:
if i == '(':
stack.append(i)
#( 일때 append
elif i== ')':
if len(stack)>=1:
stack.pop()
#) 일떄 pop , stack에 뺄게 있을시 len(stack)>=1
else:
# ) 인데 stack의 크기가 0이다 len(stack)==0 그럼 flag=1
flag=1
break
if len(stack)==0 and flag==0:
#정상적으로 종료됬고 flag도 0
print("YES")
elif len(stack)!=0 or flag==1:
#flag가 1이고 stack이 비워있지 않으니 no
print("NO")