X자 국경선 (작은 입력)

두 수직선으로 4N개 광산을 N개씩 네 그룹으로 나누고 사전 순으로 가장 작은 분할을 출력합니다.

보통7기하완전 탐색아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

타이론 왕과 네 아들이 카라니아를 정복했다. 아들들은 곧바로 땅을 어떻게 나눌지 다투기 시작했고, 다툼의 핵심은 금광이었다. 누구도 형제보다 금광을 적게 받으려 하지 않았다.

금광은 모두 4N4N개다. 왕은 지도를 펼쳐 큼직한 X자를 하나 긋고, X자가 나라를 자른 네 조각을 아들에게 하나씩 주겠다고 선언했다. 문제는 왕이 선을 그은 지도가 카라니아 지도가 아니었다는 점이다. 재상은 그 지도를 숨기고 진짜 지도 위에 같은 모양의 X자를 다시 그어 아들 넷이 모두 같은 수의 금광을 받게 하려 한다. 네 아들이 왕이 X자를 긋는 장면을 다 보았으므로, 국경선은 서로 수직인 두 직선이어야 한다.

금광 4N4N개의 좌표가 주어진다. 어떤 금광도 국경선 위에 놓이지 않고 네 영역이 각각 금광을 정확히 NN개씩 포함하도록 서로 수직인 두 직선을 그을 수 있는지 판정하라.

조건을 만족하는 직선 쌍은 여러 가지일 수 있고, 서로 다른 두 쌍이 금광을 똑같은 네 묶음으로 자르기도 한다. 그래서 직선이 아니라 분할을 출력한다. 분할은 수열 g1,g2,,g4Ng_1, g_2, \dots, g_{4N}으로 나타내며, gig_i는 입력에 주어진 순서로 ii번째 금광이 속한 묶음의 번호다. 묶음 번호는 수열에서 처음 나타나는 순서대로 1,2,3,41, 2, 3, 4를 붙이므로 g1g_1은 항상 11이다. 가능한 분할이 여럿이면 사전순으로 가장 작은 수열을 출력한다.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 아들 한 명이 받아야 하는 금광의 수 NN이 주어지고, 이어지는 4N4N개 줄에는 금광 하나의 좌표 xix_iyiy_i가 정수 두 개로 주어진다. 금광의 위치는 모두 다르고, 어떤 세 금광도 한 직선 위에 있지 않다.

제한

  • 1T201 \le T \le 20
  • 1N101 \le N \le 10
  • 106xi,yi106-10^6 \le x_i, y_i \le 10^6

출력

각 테스트 케이스마다 Case #x: g_1 g_2 ... g_4N 형식으로 한 줄을 출력한다. xx11부터 시작하는 테스트 케이스 번호이고, 수열의 각 항은 공백 하나로 구분한다. 조건을 만족하는 두 직선이 없으면 수열 대신 Case #x: IMPOSSIBLE을 출력한다.