바이트오티아 왕국에는 n개의 마을이 있고, 이 마을들은 m개의 양방향 도로로 연결되어 있다. 각 도로는 서로 다른 두 마을을 직접 잇고, 어떤 두 마을도 두 개 이상의 도로로 연결되지 않는다(도로가 터널이나 고가로를 지날 수는 있다).
각 마을은 지나는 여행자에게 통행료를 받고 싶어 하지만, 상인들의 불만을 달래기 위해 왕은 다음 두 규칙으로 이 권한을 제한한다.
이 규칙 때문에 어떤 마을은 통행료를 걷을 도로가 남지 않을 수도 있다. 동시에 통행료를 걷을 수 있는 마을의 최대 개수를 구하여라.
다음을 수행하는 프로그램을 작성하라.
첫째 줄에 두 정수 n과 m이 주어진다(1≤n≤100000, 1≤m≤200000). 각각 마을의 수와 도로의 수이다. 마을은 1번부터 n번까지 번호가 매겨져 있다. 이어지는 m개의 줄에는 각각 두 정수 ai와 bi가 주어지며(1≤ai<bi≤n), 마을 ai와 bi가 도로로 직접 연결되어 있음을 뜻한다.
위 규칙을 지키면서 통행료를 걷을 수 있는 마을의 최대 개수를 정수 하나로 출력한다.

그림에서 화살표는 각 도로에서 통행료를 걷는 마을을 가리킨다. 모든 마을은 정확히 하나의 도로에서 통행료를 걷고, 어떤 도로도 양쪽 마을에게 동시에 통행료를 받지 않는다. 마을 1과 2를 잇는 도로는 아무에게도 통행료를 걷지 않는다. 이 도로망에서는 네 마을이 모두 통행료를 걷을 수 있으므로 답은 4이다.