AT_arc213_c [ARC213C] Double X

Description

頂点に $ 1 $ から $ N $ の番号がついた $ N $ 頂点の木が $ 2 $ 個与えられ、それぞれ $ T, U $ と呼びます。 $ T $ の $ i $ 番目の辺は頂点 $ u_i $ と頂点 $ v_i $ を結ぶ辺です。 $ U $ の $ i $ 番目の辺は頂点 $ b_i $ と頂点 $ c_i $ を結ぶ辺です。 また、長さ $ N $ の整数列 $ A=(A_1,A_2,\dots,A_N) $ が与えられます。 $ k = 1, 2, \dots, N $ に対して次の小問題を解いてください。 > 次の条件を満たす整数の組 $ (x_1, x_2, x_3, x_4) $ は存在しますか?また、存在する場合は条件を満たす組における $ \sum_{i=1}^4 A_{x_i} $ の最小値を求めてください。 > > - $ x_1, x_2, x_3, x_4 $ は全て相異なる。 > - $ x_1, x_2, x_3, x_4 $ は全て $ k $ でない。 > - $ 1 \leq i \lt j \leq 4 $ を満たす全ての整数 $ (i,j) $ について、 $ T $ 上の $ x_i x_j $ パスに頂点 $ k $ は載っていて、かつ $ U $ 上の $ x_i x_j $ パスにも頂点 $ k $ は載っている。 $ t $ 個のテストケースが与えられるので、それぞれについて問題を解いてください。

Input Format

入力は以下の形式で標準入力から与えられる。ここで $ \mathrm{case}_i $ は $ i $ 番目のテストケースを意味する。 > $ t $ $ \mathrm{case}_1 $ $ \mathrm{case}_2 $ $ \vdots $ $ \mathrm{case}_t $ 各テストケースでは、入力は以下の形式で与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_{N-1} $ $ v_{N-1} $ $ b_1 $ $ c_1 $ $ b_2 $ $ c_2 $ $ \vdots $ $ b_{N-1} $ $ c_{N-1} $

Output Format

$ t $ 行出力せよ。 $ i $ 行目には $ i $ 番目のテストケースの答えを出力せよ。 各テストケースでは、小問題の答えを空白区切りで $ k=1,2,\dots,N $ の順に $ 1 $ 行に出力せよ。 小問題では、条件を満たす整数の組 $ (x_1, x_2, x_3, x_4) $ が存在しない場合は $ -1 $ を、存在する場合はそのような組における $ \sum_{i=1}^4 A_{x_i} $ の最小値を出力せよ。

Explanation/Hint

### Sample Explanation 1 $ 1 $ 番目のテストケースについて、 $ k=1,2,3,4 $ の時は条件を満たす $ (x_1, x_2, x_3, x_4) $ は存在しません。また、 $ k=5 $ の時は $ (x_1,x_2,x_3,x_4) = (1,2,3,4) $ が条件を満たします。 ### Constraints - $ 1 \leq t \leq 10^5 $ - $ 5 \leq N \leq 10^5 $ - $ 1 \leq A_i \leq 10^9 $ - $ 1 \leq u_i \lt v_i \leq N $ - $ 1 \leq b_i \lt c_i \leq N $ - $ T, U $ は木 - 全てのテストケースに対する $ N $ の総和は $ 10^5 $ 以下 - 入力される値は全て整数