#include <bits/stdc++.h>
using namespace std;
struct point {
  int x, y, idx;
} p[1000010];
bool sort_cond(const point& p1, const point& p2) {
  if ((p1.x / 1000) == (p2.x / 1000)) {
    if ((p1.x / 1000) % 2 == 0) {
      return p1.y < p2.y;
    } else {
      return p1.y > p2.y;
    }
  }
  return (p1.x / 1000) < (p2.x / 1000);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, i;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> p[i].x >> p[i].y;
    p[i].idx = i + 1;
  }
  sort(p, p + n, sort_cond);
  for (i = 0; i < n; i++) cout << p[i].idx << ' ';
  cout << '\n';
  return 0;
}
