이제 곧 여름, 곧 여름 도로 공사철이 다가온다! 올해 열대 섬 낙원 리모트 섬(Remote Island)의 도로를 책임지는 사람들은 섬의 여러 관광 명소를 잇는 도로들을 보수하고 개량하려 한다.
이 도로들에는 흥미로운 점이 있다. 섬의 독특한 관습 때문에 도로는 교차로에서 만나지 않고, 다리와 터널을 이용해 서로 위아래로 지나간다. 따라서 각 도로는 두 관광 명소를 직접 잇기만 하며, 관광객이 길을 잃는 일이 없다.
그런데 보수·개량 공사의 특성상, 공사 업체가 어떤 도로를 작업하는 동안에는 그 도로를 양방향 모두 이용할 수 없다. 업체가 한 번에 도로 하나만 작업하더라도, 그 때문에 두 명소 사이를 오갈 수 없게 된다면 문제가 된다.
이를 막기 위해 도로부는 새 도로를 몇 개 건설하기로 했다. 최종 구성에서 어떤 도로 하나가 공사 중이더라도 남은 도로만으로 임의의 두 명소 사이를 오갈 수 있어야 한다. 새로 건설해야 하는 도로의 최소 개수를 구하여라.
첫째 줄에 공백으로 구분된 두 양의 정수 $n$과 $r$이 주어진다. 여기서 $3 \le n \le 1000$은 섬의 관광 명소 수이고, $2 \le r \le 1000$은 도로 수이다. 관광 명소는 $1$부터 $n$까지 번호가 매겨져 있다.
다음 $r$개의 줄에는 각각 공백으로 구분된 두 정수 $v$와 $w$가 주어지며, 이는 명소 $v$와 $w$ 사이에 도로가 있음을 뜻한다. 각 도로는 양방향으로 통행할 수 있고, 임의의 두 명소 사이에는 도로가 최대 하나만 직접 존재한다. 또한 현재 구성에서 임의의 두 명소 사이를 오갈 수 있음이 보장된다.
추가해야 하는 도로의 최소 개수를 나타내는 정수 하나를 한 줄에 출력한다.