'''
2차 평면 위에 N개의 점이 주어졌을 때, 원점에서 가까운 점부터 순서대로 번호를 출력하는 프로그램을 작성해보세요. 거리가 같은 점이 여러 개인 경우, 번호가 작은 점 부터 출력합니다.
단, 여기서의 거리란 멘하턴 거리를 의미합니다. 두 점 (x1, y1), (x2, y2) 사이의 멘하턴 거리는 |x1 - x2| + |y1 - y2|로 정의됩니다.

입력 형식
첫 번째 줄에는 점의 수를 나타내는 N이 주어집니다.
두 번째 줄부터는 N개의 줄에 걸쳐 1번째 점 부터, N번째 점 까지의 위치 (x, y)가 각각 공백을 사이에 두고 주어집니다. (-1,000 ≤ x, y ≤ 1,000)

서로 다른 두 점이 같은 위치에 놓여있는 경우는 없다고 가정해도 좋습니다.
1 ≤ N ≤ 1,000

출력 형식
N개의 줄에 걸쳐 원점에서 가까운 점 부터 순서대로 한 줄에 하나씩 각 점의 번호를 출력합니다. 거리가 같은 점이 여러 개인 경우, 번호가 작은 점부터 먼저 출력합니다.

입출력 예제
예제1
입력:
2
1 5
-3 2

출력: 
2
1

예제2
입력:
4
1 8
3 4
5 5
-7 0

출력: 
2
4
1
3
'''

n = int(input())
arr = [tuple(int(i) for i in input().strip().split()) for j in range(n)]

arr_num = [(x, y, i+1) for i, (x, y) in enumerate(arr)]

arr_num.sort(key = lambda x: (abs(x[0])+abs(x[1])))

for x, y, i in arr_num:
    print(i)