import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()) {
            //根据输入的数据获取I整数序列
            int iLength = scanner.nextInt();
            int[] iArr = new int[iLength];
            for (int i=0; i < iLength; i++) {
                iArr[i] = scanner.nextInt();
            }

            //根据输入的数据获取R规则整数序列
            int rLength = scanner.nextInt();
            Set rSet = new HashSet();
            for (int i=0; i < rLength; i++) {
                rSet.add(scanner.nextInt());
            }

            //对R规则整数序列进行排序:TreeSet/Collections.sort()
            TreeSet orderSet = new TreeSet(rSet);
            orderSet.comparator();

            int outNum = 0;//输出的数据总数量
            String out = "";//输出的字符串
            for (Object object : orderSet) {
                String r = String.valueOf(object);
                int iNum = 0;
                String iStr = "";
                for (int j=0; j < iArr.length; j++) {
                    String i = String.valueOf(iArr[j]);
                    if (i.indexOf(r) > -1) {
                        iNum++;
                        outNum = outNum + 2;
                        iStr = iStr + " " + j + " " + i;
                    }
                }

                if (iNum > 0) {
                    outNum = outNum + 2;
                    out = out + " " + r + " " + iNum + iStr;
                }
            }

            System.out.println(outNum + out);
        }
    }
}