EduBrick

I. Множества

2000 мс · 256 МБ · всё или ничего

Реализуйте структуру, хранящую m+1m + 1 множество чисел, пронумерованных от 00 до mm. Числа лежат в диапазоне от 00 до nn, одно число может принадлежать сразу нескольким множествам. Изначально все множества пусты.

Операции:

  • ADD e s — добавить число ee в множество номер ss;
  • DELETE e s — удалить число ee из множества номер ss; гарантируется, что оно там было;
  • CLEAR s — очистить множество номер ss;
  • LISTSET s — вывести содержимое множества ss в возрастающем порядке, либо −1-1, если оно пусто;
  • LISTSETSOF e — вывести номера множеств, в которых лежит число ee, в возрастающем порядке, либо −1-1, если таких нет.

Обратите внимание на nn: завести массив такого размера нельзя, нужен словарь.

Формат ввода

Первая строка содержит числа nn, mm и kk (1≤n≤10121 \le n \le 10^{12}, 1≤m≤1051 \le m \le 10^5, 0≤k≤1050 \le k \le 10^5) — наибольшее число, номер наибольшего множества и количество запросов.

Следующие kk строк содержат запросы указанного вида.

Формат вывода

На каждый запрос LISTSET и LISTSETSOF выведите строку с числами через пробел или −1-1. На остальные запросы ничего выводить не нужно.

Гарантируется, что правильный вывод не превышает одного мегабайта.

Примеры

ввод
10 10 9
ADD 1 1
ADD 1 2
ADD 2 1
LISTSET 1
LISTSETSOF 1
DELETE 1 1
LISTSET 1
CLEAR 1
LISTSET 1
вывод
1 2
1 2
2
-1
Войдите, чтобы отправлять решения.