#include <bits/stdc++.h>
using namespace std;
bool isvalid(const string & );//引用传递,无需拷贝

int main() {
    int T;cin>>T;
    while(T-->0){
        string s;cin>>s;
        (isvalid(s))?cout<<"YES":cout<<"NO";
        cout<<endl;
    }
    return 0;
}

bool isvalid(string &s){
    stack<char>st;
    unordered_map<char,int>prior={
        {'{',4},{'[',3},{'(',2},{'<',1},{'}',4},{']',3},{')',2},{'>',1}
    };
    for(auto c:s){
        if(c=='{'||c=='['||c=='('||c=='<'){
            if(st.empty()) st.push(c);
            else{
                if(prior[c]<=prior[st.top()]) st.push(c);
                else return false;
            }
        }
        else{
            if(st.empty()) return false;
            else{
                if(prior[c]==prior[st.top()]) st.pop();
                else return false;
            }
        }
    }
    return st.empty();
}
// 64 位输出请用 printf("%lld")