트리 T가 주어진다. 리프(leaf, 즉 잎)가 아닌 내부 정점 하나를 골라 루트로 삼는다.
일부 정점에는 "검정" 또는 "흰색" 라벨을 붙일 수 있다(리프와 루트에도 라벨을 붙일 수 있다). 각 리프 w에 대해, 루트에서 w까지의 단순 경로 위에는 반드시 라벨이 붙은 정점이 하나 이상 있어야 하며, w의 색은 그 경로에서 w에 가장 가까운(즉 마지막) 라벨 정점의 색으로 정해진다.
리프의 색이 모두 정해진, 루트가 지정되지 않은 트리가 주어진다. 트리의 임의의 내부 정점을 루트로 선택할 수 있을 때, 위 방식으로 리프의 색을 정확히 재현하는 데 필요한 라벨의 최소 개수를 구하라.
첫째 줄에 두 정수 m과 n이 주어진다 (2≤n<m≤10000). m은 T의 정점 수, n은 리프의 수이다. 정점에는 1,2,…,m의 번호가 매겨져 있고, 리프에는 번호 1,2,…,n이 배정된다.
이어지는 n개의 줄 중 i번째 줄에는 0 또는 1이 주어지며, 이는 리프 i의 색을 나타낸다(0은 검정, 1은 흰색).
그다음 m−1개의 줄에는 각각 공백으로 구분된 두 정수 a, b가 주어진다 (1≤a<b≤m). 각 줄은 T의 간선 하나를 나타낸다.
위 방식으로 리프의 색을 정하는 데 필요한 라벨의 최소 개수를 정수 하나로 출력한다.