Bit Operation Game

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

NN 頂点の根付き木が与えられる。 頂点には 00 から N1N-1 の番号がついており、00番目の頂点が根を表す。 根には T = 0 が、それ以外の頂点には

  • T=T&X
  • T=T&Y
  • T=T|X
  • T=T|Y
  • T=T^X
  • T=T^Y

のいずれかの操作が書かれている。 ここでの演算子 &, |, ^ はそれぞれビット演算子 and, or, xor, を意味する。

A君とB君はこの木を使って以下のゲームを MM 回行った。 二人は根からスタートし、子頂点を選び進むという操作を、A君から始め葉に到達するまで交互に行う。 通ったノードに書かれている操作を、通った順に適用した時の、最終的な TT の値がスコアになる。 B君はできるだけスコアを小さくしたいと考えており、またA君は大きくしたいと考えている。 M回のゲームの XX, YY の値が与えられるので、二人が最適な選択をした時の各ゲームのスコアを出力せよ。

입력

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

NN MM

o_1o\_1

o_2o\_2

......

o_N1o\_{N-1}

u_1u\_1 v_1v\_1

u_2u\_2 v_2v\_2

......

u_N1u\_{N-1} v_N1v\_{N-1}

X_1X\_1 Y_1Y\_1

X_2X\_2 Y_2Y\_2

......

X_MX\_M Y_MY\_M

11 行目には木の頂点数 NN と、行われるゲーム数を表す整数 MM が入力される。

22 行目から NN 行目にかけて、11N1N-1 番目の頂点に書かれている操作が入力される。

さらに続けて N1N-1 行に、各辺により繋がれる 22 頂点の番号が入力される。

最後に MM 回のゲームにおける XX, YY の値が MM 行に渡り入力される。

출력

各ゲームでの最終的な TT の値をそれぞれ MM 行に出力せよ。

제한

  • 1N1000001 \leq N \leq 100000
  • 1M1000001 \leq M \leq 100000
  • 0X,Y<2160 \leq X, Y < 2^{16}