팩트는 트리가 건강해지고 있다는 거임
시간 제한1초메모리 제한1024 MB
일부 노드가 안 건강한 트리에서, 남은 모든 연결 요소의 안 건강 노드가 K개 이하가 되도록 없앨 간선의 최소 개수를 구한다.
문제
트리를 가지고 노는 것을 좋아하는 예환이는 나뭇가지로 하나의 트리를 만들었다. 하지만 시간이 지나자 나뭇가지들의 접합부 중 몇몇이 썩고 있다는 것을 발견했다. 예환이는 곧바로 장미칼을 가져와서 최소 개수의 나뭇가지들을 잘라내어 모든 연결 요소들이 건강해지게 만들고 싶다.
나뭇가지들이 만나는 접합부를 노드라고 할 때, 노드들을 간선(나뭇가지)으로 연결한 그래프 를 생각하자. 그래프 는 트리(수형도)이다. 썩고 있는 노드를 안 건강 노드라고 하자. 예환이는 하나의 연결 요소 속 안 건강 노드의 개수가 를 넘지 않으면 그 연결 요소를 건강하다고 판단한다.

위의 그림은 일 때 트리를 건강하게 나눈 예시 중 하나이다. (빨간 노드가 안 건강 노드를 의미한다.)
총 노드의 수 , 한 연결 요소 속 안 건강 노드의 최대 개수 가 주어졌을 때, 최소 몇 개의 간선을 없앴을 때 남은 모든 연결 요소들이 건강해지는지 출력하는 프로그램을 작성하시오.
입력
첫 번째 줄에 두 정수 , 가 공백으로 구분되어 주어진다.
두 번째 줄에 개의 정수 가 공백으로 구분되어 주어진다. 각 에 대하여, 번째 노드가 안 건강 노드이면 이고 그렇지 않으면 이다.
이후 개의 줄에 걸쳐 각 줄마다 두 정수 , 가 공백으로 구분되어 주어진다. 이는 번째 노드와 번째 노드 사이를 잇는 간선이 존재한다는 의미이다.
출력
최소 몇 개의 간선을 없앴을 때 남은 모든 연결 요소들이 건강해지는지 출력한다.
제한
- ,
- 각 에 대하여,
- , ,
- 주어지는 모든 수는 정수이다.
- 주어지는 그래프는 트리이다.