/*
#include <stdio.h>
int main()
{
int i,j,k=0,temp=0,x=0;
int s[5] = {5,4,2,1,3};
for (i=0; i<5; i++)
{
scanf("%d",&s[i]);
}
for (i=0; i<5; i++)
{
printf("%d ",s[i]);
}
printf("\n");
for (i=1; i<5; i++)
{
x=s[i];
for (j=i-1; j>=0; j--)
{
if (x<s[j])
{
s[j+1]=s[j];
}
else
{
break;
}
}
s[j+1]=x;
}
printf("\n==========after\n");
for (i=0; i<5; i++)
{
printf("%d ",s[i]);
}
}
*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, key;
int main() {
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=2; i<=n; i++)
{
key=a[i];
for (j=i-1; (j>=1)&&(key<=a[j]); j--)
{
a[j+1]=a[j];
}
a[j+1]=key;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i,j,n,k=0;
int s[104]={};
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&s[i]);
}
for (i=1; i<n; i++)
{
for (j=0; j<n; j++)
{
if (s[j+1]>s[j])
{
k=s[j];
s[j]=s[j+1];
s[j+1]=k;
}
}
}
for (i=0; i<n; i++)
{
printf("%d ",s[i]);
}
}
*/
/*
#include <stdio.h>
int main()
{
int i,j,n,k=0;
int s[10004];
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%d",&s[i]);
}
for (i=1; i<n; i++)
{
k=s[i];
for (j=i-1; j>=0; j--)
{
if (k<s[j])
{
s[j+1]=s[j];
}
else
{
break;
}
}
s[j+1]=k;
}
for (i=0; i<n; i++)
{
printf("%d\n",s[i]);
}
}
*/
#include <stdio.h>
#include <string.h>
struct std
{
char name[100];
int scr;
int cnt;
};
int main()
{
struct std s[100];
int i,n,j,k=0,max=-100,temp;
char v;
scanf("%d",&n);
for (i=0; i<n; i++)
{
scanf("%s %d",s[i].name,&s[i].scr);
}
for (i=1; i<n; i++)
{
for (j=0; j<n-i; j++)
{
if (s[j].scr<s[j+1].scr)
{
s[j].scr=s[j+1].scr;
strcpy(s[j+1].name,s[j].name);
}
}
}
printf("%s",s[2].name);
}