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