#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<map>
#include<ctime>
#include<set>
#include<queue>
#include<cmath>
#include<vector>
#include<bitset>
#include<functional>
#define x first
#define y second
#define mp make_pair
#define pb push_back
#define REP(i,l,r) for((i)=(l);(i)<=(r);++(i))
#define REP2(i,l,r) for((i)=(l);(i)!=(r);++(i))
using namespace std;
typedef long long LL;
typedef double ld;
int n;
vector< vector<int> > g;
vector<int> solve(vector<int> num)
{
int i,j;
int n=num.size();
if(n==1)
return vector<int>(1,0);
vector<int> in(n,0);
vector<int> ans(n,0);
REP2(i,0,n)
{
int u=num[i];
REP2(j,0,n)
{
if(i==j)
continue;
int v=num[j];
if(g[u][v])
++in[i];
}
}
int s=-1;
REP2(i,0,n)
if(in[i]%2==1)
{
s=i;
break;
}
if(s==-1)
return ans;
vector<int> res;
int top=0;
REP2(j,0,n)
{
if(j==s)
continue;
if(g[num[s]][num[j]]==1)
in[top]=-1;
res.pb(num[j]);
top++;
}
REP2(i,0,n-1)
REP2(j,0,n-1)
if(i!=j && in[i]==-1 && in[j]==-1)
g[res[i]][res[j]]^=1;
vector<int> tmp=solve(res);
REP2(i,0,n-1)
REP2(j,0,n-1)
if(i!=j && in[i]==-1 && in[j]==-1)
g[res[i]][res[j]]^=1;
int sum[2]={0,0};
REP2(i,0,n-1)
if(in[i]==-1)
++sum[ tmp[i] ];
int lab=-1;
REP2(i,0,2)
if(sum[i]%2==0)
lab=i;
ans.clear();
top=0;
REP2(j,0,n)
if(j==s)
ans.pb(lab);
else ans.pb(tmp[top++]);
return ans;
}
int main()
{
int i,j;
scanf("%d",&n);
g=vector< vector<int> >(n, vector<int>(n,0) );
vector<int> num;
REP2(i,0,n)
{
int l;
scanf("%d",&l);
while(l--)
{
scanf("%d",&j);
--j;
g[i][j]=1;
}
num.pb(i);
}
vector<int> ans=solve(num);
int sum=0;
REP2(i,0,(int)ans.size())
if(ans[i])
++sum;
printf("%d\n",sum);
REP2(i,0,(int)ans.size())
if(ans[i])
printf("%d ",i+1);
printf("\n");
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RkbGliPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPGlvc3RyZWFtPgojaW5jbHVkZTxmc3RyZWFtPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPGN0aW1lPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxiaXRzZXQ+CiNpbmNsdWRlPGZ1bmN0aW9uYWw+CiNkZWZpbmUgeCBmaXJzdAojZGVmaW5lIHkgc2Vjb25kCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgUkVQKGksbCxyKSBmb3IoKGkpPShsKTsoaSk8PShyKTsrKyhpKSkKI2RlZmluZSBSRVAyKGksbCxyKSBmb3IoKGkpPShsKTsoaSkhPShyKTsrKyhpKSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIExMOwp0eXBlZGVmIGRvdWJsZSBsZDsKCmludCBuOwp2ZWN0b3I8IHZlY3RvcjxpbnQ+ID4gZzsKCnZlY3RvcjxpbnQ+IHNvbHZlKHZlY3RvcjxpbnQ+IG51bSkKewoJaW50IGksajsKCWludCBuPW51bS5zaXplKCk7CglpZihuPT0xKQoJCXJldHVybiB2ZWN0b3I8aW50PigxLDApOwoJdmVjdG9yPGludD4gaW4obiwwKTsKCXZlY3RvcjxpbnQ+IGFucyhuLDApOwoJUkVQMihpLDAsbikKCXsKCQlpbnQgdT1udW1baV07CgkJUkVQMihqLDAsbikKCQl7CgkJCWlmKGk9PWopCgkJCQljb250aW51ZTsKCQkJaW50IHY9bnVtW2pdOwoJCQlpZihnW3VdW3ZdKQoJCQkJKytpbltpXTsKCQl9Cgl9CglpbnQgcz0tMTsKCVJFUDIoaSwwLG4pCgkJaWYoaW5baV0lMj09MSkKCQl7CgkJCXM9aTsKCQkJYnJlYWs7CgkJfQoJaWYocz09LTEpCgkJcmV0dXJuIGFuczsKCXZlY3RvcjxpbnQ+IHJlczsKCWludCB0b3A9MDsKCVJFUDIoaiwwLG4pCgl7CgkJaWYoaj09cykKCQkJY29udGludWU7CgkJaWYoZ1tudW1bc11dW251bVtqXV09PTEpCgkJCWluW3RvcF09LTE7CgkJcmVzLnBiKG51bVtqXSk7CgkJdG9wKys7Cgl9CglSRVAyKGksMCxuLTEpCgkJUkVQMihqLDAsbi0xKQoJCQlpZihpIT1qICYmIGluW2ldPT0tMSAmJiBpbltqXT09LTEpCgkJCQlnW3Jlc1tpXV1bcmVzW2pdXV49MTsKCXZlY3RvcjxpbnQ+IHRtcD1zb2x2ZShyZXMpOwoJUkVQMihpLDAsbi0xKQoJCVJFUDIoaiwwLG4tMSkKCQkJaWYoaSE9aiAmJiBpbltpXT09LTEgJiYgaW5bal09PS0xKQoJCQkJZ1tyZXNbaV1dW3Jlc1tqXV1ePTE7CglpbnQgc3VtWzJdPXswLDB9OwoJUkVQMihpLDAsbi0xKQoJCWlmKGluW2ldPT0tMSkKCQkJKytzdW1bIHRtcFtpXSBdOwoJaW50IGxhYj0tMTsKCVJFUDIoaSwwLDIpCgkJaWYoc3VtW2ldJTI9PTApCgkJCWxhYj1pOwoJYW5zLmNsZWFyKCk7Cgl0b3A9MDsKCVJFUDIoaiwwLG4pCgkJaWYoaj09cykKCQkJYW5zLnBiKGxhYik7CgkJZWxzZSBhbnMucGIodG1wW3RvcCsrXSk7CglyZXR1cm4gYW5zOwp9CgppbnQgbWFpbigpCnsKCWludCBpLGo7CglzY2FuZigiJWQiLCZuKTsKCWc9dmVjdG9yPCB2ZWN0b3I8aW50PiA+KG4sIHZlY3RvcjxpbnQ+KG4sMCkgKTsKCXZlY3RvcjxpbnQ+IG51bTsKCVJFUDIoaSwwLG4pCgl7CgkJaW50IGw7CgkJc2NhbmYoIiVkIiwmbCk7CgkJd2hpbGUobC0tKQoJCXsKCQkJc2NhbmYoIiVkIiwmaik7CgkJCS0tajsKCQkJZ1tpXVtqXT0xOwoJCX0KCQludW0ucGIoaSk7Cgl9Cgl2ZWN0b3I8aW50PiBhbnM9c29sdmUobnVtKTsKCWludCBzdW09MDsKCVJFUDIoaSwwLChpbnQpYW5zLnNpemUoKSkKCQlpZihhbnNbaV0pCgkJCSsrc3VtOwoJcHJpbnRmKCIlZFxuIixzdW0pOwoJUkVQMihpLDAsKGludClhbnMuc2l6ZSgpKQoJCWlmKGFuc1tpXSkKCQkJcHJpbnRmKCIlZCAiLGkrMSk7CglwcmludGYoIlxuIik7CglyZXR1cm4gMDsKfQ==