import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.TreeSet;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int nI = sc.nextInt();
        String[] I = new String[nI];//写String是为了比较包含时,使用I[i].contains(String.valueOf(item)
        for (int i = 0; i < nI; i++) {
            I[i] = String.valueOf(sc.nextInt());
        }
        int nR = sc.nextInt();
        //使用TreeSet进行排序和去除重复值。
        TreeSet<Integer> R = new TreeSet<>();
        for (int i = 0; i < nR; i++) {
            R.add(sc.nextInt());
        }
        List<Integer> I_list = new ArrayList<>();
        List<Integer> R_list = new ArrayList<>();
        for (int item : R) {
            int count = 0;
            for (int i = 0; i < nI; i++) {
                if(I[i].contains(String.valueOf(item))){
                    count++;
                    I_list.add(i);//加入索引
                    I_list.add(Integer.valueOf(I[i]));//加入值。
                }
            }
            if (count>0){//说明R<i>对应的数字在I整数中有对应值。
                R_list.add(item);//R<i>对应的数字
                R_list.add(count);//R<i>对应的数字在I整数中有对应值 的个数
                R_list.addAll(I_list);//所有 R<i>对应的数字在I整数中有 对应值
            }
            I_list.clear();//很重要,要清零,才能进行下一个R<i>对应的数字在I整数中有没有对应值。
        }
	  //最后需要在输出序列的第一个整数位置记录后续整数序列的个数(不包含“个数”本身)
	   System.out.print(R_list.size()+" ");
        for (Integer i : R_list) {
            System.out.print(i + " ");
        }
    }
}