#ATagc006f. [AGC006F] Blackout

[AGC006F] Blackout

题目描述

我们有一个 NNNN 列的矩阵。第 ii 行第 jj 列的格子表示为 (i,j)(i,j)

开始时,有 MM 个格子是黑色,其他格子都是白色。特别地,开始时格子 (a1,b1),(a2,b2),,(aM,bM)(a_{1},b_{1}),(a_{2},b_{2}),\cdots, (a_{M},b_{M}) 是黑色。

スヌケ君会按照以下的规则尽可能多的将白色格子涂成黑色:

  • 对于整数 1x,y,zN1\le x,y,z\le N,如果 (x,y)(x,y)(y,z)(y,z) 都是黑色,那么就把 (z,x)(z,x) 涂黑。

请计算出当再也没有白色格子能被涂黑时,黑色格子的个数。

输入格式

从标准输入输入,格式见下:

第一行包含两个整数 NNMM

从第二行开始的 MM 行,每行有两个以空格隔开的整数 aia_{i}bib_{i},表示第 ii 个黑色格子的坐标。

输出格式

输出一个整数到标准输出,表示当スヌケ君尽可能多的把格子涂黑之后,黑色格子的个数。

样例解释

样例 1 解释

可以按这样的方法涂黑一个格子:

  • 因为格子 (1,2)(1,2)(2,3)(2,3) 都是黑色而 (3,1)(3,1) 是白色,把 (3,1)(3,1) 涂黑。

样例 2 解释

可以按这样的方法涂黑两个格子:

  • 因为格子 (1,1)(1,1)(1,2)(1,2) 都是黑色而 (2,1)(2,1) 是白色,把 (2,1)(2,1) 涂黑。
  • 因为格子 (2,1)(2,1)(1,2)(1,2) 都是黑色而 (2,2)(2,2) 是白色,把 (2,2)(2,2) 涂黑。

样例 3 解释

很遗憾,没有任何白色格子能被涂黑。

样例 1

输入

3 2
1 2
2 3

输出

3

样例 2

输入

2 2
1 1
1 2

输出

4

样例 3

输入

4 3
1 2
1 3
4 4

输出

3

说明/提示

  • 1N1051\le N \le 10^{5}
  • 1M1051\le M \le 10^{5}
  • 1ai,biN1\le a_{i},b_{i} \le N
  • 各黑格坐标互不相同