atcoder#CODEFESTIVAL2017QUALBC. 3 Steps

3 Steps

配点 : 500500

問題文

りんごさんは NN 頂点 の連結な無向グラフを持っています。 このグラフにはすでに MM 本の辺があり、ii 本目の辺は頂点 AiA_i と頂点 BiB_i を繋いでいます。

りんごさんは以下の操作を行うことで、辺を追加しようと思っています。

  • 操作:頂点 uu から辺をちょうど 33 本辿ることによって頂点 vv に辿り着けるような u,v(uv)u,v (u \neq v) をとり、頂点 uu と頂点 vv の間に辺を追加する。ただし、すでに頂点 uu と頂点 vv の間に辺が存在する場合は辺を追加することはできない。

りんごさんが追加できる辺の本数の最大値を求めて下さい。

制約

  • 2N1052 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 1Ai,BiN1 \leq A_i,B_i \leq N
  • 多重辺や自己ループは存在しない
  • 与えられるグラフは連結である

入力

入力は以下の形式で標準入力から与えられる。

NN MM

A1A_1 B1B_1

A2A_2 B2B_2

::

AMA_M BMB_M

出力

追加できる辺の本数の最大値を出力せよ。

6 5
1 2
2 3
3 4
4 5
5 6
4

下の図のように辺を追加していくと 44 本の辺を追加することができ、これ以上辺を追加することはできません。

5 5
1 2
2 3
3 1
5 4
5 1
5

例えば、以下のような順番で辺を追加することによって 55 本の辺を追加することができます。

  • 頂点 55 と頂点 33 の間に辺を追加する。
  • 頂点 55 と頂点 22 の間に辺を追加する。
  • 頂点 44 と頂点 11 の間に辺を追加する。
  • 頂点 44 と頂点 22 の間に辺を追加する。
  • 頂点 44 と頂点 33 の間に辺を追加する。