AT_abc414_f [ABC414F] Jump Traveling

Description

頂点に $ 1 $ から $ N $ の番号がつけられた $ N $ 頂点の木および整数 $ K $ が与えられます。 $ i $ 番目の辺は頂点 $ u_i $ と頂点 $ v_i $ を双方向に結んでいます。 あなたはいま頂点 $ 1 $ にいます。以下の操作を $ 0 $ 回以上繰り返すことができます。 - あなたが今いる頂点からの距離が $ K $ であるような頂点を一つ選び、その頂点に移動する。ただし、 $ 2 $ 頂点間の距離は $ 2 $ 頂点を結ぶ単純パスに含まれる辺の個数とする。 各 $ k=2,\ldots,N $ に対して、操作を繰り返して頂点 $ k $ に移動することができるかどうか判定し、移動できるならば操作回数の最小値を求めてください。 $ T $ 個のテストケースが与えられるので、それぞれについて解いてください。

Input Format

入力は以下の形式で標準入力から与えられる。ここで、 $ \mathrm{case}_i $ は $ i $ 番目のテストケースを意味する。 > $ T $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_T $ 各テストケースは以下の形式で与えられる。 > $ N $ $ K $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_{N-1} $ $ v_{N-1} $

Output Format

$ T $ 行出力せよ。 $ i $ 行目には $ i $ 番目のテストケースの答えを以下の形式で出力せよ。 > $ \mathrm{ans}_2 $ $ \mathrm{ans}_3 $ $ \ldots $ $ \mathrm{ans}_N $ $ \mathrm{ans}_i $ は $ k=i $ に対する答えである。操作を繰り返して頂点 $ i $ に移動することができるならば操作回数の最小値を、移動することができないならば `-1` とせよ。

Explanation/Hint

### Sample Explanation 1 この入出力例は $ 1 $ つのテストケースからなります。 頂点 $ 1 $ との距離が $ 2 $ である頂点は $ 3,4 $ であるため、この $ 2 $ つの頂点には $ 1 $ 回の操作で移動することができます。 また、頂点 $ 1 $ から頂点 $ 4 $ に移動したのち、頂点 $ 4 $ からの距離が $ 2 $ である頂点 $ 6 $ に移動することで、頂点 $ 6 $ には $ 2 $ 回の操作で移動することができます。 頂点 $ 2,5 $ にはどのように操作しても移動することができません。 ### Constraints - $ 1\leq T\leq 10^5 $ - $ 2\leq N\leq 2\times 10^5 $ - $ 1\leq K\leq 20 $ - $ 1\leq u_i\lt v_i\leq N $ - 与えられるグラフは木 - 全てのテストケースに対する $ N $ の総和は $ 2\times 10^5 $ 以下 - 入力は全て整数