#include<bits/stdc++.h>
using namespace std;
int n,m,a[305][305];
int cnt[305],vis[305],ans=1e9;
int findmax(){
	memset(cnt,0,sizeof(cnt));
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			if (!vis[a[i][j]]){
				cnt[a[i][j]]++;
				break;
			}
	int mx=0;
	for (int i=1;i<=m;i++)
		if (cnt[i]>cnt[mx]) mx=i;
	ans=min(ans,cnt[mx]);
	return mx;
}
int main(){
	scanf("%d%d",&n,&m);
	for (int i=1;i<=n;i++)
		for (int j=1;j<=m;j++)
			scanf("%d",&a[i][j]);
	for (int i=1;i<=m;i++)
		vis[findmax()]=1;
	printf("%d\n",ans);
}