#CF977e. 循环连通分量

    ID: 6963 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>DFS及类似情况达科他州立大学图表*1500

循环连通分量

E. 循环连通分量
每个测试的时间限制:22
内存限制:256256 兆字节

你有一个由 nn 个顶点和 mm 条边组成的无向图。你的任务是找出连通分量中,那些恰好构成一个环的数量。

以下是图论中的一些定义。

一个无向图由两个集合组成:节点的集合(称为顶点)和边的集合。每条边连接一对顶点。所有的边都是双向的(即如果顶点 aa 与顶点 bb 相连,那么顶点 bb 也与顶点 aa 相连)。一条边不能连接顶点自身,且每一对顶点之间最多有一条边。

两个顶点 uuvv 属于同一个连通分量,当且仅当存在至少一条由边组成的路径连接 uuvv

一个连通分量被称为,当且仅当它的顶点可以按某种顺序重新排列,使得:

  • 第一个顶点与第二个顶点之间有边相连,
  • 第二个顶点与第三个顶点之间有边相连,
  • ……
  • 最后一个顶点与第一个顶点之间有边相连,

并且上述描述中所用到的所有边都是互不相同的。环中除了上述边之外不包含任何其他边。根据定义,任何环都包含至少 33 个顶点。

下图中共有 66 个连通分量,其中 22 个是环:[7,10,16][7,10,16][5,11,9,15][5,11,9,15]


输入
第一行包含两个整数 nnmm1n21051 \le n \le 2 \cdot 10^50m21050 \le m \le 2 \cdot 10^5)—— 顶点数和边数。

接下来 mm 行,每行描述一条边,格式为 vi,uiv_i, u_i1vi,uin1 \le v_i, u_i \le nuiviu_i \neq v_i)。给出的图中没有重边,即对于每一对 (vi,ui)(v_i, u_i),在边列表中不会出现其它 (vi,ui)(v_i, u_i)(ui,vi)(u_i, v_i)


输出
输出一个整数 —— 那些是环的连通分量的数量。


示例

输入

5 4
1 2
3 4
5 4
3 5

输出

1

输入

17 15
1 8
1 12
5 11
11 9
9 15
15 5
4 13
3 13
4 3
10 16
7 10
16 7
14 3
14 4
17 6

输出

2