
{
TASK:matrix
LANG:PASCAL
}

var
a:array[1..1000,1..1000]of integer;{da promenq!!!}
c:array[1..10,0..10]of integer;
b,q:array[1..10000]of integer;
i,j,k,m,n,l,br,u,h,tek,tek2:longint;
t:text;
alex:boolean;
function da:boolean;
var
i,j:integer;
fl:boolean;
begin
 da:=true;
 for i:=1 to n do
  begin
   fl:=false;
   for j:=1 to n do
    if b[i]=q[j] then
      fl:=true;
   if fl=false then
    begin
    da:=false;
    break;
   end;
  end;
end;
begin

 readln(m,n);
 for i:=1 to m do
  begin
   for j:=1 to n do
    begin
     read(a[i,j]);
    end;
   writeln;
  end;

  br:=0;
  for i:=1 to m-1 do
  begin
    alex:=true;

   for j:=1 to n do
      begin
       tek:=tek+1;
       b[tek]:=a[i,j];
      end;
   for l:=i+1 to m do
    begin
     for h:=1 to n do
         begin
          tek2:=tek2+1;
          q[tek2]:=a[l,h];
         end;
         tek:=0;
         tek2:=0;
      if  da then
        begin
         alex:=false;
         br:=br+1;
         break;
        end;
     end;
  end;
    writeln(m-br);
end.