Студенська черга до їдальні#10167

Студенська черга до їдальні

1 секунда
128 мегабайтів
Легка

В університеті ADA студенти дуже люблять змагання з програмування, тому кожен студент входить в одну (і тільки одну) команду. Але правила різних змагань різні, і не завжди одна команда складається з осіб, як за правилами ACM. У будь-якій команді може бути будь-яка кількість студентів (але звичайно більше ).

Студенти люблять приходити до своєї їдальні, яка знаходиться в корпусі , і проводити вільний час за чашкою кави. Студенти в ADA дуже розумні, не хочуть стояти у стандартній черзі за смачною кавою. Вони вирішили встановити деякі правила, які дотримуються тільки вони.

Коли студент стає в чергу, він спочатку переглядає чергу з початку до кінця, щоб перевірити, чи знаходяться в черзі деякі з його товаришів з команди (студенти з його команди). Якщо так, то він встає у чергу відразу за ними (позаду всіх своїх товаришів по команді). В іншому випадку він стає в кінець черги і стає новим останнім елементом (невдача). Видалення з черги виконується як і у звичайних чергах: студенти обслуговуються з початку до кінця у тому порядку, в якому вони стоять у черзі.

Вам потрібно написати програму, що імітує таку чергу.

Вхідні дані

Перший рядок містить кількість команд t~(1 \le t \le 1000). Кожен із наступних рядків описує одну команду. Перший елемент у рядку — це кількість n~(1 \le n \le 1000) студентів у команді. Далі в рядку записані цілих чисел, що задають ідентифікатори (0 \le ID \le 10^6) учасників однієї команди.

Далі іде список команд. Є два різних типи команд:

  • ENQUEUE x — студент стає в чергу;

  • DEQUEUE — обслуговування першого студента у черзі та вихід з черги.

Вихідні дані

Для кожної команди DEQUEUE виведіть в окремому рядку номер студента, що покидає чергу.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading