전산 고문서학의 저명한 전문가인 천(Chen) 교수는 수년 동안 '비중복(Non-Redundant)' 왕조의 문헌을 연구해 왔습니다. 이 시대의 필경사들은 독특한 미학적 교리를 따랐는데, 텍스트에 '메아리(echo)'가 포함되면 영적인 효력을 잃는다고 믿었습니다.
이 맥락에서 애너그램 메아리(anagrammatic echo)란 순서는 반드시 같지 않더라도 정확히 같은 종류의 기호를 정확히 같은 개수만큼 포함하는 텍스트 내의 서로 다른 두 구간으로 정의됩니다. 기호 수열로 표현된 텍스트에서 서로 다른 두 시작 위치 $x$와 $y$가 존재하여, $x$에서 시작하는 길이 $l$인 부분 배열이 $y$에서 시작하는 길이 $l$인 부분 배열의 순열이 된다면 메아리가 존재합니다. 예를 들어 수열 $[1, 2, 1, 1, 3, 1, 2, 1]$을 생각해 봅시다. 두 번째 위치에서 시작하는 길이 $4$인 구간 $[2, 1, 1, 3]$과 다섯 번째 위치에서 시작하는 길이 $4$인 구간 $[3, 1, 2, 1]$은 애너그램 메아리를 이룹니다.
천 교수는 이러한 두루마리를 여러 개 발굴했지만, 세월이 흐르며 많은 기호가 바래어 빈칸($0$으로 표시됨)으로 남았습니다. 여러분의 임무는 허용된 집합 $\{1, 2, \dots, k\}$의 기호를 사용하여 이 빈칸들을 채워 결과 두루마리의 불협화음 점수(Dissonance Score)를 최소화하는 것입니다. 불협화음 점수는 완성된 수열에 존재하는 애너그램 메아리의 최대 길이 $l$입니다.
입력
입력은 여러 개의 테스트 케이스로 구성됩니다. 첫째 줄에 테스트 케이스의 개수를 나타내는 정수 $T$ ($1 \le T \le 10^4$)가 주어집니다. 각 테스트 케이스에 대하여:
첫째 줄에 두 정수 $n$과 $k$ ($2 \le n \le 2 \times 10^5$, $1 \le k \le n$)가 주어집니다.
둘째 줄에 $n$개의 정수 $a_1, a_2, \dots, a_n$ ($0 \le a_i \le k$)이 주어집니다.
모든 테스트 케이스에서 $n$의 합은 $2 \times 10^5$을 넘지 않음이 보장됩니다.
출력
각 테스트 케이스마다 복원된 수열을 나타내는 $n$개의 정수 $b_1, b_2, \dots, b_n$ ($1 \le b_i \le k$)을 출력합니다. 수열 $b$는 $a_i \neq 0$인 모든 위치에서 $a$와 일치해야 하며, 가능한 최소 불협화음 점수를 달성해야 합니다.
두루마리를 최적으로 복원하는 방법이 여러 가지라면, 그중 아무것이나 출력해도 됩니다.
예제
입력
4 8 3 0 1 0 2 1 3 0 2 3 3 1 0 2 9 7 0 1 1 0 5 0 4 0 7 6 6 0 0 0 0 0 0
출력
1 1 3 2 1 3 2 2 1 3 2 2 1 1 3 5 6 4 4 7 1 2 3 4 5 6