당선자는 바로

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

선거가 끝나면 각 후보가 받은 표를 집계하여 당선자를 가려내야 한다. 다만 유권자가 투표용지를 잘못 기표하는 경우가 있으므로 주의해야 하며, 잘못 기표된 투표용지는 무효로 처리해야 한다. 선거의 당선자를 정확히 가려내는 프로그램을 작성하여라.

왜 여러 개의 선거를 한 번에 다룰까? 보통 하나의 투표용지에는 상원의원, 하원의원, 지역구 직책 등 여러 종류의 선출 항목이 함께 들어 있다. 이 문제에서는 그중 어느 한 항목이라도 잘못 기표되면 그 투표용지 전체를 무효로 간주한다.

입력

첫 줄에는 파일에 들어 있는 데이터 집합의 개수 $K$ ($K \ge 1$)가 주어진다. 그 뒤로 아래 형식의 데이터 집합이 $K$개 이어진다.

각 데이터 집합의 첫 줄에는 세 정수 $n$, $r$, $v$가 주어진다. 각각 후보의 수($1 \le n \le 100$), 선거(경선)의 수($1 \le r \le 9$), 유권자의 수($1 \le v \le 10000$)이다. 이어서 $n$개의 줄에 걸쳐 후보 정보가 주어진다. 각 줄은 먼저 그 후보가 출마한 선거 번호를 나타내는 $1$부터 $9$까지의 정수로 시작하고, 공백 한 칸에 이어 후보의 이름이 온다(이름에는 공백이 포함될 수 있다). 각 선거에는 후보가 적어도 한 명 있다.

그다음 $v$개의 줄에는 각 유권자의 투표 내용이 주어진다. 각 줄은 정확히 $n$개의 문자로 이루어지며, 각 문자는 x 또는 #이다. $j$번째 위치의 x는 그 유권자가 $j$번째 후보에게 투표했음을, #는 투표하지 않았음을 뜻한다. 한 유권자가 같은 선거에 속한 후보 중 둘 이상에게 투표했다면 그 투표용지 전체를 무효로 처리한다. 반면 어떤 선거에서 아무 후보에게도 투표하지 않은 것은 괜찮다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. 여기서 x는 데이터 집합의 번호이다. 그다음, 각자의 선거에서 1위를 했거나 1위로 공동 순위에 오른 모든 후보의 이름을 입력에 등장한 순서대로 출력한다.