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