「Cfz Round 2」Max of Distance

题目描述

给定一棵包含 $n$ 个结点的树 $G$ 和一个整数 $E$。 你需要构造树 $G$ 中每条边的整数边权 $w_i$,满足: - $1 \le w_i \le 10^9$; - 均匀随机选择一个结点 $u$,$\max\limits_{v=1}^n\operatorname{dis}(u,v)$ 的期望对 $998244353$ 取模的值等于 $E$; 或报告无解。 其中,$\operatorname{dis}(u,v)$ 表示结点 $u,v$ 之间简单路径上的边权和。 如果你不知道如何计算期望对 $998244353$ 取模的结果,请移步 [P2613 【模板】有理数取余](https://www.luogu.com.cn/problem/P2613)。

输入输出格式

输入格式


第一行输入一个整数 $n$。 接下来 $n-1$ 行,每行输入两个正整数 $u_i,v_i$,表示树 $G$ 中结点 $u_i,v_i$ 之间存在一条边 $(u_i,v_i)$。 接下来一行,输入一个整数 $E$。

输出格式


输出一行或 $n-1$ 行: - 若有解,则输出 $n-1$ 行,每行输出一个整数 $w_i$,表示你构造的树 $G$ 中边 $(u_i,v_i)$ 的边权; - 若无解,则输出一行,包含一个整数 $-1$。 **所有满足要求的输出均可通过。**

输入输出样例

输入样例 #1

3
1 2
2 3
665496238

输出样例 #1

1
2

说明

#### 「样例解释 #1」 所有 $\operatorname{dis}$ 的值如下表,其中标红的是行首结点的 $\operatorname{dis}$ 的最大值。 |$\operatorname{dis}$|$1$|$2$|$3$| |:-:|:-:|:-:|:-:| |$1$|$0$|$1$|$\color{red}3$| |$2$|$1$|$0$|$\color{red}2$| |$3$|$\color{red}3$|$2$|$0$| 可以验证,$E=\dfrac{3+2+3}{3}=\dfrac{8}{3}\equiv 665496238\pmod {998244353} $。 #### 「数据范围」 对于所有数据,$2\le n\le 10^5$,$1 \le u_i,v_i \le n$,$0\le E < 998244353$,保证输入数据形成一棵树。 **只有你通过本题的所有测试点,你才能获得本题的分数。**