#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<ctime>
#include<vector>
using namespace std;
struct sus{
    int n,k,pred[20];
};
bool sravni(sus a,sus b){
    if(a.k==b.k) return 0;
     return a.k>b.k?1:0;   
}
int main(){
srand(time(0));
int n,k,sk,q,r;
vector<int> temi;
cin>>n>>k;
for(int i=1;i<=k;++i) temi.push_back(i);
sus s[n];
bool al=0;
for(int i=0;i<n;++i){
    s[i].n=i;
    cin>>sk;
    if(sk==k&&!al){;r=i+1;al=1;}
    s[i].k=sk;
    for(int j=0;j<sk;++j){
        cin>>s[i].pred[j];
    }
}
if(al){cout<<1<<endl<<r<<endl; return 0;}
sort(s,s+n,sravni);
//for(int i=0;i<

int cola=rand()%n+1;
cout<<cola<<endl;
for(int i=0;i<cola-1;++i)
cout<<rand()%n+1<<" ";
cout<<rand()%n+1;
cout<<endl;

return 0;
}
/**
this is a total random code (which I did because I didn't knew what to write) so it's output is totaly random but still I could get some points for total random code and answer! ;( :( :D 
**/