编程题
### 问题描述
小齐的马戏团有 $N$ 头牛,它们正在准备即将上演的精彩表演。这些表演发生在一颗顶点标记为 $1…N$ 的树上。表演的“起始状态”由一个数字 $1≤K≤N$ 和将牛 1 到 $K$ 分配到树的顶点的情况定义,以确保没有两头牛位于同一个顶点。
在一场表演中,牛可以进行任意多次“移动”。在一次移动中,一头牛从当前的顶点移动到一个未被占用的相邻顶点。如果可以通过一系列移动从一个起始状态到达另一个起始状态,则这两个起始状态被称为等价。
对于每个 $1≤K≤N$,帮助小齐的牛确定起始状态的等价类数量:即它们可以选择的最大起始状态数量,使得其中没有两个是等价的。由于这些数字可能非常大,以 $10^9+7$ 为模输出它们的余数。
### 输入格式
第 $1$ 行包含整数 $N$。
接下来的 $2 \leq i \leq N$ 行,每行包含两个整数 $a_i$ 和 $b_i$,表示树中的一条边。
### 输出格式
对于每个 $1 \leq i \leq N$,第 $i$ 行的输出应包含 $K=i$ 时的答案,模 $10^9+7$。
### 样例输入
```
5
1 2
2 3
3 4
3 5
```
### 样例输出
```
1
1
3
24
120
```
### 评测数据规模
$1 \leq N \leq 100$。