const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

const I = [];
let R = [];

rl.on("line", function (line) {
  // const tokens = line.split(' ');
  // console.log(parseInt(tokens[0]) + parseInt(tokens[1]));
  if (I.length === 0) {
    I.push(...line.split(" "));
  } else {
    R.push(...line.split(" "));
    const ILen = +I.shift();
    R.shift();
    // 对R先进行排序
    R.sort((a, b) => a - b);
    // 对R去重
    const newArrFn = (arr) => {
      // 利用includes 检查新数组是否包含原数组的每一项
      // 如果不包含,就push进去
      let newArr = [];
      for (let i = 0; i < arr.length; i++) {
        newArr.includes(arr[i]) ? newArr : newArr.push(arr[i]);
      }
      return newArr;
    };
    R = newArrFn(R);
    // console.log(R);
    const RLen = R.length;
    let output = [];
    let r = 0;
    // R依次中取出R<i>,对I进行处理
    while (r < RLen) {
      const curR = R[r];
      let i = 0;
      let iContainR = 0;
      let iIndexV = [];
      while (i < ILen) {
        const curI = I[i];
        if (curI.includes(curR)) {
          iContainR++;
          iIndexV.push(i, curI);
        }
        i++;
      }
      if (iContainR > 0) {
        output.push(curR);
        output.push(iContainR);
        output.push(...iIndexV);
      }
      r++;
    }
    let length = output.length;
    output.unshift(length);
    console.log(output.join(" "));
  }
});