给定一张包含 n 个结点与 m 条边的无向图,结点依次以 1,2,\ldots,n 编号,第 i 条边(1\le i\le m)连接结点 u_i 与结点 v_i。如果从一个结点经过若干条边可以到达另一个结点,则称这两个结点是连通的。
你需要向图中加入若干条边,使得图中任意两个结点都是连通的。请你求出最少需要加入的边的条数。
注意给出的图中可能包含重边与自环。
第一行,两个正整数 n,m,表示图的点数与边数。
接下来 m 行,每行两个正整数 u_i,v_i,表示图中一条连接结点 u_i 与结点 v_i 的边。
输出一行,一个整数,表示使得图中任意两个结点连通所需加入的边的最少数量。
4 4 1 2 2 3 3 1 1 4
0
6 4 1 2 2 3 3 1 6 5
2
对于 40\% 的测试点,保证 1\le n\le 100,1\le m\le 100。
对于所有测试点,保证 1\le n\le 10^5,1\le m\le 10^5。