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