#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;
}