#P16320. [Ucpc2023]Function On Trees

[Ucpc2023]Function On Trees

题目描述

给定两棵树 T1,T2T_1,T_2 和一个长度为 NN 的数列

a1,a2,,aN.a_1,a_2,\ldots,a_N.

两棵树均包含 NN 个顶点,顶点编号为 1,2,,N1,2,\ldots,N,并且两棵树的根节点都是顶点 11

对于每个顶点 ii

  • PiP_i 为树 T1T_1 中以 ii 为根的子树所包含的顶点编号集合;
  • QiQ_i 为树 T2T_2 中以 ii 为根的子树所包含的顶点编号集合。

定义

mi=max{akkPiQi}.m_i=\max\{a_k\mid k\in P_i\cap Q_i\}.

请计算 m1,m2,,mNm_1,m_2,\ldots,m_N

输入格式

第一行包含整数 NN

1N250000.1\le N\le 250000.

第二行包含 NN 个整数 a1,a2,,aNa_1,a_2,\ldots,a_N

1ai109.1\le a_i\le 10^9.

接下来 N1N-1 行,每行包含两个整数 u,vu,v,表示树 T1T_1 中的一条边。

随后再有 N1N-1 行,每行包含两个整数 u,vu,v,表示树 T2T_2 中的一条边。

所有边均满足

1u,vN,uv.1\le u,v\le N, \qquad u\ne v.

保证 T1T_1T2T_2 均为树。

输出格式

输出 NN 行,第 ii 行输出 mim_i

样例

输入

6
7 10 5 14 8 100
4 5
1 5
5 6
1 2
3 6
1 4
2 4
1 5
3 6
4 6

输出

100
10
5
14
8
100