로켓

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

평면 지도 위에 점 nn개씩으로 이루어진 두 집합 RRWW가 있다. RWR \cup W의 어떤 세 점도 한 직선 위에 있지 않다. 지대지 로켓은 RR의 점에 있고, 파괴해야 할 적 목표물은 WW의 점에 있다. 로켓은 직선으로만 날아가고, 로켓 하나가 목표물 하나를 파괴하며 목표물 하나는 로켓 하나에만 맞는다.

두 로켓의 궤적은 서로 교차하면 안 된다. 이 조건을 지키는 배정 중에서 비행 거리의 합 i=1nriwki\sum_{i=1}^{n} |r_i w_{k_i}|이 가장 작은 배정을 구하라. pq|pq|는 두 점 ppqq 사이의 유클리드 거리이고, wkiw_{k_i}는 로켓 rir_i가 파괴하는 목표물이다. n!n!가지 배정 가운데 비행 거리의 합이 최소인 배정은 정확히 하나라고 입력이 보장하므로, 답은 유일하다.

입력

첫째 줄에 RRWW의 크기 nn이 주어진다 (1n2001 \le n \le 200).

다음 2n2n개 줄에는 지도 위 한 점의 좌표 xxyy가 공백 하나를 사이에 두고 주어진다 (10000x,y10000-10000 \le x, y \le 10000). 앞의 nn개 줄은 RR의 점이고, 뒤의 nn개 줄은 WW의 점이다. i+1i+1번째 줄이 rir_i, i+n+1i+n+1번째 줄이 wiw_i를 나타낸다 (1in1 \le i \le n). 2n2n개 점은 모두 서로 다르고, 그중 어떤 세 점도 한 직선 위에 있지 않다.

출력

nn개 줄을 출력한다. ii번째 줄에는 로켓 rir_i가 파괴하는 목표물의 번호 kik_i를 출력한다.