100 atcoder#AGC011C. [AGC011C] Squared Graph

[AGC011C] Squared Graph

配点 : 800800

問題文

高橋君は,NN 頂点 11, 22, ..., NN からなる無向グラフをもらいました. このグラフの辺は (ui,vi)(u_i, v_i) で表されます. このグラフには,自己辺や多重辺は存在しません.

高橋君は,このグラフをもとに,N2N^2 頂点 (a,b)(a, b) (1aN1 \leq a \leq N, 1bN1 \leq b \leq N) からなるグラフを作ることにしました. このグラフの辺は,次の規則で定まります.

  • 元のグラフにおいて aaaa' の間および bbbb' の間の両方に辺があるとき,またそのときに限り,(a,b)(a, b)(a,b)(a', b') の間に辺を張る.

このようにして作ったグラフの連結成分の個数を求めてください.

制約

  • 2N100,0002 \leq N \leq 100,000
  • 0M200,0000 \leq M \leq 200,000
  • 1ui<viN1 \leq u_i < v_i \leq N
  • ui=uju_i = u_j かつ vi=vjv_i = v_j を満たすような異なる i,ji, j の組は存在しない

入力

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

NN MM

u1u_1 v1v_1

u2u_2 v2v_2

:

uMu_M vMv_M

出力

高橋君の作ったグラフの連結成分の個数を出力せよ.

3 1
1 2
7

高橋君の作ったグラフは下のようになります.

7 5
1 2
3 4
3 5
4 5
2 6
18