#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int s=0,w=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')w=-1;
c=getchar();
}
while(c>='0'&&c<='9')s=(s<<3)+(s<<1)+(c^48),c=getchar();
return s*w;
}
inline void print(int x)
{
if(x<0)x=-x,putchar('-');
if(x>=10)print(x/10);
putchar(x%10+48);
}
int n,m,a[1010][1010],vis[1010],id[1010],cnt[1010],ans=0x3f3f3f3f;
int main()
{
n=read();
m=read();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
a[i][j]=read();
}
}
for(int i=1;i<=n;i++)id[i]=1;
for(int i=1;i<=m;i++)vis[i]=1;
for(int i=1;i<=m+1;i++)
{
memset(cnt,0,sizeof(cnt));
int ma=0,x=0;
for(int i=1;i<=n;i++)
{
cnt[a[i][id[i]]]++;
if(ma<cnt[a[i][id[i]]])
{
ma=cnt[a[i][id[i]]];
x=i;
}
}
ans=min(ans,ma);
vis[a[i][id[i]]]=0;
for(int i=1;i<=n;i++)
{
while(vis[a[i][id[i]]]==0&&id[i]<m)id[i]++;
}
}
print(ans);
}