$n$ 個の頂点と $\boldsymbol{n-1}$ 本の有向辺を持つ有向グラフ $G$ と、$n$ 以下の正整数 $k$ が与えられます。$G$ のすべての辺を無向辺とみなすと、グラフは連結である(すなわち木になる)ことが保証されます。
$q$ 回の操作があります。操作は次の5種類で、それぞれの引数は以下のとおりです。
1 x y:頂点 $x$ と頂点 $y$ を結ぶ辺の向きを反転します。頂点 $x$ と頂点 $y$ の間に辺が存在することが保証されます。2 a:頂点 $a$ に入るすべての辺の向きを反転します。3 b:頂点 $b$ から出るすべての辺の向きを反転します。4 c:頂点 $c$ のすべての入辺と出辺の向きを反転します。5 p:$k$ の値を $p$ に変更します。
頂点 $u$ に入る辺とは終点が頂点 $u$ である有向辺であり、頂点 $u$ から出る辺とは始点が頂点 $u$ である有向辺です。
この有向グラフを管理し、最初の操作の前および各操作の後に、頂点 $k$ 以外のすべての頂点から現在の有向辺をたどって頂点 $k$ に到達できるか判定してください。できる場合は YES を、そうでなければ NO を出力してください。
入力
最初の行には3つの整数 $n,k,q$ が与えられます($2 \le n \le 10^6$、$0 \le q \le 10^6$、$1 \le k \le n$)。
続く $n-1$ 行の各行には2つの正整数 $u_i,v_i$ が与えられ、頂点 $u_i$ と頂点 $v_i$ の間に、頂点 $u_i$ から頂点 $v_i$ への有向辺が存在することを表します($1 \le u_i,v_i \le n$)。
続く $q$ 行の各行には $2\sim3$ 個の正整数が与えられ、1回の操作を表します。意味と形式は前述の問題文を参照してください($1 \le x,y,a,b,c,p \le n$)。
$G$ のすべての辺を無向辺とみなすとグラフは連結である(すなわち木になる)こと、また1種類目の操作を行うときは頂点 $x$ と頂点 $y$ の間に辺が存在することが保証されます。
出力
合計 $q+1$ 行出力してください。最初の操作の前および各操作の後に、頂点 $k$ 以外のすべての頂点から現在の有向辺をたどって頂点 $k$ に到達できる場合は YES を、そうでなければ NO を出力してください。
入出力例
入力 1
10 10 10 9 10 1 5 3 9 8 9 4 9 7 9 5 4 2 10 6 7 4 5 3 2 3 1 1 10 2 1 5 1 1 4 5 5 4 2 9 1 9 3 2 9
出力 1
YES NO NO NO NO NO YES NO NO NO NO
入力 2
10 4 10 8 9 2 4 10 5 9 4 3 2 1 2 5 4 6 4 7 8 1 2 1 1 2 1 5 10 1 5 4 1 10 5 3 4 1 5 4 5 2 1 5 10 1 4 5
出力 2
YES NO YES NO NO YES NO YES NO NO NO