#dpv. [dp_v]Subtree

[dp_v]Subtree

問題文

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

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

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

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

制約

  • 入力はすべて整数である。
  • 1leqNleq1051 \\leq N \\leq 10^5
  • 2leqMleq1092 \\leq M \\leq 10^9
  • 1leqxi,yileqN1 \\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 (1leqvleqN1 \\leq v \\leq N) 行目には、次の質問に対する答えを出力せよ。

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

入力例 1

3 100
1 2
2 3

出力例 1

3
4
3

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


入力例 2

4 100
1 2
1 3
1 4

出力例 2

8
5
5
5

入力例 3

1 100

出力例 3

1

入力例 4

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

出力例 4

0
0
1
1
1
0
1
0
1
1

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