Tree Path
60% Success1285 Attempts50 Points1s Time Limit256MB Memory1024 KB Max Code

Given an undirected tree with N nodes. Every node has a weight assigned to it denoted by array W.

Among all the simple paths of length K in the given tree, Sam can choose to pick any path and traverse on it.

Help Sam choose a path such that the maximum weight node present on the path is as minimum as possible.

Return -1, if no such path exists.

Note:

  • Length of the simple path, is defind by the number of edges present on the path.

Input

  • First line contains two space-separated integers N K.
  • Second line contains N space-separated integers denoting the array W.
  • Next N - 1 lines contains two space separated integers u v, denoting an edge between node u and v.

Output

Print an integer denoting the maximum weight node present on the path traversed by Sam.

Constraints

\(1 \le N \le 10^5\)
\(1 \le K \le N\)
\(1 \leq u, v \leq N\)
\(1 \le W[i] \le 10^5\)

Examples
Input
5 2
2 1 4 2 5
1 2
2 3
2 4
1 5
Output
2
Explanation

There are 3 simple paths of length 2 in the given tree,

  • 1 - 2 - 3, maximum weight node 4
  • 1 - 2 - 4, maximum weight node 2
  • 2 - 1 - 5, maximum weight node 5

Sam, can pick the path with the maximum weight 2.

Please login to use the editor

You need to be logged in to access the code editor

Loading...

Please wait while we load the editor

Loading Editor...
Results