#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main()
{
int n;
cin >> n;
char l;
cin.get(l); //считывание конца строки после числа
for(int z=0;z<n;z++){
bool q=1; //переменная "фиксирующая" ошибку
char hab;
string str;
getline(cin,str); //используем, чтобы читать до конца строки
int j=str.size(); //размер строки ( кол-во обрабатываемых символов)
stack<char> res; //стэк скобок
for(int i=0;i<j;i++){
if((str[i]=='(')||(str[i]=='[')) //если открывающая скобка - то кладем в стэк
res.push(str[i]);
else{ //если закрывающая скобка
if(!res.empty()){ //если стэк не пуст
hab=res.top(); //вытаскиваем последний элемент
if(str[i]==')'){ //сверяем на типы скобок
if(hab=='('){
res.pop();
}
else{
q=0;
cout << "No" << endl;
break;
}
}
else{
if(hab=='['){ //второй тип скобок
res.pop();
}
else{
q=0;
cout << "No" << endl;
break;
}
}
}
else{ //если стэк пуст - то ошибочка вышла!
cout << "No" << endl;
q=0;
break;
}
}
}
if(q){
if(res.empty()) //собственно ответ
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxzdHJpbmc+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgY2hhciBsOwogICAgY2luLmdldChsKTsgLy/RgdGH0LjRgtGL0LLQsNC90LjQtSDQutC+0L3RhtCwINGB0YLRgNC+0LrQuCDQv9C+0YHQu9C1INGH0LjRgdC70LAKICAgIGZvcihpbnQgej0wO3o8bjt6KyspewogICAgICAgIGJvb2wgcT0xOyAvL9C/0LXRgNC10LzQtdC90L3QsNGPICLRhNC40LrRgdC40YDRg9GO0YnQsNGPIiDQvtGI0LjQsdC60YMKICAgICAgICBjaGFyIGhhYjsKICAgICAgICBzdHJpbmcgc3RyOwogICAgICAgIGdldGxpbmUoY2luLHN0cik7IC8v0LjRgdC/0L7Qu9GM0LfRg9C10LwsINGH0YLQvtCx0Ysg0YfQuNGC0LDRgtGMINC00L4g0LrQvtC90YbQsCDRgdGC0YDQvtC60LgKICAgICAgICBpbnQgaj1zdHIuc2l6ZSgpOyAvL9GA0LDQt9C80LXRgCDRgdGC0YDQvtC60LggKCDQutC+0Lst0LLQviDQvtCx0YDQsNCx0LDRgtGL0LLQsNC10LzRi9GFINGB0LjQvNCy0L7Qu9C+0LIpCiAgICAgICAgc3RhY2s8Y2hhcj4gcmVzOyAvL9GB0YLRjdC6INGB0LrQvtCx0L7QugogICAgICAgIGZvcihpbnQgaT0wO2k8ajtpKyspewogICAgICAgICAgICBpZigoc3RyW2ldPT0nKCcpfHwoc3RyW2ldPT0nWycpKSAvL9C10YHQu9C4INC+0YLQutGA0YvQstCw0Y7RidCw0Y8g0YHQutC+0LHQutCwIC0g0YLQviDQutC70LDQtNC10Lwg0LIg0YHRgtGN0LoKICAgICAgICAgICAgICAgIHJlcy5wdXNoKHN0cltpXSk7CiAgICAgICAgICAgIGVsc2V7IC8v0LXRgdC70Lgg0LfQsNC60YDRi9Cy0LDRjtGJ0LDRjyDRgdC60L7QsdC60LAKICAgICAgICAgICAgICAgICAgICBpZighcmVzLmVtcHR5KCkpeyAvL9C10YHQu9C4INGB0YLRjdC6INC90LUg0L/Rg9GB0YIKICAgICAgICAgICAgICAgICAgICAgICAgaGFiPXJlcy50b3AoKTsgLy/QstGL0YLQsNGB0LrQuNCy0LDQtdC8INC/0L7RgdC70LXQtNC90LjQuSDRjdC70LXQvNC10L3RggogICAgICAgICAgICAgICAgICAgICAgICBpZihzdHJbaV09PScpJyl7IC8v0YHQstC10YDRj9C10Lwg0L3QsCDRgtC40L/RiyDRgdC60L7QsdC+0LoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGhhYj09JygnKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMucG9wKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHE9MDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3V0IDw8ICJObyIgPDwgZW5kbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGhhYj09J1snKXsgLy/QstGC0L7RgNC+0Lkg0YLQuNC/INGB0LrQvtCx0L7QugogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcT0wOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIk5vIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGVsc2V7IC8v0LXRgdC70Lgg0YHRgtGN0Log0L/Rg9GB0YIgIC0g0YLQviDQvtGI0LjQsdC+0YfQutCwINCy0YvRiNC70LAhCiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIk5vIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgICAgICAgICBxPTA7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQogICAgICAgIGlmKHEpewogICAgICAgIGlmKHJlcy5lbXB0eSgpKSAvL9GB0L7QsdGB0YLQstC10L3QvdC+INC+0YLQstC10YIKICAgICAgICAgICAgY291dCA8PCAiWWVzIiA8PCBlbmRsOwogICAgICAgIGVsc2UKICAgICAgICAgICAgY291dCA8PCAiTm8iIDw8IGVuZGw7CiAgICAgICAgfQoKICAgIH0KICAgIHJldHVybiAwOwp9