통행료

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

바이트오티아 왕국에는 nn개의 마을이 있고, 이 마을들은 mm개의 양방향 도로로 연결되어 있다. 각 도로는 서로 다른 두 마을을 직접 잇고, 어떤 두 마을도 두 개 이상의 도로로 연결되지 않는다(도로가 터널이나 고가로를 지날 수는 있다).

각 마을은 지나는 여행자에게 통행료를 받고 싶어 하지만, 상인들의 불만을 달래기 위해 왕은 다음 두 규칙으로 이 권한을 제한한다.

  • 통행료를 걷는 마을은 자신에게 닿는 도로 가운데 정확히 하나에서만 통행료를 걷을 수 있다. 여행자가 그 도로를 어느 방향으로 지나든 상관없다.
  • 하나의 도로에 대해서는 그 도로의 양 끝 마을 중 최대 한 곳만 통행료를 걷을 수 있다. 한 도로에서 양쪽 마을이 동시에 통행료를 걷을 수는 없다.

이 규칙 때문에 어떤 마을은 통행료를 걷을 도로가 남지 않을 수도 있다. 동시에 통행료를 걷을 수 있는 마을의 최대 개수를 구하여라.

다음을 수행하는 프로그램을 작성하라.

  • 표준 입력에서 바이트오티아 도로망의 정보를 읽는다.
  • 통행료를 걷을 수 있는 마을의 최대 개수를 계산한다.
  • 그 값을 표준 출력에 쓴다.

입력

첫째 줄에 두 정수 nnmm이 주어진다(1n1000001 \le n \le 100000, 1m2000001 \le m \le 200000). 각각 마을의 수와 도로의 수이다. 마을은 11번부터 nn번까지 번호가 매겨져 있다. 이어지는 mm개의 줄에는 각각 두 정수 aia_ibib_i가 주어지며(1ai<bin1 \le a_i < b_i \le n), 마을 aia_ibib_i가 도로로 직접 연결되어 있음을 뜻한다.

출력

위 규칙을 지키면서 통행료를 걷을 수 있는 마을의 최대 개수를 정수 하나로 출력한다.

힌트

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