import java.util.*; public class Main { public static void main(String[] args) { // 标准输入 Scanner input = new Scanner(System.in); // 整数序列 String I = input.nextLine(); // 规则序列 String R = input.nextLine(); // 将序列分割为字符串数组 String[] arrI = I.split(" "); String[] arrR = R.split(" "); // 定义TreeSet用于对规则序列去重排序 Set<Integer> set = new TreeSet<>(); // 遍历规则序列,逐个加入set for (int i = 1; i < arrR.length; i++) { set.add(Integer.parseInt(arrR[i])); } // 拼接最终结果 StringBuffer res = new StringBuffer(); // 记录结果中元素个数 int size = 0; // 遍历去重排序后的规则序列 for (Integer rule : set) { // 记录满足条件的I的个数 int count = 0; // 记录满足条件的I的索引和I StringBuffer temp = new StringBuffer(); for (int i = 1; i < arrI.length; i++) { if (arrI[i].contains(String.valueOf(rule))) { count++; temp.append(i-1).append(" "); temp.append(arrI[i]).append(" "); } } // count大于0则将temp拼进结果 if (count > 0) { res.append(rule).append(" "); res.append(count).append(" "); res.append(temp); // 更新结果中元素个数 size += 2 * count + 2; } } // 遍历结束 // 输出结果 System.out.println(size + " " + res.toString()); } }