题目描述
整数列 A=(A1, A2, …, AN + K−1) (1 ≤ Ai ≤ N+K−1) に対して、Bi を Ai,Ai+1,…,Ai+K−1 の中の相異なる要素の個数として、列 B=(B1, B2, …, BN) を作ります。
B1, B2, …, BN が与えられます。この列 B を生成し得た列 A が存在するか判定し、存在する場合はそのような列 A を一つ構成してください。
各入力ファイルについて、T 個のテストケースを解いてください。
输入格式
入力は標準入力から以下の形式で与えられる。
T case1 case2 ⋮ caseT
各ケースは以下の形式である。
N K B1 B2 … BN
输出格式
各テストケースについて、題意を満たす列 A が存在しなければ、NO
と出力せよ。
そうでなければ、答えを次の形式で出力せよ。
YES A1 A2 … AN+K−1
ここで、1 ≤ Ai ≤ N+K−1 でなければならず、A は B を生成するものでなければならない。 複数の解が存在する場合は、そのいずれも認められる。
YES
または NO
の出力において、各文字は英大文字・小文字のいずれでもよい。
3
3 3
1 2 1
4 3
1 2 2 1
6 4
3 3 3 3 3 3
NO
YES
1 1 1 2 2 2
YES
1 2 3 1 2 3 1 2 3
提示
制約
- 1 ≤ T ≤ 5 ⋅ 104
- 2 ≤ N ≤ 2 ⋅ 105
- 2 ≤ K ≤ 2 ⋅ 105
- 1 ≤ Bi ≤ K
- 各入力ファイル内の N の総和は 2⋅ 105 を超えない。
- 各入力ファイル内の K の総和は 2⋅ 105 を超えない。
- 入力中のすべての値は整数である。