#5699. CSES2134 路径查询 II

0

CSES2134 路径查询 II

Path Queries II

You are given a tree consisting of n nodes. The nodes are numbered 1,2,\ldots,n. Each node has a value. Your task is to process following types of queries:

change the value of node s to x

find the maximum value on the path between nodes a and b.

Input

The first input line contains two integers n and q: the number of nodes and queries. The nodes are numbered 1,2,\ldots,n. The next line has n integers v_1,v_2,\ldots,v_n: the value of each node. Then there are n-1 lines describing the edges. Each line contains two integers a and b: there is an edge between nodes a and b. Finally, there are q lines describing the queries. Each query is either of the form "1 s x" or "2 a b".

Output

Print the answer to each query of type 2.

Constraints

1n,q21051 \le n, q \le 2 \cdot 10^5

1a,b,sn1 \le a,b, s \le n

1vi,x1091 \le v_i, x \le 10^9

Example

Input

5 3
2 4 1 3 3
1 2
1 3
2 4
2 5
2 3 5
1 2 2
2 3 5

Output

4 3