#P16720. 缝
缝
题目描述
小可可在玩树。
小可可手上有一棵包含 个节点的树。她想把这棵树撕成若干份,也就是断掉若干条边,也可以一条边都不断,从而形成一个森林。
由于小可可不喜欢太长的东西,如果其中某一棵树的直径超过 ,她就会继续撕这棵树。这里,一棵树的直径定义为树上两点之间路径所经过的最大边数。
之后,小可可又想把分成的若干棵树连接成一棵新的树。由于小可可很懒,她不会重新连接任何一条之前被她断掉的边。
小可可想知道,最终得到的新树一共有多少种可能的形态。由于答案很大,请输出答案对 取模的结果。
两棵树的形态不同,当且仅当存在一条边 ,它在其中一棵树中出现,而在另一棵树中没有出现。
输入格式
第一行包含两个整数 ,分别表示树的节点数和允许的最长直径。
接下来 行,每行包含两个整数 ,表示原树中的一条边。
输出格式
输出一个整数,表示新树可能的形态数量对 取模的结果。
样例 1
样例输入 1
2 1
1 2
样例输出 1
1
样例 2
样例输入 2
4 1
1 2
2 3
3 4
样例输出 2
11
样例 3
样例输入 3
5 1
1 2
1 3
2 4
2 5
样例输出 3
80
样例 4
样例输入 4
12 2
1 2
2 3
3 5
4 5
5 7
6 7
7 8
8 9
9 10
9 11
11 12
样例输出 4
330836087
样例 5
样例输入 5
8 2
1 2
2 3
2 4
4 5
3 6
5 7
3 8
样例输出 5
250544
数据范围与约定
- 对于 的数据,;
- 对于 的数据,;
- 对于 的数据, 且 ;
- 对于另外 的数据,;
- 对于全部数据: