编程题
### 问题描述
维斯特洛大陆上有许多城镇,编号从 $1$ 开始,其中 $1$ 号城镇代表首都君临。城镇与城镇之间存在一条双向通行的道路,任何人经过任何一条道路都只需花费 $1$ 单位时间。现在国王想要摧毁掉一些道路,用来耕种土地,以此来缓解王国的粮食压力,但又想让各个城镇的人依旧像以前一样能够尽可能快地到达首都君临。请你帮助国王计算一下他有多少种符合要求的摧毁道路的方案(必须摧毁至少一条道路),答案可能很大,请对 $10^9+7$ 取模。
### 输入格式
第一行两个正整数 $N,M$,表示有 $N$ 座城镇,$M$ 条双向通行的道路。
接下来 $M$ 行,每行两个正整数 $x$ 和 $y$,表示 $x$ 号城镇和 $y$ 号城镇之间有一条双向通行的路。
### 输出格式
输出共一行,输出一个整数表示符合要求的摧毁道路的方案数。
### 样例输入
```text
4 4
1 2
1 3
2 3
2 4
```
### 样例输出
```text
1
```
### 说明
样例中,道路 $1\longleftrightarrow2$、$1\longleftrightarrow3$ 和 $2\longleftrightarrow4$ 都不能摧毁,只有道路 $2\longleftrightarrow3$ 摧毁后不影响人们从各城镇到 $1$ 号节点的最短时间,因此只有 $1$ 种方案。
### 评测数据规模
对于所有评测数据,$2 \leq N \leq 10^3$,$1 \leq M \leq 10^4$,$1 \leq x,y \leq N$。