小红的树上移动
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红拿到了一棵树,初始所有节点均为白色。小红初始站在1号节点,并将1号节点染红。小红将不断进行移动直到停止:
1. 若当前节点的邻点中存在白色节点,则小红随机移动到某个相邻的白色节点,并将该节点染红。
2. 若当前节点的邻点中不存在白色节点,则停止移动。

请你帮小红求出最终红点数量的期望。

输入描述:

第一行输入一个正整数n,代表树的节点数量。
接下来的n-1行,每行输入两个正整数u,v,代表节点u和节点v有一条边连接。
1\leq n \leq 10^5

输出描述:

一个正数,代表最终的期望对10^9+7取模的答案。
可以证明,最终的期望一定是一个有理数。分数x/yp取模的定义为:需要找到一个正整数a∈[0,p-1]满足a*y\ mod\ p=x
示例1

输入

复制
2
1 2

输出

复制
2

说明

显然两个点都会被染红。
示例2

输入

复制
4
1 2
1 3
2 4

输出

复制
500000006

说明

最终的答案是2.5(即5/2),由于500000006*2对1000000007取模的答案是5,因此输出500000006。