P24149 [AtCoder] Tree Patrolling
提高
题目描述

Problem Statement

You have a tree with N vertices, numbered 1 through N. The i-th edge connects Vertex u_i and Vertex v_i.
You will choose some vertices (possibly none) and place a takahashi in each of them to guard the tree. A takahashi placed at Vertex x will guard x itself and the vertices directly connected to x by an edge.
There are 2^N ways to choose vertices for placing takahashi. In how many of them will there be exactly K vertices guarded by one or more takahashi?
Find this count and print it modulo (10^9+7) for each $K=0,1,\ldots,N$.

Input

Input is given from Standard Input in the following format:
N
u_1 v_1
u_2 v_2
$\hspace{0.6cm}\vdots$
u_{N-1} v_{N-1}

Output

Print N+1 lines. The i-th line should contain the answer for K=i-1.

Constraints

  • $1 \leq N \leq 2000$
  • $1 \leq u_i \lt v_i \leq N$
  • The given graph is a tree.
  • All values in input are integers.

Sample Input 1

3
1 3
1 2

Sample Output 1

1
0
2
5

There are eight ways to choose vertices for placing takahashi, as follows:

  • Place a takahashi at no vertices, guarding no vertices.
  • Place a takahashi at Vertex 1, guarding all vertices.
  • Place a takahashi at Vertex 2, guarding Vertices 1 and 2.
  • Place a takahashi at Vertex 3, guarding Vertices 1 and 3.
  • Place a takahashi at Vertices 1 and 2, guarding all vertices.
  • Place a takahashi at Vertices 1 and 3, guarding all vertices.
  • Place a takahashi at Vertices 2 and 3, guarding all vertices.
  • Place a takahashi at all vertices, guarding all vertices.

Sample Input 2

5
1 3
4 5
1 5
2 3

Sample Output 2

1
0
2
5
7
17

Sample Input 3

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

Sample Output 3

1
0
3
8
15
32
68
110
196
266
325

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
3 1 3 1 2
样例输出
1 0 2 5