给定一棵包含 个顶点的树,顶点编号为 。每条边 有一个非负整数权值 。
定义树上的一条途径为一个顶点序列 (),满足对于任意的 (),都有一条边 。请注意,途径中的顶点可以重复,即如果存在 满足 ,仍然认为这是一条途径。
途径的边数定义为 ,即途径经过的边的数量。
途径经过的顶点集定义为 ,即途径中所有出现过的顶点(重复只计一次)。
途径的代价定义为沿途经过的边的权值的异或和:,其中 表示按位异或。特别地,当 时(即途径只包含一个顶点),途径的代价为 。
要求选择一条途径,满足如下条件:
- 它经过树中所有的顶点,即途径经过的顶点集等于全部 个顶点;
- 在所有满足条件 1 的途径中,途径的代价最小;
- 如果有多条途径同时满足条件 1 和 2,则选择途径的边数最少的;
- 如果有多条途径同时满足条件 1、2 和 3,则选择任意一条,都会被视为正确。
输出一条满足上述条件的途径,以顶点序列的形式给出。