Недавно в Центре Олимпиадной Подготовки Программистов Берляндского Государственного Университета завершились личные тренировки. По результатам этих тренировок определяются составы команд на предстоящий сезон командных соревнований. Каждая команда состоит из трех человек. Все обучающиеся в Центре имеют номера от 1 до 3n, а все команды — от 1 до n. Распределение по командам происходит следующим образом: пока остались нераспределенные люди, из них выбирается один с самым лучшим итоговым результатом (капитан новой команды), этот человек выбирает себе двоих сокомандников из оставшихся людей в соответствие со своим списком приоритетов. Список приоритетов каждого человека представляет собой перестановку из всех остальных 3n - 1 студентов, занимающихся в центре, исключая его самого.
Вам даны результаты личных тренировок — перестановка чисел от 1 до 3n, где i-ое число — номер студента, занявшего i-ое место. Никакие два студента не делят одно и то же место. Так же Вам заданы составы получившихся команд в том порядке, в каком эти команды были созданы. Ваша задача — определить список приоритетов для студента с номером k. Если возможных списков приоритетов несколько, найдите лексикографически наименьший.
Выходные данные
Выведите 3n - 1 чисел — лексикографически наименьший список приоритетов для студента с номером k.
Лексикографическое сравнение реализует оператор < в современных языках программирования. Список a лексикографически меньше списка b, если существует такое i (1 ≤ i ≤ 3n), что ai < bi, а для любого j (1 ≤ j < i) aj = bj. Учтите, что список 1 9 10 лексикографически меньше чем список 1 10 9. То есть сравнение списков отличается от сравнения строк.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 5 4 1 2 6 3 7 8 9 5 6 2 9 3 4 1 7 8 4
|
2 3 5 6 9 1 7 8
|
|
2
|
3 5 4 1 2 6 3 7 8 9 5 6 2 9 3 4 1 7 8 8
|
1 2 3 4 5 6 7 9
|
|
3
|
2 4 1 3 2 5 6 4 6 5 1 2 3 4
|
5 6 1 2 3
|