#include #include #include using namespace std; const int NMAX = 5000; char s[NMAX]; bool rezolva() { stack stiva; char p; int n = strlen(s); for (int i = 0; i < n; i++) { if (s[i] == '(' || s[i] == '[' || s[i] == '{') { stiva.push(s[i]); continue; } p = ' '; if (!stiva.empty()) p = stiva.top(); if (s[i] == ')') { if (p == '(') { stiva.pop(); continue; } return false; } if (s[i] == ']') { if (p == '[') { stiva.pop(); continue; } return false; } if (s[i] == '}') { if (p == '{') { stiva.pop(); continue; } return false; } if (s[i] == '|') { if (p == '|') stiva.pop(); else stiva.push(s[i]); } } if (stiva.size()) return false; return true; } int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> s; if (rezolva()) cout << "YES\n"; else cout << "NO\n"; } int a; cin >> a; return 0; }