|Educational Codeforces Round 25|
You are given a tree consisting of n vertices (numbered from 1 to n). Initially all vertices are white. You have to process q queries of two different types:
For each query of type 2 print the answer to it.
Note that the queries are given in modified way.
The first line contains two numbers n and q (3 ≤ n, q ≤ 106).
Then n - 1 lines follow, each line containing two numbers xi and yi (1 ≤ xi < yi ≤ n) and representing the edge between vertices xi and yi.
It is guaranteed that these edges form a tree.
Then q lines follow. Each line contains two integers ti and zi, where ti is the type of ith query, and zi can be used to restore xi for this query in this way: you have to keep track of the answer to the last query of type 2 (let's call this answer last, and initially last = 0); then xi = (zi + last) mod n + 1.
It is guaranteed that the first query is of type 1, and there is at least one query of type 2.
For each query of type 2 output the answer to it.