중국집

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

문제

수도에는 nn개의 교차로와 이들을 잇는 n1n-1개의 도로가 있습니다. 도로망은 어느 교차로에서 다른 어느 교차로로도 정확히 한 가지 경로로만 갈 수 있도록 이루어져 있습니다. 즉, 도로망 전체가 하나의 트리(tree)를 이룹니다. 일부 교차로에는 중국집이 있습니다.

Kozik은 수도에 살고 싶어 하며, 어느 한 교차로에 있는 집을 고르려고 합니다. 그는 먹는 것은 좋아하지만 많이 걷는 것은 싫어해서, 도시의 모든 중국집을 둘러보되 가장 먼 중국집까지의 거리가 최소가 되는 위치에 집을 두고 싶어 합니다.

Kozik을 도와, 그가 고른 집이 있는 교차로에서 가장 먼 중국집까지의 거리를 구하세요. 인접한 두 교차로 사이의 거리는 11이라고 가정합니다.

입력

첫째 줄에 교차로의 수 nn (2n1062 \le n \le 10^6)이 주어집니다.

둘째 줄에 nn개의 정수 s1,s2,,sns_1, s_2, \dots, s_n (0si10 \le s_i \le 1)이 주어집니다. sis_i11이면 ii번째 교차로에 중국집이 있다는 뜻이고, 00이면 없다는 뜻입니다.

이어지는 n1n-1개의 줄에는 각각 두 정수 aabb (1a,bn1 \le a, b \le n)가 주어지며, 이는 교차로 aabb가 도로로 직접 연결되어 있음을 뜻합니다.

출력

Kozik이 고른 집에서 가장 먼 중국집까지의 거리를 한 줄에 정수 하나로 출력하세요. 도시에 중국집이 하나도 없다면 1-1을 출력하세요.