AT_agc006_f [AGC006F] Blackout
题目描述
我们有一个 $N$ 行 $N$ 列的矩阵。第 $i$ 行第 $j$ 列的格子表示为 $(i,j)$。
开始时,有 $M$ 个格子是黑色,其他格子都是白色。特别地,开始时格子 $(a_{1},b_{1}),(a_{2},b_{2}),\cdots, (a_{M},b_{M})$ 是黑色。
スヌケ君会按照以下的规则尽可能多的将白色格子涂成黑色:
- 对于整数 $1\le x,y,z\le N$,如果 $(x,y)$ 和 $(y,z)$ 都是黑色,那么就把 $(z,x)$ 涂黑。
请计算出当再也没有白色格子能被涂黑时,黑色格子的个数。
输入格式
从标准输入输入,格式见下:
第一行包含两个整数 $N$ 和 $M$;
从第二行开始的 $M$ 行,每行有两个以空格隔开的整数 $a_{i}$ 和 $b_{i}$,表示第 $i$ 个黑色格子的坐标。
输出格式
输出一个整数到标准输出,表示当スヌケ君尽可能多的把格子涂黑之后,黑色格子的个数。
## 样例解释
#### 样例 1 解释
可以按这样的方法涂黑一个格子:
- 因为格子 $(1,2)$ 和 $(2,3)$ 都是黑色而 $(3,1)$ 是白色,把 $(3,1)$ 涂黑。
#### 样例 2 解释
可以按这样的方法涂黑两个格子:
- 因为格子 $(1,1)$ 和 $(1,2)$ 都是黑色而 $(2,1)$ 是白色,把 $(2,1)$ 涂黑。
- 因为格子 $(2,1)$ 和 $(1,2)$ 都是黑色而 $(2,2)$ 是白色,把 $(2,2)$ 涂黑。
#### 样例 3 解释
很遗憾,没有任何白色格子能被涂黑。
说明/提示
- $1\le N \le 10^{5}$
- $1\le M \le 10^{5}$
- $1\le a_{i},b_{i} \le N$
- 各黑格坐标互不相同