Subtree

题意翻译

给一棵树,对每一个节点染成黑色或白色。 对于每一个节点,求强制把这个节点染成黑色的情况下,所有的黑色节点组成一个联通块的染色方案数,答案对 $M$ 取模。

题目描述

[problemUrl]: https://atcoder.jp/contests/dp/tasks/dp_v $ N $ 頂点の木があります。 頂点には $ 1,\ 2,\ \ldots,\ N $ と番号が振られています。 各 $ i $ ($ 1\ \leq\ i\ \leq\ N\ -\ 1 $) について、$ i $ 番目の辺は頂点 $ x_i $ と $ y_i $ を結んでいます。 太郎君は、各頂点を白または黒で塗ることにしました。 このとき、どの黒い頂点からどの黒い頂点へも、黒い頂点のみを辿って到達できるようにします。 正整数 $ M $ が与えられます。 各 $ v $ ($ 1\ \leq\ v\ \leq\ N $) について、次の質問に答えてください。 - 頂点 $ v $ が黒であるような頂点の色の組合せは何通りか? $ M $ で割った余りを求めよ。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ $ : $ $ x_{N\ -\ 1} $ $ y_{N\ -\ 1} $

输出格式


$ N $ 行出力せよ。 $ v $ ($ 1\ \leq\ v\ \leq\ N $) 行目には、次の質問に対する答えを出力せよ。 - 頂点 $ v $ が黒であるような頂点の色の組合せは何通りか? $ M $ で割った余りを求めよ。

输入输出样例

输入样例 #1

3 100
1 2
2 3

输出样例 #1

3
4
3

输入样例 #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

说明

### 制約 - 入力はすべて整数である。 - $ 1\ \leq\ N\ \leq\ 10^5 $ - $ 2\ \leq\ M\ \leq\ 10^9 $ - $ 1\ \leq\ x_i,\ y_i\ \leq\ N $ - 与えられるグラフは木である。 ### Sample Explanation 1 頂点の色の組合せは次図の $ 7 $ 通りです。 このうち、頂点 $ 1 $ が黒であるようなものは $ 3 $ 通り、頂点 $ 2 $ が黒であるようなものは $ 4 $ 通り、頂点 $ 3 $ が黒であるようなものは $ 3 $ 通りです。 !\[\](https://img.atcoder.jp/dp/subtree\_0\_muffet.png) ### Sample Explanation 4 答えを $ M $ で割った余りを出力することを忘れずに。