#include <bits/stdc++.h>
using namespace std;
stack<char>s;
stack<char>v;
string a;
int T,f;
int main () {
cin>>T;
while (T--) {
cin>>a;
if (a.size()%2==1) {
cout<<"No\n";
continue;
}
for (int i=a.size()-1;i>=0;i--) {
s.push(a[i]);
}
while (!s.empty()) {
if (s.top()=='(' || s.top()=='[') {
v.push(s.top());
s.pop();
}
else {
if (!v.empty()) {
if ((v.top()=='('&&s.top()==')') || (v.top()=='['&&s.top()==']')) {
v.pop();
s.pop();
}
else {
f=1;
cout<<"No\n";
break;
}
}
else {
f=1;
cout<<"No\n";
break;
}
}
}
if (v.empty() && f==0) {
cout<<"Yes\n";
}
else if (f==0) {
cout<<"No\n";
}
f=0;
int ls=s.size();
int lv=v.size();
while (ls--) {
s.pop();
}
while (lv--) {
v.pop();
}
}
}