Alice has a wheel-graph: an undirected graph with \(n+1\) nodes and \(2 \cdot n\) edges. In wheel-graph there are edges between \(n + 1\) and i for each integer \(i : 1 \leq i \leq n\) and edges between i and \(i\mod n + 1\) for each integer \(i : 1 <= i <= n\) (see examples to understand it better). Undirected graphs are quite boring for Alice so she made a directed wheel-graph and now each edge has a direction.
Alice wants performs two types of queries:
- 1 a b - change orientation between nodes a and b. Now orientation is from a to b (before this query in graph was a edge from node b to node a).
- 2 a b - check if is b reachable from a.
Help her.
\(INPUT\)
The first line of the input contains a single integer n \((2 \leq n \leq 200 000)\) - number of nodes without center node.
Then follow \(n \cdot 2\) lines with edges description. The i-th of these lines contains two integers \(a_i\) and \(b_i\) - index of node the edge start from, index of node the edge goes to. It is guaranteed that edges formed a correct directed wheel-graph with \(n + 1\) nodes.
Next line of the input contains a single integer q \((1 \leq q \leq 200 000)\) - number of queries.
Then q lines follow with queries description. The i-th of these lines contains three integers \(type_i\), \(a_i\), \(b_i\) - parameters of the i-th query.
\(OUTPUT\)
For each query of the second type print "Yes" if b can be reached from a and "No" otherwise.
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor
Login to unlock the editorial