행과 열 (Large)

정렬된 격자의 행과 열 중 하나를 제외한 나머지가 주어질 때, 빠진 목록을 오름차순으로 찾는다.

쉬움3구현해시맵정렬면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

아르고스 병장의 부대가 훈련을 위해 모이면 병사들은 N×NN \times N 정사각형 격자 모양으로 서며, 각 칸에는 병사가 정확히 한 명씩 있다. 병사마다 키가 정해져 있다.

아르고스는 언제나 모든 병사를 지켜봐야 한다고 생각한다. 그는 격자를 왼쪽 위에서 바라보기를 좋아하므로 다음 조건을 요구한다.

  • 격자의 모든 행에서 병사들의 키는 왼쪽에서 오른쪽으로 갈수록 순증가해야 한다.
  • 격자의 모든 열에서 병사들의 키는 위에서 아래로 갈수록 순증가해야 한다.

같은 행이나 같은 열에 있는 두 병사의 키는 같을 수 없지만, 격자 전체에서는 여러 병사의 키가 같을 수 있다.

병사들은 가끔 자신의 행이나 열 단위로 따로 훈련하기 때문에, 아르고스는 병사들의 키를 적은 목록 2N2N개로 이루어진 보고서를 만들라고 지시했다. 각 행마다 목록 하나(왼쪽에서 오른쪽 순서), 각 열마다 목록 하나(위에서 아래 순서)이다. 조사하는 동안 작은 종이밖에 없어서 목록을 하나씩 다른 종이에 적었다. 그런데 사무실로 돌아가는 길에 요란한 나팔 소리에 놀라 종이를 모두 떨어뜨렸고, 줍기 전에 한 장이 바람에 날아가 버렸다! 남은 종이들은 순서가 뒤섞였고, 어느 목록이 행이고 어느 목록이 열인지도 적어 두지 않아서 기억나지 않는다.

불완전한 보고서를 내면 아르고스가 팔굽혀펴기를 수백 번 시킬 것이다. 사라진 목록을 알아내 보자.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 정수 NN이 주어지고, 그다음 2N12N-1개의 줄에 각각 정수 NN개가 주어진다. 이 줄들은 문제에서 설명한 가지고 있는 목록이다. 이 목록들은 문제의 조건을 만족하는 어떤 격자의 행과 열 가운데 정확히 하나를 뺀 나머지 전부임이 보장된다.

제한

  • 1T501 \le T \le 50
  • 2N502 \le N \le 50
  • 모든 키는 11 이상 25002500 이하이다.
  • 각 줄의 정수는 순증가하는 순서로 주어진다.
  • 올바른 답이 유일하게 존재함이 보장된다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 사라진 목록을 나타내는 정수 NN개를 순증가하는 순서로 공백으로 구분해 쓴 것이다.

힌트

예제에서 격자는 다음 둘 중 하나여야 한다.

1 2 3
2 3 4
3 5 6

또는

1 2 3
2 3 5
3 4 6

어느 경우든 사라진 목록은 3 4 6이다.