write a go solution for 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 displaystylemin_ineqja_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. Input Format: Each test case consists of several test cases. The first line contains a single integer t (1<=t<=10^4) — the number of test cases. The first line of each test case contains an integer n (2<=n<=10^5) — the length array a. The second line of each test case contains n integers a_1,a_2,ldots,a_n (0<=a_i<2^30) — the elements of a. The third line of each test case contains an integer q (1<=q<=10^5) — the number of queries. Each of the next q lines contains two integers l_j, r_j (1<=l_j<r_j<=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. 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,underbrace11ldots1_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|underbrace11ldots1_2_30=2^30-1=1073741823.. Output only the code with no comments, explanation, or additional text.