케이크 배달

마을 1에서 시작하는 보행으로 모든 마을을 방문해야 할 때 필요한 최소 보행 수를 구하는 문제다.

보통7그래프동적 계획법그리디최단 경로아직 제출이 없습니다시간 제한1초메모리 제한64 MB

문제

미르코는 마을에서 가장 맛있는 케이크를 만든다. 자몽을 올린 치즈케이크다. 자기 조리법을 알리려고 미르코는 자기 군에 있는 NN개 마을마다 케이크를 최소 한 개씩 나눠 주기로 했다. 이 일에 판매원을 여러 명 고용한다. 판매원은 케이크를 원하는 만큼 들고 다니고, 마을을 잇는 일방통행 도로를 따라 이동하면서 케이크를 나눠 준다.

판매원은 모두 미르코의 마을에서 출발하고, 그 마을의 번호는 1번이다. 고용한 판매원의 경로는 미르코가 정한다. 경로는 도로를 이어 붙인 임의의 순서이고, 같은 마을을 여러 번 지나도 된다. 한 걸음도 움직이지 않는 판매원도 있어도 되며, 그 판매원은 1번 마을에만 케이크를 준다.

모든 마을이 케이크를 받게 하려면 미르코는 판매원을 최소 몇 명 고용해야 하는가?

입력

첫째 줄에 마을의 수 NN과 도로의 수 EE가 주어진다. (1N5001 \le N \le 500, 1E500001 \le E \le 50000)

다음 EE개 줄에는 각각 두 정수 AABB가 주어진다. (1A,BN1 \le A, B \le N) 마을 AA에서 마을 BB로 가는 일방통행 도로가 있다는 뜻이고, 판매원은 이 도로로 마을 AA에서 마을 BB로 곧바로 갈 수 있다.

같은 도로가 여러 번 주어질 수 있고, AABB가 같을 수도 있다.

출력

첫째 줄에 미르코가 고용해야 하는 판매원의 최소 인원을 출력한다. 모든 마을이 케이크를 받는 방법이 항상 존재하는 입력만 주어진다.