모든 도로가 일방통행이고, 각 도로가 한 교차로에서 다른 교차로로 이어지는 도시가 있다. 또한 어떤 교차로에서 출발하여 도시의 도로를 따라 이동하더라도 결코 같은 교차로로 되돌아올 수 없다는 것이 알려져 있다. 즉, 도시의 도로들은 어떤 사이클(순환)도 이루지 않는다.
이 조건에서, 도시의 모든 교차로를 방문하되 어떤 교차로도 두 명 이상의 낙하산병이 방문하지 않도록 하면서, 도시에 낙하산으로 착륙하여 모든 교차로를 방문할 수 있는 낙하산병의 최소 인원수를 구하는 프로그램을 작성하라. 각 낙하산병은 한 교차로에 착륙하며, 도시의 도로를 따라 다른 교차로들을 방문할 수 있다. 각 낙하산병이 출발하는 교차로에는 아무런 제한이 없다.
프로그램은 여러 개의 데이터 집합을 읽는다. 입력의 첫 줄에는 데이터 집합의 개수가 주어진다. 각 데이터 집합은 한 도시의 구조를 나타내며 다음 형식을 가진다:
no_of_intersections
no_of_streets
S1 E1
S2 E2
......
Sno_of_streets Eno_of_streets
각 데이터 집합의 첫 줄에는 도시의 교차로 수를 나타내는 양의 정수 no_of_intersections(0보다 크고 120 이하)가 주어진다. 둘째 줄에는 도시의 도로 수를 나타내는 양의 정수 no_of_streets가 주어진다. 이어지는 no_of_streets개의 줄은 각각 하나의 도로를 나타내며, 임의의 순서로 주어진다. $k$번째 도로($k \le$ no_of_streets)에 해당하는 줄은 공백 하나로 구분된 두 양의 정수로 이루어진다: 도로의 시작 교차로 번호 $S_k$($1 \le S_k \le$ no_of_intersections)와 도로의 끝 교차로 번호 $E_k$($1 \le E_k \le$ no_of_intersections). 교차로는 $1$부터 no_of_intersections까지의 정수로 표현된다.
연속한 데이터 집합 사이에 빈 줄은 없다. 입력 데이터는 항상 올바르다.
각 데이터 집합에 대해, 도시의 모든 교차로를 방문하는 데 필요한 낙하산병의 최소 인원수를 한 줄에 정수 하나로 출력한다.