Specijacija

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

문제

You are given a positive integer nn and a sequence a_1,a_2,,a_na\_1, a\_2, \dots , a\_n of positive integers, such that i(i1)2<a_ii(i+1)2\frac{i(i−1)}{2} < a\_i \le \frac{i(i+1)}{2}.

The sequence parameterizes a tree with (n+1)(n+2)2\frac{(n+1)(n+2)}{2} vertices, consisting of n+1n + 1 levels with 1,2,,n+11, 2, \dots , n + 1 vertices, in the following way:

The tree parameterized by a=(1,2,6)a = (1, 2, 6).

The ii-th level contains vertices i(i1)2+1,,i(i+1)2\frac{i(i−1)}{2} + 1, \dots , \frac{i(i+1)}{2}. The vertex a_ia\_i has two children, and the rest of the vertices on the level have one child each.

We want to answer qq queries of the form “what is the largest common ancestor of xx and yy”, i.e. the vertex with the largest label which is an ancestor of both xx and yy.

입력

The first line contains integers nn, qq and tt (1n,q200000,t0,11 \le n, q \le 200 000, t \in \\{0, 1\\}), the number of parameters, the number of queries, and a value which will be used to determine the labels of vertices in the queries.

The second line contains a sequence of nn integers a_ia\_i (i(i1)2a_ii(i+1)2\frac{i(i−1)}{2} \le a\_i \le \frac{i(i+1)}{2}) which parameterize the tree.

The ii-th of the following qq lines contains two integers x~_i\tilde{x}\_i and y~_i\tilde{y}\_i (1x~_i,y~_i(n+1)(n+2)21 ≤ \tilde{x}\_i, \tilde{y}\_i ≤ \frac{(n+1)(n+2)}{2}) which will be used to determine the labels of vertices in the queries.

Let z_iz\_i be the answer to the ii-th query, and let z_0=0z\_0 = 0. The labels in the ii-th query x_ix\_i and y_iy\_i are:

x_i=((x~_i1+tz_i1)mod(n+1)(n+2)2)+1,x\_i = \left(\left(\tilde{x}\_i - 1 + t \cdot z\_{i-1}\right) \mod \frac{(n+1)(n+2)}{2}\right) + 1 \text{,}

y_i=((y~_i1+tz_i1)mod(n+1)(n+2)2)+1,y\_i = \left(\left(\tilde{y}\_i - 1 + t \cdot z\_{i-1}\right) \mod \frac{(n+1)(n+2)}{2}\right) + 1 \text{,}

where mod\text{mod} is the remainder of integer divison.

Remark: Note that if t=0t = 0, it holds x_i=x~_ix\_i = \tilde{x}\_i and y_i=y~_iy\_i = \tilde{y}\_i, so all queries are known from input. If t=1t = 1, the queries are not known in advance, but are determined using answers to previous queries.

출력

Output qq lines. In the ii-th line, output the largest common ancestor of x_ix\_i and y_iy\_i.

힌트

Clarification of the examples: The tree from both examples is shown on the figure in the statement. Labels of verticies in queries in the second example are: x_1=7,y_1=10, x_2=9,y_2=6, x_3=2,y_3=8, x_4=1,y_4=2, x_5=3,y_5=4x\_1 = 7, y\_1 = 10, \\\ x\_2 = 9, y\_2 = 6,\\\ x\_3 = 2, y\_3 = 8,\\\ x\_4 = 1, y\_4 = 2,\\\ x\_5 = 3, y\_5 = 4.