CF1665E 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](https://en.wikipedia.org/wiki/Bitwise_operation#OR). 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} $ .

Input Format

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 Format

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} $ .

Explanation/Hint

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 $ .