HNL

N개 클럽의 승점과 마지막 라운드 경기 일정이 주어질 때, 어떤 결과 조합에서든 우승할 수 있는 클럽을 모두 구한다.

보통5완전 탐색정렬구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

미르코는 축구를 좋아하고, 그중에서도 크로아티아 1부 리그(1. HNL)를 즐겨 본다. 리그에는 클럽이 NN개 있다.

순위는 승점이 많은 클럽이 앞에 오도록 정하고, 승점이 같은 클럽은 이름의 알파벳 순서로 정렬한다.

리그에는 마지막 한 라운드가 남았다. 승점 차이가 작은 클럽이 많아서 미르코는 아직 우승할 가능성이 있는 클럽을 모두 알고 싶어 한다. 미르코를 대신해 답을 구하는 프로그램을 작성하라.

현재 순위표와 마지막 라운드의 대진이 주어진다. 모든 팀은 정확히 한 경기를 치른다. 경기가 무승부로 끝나면 두 팀이 1점씩 얻는다. 그렇지 않으면 이긴 팀이 3점, 진 팀이 0점을 얻는다.

입력

첫째 줄에 리그에 속한 클럽의 수 NN (1N201 \le N \le 20)이 주어진다. NN은 짝수이다.

다음 NN개 줄에는 각각 클럽 이름과 승점이 공백 하나로 구분되어 주어진다. 클럽 이름은 영어 대문자로만 이루어진 한 단어이고, 이름이 같은 클럽은 없다. 승점은 100보다 작은 음이 아닌 정수이다. 클럽은 위에서 설명한 순위 기준에 따라 위에서부터 차례로 주어진다.

다음 N/2N/2개 줄에는 각각 경기 하나가 팀1 - 팀2 형식으로 주어진다. 팀1과 팀2는 그 경기를 치르는 두 클럽의 이름이다. 두 이름 사이의 구분 기호는 앞뒤에 공백이 하나씩 붙은 대시 문자 하나이며, ASCII 하이픈이거나 유니코드 en dash(U+2013)이다.

출력

우승하는 시나리오가 하나라도 있는 클럽의 이름을 모두 출력한다. 한 줄에 하나씩, 알파벳 순서로 출력한다.

힌트

첫 번째 예제에서 DINAMO가 ZADAR를 이기고 MARSONIA와 VINOGRADAR가 비기면, DINAMO는 두 팀과 승점이 같지만 알파벳 순서가 앞서므로 우승한다. MARSONIA와 VINOGRADAR의 경기가 무승부로 끝나지 않으면 그 경기의 승자가 우승한다.

우승할 방법이 전혀 없는 클럽은 ZADAR뿐이다. ZADAR가 DINAMO를 이기고 MARSONIA와 VINOGRADAR가 비기면 ZADAR는 두 팀과 승점이 같아지지만, 알파벳 순서가 뒤이므로 우승하지 못한다.