#include <bits/stdc++.h>
using namespace std;
int mayor(map<string, int> m) {
  int mayor = 0;
  map<string, int>::iterator it;
  for (it = m.begin(); it != m.end(); ++it)
    if (it->second > mayor) mayor = it->second;
  return mayor;
}
int main() {
  map<string, int> jugadores;
  map<string, int>::iterator it;
  vector<pair<string, int> > jj;
  int input;
  cin >> input;
  string nombre;
  int puntaje;
  for (int i = 0; i < input; i++) {
    cin >> nombre >> puntaje;
    jj.push_back(pair<string, int>(nombre, puntaje));
    it = jugadores.find(nombre);
    if (it != jugadores.end())
      jugadores[nombre] += puntaje;
    else
      jugadores.insert(pair<string, int>(nombre, puntaje));
  }
  int m = mayor(jugadores);
  map<string, int> j;
  for (int i = 0; i < input; i++) {
    it = j.find(jj[i].first);
    if (it != j.end()) j[jj[i].first] += jj[i].second;
    if (it == j.end()) j.insert(jj[i]);
    if (jugadores[jj[i].first] == m && j[jj[i].first] >= m) {
      nombre = jj[i].first;
      break;
    }
  }
  cout << nombre << endl;
}
