import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;

struct res {
  string name;
  int score;
  int index;

  int opCmp(const res s) const {
    if (name == s.name) {
      return score > s.score ? -1 : 1;
    } else {
      return name < s.name ? -1 : 1;
    }
  }
}

void main()
{
  auto n = readln.chomp.to!int;
  auto sp = new res[](n);
  foreach (i; 0..n) {
    auto x = readln.chomp.split;
    sp[i].name = x[0];
    sp[i].score = x[1].to!int;
    sp[i].index = i + 1;
  }

  sp = sort(sp).array;
  
  foreach(i; 0..n) {
    sp[i].index.writeln;
  }
}
