做过太多树问题的民基对普通的树问题感到厌倦。因此,民基想要将树的形状进行别出心裁的变换,并以此与民灿进行游戏。 民基所创造的图被称为派?派?树,它是通过在普通树的所有边上额外绘制半圆或圆而构成的。也就是说,每一条边都会呈现出以下图形中的一种。 此时,半圆和圆的圆心均为边的中点,且不区分半圆的位置(在边的上方或下方)。
初始状态下,棋子放置在树的根节点上。民基和民灿轮流将棋子移动到相邻的节点。 游戏由民基先手,走过的边不能再次经过,若轮到某人时无法移动棋子,则该人失败。 为了在游戏中获胜,民基想要准备一个他能获胜的派?派?树。 此时,将圆或半圆与原树边的交点也视为节点,民基所画的半圆和圆的直径均短于边的长度,且不会与其他边上绘制的半圆或圆重叠。 请帮助民基,在民基和民灿都采取最优策略的情况下,计算在总共 $2^{(N-1)}$ 种派?派?树中,民基总是能获胜的派?派?树的数量,并输出其对 $1,000,000,007$ $(=10^9+7)$ 取模后的结果。
输入格式
第一行给出节点的数量 $N$ 和根节点的编号,以空格分隔。 从第二行到第 $N$ 行,给出每条边连接的两个节点的编号 $a_i$ 和 $b_i$。$(1 ≤ i < N)$ $1 ≤ N ≤ 100,000$
输出格式
输出民基在游戏中获胜的派?派?树的数量,对 $1,000,000,007$ 取模后的结果。
样例
输入 1
4 1 1 2 2 3 2 4
输出 1
4
输入 2
16 1 1 2 2 3 2 4 3 5 3 6 4 7 4 8 5 9 5 10 6 11 6 12 7 13 7 14 8 15 8 16
输出 2
18688