База отдыха приглашает на летние каникулы классы школ размещение в прибрежных домиках с видом на море. Всего на базе отдыха $$$N$$$ домиков. Автоматическая система бронирования позволяет производить определенные операции управления размещением в домиках автоматически. Команды системы приведены ниже:
Order $$$Name$$$ $$$M$$$ — забронировать $$$M$$$ домиков для группы детей с названием $$$Name$$$. Гарантируется, что все названия групп уникальны. В ответ на эту команду система выводит номера домиков, которые система забронировала для этой группы детей. При этом система обязана выделить группе школьников как можно ближе расположенные друг к другу свободные домики, а первый из них — это первый свободный на побережье дом. Номера домиков разделены пробелом.
Cancel $$$Name$$$ — отмена заказа для группы детей $$$Name$$$. После этой команды те номера домов, в которых предполагалась проживание группы школьников становятся свободными для бронирования. Гарантируется, что команды на отмену заказов поступают в систему в точно таком же порядке, в котором они поступали для бронирования.
Период бронирования начинается сегодня и все номера домиков свободны. Ожидается подача $$$K$$$ запросов. Система должна работать бесперебойно, обеспечивая быстрые ответы на вводимые команды. В конце работы программы нужно вывести номера всех свободных домиков, которые еще можно предложить школьникам после обработки всех запросов.
В первой строке вводятся целые числа $$$N$$$ и $$$K$$$ — изначальное количество домиков, а также количество запросов ($$$1 \le N, K \le 10^5$$$).
Затем следуют $$$K$$$ строк — сами запросы.
Если сейчас подается запрос первого типа, то вводится Order $$$Name$$$ $$$M$$$, где $$$Name$$$ — название группы детей, а $$$M$$$ — количество домиков, которое надо забронировать. Гарантируется, что на текущий момент свободно хотя бы $$$M$$$ домиков.
Если сейчас подается запрос второго типа, то вводится Cancel $$$Name$$$, где $$$Name$$$ — название группы детей. Гарантируется, что в этот момент отменены заказы для всех групп, для которых они поступили раньше. Также гарантируется, что для этой группы заказ все еще не отменен.
Гарантируется, что сумма длин всех имен не превосходит $$$10^6$$$, а также сумма $$$M$$$ по всем запросам не превышает $$$10^6$$$.
Для каждого запроса первого типа выведите, какие домики будут забронированы для этой группы на момент запроса. Домики выводите в отсортированном порядке.
После всех запросов выведите все домики, которые остались не забронированы, тоже в отсортированном порядке.
5 3 Order dandelion 3 Order pear 1 Cancel dandelion
1 2 3 4 1 2 3 5
Обратите внимание на то, что решения, отправленные на pypy могут работать быстрее, чем решения, отправленные на python.
Также при отправке на python/pypy в этой задаче стоит использовать быстрый ввод. Для этого добавьте в начало кода следующие строчки:
import sys
def input(): return sys.stdin.readline()
| Название |
|---|


