编程题
### 问题描述
在一个未来的科技世界中,人们在虚拟现实中创建了一个神秘的数字迷宫(是由一个树形结构组成),迷宫由数字节点构成,每个节点都有一个整数值。你的任务是找到具有相同整数值的节点构成的最长路径的长度。这条路径可以经过也可以不经过起始节点。
### 输入格式
第一行两个整数 $n$,$m$,分别表示表示这个迷宫的节点数量和节点与节点之间的路径。
接下来有 $m$ 行,每行有两个整数,表示路径的两端的节点编号。(根节点从 $1$ 开始)
最后一行 $n$ 个整数,其中,第 $i$ 个整数表示节点 $i$ 的整数值。
### 输出格式
一个整数,表示当具有相同整数值的节点构成的路径最长时,这个节点的整数值。如果有多个长度相同的数值,请输出最小的数值。
### 样例输入
```text
4 3
1 2
1 3
2 4
8 8 8 3
```
### 样例输出
```text
8
```
### 说明
在示例中,具有相同整数值的节点构成的最长路径是 $8$ $8$ $8$,其长度为 $8$。
### 评测数据规模
对于 $50\%$ 的评测数据,节点数范围在 $0\leq n\leq 5000$。
对于 $100\%$ 的评测数据,节点数范围在 $0\leq n\leq 10^4$,节点的整数值小于 $|1000|$,$m=n-1$。