#P1227D2. Optimal Subsequences (Hard Version)

Optimal Subsequences (Hard Version)

Description

This is the harder version of the problem. In this version, 1n,m21051 \le n, m \le 2\cdot10^5. You can hack this problem if you locked it. But you can hack the previous problem only if you locked both problems.

You are given a sequence of integers a=[a1,a2,,an]a=[a_1,a_2,\dots,a_n] of length nn. Its subsequence is obtained by removing zero or more elements from the sequence aa (they do not necessarily go consecutively). For example, for the sequence a=[11,20,11,33,11,20,11]a=[11,20,11,33,11,20,11]:

  • [11,20,11,33,11,20,11][11,20,11,33,11,20,11], [11,20,11,33,11,20][11,20,11,33,11,20], [11,11,11,11][11,11,11,11], [20][20], [33,20][33,20] are subsequences (these are just some of the long list);
  • [40][40], [33,33][33,33], [33,20,20][33,20,20], [20,20,11,11][20,20,11,11] are not subsequences.

Suppose that an additional non-negative integer kk (1kn1 \le k \le n) is given, then the subsequence is called optimal if:

  • it has a length of kk and the sum of its elements is the maximum possible among all subsequences of length kk;
  • and among all subsequences of length kk that satisfy the previous item, it is lexicographically minimal.

Recall that the sequence b=[b1,b2,,bk]b=[b_1, b_2, \dots, b_k] is lexicographically smaller than the sequence c=[c1,c2,,ck]c=[c_1, c_2, \dots, c_k] if the first element (from the left) in which they differ less in the sequence bb than in cc. Formally: there exists tt (1tk1 \le t \le k) such that b1=c1b_1=c_1, b2=c2b_2=c_2, ..., bt1=ct1b_{t-1}=c_{t-1} and at the same time bt<ctb_t<c_t. For example:

  • [10,20,20][10, 20, 20] lexicographically less than [10,21,1][10, 21, 1],
  • [7,99,99][7, 99, 99] is lexicographically less than [10,21,1][10, 21, 1],
  • [10,21,0][10, 21, 0] is lexicographically less than [10,21,1][10, 21, 1].

You are given a sequence of a=[a1,a2,,an]a=[a_1,a_2,\dots,a_n] and mm requests, each consisting of two numbers kjk_j and posjpos_j (1kn1 \le k \le n, 1posjkj1 \le pos_j \le k_j). For each query, print the value that is in the index posjpos_j of the optimal subsequence of the given sequence aa for k=kjk=k_j.

For example, if n=4n=4, a=[10,20,30,20]a=[10,20,30,20], kj=2k_j=2, then the optimal subsequence is [20,30][20,30] — it is the minimum lexicographically among all subsequences of length 22 with the maximum total sum of items. Thus, the answer to the request kj=2k_j=2, posj=1pos_j=1 is the number 2020, and the answer to the request kj=2k_j=2, posj=2pos_j=2 is the number 3030.

The first line contains an integer nn (1n21051 \le n \le 2\cdot10^5) — the length of the sequence aa.

The second line contains elements of the sequence aa: integer numbers a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \le a_i \le 10^9).

The third line contains an integer mm (1m21051 \le m \le 2\cdot10^5) — the number of requests.

The following mm lines contain pairs of integers kjk_j and posjpos_j (1kn1 \le k \le n, 1posjkj1 \le pos_j \le k_j) — the requests.

Print mm integers r1,r2,,rmr_1, r_2, \dots, r_m (1rj1091 \le r_j \le 10^9) one per line: answers to the requests in the order they appear in the input. The value of rjr_j should be equal to the value contained in the position posjpos_j of the optimal subsequence for k=kjk=k_j.

Input

The first line contains an integer nn (1n21051 \le n \le 2\cdot10^5) — the length of the sequence aa.

The second line contains elements of the sequence aa: integer numbers a1,a2,,ana_1, a_2, \dots, a_n (1ai1091 \le a_i \le 10^9).

The third line contains an integer mm (1m21051 \le m \le 2\cdot10^5) — the number of requests.

The following mm lines contain pairs of integers kjk_j and posjpos_j (1kn1 \le k \le n, 1posjkj1 \le pos_j \le k_j) — the requests.

Output

Print mm integers r1,r2,,rmr_1, r_2, \dots, r_m (1rj1091 \le r_j \le 10^9) one per line: answers to the requests in the order they appear in the input. The value of rjr_j should be equal to the value contained in the position posjpos_j of the optimal subsequence for k=kjk=k_j.

Sample Input 1

3
10 20 10
6
1 1
2 1
2 2
3 1
3 2
3 3

Sample Output 1

20
10
20
10
20
10

Sample Input 2

7
1 2 1 3 1 2 1
9
2 1
2 2
3 1
3 2
3 3
1 1
7 1
7 7
7 4

Sample Output 2

2
3
2
3
2
3
1
1
3

Note

In the first example, for a=[10,20,10]a=[10,20,10] the optimal subsequences are:

  • for k=1k=1: [20][20],
  • for k=2k=2: [10,20][10,20],
  • for k=3k=3: [10,20,10][10,20,10].