AT_abl_c Connect Cities
Description
[problemUrl]: https://atcoder.jp/contests/abl/tasks/abl_c
$ N $ 個の都市 ($ 1 $ 番から $ N $ 番まで) と $ M $ 個の双方向道路 ($ 1 $ 番から $ M $ 番まで) があります。 道路 $ i $ は都市 $ A_i $ と都市 $ B_i $ を結びます。
すぬけ君は、以下の操作を $ 0 $ 回以上行うことができます。
- 道路で直接結ばれていない二つの異なる都市を選び、間に道路を作る。
操作を終えた後、どの都市からどの都市へも (場合によっては複数回) 道路をたどることで到達できるようになっていなければいけません。
目的を達成するために、最低何個の道路を作ればよいですか?
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_1 $ $ B_1 $ $ : $ $ A_M $ $ B_M $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 100,000 $
- $ 1\ \leq\ M\ \leq\ 100,000 $
- $ 1\ \leq\ A_i\