var x:array[1..100,1..100] of 0..1; v:array[1..100] of byte; n,k,a,b,min:integer; function valid (k,x:integer):boolean; var i:integer; ok:boolean; begin ok:=true; while (ok) and (i<=k) do begin if v[i]=x then ok:=false; i:=i+1; end; valid:=ok; end; procedure citire; var p,mm,m,i,j,y,max:integer; begin readln(n,k); readln; for i:=1 to n do begin read(j); while not(eoln) do begin read(y); x[j,y]:=1; end; readln; end; p:=1; max:=0; while p<=k do begin m:=1; v[m]:=p; for i:=1 to n do if x[p,i]=1 then if valid(p,i) then begin inc(m); v[m]:=i; end; if m>max then begin max:=m; mm:=p; end; for i:=1 to m do v[i]:=0; p:=p+1; end; writeln(mm); end; begin citire; end.