import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;
import java.util.TreeMap;

public class Politics_artur {
  public static void main(String[] args) throws Exception {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

    while (true) {
      StringTokenizer str = new StringTokenizer(in.readLine());
      int n = Integer.parseInt(str.nextToken()), m = Integer.parseInt(str.nextToken());
      if (n == 0 && m == 0)
        break;

      TreeMap<String, Integer> id = new TreeMap<String, Integer>();
      for (int i = 0; i < n; i++)
        id.put(in.readLine(), i);

      String[] supporter = new String[m];
      Integer[] ptr = new Integer[m];
      final int[] vote = new int[m];

      for (int i = 0; i < m; i++) {
        ptr[i] = i;

        str = new StringTokenizer(in.readLine());
        supporter[i] = str.nextToken();

        String candidate = str.nextToken();
        if (!id.containsKey(candidate))
          id.put(candidate, id.size());
        vote[i] = id.get(candidate);
      }

      Arrays.sort(ptr, new Comparator<Integer>() {
        public int compare(Integer s, Integer t) {
          return vote[s] - vote[t];
        }
      });

      for (int i = 0; i < m; i++)
        System.out.println(supporter[ptr[i]]);
    }
  }
}
