정치
면접 대비시간 제한15초메모리 제한256 MB
지지자 이름을 후보 목록 순서대로 출력하고 같은 후보 지지자는 원래 순서를 유지하며 목록에 없는 후보 지지자는 처음 등장 순서대로 끝에 묶어서 출력합니다.
문제
어느 정당의 당원 명부 정리를 돕는다. 정당에는 지지하려는 후보 명단이 있고 당원 명부도 있는데, 당원은 저마다 후보 한 명을 지지한다.
정당은 다음 규칙대로 당원 명부를 정렬해 달라고 한다. 먼저 후보 명단이 정당이 원하는 순서대로 주어진다. 이어서 지지자 명부가 주어지며, 지지자마다 지지하는 후보 한 명이 적혀 있다.
지지자를 자기가 지지하는 후보 순서에 맞춰 배열한다. 같은 후보를 지지하는 사람이 여럿이면 원래 명부에 등장한 순서를 그대로 지킨다. 후보 명단에 없는 이름을 적어 낸 지지자도 있다. 이런 지지자는 모두 뒤로 보내고 후보별로 묶되, 그 후보가 지지자 명부에 처음 나온 순서대로 배치한다. 지지자가 한 명도 없는 후보가 있을 수도 있다. 그런 후보는 나중에 명단에서 빠지겠지만, 그것도 정치다.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 후보 수 ()과 지지자 수 ()이 주어진다. 다음 개 줄에는 후보의 이름이 한 줄에 하나씩 주어진다. 이름은 대문자 알파벳 1자 이상 30자 이하로 이루어진 한 단어이고, 한 테스트 케이스 안에서 후보 명의 이름은 모두 다르다. 그다음 개 줄에는 지지자 정보가 한 줄에 하나씩 주어진다. 각 줄은 공백 하나로 구분된 두 단어로 이루어지며, 두 단어 모두 대문자 알파벳 1자 이상 30자 이하이다. 첫 단어는 지지자의 이름이고 둘째 단어는 그 지지자가 지지하는 후보의 이름이다. 입력의 마지막 줄에는 0이 두 개 주어진다.
출력
각 테스트 케이스마다 지지자의 이름을 요구한 순서대로 한 줄에 하나씩 출력한다. 공백은 출력하지 않고, 테스트 케이스 사이에 빈 줄도 넣지 않는다.