#agc052f. [agc052_f]Tree Vertices XOR
[agc052_f]Tree Vertices XOR
问题描述
给定一个包含 个顶点的树。顶点从 到 编号,第 条边连接顶点 和 。
最初,树上的每个顶点上都写着数字 。
在一次操作中,你可以进行如下操作:
- 选择树中的任意顶点 。设 是 的邻居顶点上书写的值的异或(XOR),如果 上书写的数字是 ,则将其替换为 。
你可以进行任意次数(也可能是零次)的操作。你可以得到多少种配置?由于这个数量可能很大,输出结果要对 取模。
如果存在一个顶点 ,它在这些配置中的书写数字不同,则称这两个配置是不同的。
约束条件
- 输入表示一个有效的树。
输入
从标准输入读入数据,格式如下:
输出
输出从初始状态可以得到的配置数,对 取模。
示例输入 1
4
1 2
2 3
3 4
示例输出 1
10
我们可以得到以下配置( 表示顶点 的书写数字分别为 ):,,,,,,,,,。
示例输入 2
5
1 2
1 3
1 4
1 5
示例输出 2
24
示例输入 3
6
1 3
2 3
3 4
4 5
4 6
示例输出 3
40
示例输入 4
9
1 2
2 3
1 4
4 5
1 6
6 7
7 8
8 9
示例输出 4
255