#P2877. 「JOISC 2014 Day2」交朋友

「JOISC 2014 Day2」交朋友

题目描述

题目译自 JOISC 2014 Day2 T2「友だちをつくろう

你是活跃在历史幕后的一名特工,为了世界和平而夜以继日地努力着。

这个世界有 NN 个国家,编号为 1N1\dots N,你的目的是在这 NN 个国家之间建立尽可能多的友好关系。你为了制定一个特工工作的计划,作出了一张当今国际关系的示意图。
你准备了一张非常大的画纸,先画下了代表每个国家的 NN 个点。接下来,为了表示现在的国际关系,画下了 MM 个连接两个国家的有向边,其中从国家 aa 连向国家 bb 的有向边,表示「现在国家 aa 向国家 bb 派遣了大使」,下文称作边 (a,b)(a,b)。这样就做出了 NN 个点 MM 条边的当今国际关系示意图。

作为两国友好关系的开端,两国之间需要进行「友好条约缔结会议」,以下简称会议。如果某两个国家 ppqq 要进行会议,那么需要一个向两国都派遣了大使的国家 xx 作为中介。会议结束后,会议的双方相互向对方的国家派遣大使。换句话说,为了让国家 pp 和国家 qq 进行会议,必须存在一个国家 xx 满足边 (x,p)(x,p) 和边 (x,q)(x,q) 都存在,并且在会议后添加两条边 (p,q)(p,q)(q,p)(q,p)(如果需要添加的某条边已经存在则不添加)。
你的工作是对于可以进行会议的两国,选择会议的中介并促使会议进行。使用这张图进行工作的模拟的话,世界距离和平还有多远的一个重要的基准就是这张图上的边数。

现在给出国家的个数以及当今国际关系的情报,请你求出反复「选择两个国家,促使它们其进行会议」后,图上最多会有多少条边。

输入格式

第一行两个空格分隔的整数 NNMM,分别表示世界上国家的个数和图中的边数。
接下来 MM 行描述画纸上的有向边的信息,其中第 ii 行有两个空格分隔的整数 AiA_iBiB_i,表示图中有一条从 AiA_iBiB_i 的有向边。

输出格式

输出一行一个整数,表示能实现的边数的最大值。注意这个边数包括原有的边数和新连接的边数。

5 4
1 2
1 3
4 3
4 5
10

数据范围与提示

对于 5%5\% 的数据,N100N\le 100
对于另外 30%30\% 的数据,N5000N\le 5000
对于所有数据,1N105,1\le N\le 10^5, 1M2×105,1\le M\le 2\times 10^5, 1Ai,BiN,1\le A_i, B_i\le N, AiBi,A_i≠B_i, (Ai,Bi)(Aj,Bj)(A_i,B_i)≠(A_j,B_j)