#include <iostream> #include <string> #include <stack> using namespace std; bool isValid(string s){ stack<char> r; for(int i=0; i<(int)s.size(); i++){ if(s[i] == '[' || s[i] == '(' || s[i]== '{') r.push(s[i]); else if(s[i] == ']'){ if(r.top() == '[') r.pop(); else return false; } else if(s[i] == ')'){ if(r.top() == '(') r.pop(); else return false; } else if(s[i] == '}'){ if(r.top() == '{') r.pop(); else return false; } else{//s[i] == '|' if(!r.empty() && (r.top() == s[i])) r.pop(); else r.push('|'); } } if(!r.empty()){ while(!r.empty()) r.pop(); return false; } return true; } int main(){ string s; int n; cin>>n; getline(cin, s); for(int i=0; i<n; i++){ getline(cin, s); if(isValid(s) == true) cout<<"YES\n"; else cout<<"NO\n"; } return 0; }