問題文

NN 頂点からなる木があり、頂点には 1,2,,N1, 2, …, N と番号が振られています。
ii 番目の辺 (1iN1)(1 \leq i \leq N - 1) は、頂点 AiA_iBiB_i を結んでおり、CiC_i の重みを持っています。

また、あなたは木の頂点 11 におり、MM 匹のモンスターを持っています。
モンスターには「素早さ」と呼ばれるパラメータがあり、i(1iM)i \: (1 \leq i \leq M) 番目のモンスターの素早さは SiS_i です。

あなたは頂点 11 から辺を通ることで別の頂点へ移動することができます。 そして、辺を通った瞬間に以下のイベントが発生します。

  • 重みが xx の辺を通ったとき、MM 匹のモンスターの素早さが xx との XOR をとった値に変化する。

ここで、MM 匹のモンスターの戦闘力を以下のように定義します。

  • MM 匹のモンスターの中での素早さの最小値

あなたが達成できる戦闘力の最大値を求めてください。

制約

  • 1N,M1051 \leq N, M \leq 10^5
  • 1Ai<BiN1 \leq A_i < B_i \leq N
  • 1Ci<2301 \leq C_i < 2^{30}
  • 1Si<2301 \leq S_i < 2^{30}
  • 与えられるグラフは木である。
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

NNMM
A1A_1B1B_1C1C_1
A2A_2B2B_2C2C_2
\vdots

AN1A_{N-1}BN1B_{N-1}CN1C_{N-1}
S1S_1S2S_2   . . .   SMS_M

出力

問題の答えを一行に出力せよ。

入出力例

入力例1
8 5
3 5 8
3 4 5
2 6 7
5 6 10
7 8 4
1 7 6
1 2 8
5 4 9 5 10
出力例1
6

以下のようにして戦闘力 66 を達成できます。

  • 頂点 11 から 頂点 77 へ移動する。モンスターの素早さはそれぞれ (3,2,15,3,12)(3, 2, 15, 3, 12) となる。
  • 頂点 77 から 頂点 88 へ移動する。モンスターの素早さはそれぞれ (7,6,11,7,8)(7, 6, 11, 7, 8) となる。

提出


Go (1.21)