#include <stdio.h>
int v[1025];
void set(int x[],int l,int v)
{int i;
for(i=1;i<=l;i++)
{if(v==-1)
::v[x[i]]=v;
else
if(::v[x[i]]!=-1)
::v[x[i]]=v;
}
}
int unic(int l)
{int i,j,nr,y,nru=0;
for(i=-1;i<=2;i++)
{nr=0;
for(j=1;j<=l;j++)
if(v[j]==i)
{nr++;
y=j;
if(nr>1)
break;
}
if(nr==1)
nru++;
if(nru>1)
return 0;
}
return nr==1?y:0;
}
int main()
{int j,n,m,i,nr,op,bs[515],bd[515];
FILE *fin=fopen("balanta.in","r");
FILE *fout=fopen("balanta.out","w");
fscanf(fin,"%d %d",&n,&m);
for(i=1;i<=m;i++)
{fscanf(fin,"%d",&nr);
for(j=1;j<=nr;j++)
fscanf(fin,"%d",&bs[j]);
for(j=1;j<=nr;j++)
fscanf(fin,"%d",&bd[j]);
fscanf(fin,"%d",&op);
if(op==0)
{set(bs,nr,-1);
set(bd,nr,-1);
}
if(op==1)
{set(bs,nr,2);
set(bd,nr,1);
}
if(op==2)
{set(bd,nr,2);
set(bs,nr,1);
}
}
fprintf(fout,"%d",unic(n));
fclose(fout);
fclose(fin);
return 0;
}