#include<stdio.h>
int sus[1050],jos[1050],c[1050],i,j,k,l,m,n,ok,nr1,nr2;
void scadere(){
for(int i=1;i<=2*k;i++)
{if(sus[c[i]]==0)nr1--;
if(jos[c[i]]==0)nr2--;
sus[c[i]]=jos[c[i]]=1; }}
void intersectie(int l1,int l2,int h1,int h2)
{int i;
for(i=l1;i<=l2;i++)
if(sus[c[i]]==sus[sus[0]]){sus[c[i]]=1;nr1--;}
for(i=h1;i<=h2;i++)
if(jos[c[i]]==jos[jos[0]]){jos[c[i]]=1;nr2--;}
}
int main(){
FILE *f=fopen("balanta.in","r");
FILE *g=fopen("balanta.out","w");
fscanf(f,"%d %d",&n,&m);
nr1=nr2=n;
for(i=1;i<=m;i++)
{fscanf(f,"%d",&k);
for(j=1;j<=2*k;j++)
fscanf(f,"%d",&c[j]);
fscanf(f,"%d",&ok);
if(k==1)
{if(ok==0)scadere();
else
if(ok==1)
{if(jos[c[1]]==0&&sus[c[2]]){fprintf(g,"%d",c[1]);
fclose(f);
fclose(g);
return 0;}
else
if(sus[c[2]]==0&&jos[c[1]]){
fprintf(g,"%d",c[2]);
fclose(f);
fclose(g);
return 0;}
else
intersectie(2,2,1,1);}
else
if(ok==2)
{if(sus[c[1]]==0&&jos[c[2]]){fprintf(g,"%d",c[1]);
fclose(f);
fclose(g);
return 0;}
else
if(jos[c[2]]==0&&sus[c[1]]){fprintf(g,"%d",c[2]);
fclose(f);
fclose(g);
return 0;}
else
intersectie(1,1,2,2);
}
}
else
{if(ok==0)
scadere();
else
if(ok==1)
intersectie(k+1,2*k,1,k);
else
intersectie(1,k,k+1,2*k);
}}
if(nr1+nr2>1)fprintf(g,"%d",0);
else
for(i=1;i<=n;i++)
if(sus[i]==0||jos[i]==0)
{ fprintf(g,"%d",i);break;}
fclose(f);
fclose(g);
return 0;}