Міжнародна компанія професійних теслярів (ICPC) є провідною будівельною компанією, відомою своїми експертами-теслярами. Що робить ICPC лідером, так це їхня унікальна мова.
Синтаксис цієї мови визначається контекстно-вільною граматикою (КСГ) наступним чином:
S -> SS | (S) | )S( | ε
Іншими словами, у цій мові права дужка може бути закрита лівою дужкою, а ліва дужка може бути закрита правою дужкою.
Олексій, аспірант, який вивчає лінгвістику, вирішив дослідити мову ICPC. Як перший крок, йому потрібно визначити, чи є текст добре сформованим у цій мові. Він звернувся до вас, талановитого програміста, з проханням створити програму для оцінки.
Запит Олексія полягає в наступному: спочатку у вас є порожній рядок , і ви будуєте довший рядок, вставляючи послідовність '(' або ')' у рядок. Ви отримаєте запитів, кожен з яких складається з трьох елементів (, , ), де - це позиція для вставки, - кількість символів для вставки, а - це або '(' або ')', символ для вставки. Для кожного запиту ваша програма повинна вставити символ, повторений разів, у -ту позицію рядка з початку. Після кожної операції вставки програма повинна вивести "Yes", якщо належить мові, і "No", якщо не належить мові.
Будь ласка, допоможіть Олексію в його дослідженні, інакше він не зможе закінчити коледж.
Перший рядок містить одне ціле число (1 \le q \le 10^5), що вказує на кількість запитів. Далі йдуть рядків, кожен з яких містить три елементи: , , , розділені пробілом (1 \le i \le q, c_i = '(' або ')', 0 \le p_i \le довжина перед -м запитом, 1 \le n \le 2^{20}). Гарантовано, що всі запити у вхідних даних є дійсними.
Для кожного запиту виведіть "Yes", якщо належить мові, і "No", якщо не належить мові.
Приклад 1