#ATagc005f. [AGC005F] Many Easy Problems

[AGC005F] Many Easy Problems

题目描述

高桥君有一天从青木君那里得到了如下问题。

  • 给定一棵有 NN 个顶点的树和一个整数 KK。树的顶点编号为 1,2,,N1,2,\ldots,N,每条边用 (ai,bi)(a_i, b_i) 表示。
  • 对于顶点集合 SS,定义 f(S)f(S) 为包含 SS 的所有顶点的最小连通子树的顶点数。
  • 从树中选择 KK 个顶点的方法有 NCK_N C_K 种。对于每种选择,将选中的顶点集合记为 SS,求所有 f(S)f(S) 的总和。
  • 答案可能很大,请输出对 924844033924844033(素数)取模的结果。

对高桥君来说,这个问题太简单了。因此,他决定对于 K=1,2,,NK=1,2,\ldots,N 的所有情况都解答这个问题。

输入格式

输入通过标准输入给出,格式如下:

NN a1a_1 b1b_1 a2a_2 b2b_2 : aN1a_{N-1} bN1b_{N-1}

输出格式

输出 NN 行。第 ii 行输出 K=iK=i 时问题的答案对 924844033924844033 取模的结果。

样例 1

输入

3
1 2
2 3

输出

3
7
3

样例 2

输入

4
1 2
1 3
1 4

输出

4
15
13
4

样例 3

输入

7
1 2
2 3
2 4
4 5
4 6
6 7

输出

7
67
150
179
122
45
7

说明/提示

限制条件

  • 2N200, ⁣0002 \leq N \leq 200,\!000
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 给定的图为一棵树

样例解释 1

示意图
上图展示了 K=2K=2 的情况。粉色的顶点为选中的顶点,被红色圈出的部分为包含这些顶点的最小连通子树。

由 ChatGPT 4.1 翻译