호주식 투표
시간 제한1초메모리 제한128 MB
여러 차례에 걸쳐 선호 투표를 시뮬레이션한다. 매 라운드마다 최하위 후보를 탈락시키고 그 표를 이전해, 과반을 얻은 후보가 나오거나 동점이 될 때까지 센다.
문제
호주식 투표에서는 각 유권자가 모든 후보를 선호하는 순서대로 순위를 매긴다. 개표는 다음과 같이 라운드로 진행된다.
- 먼저 각 투표용지에서 1순위로 적힌 후보의 표만 센다.
- 어떤 후보가 전체 표의 50%를 초과하여 얻으면, 그 후보가 당선된다.
- 그렇지 않으면, 가장 적은 표를 받은 후보(동점이면 해당하는 모든 후보)를 탈락시킨다. 탈락한 후보에게 갔던 각 투표용지는, 그 용지에서 아직 탈락하지 않은 후보 중 가장 높은 순위의 후보에게 다시 집계된다.
- 한 후보가 50%를 초과하는 표를 얻거나, 남은 모든 후보의 득표수가 같아질(동점) 때까지 이 과정을 반복한다.
입력
첫째 줄에 후보의 수 ()이 주어진다. 다음 개의 줄에는 후보의 이름이 한 줄에 하나씩 주어진다. 이름은 최대 80자이며 공백을 포함한 모든 출력 가능한 문자를 담을 수 있다. 그 뒤로 최대 1000개의 투표용지가 한 줄에 하나씩 주어진다. 각 투표용지에는 부터 까지의 정수가 임의의 순서로 적혀 있으며, 첫 번째 정수가 1순위, 두 번째 정수가 2순위, 이런 식으로 이어진다.
출력
당선자의 이름을 한 줄에 출력한다. 만약 동점으로 끝나면, 동점인 모든 후보의 이름을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.