#7089. 连锁反应

连锁反应

题目描述

有一张 n×nn\times n 的网格,其中第 ii 行第 jj 列的格子记作 (i,j)\left(i, j\right)

一开始共有 mm 个格子被涂成黑色,第 ii 个黑色的格子为 (ai,bi)\left(a_i, b_i\right)ij,aiaj\forall i\ne j, a_i\ne a_jbibjb_i\ne b_j);其它所有格子都是白色的。

如果存在三个正整数 x,y,zx, y, z1x,y,zn1\le x, y, z\le n),满足 (x,y)\left(x, y\right)(y,z)\left(y, z\right) 都是黑色的,那么你就可以将 (z,x)\left(z, x\right) 涂成黑色。

请求出你最多能使棋盘上有多少个黑色的格子。

输入格式

输入的第一行包含两个正整数 n,mn, m,分别表示网格的大小以及初始黑色格子的数量。

接下来 mm 行,每行两个正整数 ai,bia_i, b_i,表示一个初始为黑的格子。

输出格式

输出一个正整数,表示最多能使棋盘上有多少个黑色的格子。

2 2
1 1
1 2
4

样例解释 1

先用(1,1),(1,2),涂黑(2,1) 再用(2,1),(1,2),涂黑(2,2) 此时,共有4个点被涂黑

数据范围

对于40%40\%的数据,1n500,1m40001 \leq n \leq 500,1 \leq m \leq 4000

对于100%100\%的数据,1n105,1m1051 \leq n \leq 10^5,1 \leq m \leq 10^5