#include using namespace std; #define ll long long #define pb push_back const int N=200050; const int M=1000050; set has[N]; vector ids[M]; int par[N]; int main(){ int n,m; scanf("%i %i",&n,&m); for(int i=1;i<=n;i++){ int sz; scanf("%i",&sz); while(sz--){ int x; scanf("%i",&x); ids[x].pb(i); has[i].insert(x); } } int A=-1,B=-1; for(int i=1;i<=m;i++){ vector work; for(int j:ids[i]){ work.pb(j); } sort(work.begin(),work.end(),[&](int i,int j){return make_pair((int)has[i].size(),i)>make_pair((int)has[j].size(),j);}); for(int j=1;j