write a go solution for Description: While tracking Diavolo's origins, Giorno receives a secret code from Polnareff. The code can be represented as an infinite sequence of positive integers: a_1,a_2,.... Giorno immediately sees the pattern behind the code. The first n numbers a_1,a_2,...,a_n are given. For i>n the value of a_i is (a_i-n|a_i-n+1), where | denotes the bitwise OR operator. Pieces of information about Diavolo are hidden in q questions. Each question has a positive integer v associated with it and its answer is the smallest index i such that a_i>v. If no such i exists, the answer is -1. Help Giorno in answering the questions! Input Format: Each test contains multiple test cases. The first line contains the number of test cases t (1<=t<=10,000). The description of the test cases follows. The first line of each test case contains two integers n and q (2<=n<=2*10^5 , 1<=q<=2*10^5). The second line of each test case contains n integers a_1,a_2,ldots,a_n (0<=a_i<=10^9) — the parts of the code which define the pattern. The i-th line of the next q lines contain a single integer v_i (0<=v_i<=10^9) — the question Giorno asks you. The sum of n and q over all test cases does not exceed 2*10^5. Output Format: Print q numbers. The i-th number is the answer to the i-th question asked by Giorno. Note: In the first test case, a=[2,1,3,3,ldots]. - For the first question, a_1=2 is the element with the smallest index greater than 1. - For the second question, a_3=3 is the element with the smallest index greater than 2. - For the third question, there is no index i such that a_i>3.. Output only the code with no comments, explanation, or additional text.