Saturday, July 16, 2022

Partial Virtual Trees

 Kawashiro Nitori is a girl who loves competitive programming. One day she found a rooted tree consisting of 

n vertices. The root is vertex 1. As an advanced problem setter, she quickly thought of a problem.

Kawashiro Nitori has a vertex set U={1,2,,n}. She's going to play a game with the tree and the set. In each operation, she will choose a vertex set T, where T is a partial virtual tree of U, and change U into T.

A vertex set S1 is a partial virtual tree of a vertex set S2, if S1 is a subset of S2S1S2, and for all pairs of vertices i and j in S1LCA(i,j) is in S1, where LCA(x,y) denotes the lowest common ancestor of vertices x and y on the tree. Note that a vertex set can have many different partial virtual trees.

Kawashiro Nitori wants to know for each possible k, if she performs the operation exactly k times, in how many ways she can make U={1} in the end? Two ways are considered different if there exists an integer z (1zk) such that after z operations the sets U are different.

Since the answer could be very large, you need to find it modulo p. It's guaranteed that p is a prime number.

Input

The first line contains two integers n and p (2n2000108+7p109+9). It's guaranteed that p is a prime number.

Each of the next n1 lines contains two integers uivi (1ui,vin), representing an edge between ui and vi.

It is guaranteed that the given edges form a tree.

Output

The only line contains n1 integers — the answer modulo p for k=1,2,,n1.

Examples
input
Copy
4 998244353
1 2
2 3
1 4
output
Copy
1 6 6 
input
Copy
7 100000007
1 2
1 3
2 4
2 5
3 6
3 7
output
Copy
1 47 340 854 880 320 
input
Copy
8 1000000007
1 2
2 3
3 4
4 5
5 6
6 7
7 8
output
Copy
1 126 1806 8400 16800 15120 5040 
Note

In the first test case, when k=1, the only possible way is:

  1. {1,2,3,4}{1}.

When k=2, there are 6 possible ways:

  1. {1,2,3,4}{1,2}{1};
  2. {1,2,3,4}{1,2,3}{1};
  3. {1,2,3,4}{1,2,4}{1};
  4. {1,2,3,4}{1,3}{1};
  5. {1,2,3,4}{1,3,4}{1};
  6. {1,2,3,4}{1,4}{1}.

When k=3, there are 6 possible ways:

  1. {1,2,3,4}{1,2,3}{1,2}{1};
  2. {1,2,3,4}{1,2,3}{1,3}{1};
  3. {1,2,3,4}{1,2,4}{1,2}{1};
  4. {1,2,3,4}{1,2,4}{1,4}{1};
  5. {1,2,3,4}{1,3,4}{1,3}{1};
  6. {1,2,3,4}{1,3,4}{1,4}{1}.

No comments:

Post a Comment

मुझे दिल में बसाना आसान नहीं....

पता है Recently i realised की मुझे दिल में बसाना आसान नहीं है बात-बात पे चिढ़ जाती हूं मैं दिल लगा लूं एक बार तो फिर ज़िद पे अड़...