//
//  main.cpp
//  prob1_2
//
//  Created by Nasca Sergiu Alin on 14/05/16.
//  Copyright Š 2016 Nasca Sergiu Alin. All rights reserved.
//

#include <iostream>
#include <string.h>
#include <vector>

using namespace std;

char a[5000];

vector<int> b,c;

int main(int argc, const char * argv[])
{
    int n, suma, par, start, stop;
    bool ok;
    
    cin >> n;
    
    for(int k = 1; k <= n; ++k)
    {
        cin >> a;
        b.clear();
        c.clear();
        suma = 0;
        par = 0;
        ok = true;
        
        for(int i = 0; i < strlen(a); ++i)
        {
            if(a[i] == '(')
            {
                b.push_back(1);
                c.push_back(1);
                suma += 1;
            }
            if(a[i] == ')')
            {
                if(c.size() != 0 && c[c.size()-1] != 1)
                {
                    ok = false;
                }
                else suma -= 1;
                b.push_back(-1);
                c.pop_back();
            }
            
            if(a[i] == '[')
            {
                b.push_back(2);
                c.push_back(2);
                suma += 2;
            }
            if(a[i] == ']')
            {
                if(c.size() != 0 && c[c.size()-1] != 2)
                {
                    ok = false;
                }
                else suma -= 2;
                b.push_back(-2);
                c.pop_back();
            }
            
            if(a[i] == '{')
            {
                b.push_back(3);
                c.push_back(3);
                suma += 3;
            }
            if(a[i] == '}')
            {
                if(c.size() != 0 && c[c.size()-1] != 3)
                {
                    ok = false;
                }
                else suma -= 3;
                b.push_back(-3);
                c.pop_back();
            }
            
            if(a[i] == '|')
            {
                b.push_back(0);
                par = par + 1;
            }
            
            if(suma < 0)
            {
                ok = false;
                break;
            }
        }
        
        start = 0;
        stop = b.size()-1;
        
        for(int i = 1; i <= par/2; ++i)
        {
            while(b[start] != 0)
            {
                start++;
            }
            while(b[stop] != 0)
            {
                stop--;
            }
            
            if((start == 0 && stop != 0) || (start != 0 && stop == 0))
            {
                ok = false;
            }
            else
            {
                if(b[start] + b[stop] != 0)
                {
                    ok = false;
                }
            }
        }
        
        if(suma != 0)
        {
            ok = false;
        }
        
        if(ok && par % 2 == 0)
        {
            cout << "YES\n";
        }
        else cout << "NO\n";
    }
    
    return 0;
}