#include <bits/stdc++.h>
using namespace std;

/*
m个品牌,n个评委 
*/
string a[1010];//存储n个评委的评分 
int n,m; 
int r[20];//存储投票过程,-1表示被淘汰 

int main(){
	cin>>m>>n;
	for(int i = 1;i <= n;i++){
		cin>>a[i];
	}
	
	while(1==1){
		//m个品牌每轮都要初始化,把没有被淘汰的得票数清零 
		for(int i = 1;i <= m;i++){
			if(r[i] != -1) r[i] = 0;
		}
		
		for(int i = 1;i <= n;i++){
			//算票
			string t = a[i];
			for(int j = 0;j < t.size();j++){
				char c = t[j] - '0';//获取投了谁
				if(c == 0) break;//弃权
				else{
					//没有被淘汰的计票 
					if(r[c] != -1){
						r[c]++;
						break;
					} 
				} 
			} 
		}
		
		//计算结果:得票最多的和最少的票数 
		int mi = INT_MAX,ma = INT_MIN; 
		for(int i = 1;i <= m;i++){
			if(r[i] != -1){
				mi = min(mi,r[i]);
				ma = max(ma,r[i]);
			}
		} 
		
		if(ma > mi){
			//淘汰所有最小值 
			for(int i = 1;i <= m;i++){
				if(r[i] == mi) r[i] = -1;
			} 
		}else{
			//最后是平票,也就是只有2种情况,要么评选失败
			//要么只剩1个品牌
			int cnt = 0;//有几个品牌是最大值 
			int res = 0; //哪个品牌是最大值
			
			for(int i = 1;i <= m;i++){
				if(r[i] == ma){
					cnt++;
					res = i;
				}
			} 
			
			if(cnt > 1) cout<<0-ma;//评选失败
			else cout<<res;
			break; 
		}
	} 
	return 0;
}

/**************************************************************
	Problem: 1948
	User: admin
	Language: C++
	Result: Accepted
	Time:10 ms
	Memory:2108 kb
****************************************************************/