#include <bits/stdc++.h>
using namespace std;
struct dat {
  int id, price;
  string name;
};
int main(void) {
  list<dat> lst;
  int n, p, min;
  string str;
  auto itr = lst.begin();
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> str >> p;
    dat d;
    d.id = i + 1;
    d.name = str;
    d.price = p;
    for (itr = lst.begin(); itr != lst.end(); ++itr) {
      if ((((*itr).name == str) && ((*itr).price < p)) || ((*itr).name > str)) {
        lst.insert(itr, d);
        break;
      }
    }
    if (itr == lst.end()) {
      lst.insert(itr, d);
    }
  }
  for (itr = lst.begin(); itr != lst.end(); ++itr) {
    cout << (*itr).id << endl;
  }
  return 0;
}
