#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
****************************************************************/