Представьте, что вам нужно подготовить комплект задач для ближайшего соревнования по программированию. Допустим, вы уже определились с задачами, которые вы планируете использовать. Первое, что нужно сделать перед тем, как начать составлять условия, готовить тесты и писать авторские решения, — это придумать для всех задач кодовые имена.
Кодовое имя — строка, однозначно идентифицирующая задачу. Теперь, например, вместо того чтобы говорить «задача про шифровальную решётку», вы можете просто сказать «задача grille».
Порядок задач в комплекте определяется очень просто — задачи располагаются в
лексикографическом порядке их кодовых имён. Однако программный комитет часто хочет получить фиксированный порядок задач: например, поставить самую простую задачу на первое место, чтобы все команды решили её как можно раньше, или сделать «гроб» задачей G. Поэтому приходится подбирать кодовые имена для задач так, чтобы задачи шли в комплекте в нужном порядке. Именно это вам и предстоит сегодня сделать.
К счастью, программный комитет решил вам помочь и предложил для каждой из n задач, которые войдут в комплект, три варианта кодового имени. Вы же должны лишь выбрать для каждой задачи подходящий вариант.
Исходные данные
В первой строке записано число n (1 ≤ n ≤ 16) — количество задач в комплекте. В i-й из следующих n строк через пробел записаны три кодовых имени, подходящих для i-й задачи. В последней строке через пробел записана перестановка чисел от 1 до n — порядок,
в котором задачи должны идти в комплекте. Каждое кодовое имя состоит из строчных латинских букв, а его длина не превосходит 20. Все кодовые имена различны.
Результат
Выведите n строк. В i-й строке выведите кодовое имя задачи, которая
будет идти в комплекте i-й по счёту. Если возможных ответов несколько, выведите любой из них. Если выбрать кодовые имена требуемым образом невозможно, выведите «IMPOSSIBLE».
Примеры
исходные данные | результат |
---|
11
cipher grille kamkohob
names codenames codes
newtests rejudge timus
size volume summit
watchmen braineater twosides
solution random yesorno
keywords subversion commands
bosses shooting shaitan
game strategy playgame
mnemonic palindromes bestname
eligibility rectangle rules
2 1 7 10 9 6 11 3 8 4 5 | codenames
grille
keywords
mnemonic
playgame
random
rectangle
rejudge
shaitan
volume
watchmen |
3
problems in the
first sample are
ordered not randomly
1 2 3 | IMPOSSIBLE
|
Автор задачи: Алексей Самсонов (подготовка — Игорь Чевдарь)
Источник задачи: NEERC 2009, Четвертьфинал Восточного подрегиона