Дополнен 1 год назад
Мастерская Пина имеет полки, пронумерованные от 1 до n. Когда Пин хочет положить деталь на полку — он всегда выбирает свободную полку с наименьшим номером, чтобы не ходить далеко от рабочего стола. Для удобства Пин нумерует все свои детали целыми числами.
Вам предстоит написать программу, которая будет обрабатывать m событий. Каждое событие может быть либо «Пин положил деталь с номером X», либо «Пин взял с полки деталь с номером X». Для каждого события первого типа требуется определить номер полки, на которую Пин положит деталь.
Обратите внимание, что в мастерской у Пина всегда есть свободные полки, и ситуации, когда все полки заняты, не возникает.
Формат входных данных
В первой строке вводится число m (1 ≤ m ≤ 2* 10^5) — число событий. Далее следуют m строк, описывающих события. Каждая деталь задаётся номером — числом от 1 до 10^5.
Событие «+X» означает, что Пин положил деталь с номером X, событие « −X» — что деталь убрали и полка стала свободной. В нулевой момент времени все полки свободны.
Формат выходных данных
Для каждого события «Пин положил деталь» выведите номер полки, на которую её положили, в том порядке, в котором эти события происходили.