#include<stdio.h>
#include<string.h>
using namespace std;
struct player
{
char name[40];
int score;
int t;
}p[1001];
int total=0,n,f,k;char plc[40];
int findplayer(char *pl)
{
for(int i=1;i<=total;i++)
if(strcmp(p[i].name,pl)==0)
return i;
return -1;
}
int findmax()
{
int mp=1;
for(int i=2;i<=total;i++)
if((p[mp].score<p[i].score)||((p[mp].score==p[i].score)&&(p[mp].t>p[i].t)))
mp=i;
return mp;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%s",plc);
f=findplayer(plc);
if(f==-1)
{
total++;
strcpy(p[total].name,plc);
scanf("%d",&p[total].score);
p[total].t=i;
}
else
{
scanf("%d",&k);
p[f].score+=k;
p[f].t=i;
}
}
f=findmax();
printf("%s\n",p[f].name);
return 0;
}