#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
// 高精度
typedef struct
{
int rank;
char num[110];
int length;
}
people;
people s[30];
int Max_length;
int which_max_length;
int cnt = -1;
int main()
{
int n;
scanf("%d", &n);
getchar();
for (int i = 0; i < n; i++)
{
s[i].rank = i + 1;
fgets(s[i].num, 110, stdin);
s[i].length = strlen(s[i].num);
}
Max_length = s[0].length;
which_max_length = 0;
for (int i = 1; i < n; i++)
{
if (s[i].length > Max_length)
{
Max_length = s[i].length;
which_max_length = i;
}else if (s[i].length == Max_length)
{
for (int j = 0; j < Max_length; j++)
{
if (s[i].num[j] > s[which_max_length].num[j])
{
which_max_length = i;
break;
}else if (s[i].num[j] < s[which_max_length].num[j])
{
break;
}
}
}
}
printf("%d\n%s\n",s[which_max_length].rank, s[which_max_length].num);
return 0;
}
// Writen by Mostly_Hamrless
rank那里,如果+1,可以过样例,但会爆0;如果不+1,样例过不去,但是能80,#5过不去,很神奇,感觉思路是正确的啊