#include <iostream>
using namespace std;

int main(){
	int m,n;
	cin>>m>>n;
	string str[n+1];
	for(int i=1;i<=n;i++){
		cin>>str[i];
	}
	int a[m+1];//记录投票过程,-1代表淘汰
	while(true){
		for(int i=1;i<=m;i++){
			//重新计票,所有没有被淘汰的票数归零
			if(a[i]!=-1)a[i]=0;
		}
		for(int i=1;i<=n;i++){
			//计票
			string s=str[i];
			for(int j=0;j<s.size();j++){
				char t=s[j]-'0';
				if(t==0){
					//如果为0 说明弃权
					break;
				}else{
					//不为0,则代表要给t投票,如果t没有被淘汰则给它投票
					if(a[t]>=0){
						a[t]=a[t]+1;
						break;
					}
				}
			}
		}
		
		int min=m+1;
		int max=0;
		for(int i=1;i<=m;i++){
			if(a[i]>=0){
				if(min>a[i]) min=a[i];
				if(max<a[i])max=a[i];
			}
		}
		
		if(max>min){
			//最大值比最小值大,需要将所有最小值的淘汰
			for(int i=1;i<=m;i++){
				if(a[i]==min)a[i]=-1;
			}
		}else{
			//最大值和最小值相等说明平票
			int count=0;
			int dx=0;
			for(int i=1;i<=m;i++){			
				if(a[i]==max){
					count++;
					dx=i;
				}
			}
			if(count>1){
				//如果数量多,说明评选失败
				cout<<0-max;
			}else{
				cout<<dx;
			}
			break;
		}
	}
	cin>>m;
}
/**************************************************************
	Problem: 1829
	User: admin
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2076 kb
****************************************************************/