human
After reaching your destination, you want to build a new colony on the new planet. Since this planet has many mountains and the colony must be built on a flat surface you decided to flatten the mountains using boulders (you are still dreaming so this makes sense to you).


You are given an array h_1, h_2, ..., h_n, where h_i is the height of the i-th mountain, and k — the number of boulders you have.

You will start throwing boulders from the top of the first mountain one by one and they will roll as follows (let's assume that the height of the current mountain is h_i): 

  * if h_i ≥ h_{i + 1}, the boulder will roll to the next mountain.

  * if h_i < h_{i + 1}, the boulder will stop rolling and increase the mountain height by 1 (h_i = h_i + 1).

  * if the boulder reaches the last mountain it will fall to the waste collection system and disappear. 


You want to find the position of the k-th boulder or determine that it will fall into the waste collection system.

Input

The first line contains a single integer t (1 ≤ t ≤ 100) — the number of test cases.

Each test case consists of two lines. The first line in each test case contains two integers n and k (1 ≤ n ≤ 100.
1 ≤ k ≤ 10^9) — the number of mountains and the number of boulders.

The second line contains n integers h_1, h_2, ..., h_n (1 ≤ h_i ≤ 100) — the height of the mountains.

It is guaranteed that the sum of n over all test cases does not exceed 100.

Output

For each test case, print -1 if the k-th boulder will fall into the collection system. Otherwise, print the position of the k-th boulder.

Example

Input

4
4 3
4 1 2 3
2 7
1 8
4 5
4 1 2 3
3 1
5 3 1

Output

2
1
-1
-1

Note

Let's simulate the first case:

  * The first boulder starts at i = 1.
since h_1 ≥ h_2 it rolls to i = 2 and stops there because h_2 < h_3. 
  * The new heights are [4,2,2,3]. 
  * The second boulder starts at i = 1.
since h_1 ≥ h_2 the boulder rolls to i = 2.
since h_2 ≥ h_3 the boulder rolls to i = 3 and stops there because h_3 < h_4. 
  * The new heights...
The above is tricky. Write me a correct solution in PYTHON.

=====
Write me a Python code to find the position of the k-th boulder or determine that it will fall into the waste collection system?
assistant
#Here is Python code to find the position of the k-th boulder or determine that it will fall into the waste collection system.

from __future__ import division, print_function
 
import os
import sys
from io import BytesIO, IOBase
 
if sys.version_info[0] < 3:
    from __builtin__ import xrange as range
    from future_builtins import ascii, filter, hex, map, oct, zip
 
 
def main():
    pass
 
 
# region fastio
 
BUFSIZE = 8192
 
 
class FastIO(IOBase):
    newlines = 0
 
    def __init__(self, file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)
 
 
class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
 
 
def print(*args, **kwargs):
    """Prints the values to a stream, or to sys.stdout by default."""
    sep, file = kwargs.pop("sep", " "), kwargs.pop("file", sys.stdout)
    at_start = True
    for x in args:
      ...