# 先输入 I,第一个数为序列的个数
si = list(map(str, input().split()))[1:]
# 在输入 R,第一个数为序列的个数
sr = sorted(set(list(map(int, input().split()))[1:]))
# 先输出R[i],再输出满足条件的I的个数,再输出满足条件的I在I序列中的位置索引
# 最后输出I
num = 0  # 记录输出整数的个数
# R[i] 升序排序,相同的I,只输出小索引的I,无结果的R[i]无输出
res = ''  # 存储最后的结果
for i in sr:  # 遍历sr,进行判断
    num_i = 0  # 记录R[i] 符合记录的个数
    strs_i = ''
    strs_2 = ''
    for j in range(len(si)):
        if str(i) in si[j]:
            num_i += 1
            num += 2
            strs_i += ' ' + str(j) + ' ' + si[j]
    if num_i > 0:
        strs_2 = str(i) + ' ' + str(num_i) + strs_i
        num += 2
    # print(strs_2)
    # print(num_i)
        res = res + ' ' + strs_2
res = str(num)  +  res
print(res)