シシュポスは、長い農地を耕すよう命じられた。
農地は左から右へ $1$ から $n$ まで番号が振られた $n$ 個の区画に分かれている。最初、すべての区画は雑草に覆われており、シシュポスは区画 $1$ に立っている。彼は区画 $1$ から区画 $n$ まで歩き、その後区画 $1$ に戻る。彼が通過する各区画で雑草を確認し除去するのに $1$ 時間かかる(その区画に実際に雑草があるかどうかは問わない)。2つの区画間の移動にかかる時間は無視できるため、1回の確認ラウンドには $(2n - 1)$ 時間かかる。この間、最初の $(n - 1)$ 個の区画は2回確認され、$n$ 番目の区画は1回だけ確認される。各ラウンドの確認後、彼は何個の区画の雑草を除去したかを報告する必要があり、報告にかかる時間も無視できる。
しかし、農地の下には無限の雑草の種が眠っている。シシュポスが区画 $i$ の雑草を除去してその区画を離れると、雑草は $a_i$ 時間と $1$ 分後に再び生えてくる。具体的には、雑草が再び生えてくるタイミングでシシュポスがちょうどその区画を再確認している場合、新しく生えた雑草も除去される。
カミュは、$1 \le k \le m$ のそれぞれについて、シシュポスが $k$ 回目の確認ラウンドで何個の区画の雑草を除去する必要があるかを知りたがっている。もしシシュポスがその数をすでに知っていれば、彼は幸せになれるだろう。
入力
入力には複数のテストケースが含まれる。入力の最初の行には、テストケースの数を示す整数 $T$ ($1 \le T \le 2 \times 10^3$) が含まれる。各テストケースについて:
最初の行には、区画の数とラウンドの数を示す2つの整数 $n$ と $m$ ($1 \le n, m \le 10^6$) が含まれる。
2行目には、$n$ 個の整数 $a_1, a_2, \dots, a_n$ ($0 \le a_i \le 10^9$) が含まれる。$i$ 番目の区画の雑草は $a_i$ 時間と $1$ 分後に再び生えてくる。
すべてのテストケースにおける $n$ の合計および $m$ の合計は $10^6$ を超えないことが保証されている。
出力
各テストケースについて、$m$ 個の整数をスペース区切りで1行に出力せよ。ここで $i$ 番目の整数は、$i$ 回目の確認ラウンドで何個の区画の雑草が除去されるかを示す。
入出力例
入出力例 1
3 3 3 0 7 1 5 4 6 16 10 5 10 3 3 2 1 20
4 3 4 6 3 4 3 5 3 3
注記
最初のサンプルテストケースを以下に図示する。空の区画は雑草のない区画を示し、斜線の引かれた区画は雑草のある区画(現在除去中の雑草を含む)を示す。$S$ はシシュポス、$t$ は現在の時間(単位:時間)、$cnt$ はこのラウンドで除去された雑草の区画数(現在除去中の雑草を含む)を示す。