#include <bits/stdc++.h>
typedef struct {
  int num;
  char name[10];
  int p;
} R;
int main(void) {
  int i, j, N;
  R temp, rest[100];
  scanf("%d", &N);
  for (i = 0; i < N; i++) {
    rest[i].num = i + 1;
    scanf("%s %d", rest[i].name, &rest[i].p);
  }
  for (j = 0; j < N; j++) {
    for (i = 0; i < N - 1; i++) {
      if (strcmp(rest[i].name, rest[i + 1].name) == 0) {
        if (rest[i].p < rest[i + 1].p) {
          temp.num = rest[i].num;
          temp.p = rest[i].p;
          rest[i].num = rest[i + 1].num;
          rest[i].p = rest[i + 1].p;
          rest[i + 1].num = temp.num;
          rest[i + 1].p = temp.p;
        }
      } else if (strcmp(rest[i].name, rest[i + 1].name) > 0) {
        temp.num = rest[i].num;
        strcpy(temp.name, rest[i].name);
        temp.p = rest[i].p;
        rest[i].num = rest[i + 1].num;
        strcpy(rest[i].name, rest[i + 1].name);
        rest[i].p = rest[i + 1].p;
        rest[i + 1].num = temp.num;
        strcpy(rest[i + 1].name, temp.name);
        rest[i + 1].p = temp.p;
      }
    }
  }
  for (i = 0; i < N; i++) printf("%d\n", rest[i].num);
  return 0;
}
