# 先输入 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)