U584005 散步(walk)

题目背景

小 Z 和小 Y 一起散步。小 Z 扔给了小 Y 一个 OI 问题。

题目描述

给定一棵 $n$ 个节点的树,每条边的长度为 $1$,同时有一个权值 $w$。 定义一条路径的权值为路径上所有边的权值的最大公约数。 现在对于任意 $i \in [1,n]$,求树上所有长度为 $i$ 的简单路径中权值最大的是多少。 如果不存在长度为 $i$ 的路径,则第 $i$ 行输出 $0$。

输入格式

第一行,一个整数 $n$,表示树的大小。 接下来 $n-1$ 行,每行三个整数 $u,v,w$,表示 $u,v$ 间存在一条权值为 $w$ 的边。

输出格式

对于每种长度,输出一行,表示答案。

说明/提示

对于 $30\%$ 的数据,有 $n \le 1000$。\ 对于额外 $30\%$ 的数据,有 $w \le 100$。\ 对于 $100\%$ 的数据,有 $n \le 10^5$,$1 \le u,v \le n$,$w \le 10^6$。 $\texttt{4s,512Mib}$。