정치

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

문제

어느 정당의 당원 명부 정리를 돕는다. 정당에는 지지하려는 후보 명단이 있고 당원 명부도 있는데, 당원은 저마다 후보 한 명을 지지한다.

정당은 다음 규칙대로 당원 명부를 정렬해 달라고 한다. 먼저 후보 명단이 정당이 원하는 순서대로 주어진다. 이어서 지지자 명부가 주어지며, 지지자마다 지지하는 후보 한 명이 적혀 있다.

지지자를 자기가 지지하는 후보 순서에 맞춰 배열한다. 같은 후보를 지지하는 사람이 여럿이면 원래 명부에 등장한 순서를 그대로 지킨다. 후보 명단에 없는 이름을 적어 낸 지지자도 있다. 이런 지지자는 모두 뒤로 보내고 후보별로 묶되, 그 후보가 지지자 명부에 처음 나온 순서대로 배치한다. 지지자가 한 명도 없는 후보가 있을 수도 있다. 그런 후보는 나중에 명단에서 빠지겠지만, 그것도 정치다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 후보 수 nn (1n10001 \le n \le 1000)과 지지자 수 mm (1m1000001 \le m \le 100000)이 주어진다. 다음 nn개 줄에는 후보의 이름이 한 줄에 하나씩 주어진다. 이름은 대문자 알파벳 1자 이상 30자 이하로 이루어진 한 단어이고, 한 테스트 케이스 안에서 후보 nn명의 이름은 모두 다르다. 그다음 mm개 줄에는 지지자 정보가 한 줄에 하나씩 주어진다. 각 줄은 공백 하나로 구분된 두 단어로 이루어지며, 두 단어 모두 대문자 알파벳 1자 이상 30자 이하이다. 첫 단어는 지지자의 이름이고 둘째 단어는 그 지지자가 지지하는 후보의 이름이다. 입력의 마지막 줄에는 0이 두 개 주어진다.

출력

각 테스트 케이스마다 지지자의 이름을 요구한 순서대로 한 줄에 하나씩 출력한다. 공백은 출력하지 않고, 테스트 케이스 사이에 빈 줄도 넣지 않는다.