#include<iostream>
#include<algorithm>
using namespace std;
long long n,k,n1[21],a[11][21],i,j,b,c[21],br,d[21],br2,br1,fl,fl1;
int main () {
    long long max;
cin>>n>>k;
max=0;
for(i=1;i<=n;i++) {
 cin>>n1[i];
 for(j=1;j<=n1[i];j++) {
  cin>>a[i][j];
 }
 if(max<n1[i]) {
  max=n1[i];
  b=i;
 }
}

if(max==k) {
cout<<1<<endl;
cout<<b<<endl;
}
else {
 br++;
for(i=1;i<=n1[b];i++) {
 c[a[b][i]]=1;

 d[br]=b;
}
  br2=br2+n1[b];
n1[b]=0;
max=0;
while(br2!=k) {
for(i=1;i<=n;i++) {
 for(j=1;j<=n1[i];j++) {
  if(max<n1[i]) {
  max=n1[i];
  b=i;
 }
 
 }
}

for(i=1;i<=n1[b];i++) {
 if(c[a[b][i]]==0) {
  br1++;
 }
 else {
     fl=1;
     br1=0;
     n1[b]=0;
     max=0;
 break;
 }
}
if(fl==0) {
 for(i=1;i<=n1[b];i++) {
 c[a[b][i]]=1;
 }

  br2=br2+n1[b];
 
      br++;
      
      d[br]=b;
       br1=0;
       n1[b]=0;
     max=0;
 }
 else {
 fl=0;

 }
 
}


cout<<br<<endl;
sort(d+1,d+1+br);
for(i=1;i<=br-1;i++) {
 cout<<d[i]<< " ";
}
cout<<d[br]<<endl;
}
return 0;
}