あるトレーニングの後、小猪(シャオジュウ)は2人のチームメイトと1人のコーチ、計4人で食事に行くことにしました。彼らは避風塘(ビーフォントン)レストランを選び、海老餃子、赤米腸、鳩のローストなど、たくさんの点心を注文しました。
彼らは合計で $n$ 品の料理を注文し、$i$ 番目の料理には $a_i$ 個の点心が含まれています。均等に分けるため、点心の総数は必ず 4 の倍数になります。しかし、料理が出てくる速度が遅く、また各料理の点心数が必ずしも 4 の倍数とは限らないため、点心はしばしば数回に分けてテーブルに運ばれます。
料理が運ばれてくるたびに、テーブル上の点心の合計が 4 個以上になると、4 人はそれぞれ点心を 1 個ずつ食べ、残りの点心が 4 個未満になるまでこれを繰り返します。料理が出てくるのが遅いため、新しい点心が運ばれてくるまでの間、テーブル上の点心数は常に 4 未満に保たれます。
しかし、小猪はつまみ食いが大好きです!バレないように、小猪はテーブルの上にちょうど 1 個の点心が残っているときだけ、素早くそれを食べてしまいます。小猪がつまみ食いをすると、みんなはレストランの量が足りないと勘違いして、レストランに苦情を入れてしまいます。あなたは避風塘のマネージャーとして、料理が出てくる速度を速めることはできませんが、各料理が出てくる順番を調整することはできます。
さて、小猪がつまみ食いをする機会がなく、顧客からの苦情を回避できるような料理の提供順序が存在するかどうかを判定してください。
入力
入力は複数のテストケースから構成されます。最初の行に整数 $T$ ($1 \le T \le 10^4$) があり、データセットの数を示します。 各テストケースについて: 最初の行に整数 $n$ ($1 \le n \le 10^5$) があり、注文した料理の数を示します。 続く行に $n$ 個の整数 $a_1, \dots, a_n$ ($1 \le a_i \le 100$) があります。 $\sum_{i=1}^n a_i$ は 4 の倍数であり、$T$ 個のテストケースにおける $n$ の合計は $10^5$ を超えないことが保証されています。
出力
各テストケースについて: どのような順序であっても小猪がつまみ食いをしてしまう場合は、-1 を出力してください。 そうでない場合は、料理の提供順序を表す順列 $p_1, \dots, p_n$ を出力してください。これは、$i$ 番目に $p_i$ 番目の料理を提供することを意味します。 複数の答えが存在する場合は、そのうちのいずれかを出力すればよいです。
入出力例
入力 1
3 4 4 6 3 3 4 1 3 3 1 4 1 1 1 1
出力 1
3 1 4 2 2 3 4 1 -1