给定一棵包含 $n$ 个顶点的树,每个顶点都有一个唯一的编号,从 $1$ 到 $n$。每个顶点都有颜色,黑色或白色。 请选择恰好 $m$ 个黑色顶点,使得它们中任意两个顶点之间的最长路径长度最小。
输入格式
第一行包含两个整数 $n$ 和 $m$ ($1 \le m \le n \le 100$),分别表示顶点的数量和需要选择的黑色顶点的数量。
第四行包含 $n$ 个整数 $p_1, p_2, \dots, p_n$ ($0 \le p_i \le 1$)。如果 $p_i = 1$,则第 $i$ 个顶点为黑色;否则为白色。保证黑色顶点的总数至少为 $m$。
接下来的 $n - 1$ 行,每行包含两个整数 $v_i$ 和 $u_i$ ($1 \le v_i, u_i \le n$),表示 $v_i$ 和 $u_i$ 之间有一条边。
保证输入图是一棵树。
输出格式
输出一个整数,即该任务的答案。
样例
输入格式 1
6 3 1 1 0 1 1 1 1 2 1 3 1 4 3 5 3 6
输出格式 1
2
说明
在第一个样例中,唯一的选择是选择 $1, 2$ 和 $4$。最大距离为 $2$。
输入格式 2
9 4 1 0 1 0 1 0 0 1 1 1 2 2 4 2 3 4 5 1 6 6 7 6 8 7 9
输出格式 2
5
说明
在第二个样例中,可以选择 $1, 3, 8$ 和 $9$。最大距离将是 $3$ 和 $9$ 之间的距离,即 $5$。