import sys def solve(): input_data = sys.stdin.read().split() if not input_data: return Q = int(input_data[0]) char_S = [''] * (Q + 5) prev_in_stack = [0] * (Q + 5) last_in_stack = [0] * (Q + 5) top_len = [0] * (Q + 5) s_len = 0 idx = 1 out = [] for _ in range(Q): if input_data[idx] == '1': c = input_data[idx+1] idx += 2 s_len += 1 char_S[s_len] = c prev_in_stack[s_len] = last_in_stack[s_len - 1] idx3 = s_len idx2 = prev_in_stack[idx3] idx1 = prev_in_stack[idx2] if idx2 > 0 else 0 if idx2 > 0 and idx1 > 0 and char_S[idx1] == '(' and char_S[idx2] == '|' and char_S[idx3] == ')': last_in_stack[s_len] = prev_in_stack[idx1] top_len[s_len] = top_len[s_len - 1] - 2 else: last_in_stack[s_len] = s_len top_len[s_len] = top_len[s_len - 1] + 1 else: idx += 1 s_len -= 1 if top_len[s_len] == 0: out.append("Yes") else: out.append("No") sys.stdout.write('\n'.join(out) + '\n') if __name__ == '__main__': solve()