题号:NC263887
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
越过风声和雨声,越发激昂,
她的声音在方寸之地回荡。
更远,更高,绝不止息——绝不。
坐拥观众和剧场,国王尚在,
仍自以为无限宇宙之王。
Alice 身处游戏世界。
该游戏世界有

个城市,城市之间由
)
条长度为

的道路相连,使得两两城市都直接或间接相连。
Alice 有一个旅行计划,该旅行计划用一个点集

描述,表示 Alice 要去这些城市参观,但参观顺序是不定的。具体来说,Alice 执行旅行计划的方法如下:
-
初始时,Alice 位于
号城市。
-
假设目前 Alice 位于城市
-
若
为空集,花费
枚金币回到
号城市,结束旅行。
-
否则 Alice 会从
中选择一个节点
作为下一个目的地,然后花费
枚金币前往参观,并将
从
中删去。然后 Alice 重新读档,回到
路径上的一个节点。读档不花费金币。
-
重复步骤二直至结束旅行。
你以为 Alice 会让你对于

求最少花费吗?不,Alice 是聪明的。对于旅行计划

,ta 一定会选择花费金币最少的方案。
旅行结束后的第

天,Alice 已经忘记旅行计划

了,但是 ta 记得一共花费了

枚金币。现在 ta 想知道有多少可能的旅行计划。
由于答案可能很大,请输出答案对

取模的结果。
再次提醒,

是集合,无重复元素且无序。
输入描述:
第一行两个数
。
接下来
行,每行两个数
,表示
城市之间有道路相连。
输出描述:
输出为一个数,即答案对
取模的结果。
示例2
输入
复制
16 8
1 2
2 3
2 4
4 6
4 12
4 13
4 14
4 16
1 5
5 15
1 8
6 7
6 9
9 10
10 11
备注:
对于所有数据,
。