#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<pair<int, int>, int> x, pair<pair<int, int>, int> y) {
  x.first.first /= 1000;
  y.first.first /= 1000;
  if (x.first.first == y.first.first) {
    if (x.first.first % 2 == 0) {
      return (x.first.second < y.first.second);
    } else {
      return (x.first.second > y.first.second);
    }
  }
  return (x.first.first < y.first.first);
}
vector<pair<pair<int, int>, int> > l;
int n;
pair<pair<int, int>, int> p;
int main() {
  ios::sync_with_stdio(false);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> p.first.first >> p.first.second;
    p.second = i;
    l.push_back(p);
  }
  sort(l.begin(), l.end(), cmp);
  for (int i = 0; i < n; i++) {
    cout << l[i].second << " ";
  }
}
