// Arhiva de probleme - Balanta
type
vector = array[1..1024] of integer;
var
n, m, i, j, k, t, ig, iu, ng, nu : integer;
a, b, g, u : vector;
f: text;
procedure vINT (var x, y : vector);
var i: integer;
begin
for i := 1 to n do x[i] := x[i] and y[i];
end;
procedure vSCAD (var x, y : vector);
var
i: integer;
begin
for i := 1 to n do x[i] := x[i] and not y[i];
end;
begin
assign (f, 'balanta.in');
reset (f);
readln (f, n, m);
{
fillchar (g, n, 1);
fillchar (u, n, 1);
}
for i :=1 to n do
begin
g[i] := 1;
u[i] := 1;
end;
for i := 1 to m do
begin
fillchar(a, n*sizeof(a[1]), 0);
fillchar(b, n*sizeof(b[1]), 0);
read (f, k);
for j := 1 to k do
begin
read(f, t);
a[t] := 1;
end;
for j := 1 to k do
begin
read(f, t);
b[t] := 1;
end;
readln (f, k);
if (k = 0) then // mase egale
begin
vSCAD (g, a); vSCAD (g,b);
vSCAD (u, a); vSCAD (u,b);
end
else
if (k = 1) then // stanga mai grea
begin
vINT (g, a);
vINT (u, b);
end
else
// if (k = 2) then // dreapta mai grea
begin
vINT (g, b);
vINT (u, a);
end;
end;
close (f);
for i:=1 to n do
begin
if (g[i] = 1) then
begin
inc (ng);
ig := i;
end;
if (u[i] = 1) then
begin
inc (nu);
iu := i;
end;
end;
assign (f, 'balanta.out');
rewrite (f);
if (ng = 1) and (nu = 0) then
writeln (f, ig)
else
if (ng = 0) and (nu = 1) then
writeln (f, iu)
else
writeln (f, 0);
close (f);
end.