//2104 颜色数目最多的气球的颜色
//算法:先将给出的气球颜色输入进数组col[],然后逐个拿出数组col[]中第i个气球与剩下的n-i个比较,
// 总共比较n(n-1)/2次,比较过程中把重复的比较减去,实际比较远少于n(n-1)/2。
#include<iostream>
using namespace std;
struct Color
{
char str[20]; //记录气球颜色
bool flag; //减少重复计算
}col[1000];
int main()
{
int maxpos,curpos;
int curnum,maxnum;
int num;
int i;
for(i=0;i<1000;i++)
col[i].flag=0;
while(cin>>num && num!=0)
{
int count=num;
//循环输入气球颜色
while(count--)
{
cin>>col[num-count-1].str;
}
curpos=maxpos=0;
maxnum=0;
while(curpos<num)
{
int j=curpos+1;
curnum=0;
col[curpos].flag=1;
//对于第curpos个气球,让其与其余num-curpos个比较
while(j<num && col[j].flag==0)
{
if(!strcmp(col[curpos].str , col[j].str))
{
curnum++;
col[j].flag=1;
}
j++;
}
//比较并记录最大的颜色数
if(curnum>maxnum)
{
maxnum=curnum;
maxpos=curpos;
}
curpos++;
//跳过重复的curpos
while(col[curpos].flag==1)
curpos++;
}
cout<<col[maxpos].str<<endl;
}
return 0;
}