#include <stdio.h>
#include <math.h>
#define fin "balanta.in"
#define fout "balanta.out"
#define FOR(i,a,b) for( i = (a) ; i <= (b) ; ++i )
int v[1025], st[513],dr[513];
int main()
{
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
int n,m,k,i,j,r;
scanf("%i%i", &n,&m);
FOR(i,1,m)
{
scanf("%i",&k);
FOR(j,1,k)
scanf("%i",&st[j]);
FOR(j,1,k)
scanf("%i",&dr[j]);
scanf("%i",&r);
if(r == 0)
FOR(j,1,k)
{
v[st[j]] = -1;
v[dr[j]] = -1;
}
if(r == 1)
FOR(j,1,k)
{
if( ( v[st[j]] ) && ( v[st[j]] != 1) )
v[st[j]] = -1;
else
v[st[j]] = 1;
if( ( v[dr[j]] ) && ( v[dr[j]] != 2) )
v[dr[j]] = -1;
else
v[dr[j]] = 2;
}
if(r == 2)
FOR(j,1,k)
{
if( ( v[st[j]] ) && ( v[st[j]] != 2) )
v[st[j]] = -1;
else
v[st[j]] = 2;
if( ( v[dr[j]] ) && ( v[dr[j]] != 1) )
v[dr[j]] = -1;
else
v[dr[j]] = 1;
}
}
int fr[4];
fr[0] = 0;
fr[1] = 0;
fr[2] = 0;
FOR(i,1,n)
if(v[i] >= 0)
++fr[v[i]];
if(fr[1] == 1)
FOR(i,1,n)
if(v[i] == 1)
{
printf("%i\n", i);
return 0;
}
if(fr[2] == 1)
FOR(i,1,n)
if(v[i] == 2)
{
printf("%i\n", i);
return 0;
}
if(fr[0] == 1)
FOR(i,1,n)
if(v[i] == 0)
{
printf("%i\n", i);
return 0;
}
printf("0\n");
return 0;
}
//by Crawler