编程题
### 问题描述
给定一棵 $ n $ 个节点的树,按照 $ 1\sim n $ 编号,每条边的边权为 $ w_i $ ,
* 当一条链恰好包含 $ k $ 条边时,我们约定其长度为 $ k $ 。
* 设某条链上所有边权**按位与**起来的值为 $ V $ ,那么且我们称这条链的幸运值 $ g $ 为:最大能整除 $ V $ 的二次幂 $ g=2^i $ 。
那么我们约定 $ f(k) $ 为:这棵树上所有恰好含 $ k $ 条边的链的幸运值 $ g $ 的最小值。
请计算 $ f(1),f(2),\cdots,f(n-1) $ 。
* 特别地,若树中不存在长度为 $ k $ 的链,则 $ f(k)=-1 $ 。
### 输入格式
第一行,包含一个正整数 $ n(1\le n\le 10^5) $ ,表示树的结点数量。
接下来的 $ n-1 $ 行,每行 $ 3 $ 个整数 $ u_i,v_i,w_i$ ,表示 $ u_i $ 和 $ v_i(1\le u_i,v_i\le n) $ 之间存在一条边权为 $ w_i(1\le w_i<2^{60}) $ 的无向边。
数据保证**任意**一条链的所有边权**按位与**起来的值均大于 $ 0 $ 。
### 输出格式
共 $ n-1 $ 行,第 $ i $ 行包含一个整数,表示 $ f(i) $ 的值。
### 样例输入
```
6
1 2 5
1 3 7
4 6 14
3 5 5
3 4 13
```
### 样例输出
```
1
1
1
4
-1
```