#codefestival2017qualbc. [code_festival_2017_qualb_c]3 Steps

[code_festival_2017_qualb_c]3 Steps

問題文

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

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

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

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

制約

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

入力

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

NN MM A1A_1 B1B_1 A2A_2 B2B_2 :: AMA_M BMB_M

出力

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


入力例 1

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

出力例 1

4

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


入力例 2

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

出力例 2

5

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

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