当莱昂哈德·欧拉(Leonhard Euler)解决著名的柯尼斯堡七桥问题时,他并不知道自己开创了一个全新的数学领域——图论!
遗憾的是,对于当代的程序员来说,柯尼斯堡七桥问题实在太简单了,因此欧拉提出了另一个问题——萨格勒布桥梁问题!
萨格勒布的桥梁构成了一个包含 $n$ 个节点和 $m$ 条边的图,其中边代表桥梁,节点代表河中的岛屿。该图是连通的,换句话说,可以通过跨越边从任意节点到达其他任何节点。现在欧拉问,有多少条边满足这样的条件:移除该边后,图变得不连通?
同样,欧拉不知道这个问题在今天也非常出名(那些该死的 Codeforces 博客)。因此,本题的作者决定给你出一个更难的问题:有多少条边满足这样的条件:移除它所连接的两个节点后,剩余的 $n-2$ 个节点变得不连通?
输入格式
第一行包含整数 $n$ 和 $m$ ($4 \le n \le 100\,000$, $n-1 \le m \le 300\,000$),分别表示节点数和边数。
接下来的 $m$ 行,每行包含整数 $a_i$ 和 $b_i$ ($1 \le a_i, b_i \le n$),表示节点 $a_i$ 和 $b_i$ 之间有一条边相连。
图中没有自环或重边。
输出格式
在一行中输出满足给定条件的边的数量。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 13 | $n \le 100, m \le 300$ |
| 2 | 17 | $n \le 1\,000, m \le 3\,000$ |
| 3 | 25 | $n \le 1\,000$ |
| 4 | 12 | $m - n \le 20$ |
| 5 | 43 | 无附加限制 |
样例
输入格式 1
4 5 1 2 2 3 3 4 4 1 1 3
输出格式 1
1
说明
通过移除边 $(1, 3)$ 以及它所连接的节点 $1$ 和 $3$,剩余的图包含两个连通分量:节点 $2$ 和节点 $4$。换句话说,它不再连通。很容易验证这是唯一满足此条件的边。
输入格式 2
6 7 1 2 2 4 2 6 3 5 6 1 4 3 2 5
输出格式 2
4
说明
满足给定条件的边是 $(1, 2)$、$(2, 4)$、$(2, 6)$ 和 $(2, 5)$。