← Home
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.