#include #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int Q; std::cin >> Q; std::vector stk; stk.reserve(static_cast(Q + 3)); std::vector collapse_hist; auto collapse_all = [&]() { int k = 0; while (stk.size() >= 3) { const size_t n = stk.size(); if (stk[n - 3] == '(' && stk[n - 2] == '|' && stk[n - 1] == ')') { stk.resize(n - 3); ++k; } else { break; } } return k; }; for (int qi = 0; qi < Q; ++qi) { int ty; std::cin >> ty; if (ty == 1) { char c; std::cin >> c; stk.push_back(c); collapse_hist.push_back(collapse_all()); } else { int k = collapse_hist.back(); collapse_hist.pop_back(); for (int i = 0; i < k; ++i) { stk.push_back('('); stk.push_back('|'); stk.push_back(')'); } stk.pop_back(); } std::cout << (stk.empty() ? "Yes" : "No") << '\n'; } return 0; }