e-olymp
Соревнования

Implementation: Data Structures

Студенческая очередь в столовой

В ADA университете студенты очень любят соревнования по программированию, поэтому каждый студент входит в одну (и только одну) команду. Но правила разных соревнований разные, и не всегда одна команда состоит из 3 человек, как по правилам ACM. В любой команде может быть любое количество студентов (но конечно более 0).

Студенты любят приходить в свою столовую, которая находится в корпусе C, и проводить свободное время за чашкой кофе. Студенты в ADA очень умные, не хотят стоять в стандартной очереди за вкусным кофе. Они решили установить некоторые правила, которым будут следовать только они.

Когда студент становится в очередь, он сначала просматривает очередь с начала до конца, чтобы проверить, находятся ли уже в очереди некоторые из его товарищей по команде (студенты из его же команды). Если да, то он встает в очередь сразу за ними (позади всех своих товарищей по команде). В противном случае он становится в конец очереди и становится новым последним элементом (невезение). Удаление из очереди выполняется как и в обычных очередях: студенты обрабатываются с начала до конца в том же порядке, в котором они стоят в очереди.

Вам следует написать программу, имитирующую такую очередь.

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

Первая строка содержит количество команд t (1t1000). Каждая из следующих t строк описывает одну команду. Первый элемент в строке - это количество n (1n1000) студентов в команде. Далее в строке следуют n целых чисел, задающих идентификаторы (0ID106) учащихся в одной команде.

Далее следует список команд. Имеется два разных типа команд:

  • ENQUEUE x — студент x становится в очередь
  • DEQUEUE — обработка первого студента в очереди и удаление его

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

Для каждой команды DEQUEUE выведите в отдельной строке номер удаляемого студента.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
2
3 1 2 3
3 4 5 6
ENQUEUE 1
ENQUEUE 4
ENQUEUE 2
ENQUEUE 5
ENQUEUE 6
ENQUEUE 3
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
Выходные данные #1
1
2
3
4
5
6
Входные данные #2
2
3 1 2 3
3 4 5 6
ENQUEUE 1
ENQUEUE 4
ENQUEUE 2
DEQUEUE
DEQUEUE
ENQUEUE 5
ENQUEUE 3
ENQUEUE 6
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
Выходные данные #2
1
2
4
5
6
3
Входные данные #3
3
3 11 12 13
3 24 25 26
3 47 48 49
ENQUEUE 11
ENQUEUE 47
ENQUEUE 48
ENQUEUE 12
ENQUEUE 24
ENQUEUE 49
DEQUEUE
DEQUEUE
DEQUEUE
ENQUEUE 13
DEQUEUE
DEQUEUE
DEQUEUE
Выходные данные #3
11
12
47
48
49
24 
Автор Михаил Медведев