import java.util.*;
import java.io.*;

/* Задача "Финал ACM ICPC"
 * Интернет олимпиады для школьников. Сезон 2006 - 2007
 * Автор задачи:  Александр Торопов, toropov@rain.ifmo.ru
 * Автор решения: Максим Буздалов, buzdalov@rain.ifmo.ru
 * 
 * Решение, использующее сбалансированные деревья.
 */

public class final_mb_tree { 
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("final.in"));
        Scanner nums = new Scanner(br.readLine());
        int p = nums.nextInt();
        int n = nums.nextInt();
        int k = nums.nextInt();
        String[] univs = new String[p];
        for (int i = 0; i < p; i++) {
            univs[i] = br.readLine();
        }
        StringTokenizer numbers = new StringTokenizer(br.readLine());
        br.close();

        BufferedWriter bw = new BufferedWriter(new FileWriter("final.out"));

        Map<String, Integer> map = new TreeMap<String, Integer>();

        for (int i = 0, j = 0; i < p && j < n; i++) {
            Integer howMany = map.get(univs[i]);
            if (howMany == null) howMany = 0;
            String num = numbers.nextToken();
            if (howMany < k) {
                howMany++;
                map.put(univs[i], howMany);
                bw.write(univs[i]);
                bw.write(" #");
                bw.write(num);
                bw.newLine();
                j++;
            }
        }
        bw.close();
    }
}