这可能是华为机试题描述最垃圾的一个了。。。坑太多

while True:
    try:
        I = [x for x in input().split()[1:]]
        R = sorted([int(x) for x in set(input().split()[1:]) if x > '0']) # R的序列要求是去除首位,且后续数字大于0,且要按照数字排序
        R = [str(x) for x in R] # 需要R数组从int转换为str,才方便进行比较
        result = []
        for r_index in range(len(R)):
            tmp_list = []
            for i_index in range(len(I)):
                if R[r_index] in I[i_index] and I[i_index] not in tmp_list:#当R元素字符串包含在I元素且tmp_list中没有该字符串时,加入到临时字符串,不然就会出现重复的I元素和其索引
                    tmp_list.append(i_index)
                    tmp_list.append(I[i_index])
            tmp_list.insert(0, len(tmp_list)//2) # 因为index+value到时数组长度乘2了,这个地方需要除2
            tmp_list.insert(0, R[r_index])
            if len(tmp_list) > 2:
                result += tmp_list 
            tmp_list.clear()
        result.insert(0, len(result))
        for num in result:
            print(num,end=' ')
        print()
    except EOFError:
        break