// 直接把符合要求的数据搞成字符串,最后直接输出

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int num = sc.nextInt();
            String[] array = new String[num];
            for (int i =0; i<num; i++) {
                array[i] = String.valueOf(sc.nextInt());
            }
            int rnum = sc.nextInt();
            Set<Integer> set = new TreeSet<>();
            for (int i =0; i<rnum; i++) {
                set.add(sc.nextInt());
            }

            List<String> lsr = Arrays.asList(array);
            StringBuilder sb = new StringBuilder();
            int count = 0;
            for (int i : set) {
                int j = 0;
                Map<Integer, String> map = new TreeMap<>();
                for (String str : array) {
                    if (str.contains(String.valueOf(i))){
                        map.put(j, str);
                    }
                    j++;
                }
                if (!map.isEmpty()) {
                    if (count > 0) {
                        sb.append(" ");
                    }
                    sb.append(i).append(" ").append(map.size());
                    count+=2;
                    for (Map.Entry<Integer, String> entry : map.entrySet()) {
                        count+=2;
                        sb.append(" ").append(entry.getKey()).append(" ").append(entry.getValue());
                    };
                }
            }
            if (count > 0) {
                StringBuilder sb2 = new StringBuilder();
                sb2.append(count).append(" ").append(sb.toString());
                System.out.println(sb2.toString());
            }
        }
    }
}