#include<bits/stdc++.h>
#define debug(x) cerr<<#x<<"="<<(x)<<endl;
using namespace std;
inline void write(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
write(x/10);
putchar(x%10+'0');
}
inline int read()
{
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int s1[50],s2[50][50],s3[50][50][50];
string s[100005];
int main()
{
ios::sync_with_stdio(false);
int n=read();
for(int i=1;i<=n;++i)
{
cin>>s[i];
if(s[i].size()==1)
++s1[s[i][0]-'a'];
else if(s[i].size()==2)
{
++s2[s[i][0]-'a'][s[i][1]-'a'];
}
else
{
++s3[s[i][0]-'a'][s[i][1]-'a'][s[i][2]-'a'];
}
}
int maxsize=0;
string maxx="";
for(int i=0;i<=26;++i)
{
if(s1[i]>maxsize)
{
maxx=i+'a';
maxsize=s1[i];
}
}
for(int i=0;i<=26;++i)
{
for(int j=0;j<=26;++j)
{
if(s2[i][j]>maxsize)
{
maxx=i+'a';
maxx+=j+'a';
maxsize=s2[i][j];
}
}
}
for(int i=0;i<=26;++i)
{
for(int j=0;j<=26;++j)
{
for(int k=0;k<=26;++k)
{
if(s3[i][j][k]>maxsize)
{
maxx=i+'a';
maxx+=j+'a';
maxx+=k+'a';
maxsize=s3[i][j][k];
}
}
}
}
cout<<maxx<<endl;
return 0;
}