#P1665E. MinimizOR

    ID: 7776 远端评测题 3000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>binary searchbitmasksdata structuresdpgreedyimplementation

MinimizOR

Description

You are given an array $a$ of $n$ non-negative integers, numbered from $1$ to $n$.

Let's define the cost of the array $a$ as $\displaystyle \min_{i \neq j} a_i | a_j$, where $|$ denotes the bitwise OR operation.

There are $q$ queries. For each query you are given two integers $l$ and $r$ ($l < r$). For each query you should find the cost of the subarray $a_{l}, a_{l + 1}, \ldots, a_{r}$.

Each test case consists of several test cases. The first line contains a single integer $t$ ($1 \le t \le 10^4$) — the number of test cases.

The first line of each test case contains an integer $n$ ($2 \le n \le 10^5$) — the length array $a$.

The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_n$ ($0 \le a_i < 2^{30}$) — the elements of $a$.

The third line of each test case contains an integer $q$ ($1 \le q \le 10^5$) — the number of queries.

Each of the next $q$ lines contains two integers $l_j$, $r_j$ ($1 \le l_j < r_j \le n$) — the description of the $j$-th query.

It is guaranteed that the sum of $n$ and the sum of $q$ over all test cases do not exceed $10^5$.

For each test case print $q$ numbers, where the $j$-th number is the cost of array $a_{l_j}, a_{l_j + 1}, \ldots, a_{r_j}$.

Input

Each test case consists of several test cases. The first line contains a single integer $t$ ($1 \le t \le 10^4$) — the number of test cases.

The first line of each test case contains an integer $n$ ($2 \le n \le 10^5$) — the length array $a$.

The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_n$ ($0 \le a_i < 2^{30}$) — the elements of $a$.

The third line of each test case contains an integer $q$ ($1 \le q \le 10^5$) — the number of queries.

Each of the next $q$ lines contains two integers $l_j$, $r_j$ ($1 \le l_j < r_j \le n$) — the description of the $j$-th query.

It is guaranteed that the sum of $n$ and the sum of $q$ over all test cases do not exceed $10^5$.

Output

For each test case print $q$ numbers, where the $j$-th number is the cost of array $a_{l_j}, a_{l_j + 1}, \ldots, a_{r_j}$.

Samples

2
5
6 1 3 2 1
4
1 2
2 3
2 4
2 5
4
0 2 1 1073741823
4
1 2
2 3
1 3
3 4
7
3
3
1
2
3
1
1073741823

Note

In the first test case the array $a$ is

$110_2, 001_2, 011_2, 010_2, 001_2$.

That's why the answers for the queries are:

  • $[1; 2]$: $a_1 | a_2 = 110_2 | 001_2 = 111_2 = 7$;
  • $[2; 3]$: $a_2 | a_3 = 001_2 | 011_2 = 011_2 = 3$;
  • $[2; 4]$: $a_2 | a_3 = a_3 | a_4 = a_2 | a_4 = 011_2 = 3$;
  • $[2; 5]$: $a_2 | a_5 = 001_2 = 1$.

In the second test case the array $a$ is

$00_2, 10_2, 01_2, \underbrace{11\ldots 1_2}_{30}$ ($a_4 = 2^{30} - 1$).

That's why the answers for the queries are:

  • $[1; 2]$: $a_1 | a_2 = 10_2 = 2$;
  • $[2; 3]$: $a_2 | a_3 = 11_2 = 3$;
  • $[1; 3]$: $a_1 | a_3 = 01_2 = 1$;
  • $[3; 4]$: $a_3 | a_4 = 01_2 | \underbrace{11\ldots 1_2}_{30} = 2^{30} - 1 = 1073741823$.