Description
#include <iostream>
#include <cstdio>
#include <stack>
#include <cstring>
using namespace std;
int main()
{
char str[150];
int n, len, flag;
scanf("%d", &n);
getchar();
while (n--)
{
stack<char> s;
gets(str);
flag = 1;
if (str[0] == '\n')
len = 0;
else
{
len = strlen(str);
for (int i = 0; i < len; i++)
{
switch (str[i])
{
case ']':
if (s.empty()) {
flag = 0;
break;
}
if (s.top() == '[')
s.pop();
break;
case ')':
if (s.empty()) {
flag = 0;
break;
}
if (s.top() == '(')
s.pop();
break;
default :
s.push(str[i]);
break;
}
if (0 == flag)
break;
}
}
if ((s.empty() && 1 == flag) || (0 == len))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}