atcoder#DPV. Subtree

Subtree

配点 : 100100

問題文

NN 頂点の木があります。 頂点には 1,2,,N1, 2, \ldots, N と番号が振られています。 各 ii (1iN11 \leq i \leq N - 1) について、ii 番目の辺は頂点 xix_iyiy_i を結んでいます。

太郎君は、各頂点を白または黒で塗ることにしました。 このとき、どの黒い頂点からどの黒い頂点へも、黒い頂点のみを辿って到達できるようにします。

正整数 MM が与えられます。 各 vv (1vN1 \leq v \leq N) について、次の質問に答えてください。

  • 頂点 vv が黒であるような頂点の色の組合せは何通りか? MM で割った余りを求めよ。

制約

  • 入力はすべて整数である。
  • 1N1051 \leq N \leq 10^5
  • 2M1092 \leq M \leq 10^9
  • 1xi,yiN1 \leq x_i, y_i \leq N
  • 与えられるグラフは木である。

入力

入力は以下の形式で標準入力から与えられる。

NN MM

x1x_1 y1y_1

x2x_2 y2y_2

::

xN1x_{N - 1} yN1y_{N - 1}

出力

NN 行出力せよ。 vv (1vN1 \leq v \leq N) 行目には、次の質問に対する答えを出力せよ。

  • 頂点 vv が黒であるような頂点の色の組合せは何通りか? MM で割った余りを求めよ。
3 100
1 2
2 3
3
4
3

頂点の色の組合せは次図の 77 通りです。 このうち、頂点 11 が黒であるようなものは 33 通り、頂点 22 が黒であるようなものは 44 通り、頂点 33 が黒であるようなものは 33 通りです。

4 100
1 2
1 3
1 4
8
5
5
5
1 100
1
10 2
8 5
10 8
6 5
1 5
4 8
2 10
3 6
9 2
1 7
0
0
1
1
1
0
1
0
1
1

答えを MM で割った余りを出力することを忘れずに。