#abc228d. [abc228_d]Linear Probing

[abc228_d]Linear Probing

Problem Statement

There is a sequence A=(A0,A1,dots,AN1)A = (A_0, A_1, \\dots, A_{N - 1}) with N=220N = 2^{20} terms. Initially, every term is \-1\-1.

Process QQ queries in order. The ii-th query (1leqileqQ)(1 \\leq i \\leq Q) is described by an integer tit_i such that ti=1t_i = 1 or ti=2t_i = 2, and another integer xix_i, as follows.

  • If ti=1t_i = 1, do the following in order.
    1. Define an integer hh as h=xih = x_i.
    2. While AhbmodNneq1A_{h \\bmod N} \\neq -1, keep adding 11 to hh. We can prove that this process ends after finite iterations under the Constraints of this problem.
    3. Replace the value of AhbmodNA_{h \\bmod N} with xix_i.
  • If ti=2t_i = 2, print the value of AxibmodNA_{x_i \\bmod N} at that time.

Here, for integers aa and bb, abmodba \\bmod b denotes the remainder when aa is divided by bb.

Constraints

  • 1leqQleq2times1051 \\leq Q \\leq 2 \\times 10^5
  • tiin1,2,(1leqileqQ)t_i \\in \\{ 1, 2 \\} \\, (1 \\leq i \\leq Q)
  • 0leqxileq1018,(1leqileqQ)0 \\leq x_i \\leq 10^{18} \\, (1 \\leq i \\leq Q)
  • There is at least one ii (1leqileqQ)(1 \\leq i \\leq Q) such that ti=2t_i = 2.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

QQ t1t_1 x1x_1 vdots\\vdots tQt_{Q} xQx_{Q}

Output

For each query with ti=2t_i = 2, print the response in one line. It is guaranteed that there is at least one such query.


Sample Input 1

4
1 1048577
1 1
2 2097153
2 3

Sample Output 1

1048577
-1

We have x1bmodN=1x_1 \\bmod N = 1, so the first query sets A1=1048577A_1 = 1048577.

In the second query, initially we have h=x2h = x_2, for which AhbmodN=A1neq1A_{h \\bmod N} = A_{1} \\neq -1, so we add 11 to hh. Now we have AhbmodN=A2=1A_{h \\bmod N} = A_{2} = -1, so this query sets A2=1A_2 = 1.

In the third query, we print Ax3bmodN=A1=1048577A_{x_3 \\bmod N} = A_{1} = 1048577.

In the fourth query, we print Ax4bmodN=A3=1A_{x_4 \\bmod N} = A_{3} = -1.

Note that, in this problem, N=220=1048576N = 2^{20} = 1048576 is a constant and not given in input.