#Lutece2996. 机械臂太弱啦!

机械臂太弱啦!

Migrated from Lutece 2996 机械臂太弱啦!

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

绘名(Ena)酱和实乃里(Minori)酱在研究商城里一个奇怪的抓娃娃机。

娃娃机里有 nn 个娃娃,这些娃娃被 n1n-1 根细线连接起来,每根细线连接了其中两个娃娃,保证这 n1n-1 根细线可以使得这 nn 个娃娃成为一个整体,即形成一个连通图。

这个娃娃机有一个按钮和一个操纵杆。按钮用来控制娃娃机内置的剪刀,而操纵杆则可以用来控制娃娃机内的机械臂抓取娃娃。

按下这个按钮后,娃娃机内置的剪刀会开始自行工作,此时每一根线都有12\frac 1 2的概率被剪断。显然,当剪刀工作完毕后,根据没有被剪断的细线的连接情况,这 nn 个娃娃会被划分为若干个整体。

这个娃娃机的机械臂也颇为奇怪。机械臂一次只能抓取一个由若干个娃娃构成且相互之间直接或间接被细线连接的整体(这个整体可以只包含一个娃娃),否则一定会抓取失败;如果机械臂抓取的整体中,存在两个娃娃的距离大于 mm (两个娃娃的距离定义为从一个娃娃到另一个娃娃经过的细线数量),则机械臂也一定会抓取失败。在其他情况下机械臂一定能成功抓取。

操纵杆可以控制机械臂任意多次抓取娃娃,不过按钮只会生效一次。

现在,绘名酱和实乃里酱想要知道,在按一次按钮、等剪刀工作完毕后,她们有多大的概率可以在任意多次操作机械臂后把这 nn 个娃娃全部抓出来。

由于这个概率是一个分数,而绘名酱不喜欢分数,因此你只需要告诉她们这个概率乘 2n12^{n-1} 后对109+710^9+7取模的结果。可以证明,这个结果是一个整数。

机械臂太弱啦.jpg

Input

输入第一行包含两个整数 n,mn,m。 接下来 n1n-1 行,每行包含两个整数 u,vu,v,表示有一根细线连接了第 uu 个娃娃和第 vv 个娃娃。 输入保证刚开始所有娃娃形成一个整体(连通图)。

Output

输出一行一个整数,表示这个概率乘2n12^{n-1}109+710^9+7取模后的结果。

Samples

2 1
1 2
2
4 2
1 2
2 3
3 4
7
4 5
1 2
2 3
3 4
8
7 3
1 2
1 3
2 4
2 5
4 6
3 7
56

Constraints

1n,m5000,1u,vn1\le n,m\le 5000,1\le u,v\le n

Note

对于第一个样例:无论这一根绳子是否被剪断,都可以将两个娃娃抓出来。 对于第二个样例:当且仅当三根绳子都没被剪断时,娃娃不能被全部抓出来。 QQ图片20230509165208.jpg

Resources

2023 UESTC ICPC Training for Search and Dynamic Programming