/*
TASK:matrix
LANG:C++
*/
#include<iostream.h>
int i,j,n,m,br=0,brmax=0;
long int b[10000],a[1000][1000];
void init()
{ cin>>n>>m;
for(i=0;i<n;i++)
  for(j=0;j<m;j++)
    cin>>a[i][j];
}//---------------------
void sorti()
{int ok;
do
{ ok=0;
for(i=0;i<n;i++)
 for(j=0;j<m;j++)
if(a[i][j]>a[i][j+1]) {int x=a[i][j];a[i][j]=a[i][j+1];a[i][j+1]=x;ok=1;}
}while(ok!=0);
}//-------------
int pod()
{ int k=1;
  for(i=0;i<n;i++,k++)
  {br=0;
   for(j=0;j<m;j++)
    if(a[i][j]!=a[k][j]) {br++;}
 }
  if(br>brmax) brmax=br;
 return brmax;
}//------------------------
int main()
{
init();
sorti();
cout<<pod()<<endl;
/*cin.get();
cin.get();*/
return 0;
}
