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(" "));
}
});