바이트오티아에는 n개의 도시가 있습니다. 도시들은 일방통행 도로로 연결되어 있으며, 각 도로는 정확히 두 도시만 잇고 다른 도시를 거치지 않습니다. 그런데 모든 도시에서 다른 모든 도시로 이동할 수 있는 것은 아닙니다. 바이트아자르 왕은 이 문제를 해결하기로 했습니다. 새 도로를 건설하는 데는 비용이 매우 많이 들고 예산도 넉넉하지 않으므로, 왕은 당신에게 도움을 요청했습니다. 모든 도시에서 다른 모든 도시로 이동할 수 있게 만들기 위해 새로 건설해야 하는 일방통행 도로의 최소 개수를 구하세요.
다음을 수행하는 프로그램을 작성하세요.
첫째 줄에 두 정수 n과 m이 공백 하나로 구분되어 주어집니다 (2≤n≤10000, 0≤m≤100000). 각각 도시의 수와 도로의 수를 뜻합니다. 도시에는 1번부터 n번까지 번호가 매겨져 있습니다. 이어지는 m개의 줄에는 각각 공백 하나로 구분된 두 정수가 주어집니다. 그중 i번째 줄의 두 정수 ai와 bi (1≤ai,bi≤n)는 도시 ai에서 도시 bi로 향하는 일방통행 도로를 나타냅니다.
모든 도시에서 다른 모든 도시로 이동할 수 있도록 새로 건설해야 하는 일방통행 도로의 최소 개수를, 음이 아닌 정수 하나로 첫째 줄에 출력합니다.
