#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int n, i, j, k, max, m, maxn[20] = { 1 };//元素代表第几个候选人
int length;
char **num;
scanf("%d", &n);
getchar();
num = (char **)malloc(n * sizeof(char));
for (int i = 0; i < n; i++)
num[i] = (char *)malloc(sizeof(char) * 100);
for (int i = 0; i < n; i++)
{
fflush(stdin);
gets(num[i]);
}
//首先筛选位数最多的
length = strlen(num[0]);
for (i = 1, j = 0, k = 0; i < n; i++)
{
if (strlen(num[i]) > strlen(num[j]))
{
for (k = 0; k < i; k++)
maxn[k] = 0;
k = 0;
j = i;
maxn[k] = i + 1;
length = strlen(num[i]);
}
if (strlen(num[i]) == strlen(num[j]))
maxn[i] = i + 1;
}
//再筛选从左往右数字最大的
for (i = 0, max = 0; i < length; i++)//比较第i列的数字
{
for (j = 0; maxn[j] == 0; j++)
max = j + 1;
for (j = max + 1; j < n; j++)//第j行
if (maxn[j] == 0)continue;
else
{
if (num[j][i] > num[max][i])
{
max = j;
for (k = 0; k < j; k++)
maxn[k] = 0;
}
if (num[j][i] < num[max][i])
maxn[j] = 0;
}
for (j = 0, k = 0; j < n; j++)
if (maxn[j] != 0)
{
k++;
m = maxn[j];
}
if (k == 1)
break;
}
printf("%d\n%s", m, num[m-1]);
return 0;
}