Совсем скоро в Берляндии состоится школьная командная олимпиада по программированию. От каждого из m регионов Берляндии для участия в олимпиаде приглашается команда из двух человек. Для формирования команд было решено провести отборочное соревнование, в котором приняли участие n берляндских школьников, причём от каждого из m регионов в нем участвовали хотя бы два школьника. Результатом каждого из участников отборочного соревнования является целое число баллов от 0 до 800 включительно.
Команда каждого региона формируется из двух таких участников отборочного соревнования от этого региона, что никого из них нельзя заменить школьником того же региона, не вошедшим в команду и набравшим большее число баллов. Может возникнуть ситуация, когда команду какого-либо региона нельзя сформировать однозначно, то есть существует больше одной команды школьников, удовлетворяющих описанному выше свойству. В таком случае в этом регионе требуется провести дополнительное соревнование. Две команды региона считаются различными, если существует хотя бы один школьник, который входит в одну команду и не входит в другую. Гарантируется, что в каждом регионе хотя бы два школьника участвовали в отборе.
Перед вами стоит задача, по результатам отборочного соревнования определить команду от каждого региона или сообщить, что в этом регионе для её формирования потребуется дополнительное соревнование.
Выходные данные
Выведите m строк. В i-й строке выведите команду i-го региона — фамилии двух участников команды в произвольном порядке или единственный символ «?» (без кавычек), если в этом регионе потребуется провести дополнительное соревнование.
Примечание
В первом примере команды от регионов определяются однозначно.
Во втором примере команда от региона 2 определяется однозначно, а от региона 1 подходят три команды: «Petrov»-«Sidorov», «Ivanov»-«Sidorov», «Ivanov»-«Petrov», поэтому однозначно команду определить невозможно.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 2 Ivanov 1 763 Andreev 2 800 Petrov 1 595 Sidorov 1 790 Semenov 2 503
|
Sidorov Ivanov
Andreev Semenov
|
|
2
|
5 2 Ivanov 1 800 Andreev 2 763 Petrov 1 800 Sidorov 1 800 Semenov 2 503
|
?
Andreev Semenov
|