Alice and Bob play a game. The game starts with a graph that contains $$n$$ nodes and no edges. You are required to process $$q$$ queries of two types:
- Add a directed edge from $$u[i]$$ to $$v[i]$$.
- Print $$x[i]$$ if there is a directed path from vertex 1 to vertex $$x[i]$$. Otherwise, print $$0$$.
Input format
- The first line contains $$n$$, $$q$$, and $$t$$ (\(1 ≤ n,\ q ≤ 10^6,\ 0 ≤ t ≤ 1\))(\(1 ≤ n,\ q ≤ 10^6,\ 0 ≤ t ≤ 1\)) denoting the number of nodes, the number of queries, and a constant number $$t$$.
- Next $$q$$ lines contain the queries, each with one of the following formats:
- Queries of the first type: \(1\ a[i]\ b[i]\ (0 ≤ a[i], b[i]≤2\cdot10^9)\)
- Queries of the second type: \(2\ a[i]\ (0≤a[i]≤2\cdot10^9)\).
Nodes $$u[i]$$ and $$v[i]$$ for queries of the first type and node $$x[i]$$ for queries of the second type are generated as follows:
\(x[i]=(a[i]⊕(t∗lastans))\ mod\ n + 1\ x[i]=(a[i]⊕(t∗lastans))\ mod n + 1\)
where $$lastans$$ denotes the answer for the last query of the second type (initially $$lastans = 0$$)
Output format
For each query of type 2, print one integer denoting the answer to the query.
generated Queries:
2 1 where node 1 is reachable
2 2 where node 2 is not reachable
1 1 2 add edge from 1 to 2
2 2 where node 2 is reachable
1 3 4 add edge from 3 to 4
1 3 4 add edge from 3 to 4
2 4 where node 4 is not reachable
1 2 3 add edge from 2 to 3
2 4 where node 4 is reachable
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
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