버스 노선

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

문제

바이토시아에는 양방향 도로로 연결된 nn개의 도시가 있으며, 그 도로들을 따라 많은 마을이 자리 잡고 있습니다. 바이타자르 왕은 도시와 마을을 잇는 버스 노선망을 만들기로 했습니다. 각 노선은 임의의 도시에서 시작해 임의의 도시에서 끝날 수 있고, 임의의 도시들을 지나갈 수 있습니다. 한 노선이 같은 도시를 여러 번 지날 수도 있습니다. 다만 어떤 노선도 같은 도로를 두 번 이상 지날 수는 없습니다.

모든 주민에게 교통편을 제공하면서도 투자 비용을 최대한 줄이기 위해, 왕은 모든 도로가 정확히 하나의 버스 노선에만 포함되도록 하고, 동시에 버스 노선의 개수를 가능한 한 적게 만들기로 했습니다.

즉, 모든 도로를 여러 개의 노선으로 나누되 각 도로가 정확히 하나의 노선에만 속하도록 하고, 노선의 개수를 최소로 해야 합니다. 하나의 노선은 같은 도로를 반복하지 않는 경로(트레일)이며, 같은 도시는 여러 번 지날 수 있습니다.

입력

첫째 줄에 두 정수 nnmm이 공백 하나로 구분되어 주어집니다 (2n100002 \le n \le 10000, n1m200000n - 1 \le m \le 200000). nn은 도시의 수, mm은 도로의 수입니다. 도시는 11번부터 nn번까지 번호가 매겨져 있습니다. 이어지는 mm개의 줄에는 각 도로가 하나씩 주어지며, 각 줄에는 도로로 연결된 두 도시의 번호 aabb가 공백 하나로 구분되어 주어집니다 (1a<bn1 \le a < b \le n). 각 도로는 입력에 정확히 한 번만 등장합니다. 두 도시는 최대 하나의 도로로 직접 연결되어 있으며(두 도시를 잇는 경로 자체는 여러 개일 수 있습니다), 도로들을 따라 임의의 두 도시 사이를 오갈 수 있습니다(그래프는 연결되어 있습니다).

출력

필요한 버스 노선의 최소 개수 cc를 한 줄에 출력하세요.

힌트