#include <cstdio>
#include <cstring>
using namespace std;
int r,k,n,m,a[1026],b[1026],f[1026],f1[1026];
void mymemset(){
for(int i = 0; i <= n; ++i)
{ f[i] = f1[i]; f1[i] = 0;}
}
int main()
{
freopen("balanta.in", "r", stdin);
freopen("balanta.out", "w", stdout);
scanf("%d%d", &n, &m);
// presupun ca moneda este mai grea
int NR = 0, t1 = 1;
do{
scanf("%d", &k);
for(int i = 1; i <= k; ++i)
scanf("%d", &a[i]);
for(int i = 1; i <= k; ++i)
scanf("%d", &b[i]);
scanf("%d", &r);
if(r==0){
for(int i = 1; i <= k; ++i)
f[b[i]] = -1;
for(int i = 1; i <= k; ++i)
f[a[i]] = -1;
}
if(r==1){
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[a[i]] == 0)++NR, f[a[i]] = 1;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
if(r==2){
NR=0;
for(int i = 1; i <= k; ++i)
++NR, f[b[i]] = 1;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
++t1;
}while(r == 0 && t1 <= m);
if(t1 > m) {printf("0");return 0;}
for(int t = t1; t <= m; ++t){
scanf("%d", &k);
for(int i = 1; i <= k; ++i)
scanf("%d", &a[i]);
for(int i = 1; i <= k; ++i)
scanf("%d", &b[i]);
scanf("%d", &r);
if(r==0){
for(int i = 1; i <= k; ++i)
if(f[a[i]] == 1)
--NR, f[a[i]] = 0;
for(int i = 1; i <= k; ++i)
if(f[b[i]] == 1)
--NR, f[b[i]] = 0;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
continue ;
}
if(r==1){
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[a[i]] == 1) ++NR, f1[a[i]] = 1;
mymemset();
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
continue ;
}
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[b[i]] == 1) ++NR, f1[b[i]] = 1;
mymemset();
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
freopen("balanta.in", "r", stdin);
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i)
f[i] = 0;
//presupun ca moneda este mai usoara :)
NR = 0; t1 = 0;
do{
scanf("%d", &k);
for(int i = 1; i <= k; ++i)
scanf("%d", &a[i]);
for(int i = 1; i <= k; ++i)
scanf("%d", &b[i]);
scanf("%d", &r);
if(r==0){
for(int i = 1; i <= k; ++i)
f[b[i]] = -1;
for(int i = 1; i <= k; ++i)
f[a[i]] = -1;
}
if(r==2){
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[a[i]]==0)++NR, f[a[i]] = 1;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
if(r==1){
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[b[i]]==0)++NR, f[b[i]] = 1;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
++t1;
}while(r == 0 && t1 <= m);
if(t1 > m) {printf("0");return 0;}
for(int t = t1; t <= m; ++t){
scanf("%d", &k);
for(int i = 1; i <= k; ++i)
scanf("%d", &a[i]);
for(int i = 1; i <= k; ++i)
scanf("%d", &b[i]);
scanf("%d", &r);
if(r==0){
for(int i = 1; i <= k; ++i)
if(f[a[i]] == 1)
--NR, f[a[i]] = 0;
for(int i = 1; i <= k; ++i)
if(f[b[i]] == 1)
--NR, f[b[i]] = 0;
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
continue ;
}
if(r==2){
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[a[i]] == 1) ++NR, f1[a[i]] = 1;
mymemset();
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
continue ;
}
NR = 0;
for(int i = 1; i <= k; ++i)
if(f[b[i]] == 1) ++NR, f1[b[i]] = 1;
mymemset();
if(NR == 1){
for(int i = 1; i <= n; ++i)
if(f[i] == 1)
{printf("%d", i); return 0;}
}
}
return 0;
}