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);
}
}
}