원 고르기

반지름이 큰 원부터 차례로 골라, 고른 원과 교차하는 모든 남은 원을 제거한다. 각 원이 어느 원에 의해 제거되는지 구한다.

어려움9기하정렬분할 정복시뮬레이션아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

평면 위에 원 c1,c2,,cnc_1, c_2, \dots, c_n이 놓여 있다. 다음 과정을 반복한다.

  1. 반지름이 가장 큰 원 cic_i를 고른다. 반지름이 가장 큰 원이 여럿이면 그중 번호가 가장 작은 원을 고른다.
  2. cic_i와, cic_i에 겹치는 원을 모두 지운다. 두 원에 함께 포함되는 점이 하나라도 있으면 두 원은 겹친다. 어떤 점이 원의 내부에 있거나 원의 경계 위에 있으면 그 점은 그 원에 포함된다.
  3. 원이 하나도 남지 않을 때까지 1번과 2번을 반복한다.

원을 지워 나가는 과정을 그린 그림

cic_i를 지운 회차에서 고른 원이 cjc_j이면 cjc_jcic_i를 제거했다고 한다. 고른 원도 같은 회차에 지워지므로 자기 자신을 제거한 원이 될 수 있다. 각 원을 제거한 원의 번호를 구하라.

입력

첫째 줄에 원의 개수 nn이 주어진다 (1n3×1051 \le n \le 3 \times 10^5).

다음 nn개 줄 중 ii번째 줄에는 원 cic_i의 x좌표, y좌표, 반지름을 나타내는 정수 xix_i, yiy_i, rir_i가 주어진다 (109xi,yi109-10^9 \le x_i, y_i \le 10^9, 1ri1091 \le r_i \le 10^9).

출력

첫째 줄에 정수 a1,a2,,ana_1, a_2, \dots, a_n을 공백으로 구분해 출력한다. aia_icic_i를 제거한 원의 번호다.

힌트

문제의 그림은 첫 번째 예제를 나타낸다.