#ablc. [abl_c]Connect Cities

[abl_c]Connect Cities

問題文

NN 個の都市 (11 番から NN 番まで) と MM 個の双方向道路 (11 番から MM 番まで) があります。 道路 ii は都市 AiA_i と都市 BiB_i を結びます。

すぬけ君は、以下の操作を 00 回以上行うことができます。

  • 道路で直接結ばれていない二つの異なる都市を選び、間に道路を作る。

操作を終えた後、どの都市からどの都市へも (場合によっては複数回) 道路をたどることで到達できるようになっていなければいけません。

目的を達成するために、最低何個の道路を作ればよいですか?

制約

  • 2leqNleq100,0002 \\leq N \\leq 100,000
  • 1leqMleq100,0001 \\leq M \\leq 100,000
  • 1leqAi<BileqN1 \\leq A_i < B_i \\leq N
  • どの二つの道路も同じ都市のペアを結ばない。
  • 入力は全て整数である。

入力

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

NN MM A1A_1 B1B_1 :: AMA_M BMB_M

出力

答えを出力せよ。


入力例 1

3 1
1 2

出力例 1

1

最初に、都市が三つあり、都市 11 と都市 22 の間に道があります。

すぬけ君は、たとえば都市 11 と都市 33 の間に道を作ることによって目的を達成できます。 道を作った後、

  • 都市 1122 の間を直接旅行できます。
  • 都市 1133 の間を直接旅行できます。
  • 都市 2233 の間を両方の道を通ることで旅行できます。 (22 - 11 - 33)