#include <iostream>
#include <cstring>
#define SMAX 4005
using namespace std;

short a[SMAX], b[12];

int main ()
{
	short n, k, m = 0;
	bool ok;
	cin >> n;
	cin.get();
	char s[SMAX];
	for (int i = 1; i <= n; ++i){
		cin.getline(s, SMAX);
		k = 0;
		ok = 1;
		for (int j = 0; s[j] != 0; ++j){
			if (s[j] == '('){
				a[++k] = 1;
				//cout << k << " ";
			}
			else
			if (s[j] == '['){
				a[++k] = 2;
			}
			else
			if (s[j] == '{'){
				a[++k] = 3;
			}
			else
			if (s[j] == '|'){
				if (a[k] == 4){
					a[k] = 0;
					--k;
				}
				else {
					a[++k] = 4;
				}
			}
			else
			if (s[j] == ')'){
				if (a[k] == 1){
					a[k] = 0;
					--k;
				}
				else {
					ok = 0;
					break;
				}
			}
			else
			if (s[j] == ']'){
				if (a[k] == 2){
					a[k] = 0;
					--k;
				}
				else {
					ok = 0;
					break;
				}
			}
			else
			if (s[j] == '}'){
				if (a[k] == 3){
					a[k] = 0;
					--k;
				}
				else {
					ok = 0;
					break;
				}
			}
		}
		if (k != 0){
			ok = 0;
		}
		//cout << k << " ";
		if (ok){
			b[++m] = 1;
		}
		else {
			b[++m] = 0;
		}
	}
	for (int i = 1; i <= m; ++i){
		if (b[i]){
			cout << "YES" << '\n';
		}
		else {
			cout << "NO" << '\n';
		}
	}
	
	return 0;
}