B. Эпплджек и хранилища
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Этот год в Эквестрии выдался урожайным, и Эпплджек захотела построить новые хранилища для яблок. По советам проектировщиков фермы она решила построить два хранилища ненулевой площади: одно в форме квадрата, другое в форме прямоугольника (который, возможно, тоже является квадратом).

Хранилища Эпплджек будет строить из досок, на каждую сторону хранилища она собирается потратить ровно одну доску. Доски она может заказать в одной фирме у своего приятеля. Изначально на складе фирмы есть $$$n$$$ досок, длины которых Эпплджек известны. Работа фирмы не стоит на месте, она периодически получает заказы и сама заказывает новые доски. Приятель Эпплджек может предоставить ей информацию о всех операциях. Для удобства он будет сообщать информацию в следующем формате:

  • $$$+$$$ $$$x$$$ — на склад поступила доска с длиной $$$x$$$
  • $$$-$$$ $$$x$$$ — со склада отгрузили доску с длиной $$$x$$$ (при этом гарантируется, что на складе были какие-то доски длины $$$x$$$)

Эпплджек пока не определилась, когда она будет заказывать доски, поэтому она хочет после каждого события на складе знать, может ли она заказать доски, чтобы построить прямоугольное и квадратное хранилища. Эпплджек занята сбором яблок, поэтому у нее нет времени на подсчеты, и она попросила вас помочь ей!

Напоминаем, что у квадрата все четыре стороны равны, а у прямоугольника две пары равных сторон.

Входные данные

Первая строка содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — изначальное количество досок на складе фирмы, вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^5$$$) — длины досок.

Третья строка содержит одно целое число $$$q$$$ ($$$1 \le q \le 10^5$$$) — количество событий в фирме. Каждая из следующих $$$q$$$ строк содержит описание событий в данном формате: сначала идет тип события (символ $$$+$$$ или $$$-$$$), а затем число $$$x$$$ ($$$1 \le x \le 10^5$$$).

Выходные данные

После каждого события на фирме выведите «YES», если из досок на складе фирмы можно собрать два хранилища нужной формы, и «NO» иначе (без кавычек). Вы можете выводить каждую букву в любом регистре (строчную или заглавную).

Пример
Входные данные
6
1 1 1 2 1 1
6
+ 2
+ 1
- 1
+ 2
- 1
+ 2
Выходные данные
NO
YES
NO
NO
NO
YES
Примечание

После второго события Эпплджек может построить прямоугольное хранилище из досок с длинами $$$1$$$, $$$2$$$, $$$1$$$, $$$2$$$ и квадратное хранилище из досок с длинами $$$1$$$, $$$1$$$, $$$1$$$, $$$1$$$.

После шестого события Эпплджек может построить прямоугольное хранилище из досок с длинами $$$1$$$, $$$1$$$, $$$1$$$, $$$1$$$ и квадратное хранилище из досок с длинами $$$2$$$, $$$2$$$, $$$2$$$, $$$2$$$.