#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
int main() {
int n, m, p;
cin >> n >> m >> p;
map<unsigned int, unsigned int> numbers;
vector<unsigned int> list;
// 输入并统计数字出现次数
while (n--) {
int x;
cin >> x;
while (x--) {
unsigned int num;
cin >> num;
numbers[num]++;
}
}
// 将出现次数等于 p 的数字添加到 list 中
for (const auto& pair : numbers) {
if (pair.second == p) {
list.push_back(pair.first);
}
}
// 对 list 进行排序
sort(list.begin(), list.end());
// 输出结果
cout << list.size() << endl; // 输出元素个数
for (const auto& num : list) {
cout << num << " "; // 输出每个数字,后面加空格
}
return 0;
}
unsigned int、long long都试过,应该是k或者p为0的特殊情况,不知道咋写了