주어진 N×N 행렬에서 서로 다른 값의 개수가 가장 적은 M×M 부분 행렬을 찾으세요. 서로 다른 값의 개수가 같은 부분 행렬이 여러 개라면 다음 규칙으로 우선순위를 정합니다.
행렬의 인덱스는 1부터 시작합니다.
예를 들어 다음 4×4 행렬을 생각해 봅시다.
3 9 9 9
3 9 9 2
3 9 9 2
2 5 5 2
가능한 3×3 부분 행렬은 네 개입니다.
S1 (왼쪽 위 1, 1) — 서로 다른 값 {9, 3}
3 9 9
3 9 9
3 9 9
S2 (왼쪽 위 1, 2) — 서로 다른 값 {9, 2}
9 9 9
9 9 2
9 9 2
S3 (왼쪽 위 2, 1) — 서로 다른 값 {9, 5, 3, 2}
3 9 9
3 9 9
2 5 5
S4 (왼쪽 위 2, 2) — 서로 다른 값 {9, 5, 2}
9 9 2
9 9 2
5 5 2
S1과 S2는 서로 다른 값이 2개로 S4(3개)나 S3(4개)보다 적습니다. S1의 목록 (9, 3)과 S2의 목록 (9, 2)를 비교하면 첫 번째 값은 같고 두 번째 값에서 S1이 더 크므로 S1이 S2보다 앞섭니다. 전체 순위는 S1, S2, S4, S3이며, 따라서 선택되는 부분 행렬은 S1입니다.
입력은 하나 이상의 테스트 케이스로 이루어지며 파일 끝까지 계속됩니다. 각 테스트 케이스의 첫 줄에는 두 정수 N (1≤N≤10, 행렬의 크기)과 M (1≤M≤N, 선택할 부분 행렬의 크기)이 주어집니다. 이어지는 N개의 줄에는 각각 공백으로 구분된 N개의 정수가 주어져 행렬을 나타냅니다. 행렬의 각 원소는 0 이상 9 이하의 정수입니다.
각 테스트 케이스마다 선택된 부분 행렬의 왼쪽 위 인덱스(행과 열)를 공백 하나로 구분하여 한 줄에 출력합니다.