/
実行時間制限: 2.5 sec / メモリ制限: 1024 MiB
配点 : 800 点
うさぎとねこの国では今,4 匹で遊ぶゲームが大流行しています.
問題文
1 個の入力ファイルにつき T 個のテストケースが与えられる.各テストケースで正整数 M, N と整数 A_1, A_2, \ldots, A_M が与えられるので,以下の問に答えよ.
M 匹のうさぎと N 匹のねこがいる.うさぎには 1, 2, \ldots, M と,ねこには 1, 2, \ldots, N と番号がついている.
2 匹のうさぎと 2 匹のねこを選ぶ方法 \binom{M}{2} \binom{N}{2} 通りのそれぞれについて,選ばれた 4 匹でちょうど 1 回ゲームを行い,各ゲームで 4 匹のうち勝者 1 匹を決定した.そして,
- うさぎ i (1 \le i \le M) が勝者となった回数 a_i
- ねこ j (1 \le j \le N) が勝者となった回数 b_j
を記録した.
ゲームの結果によって (a_1, a_2, \ldots, a_M) = (A_1, A_2, \ldots, A_M) となることがありうるか判定し,ありうる場合はその条件下で数列 (b_1, b_2, \ldots, b_N) としてありうるもののうち辞書順で最小のものを求めよ.
制約
- 1 \le T \le 10^5.
- 2 \le M \le 10^6.
- 2 \le N \le 10^6.
- 0 \le A_i \le (M-1) \binom{N}{2} (1 \le i \le M).
- 1 個の入力ファイルにおける M の総和は 10^6 以下.
- 1 個の入力ファイルにおける N の総和は 10^6 以下.
入力
標準入力の 1 行目にテストケースの個数 T が与えられる.その後,T 個のテストケースがそれぞれ以下の形式で与えられる.
M N A_1 A_2 \cdots A_M
出力
各テストケースについて順番に 1 行ずつ,以下のように出力せよ.
(a_1, a_2, \ldots, a_M) = (A_1, A_2, \ldots, A_M) となることがありうる場合, その条件下で数列 (b_1, b_2, \ldots, b_N) としてありうるもののうち辞書順で最小のものを,以下の形式で出力せよ.
b_1 b_2 \cdots b_N
(a_1, a_2, \ldots, a_M) = (A_1, A_2, \ldots, A_M) となることがありえない場合,
-1
と出力せよ.
入力例 1
3 2 3 0 1 4 3 2 1 1 0 4 5 30 30 30 30
出力例 1
0 0 2 0 2 12 -1
1 個目のテストケースにおいて,ゲームの結果が以下のようであったとする:
- 「うさぎ 1,うさぎ 2,ねこ 1,ねこ 2」が選ばれたゲームでは,うさぎ 2 が勝者
- 「うさぎ 1,うさぎ 2,ねこ 1,ねこ 3」が選ばれたゲームでは,ねこ 3 が勝者
- 「うさぎ 1,うさぎ 2,ねこ 2,ねこ 3」が選ばれたゲームでは,ねこ 3 が勝者
このとき,(a_1, a_2) = (0, 1) = (A_1, A_2) となり,(b_1, b_2, b_3) = (0, 0, 2) となる.
一方 (b_1, b_2, b_3) が (0, 0, 2) より辞書順で小さくなることはないので,(0, 0, 2) が答えとなる.