完美二叉树(perfect binary tree)是指一棵有根树,其中每个非叶子节点恰好有两个子节点,且所有叶子节点到根的距离相等。
无根完美二叉树(unrooted perfect binary tree)是指一棵无根树,当以其某个节点为根时,它是一棵完美二叉树。
Bessie 拥有一棵包含 $N$ ($1 \le N \le 10^5$) 个节点的树。请计算有多少种删除树中边子集的方法,使得剩余的森林由若干棵无根完美二叉树组成。由于答案可能非常大,请输出结果对 $10^9+7$ 取模后的值。
输入格式
第一行包含一个整数 $T$ ($1 \leq T \leq 100$),表示独立测试用例的数量。
每个测试用例的第一行包含一个整数 $N$。
接下来的 $N-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$ ($1 \leq u_i, v_i \leq N$),表示节点 $u_i$ 和 $v_i$ 之间的一条边。
保证对于每个测试用例,给定的边构成一棵包含 $N$ 个节点的树。
此外,所有测试用例的 $N$ 之和不超过 $2\cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数:删除边后得到由无根完美二叉树组成的森林的方案数,对 $10^9+7$ 取模。
样例
样例输入 1
3
6
1 2
3 2
4 6
5 6
6 2
3
1 2
3 2
7
2 1
2 3
1 6
1 7
3 4
3 5
样例输出 1
8
2
14
说明
在第一个测试用例中,Bessie 可以删除以下任意边子集来得到完美二叉树森林:
- $(2, 6)$
- $(1, 2)$, $(2, 3)$, $(2, 6)$
- $(1, 2)$, $(2, 3)$, $(4, 6)$
- $(1, 2)$, $(2, 3)$, $(5, 6)$
- $(1, 2)$, $(4, 6)$, $(5, 6)$
- $(2, 6)$, $(4, 6)$, $(5, 6)$
- $(2, 3)$, $(4, 6)$, $(5, 6)$
- $(1, 2)$, $(2, 3)$, $(2, 6)$, $(4, 6)$, $(5, 6)$
第一个子集产生两棵高度为 $1$ 的子树,最后一个子集产生六棵高度为 $0$ 的子树,其余子集产生三棵高度为 $0$ 的子树和一棵高度为 $1$ 的子树。
子任务
- 测试点 2-3:$N\le 15$
- 测试点 4-5:没有节点的度数超过 2。
- 测试点 6-9:$N\le 1000$,所有测试用例的 $N$ 之和不超过 $2000$,且没有节点的度数超过 3。
- 测试点 10-13:没有节点的度数超过 3。
- 测试点 14-21:无附加限制。