You are given an array $a_1, a_2, \dots , a_n$, which is sorted in non-decreasing order ($a_i \le a_{i + 1})$. 

Find three indices $i$, $j$, $k$ such that $1 \le i < j < k \le n$ and it is impossible to construct a non-degenerate triangle (a triangle with nonzero area) having sides equal to $a_i$, $a_j$ and $a_k$ (for example it is possible to construct a non-degenerate triangle with sides $3$, $4$ and $5$ but impossible with sides $3$, $4$ and $7$). If it is impossible to find such triple, report it.


-----Input-----

The first line contains one integer $t$ ($1 \le t \le 1000$) — the number of test cases.

The first line of each test case contains one integer $n$ ($3 \le n \le 5 \cdot 10^4$) — the length of the array $a$.

The second line of each test case contains $n$ integers $a_1, a_2, \dots , a_n$ ($1 \le a_i \le 10^9$; $a_{i - 1} \le a_i$) — the array $a$.

It is guaranteed that the sum of $n$ over all test cases does not exceed $10^5$.


-----Output-----

For each test case print the answer to it in one line.

If there is a triple of indices $i$, $j$, $k$ ($i < j < k$) such that it is impossible to construct a non-degenerate triangle having sides equal to $a_i$, $a_j$ and $a_k$, print that three indices in ascending order. If there are multiple answers, print any of them.

Otherwise, print -1.


-----Example-----
Input
3
7
4 6 11 11 15 18 20
4
10 10 10 11
3
1 1 1000000000

Output
2 3 6
-1
1 2 3



-----Note-----

In the first test case it is impossible with sides $6$, $11$ and $18$. Note, that this is not the only correct answer.

In the second test case you always can construct a non-degenerate triangle.

Difficulty: interview

Starter code:

Solutions:
for _ in range(int(input())):
    am = int(input())
    arr = list(map(int,input().split()))
    if arr[0] + arr[1] > arr[-1]:
        print(-1)
    else:
        print(1,2,am)

for _ in range(int(input())):
    n=int(input())
    s=list(map(int,input().split()))
    if s[0]+s[1]<=s[-1]:print(1,2,n)
    else:print(-1)

import sys
input = sys.stdin.readline

T = int(input())

for t in range(T):
    N = int(input())
    A = [int(_) for _ in input().split()]
    if A[0] + A[1] <= A[-1]:
        print(1, 2, N)
    else:
        print(-1)


for _ in range(int(input())):
    n = int(input())
    arr = list(map(int, input().split()))
    if arr[-1] < arr[0] + arr[1]:
        print(-1)
    else:
        print(1, 2, n)


import sys
import math
def II():
	return int(sys.stdin.readline())

def LI():
	return list(map(int, sys.stdin.readline().split()))

def MI():
	return map(int, sys.stdin.readline().split())

def SI():
	return sys.stdin.readline().strip()
t = II()
for q in range(t):
	n = II()
	a = sorted(LI())
	if a[0]+a[1]<=a[-1]:
		print(1,2,n)
	else:
		print(-1)

import sys
input = sys.stdin.readline
for nt in range(int(input())):
	n = int(input())
	a = list(map(int,input().split()))
	if a[0]+a[1]<=a[-1]:
		print (1,2,n)
	else:
		print (-1)

for _ in range(int(input())):
    n=int(input())
    a=list(map(int,input().split()))
    if a[0]+a[1]<=a[-1]:
        print(1,2,n)
    else:
        print(-1)


import math
t=int(input())
for w in range(t):
    n=int(input())
    l=sorted([int(i) for i in input().split()])
    if(l[0]+l[1]>l[-1]):
        print(-1)
    else:
        print(1,2,n)

for _ in range(int(input())):
    x = int(input())
    #n, m = map(int, input().split())
    A = list(map(int, input().split()))
    if A[0] + A[1] > A[-1]:
        print(-1)
    else:
        print(1, 2, x)

import sys
input = sys.stdin.readline
for f in range(int(input())):
    n=int(input())
    a=list(map(int,input().split()))
    if a[0]+a[1]>a[-1]:
        print(-1)
    else:
        print(1,2,n)

for test in range(int(input())):
    n = int(input())
    a = list(map(int, input().split()))
    b = a[0]
    c = a[1]
    d = a[-1]
    if c + b > d:
        print(-1)
    else:
        print(1, 2, n)

import sys

input=sys.stdin.readline

for _ in range(int(input())):
    n=int(input())
    a=list(map(int,input().split()))
    if a[0]+a[1]<=a[-1]:
        print(1,2,n)
    else:
        print(-1)


import sys 
import math
from collections import Counter,defaultdict
input = sys.stdin.readline
LI=lambda:list(map(int,input().split()))
MAP=lambda:list(map(int,input().split()))
IN=lambda:int(input())
S=lambda:input()

def case():
    n=IN()
    a=LI()
    if a[0]+a[1]>a[-1]:
        print(-1)
    else:
        print(1,2,n)
for _ in range(IN()):
    case()



import sys

sys.setrecursionlimit(10 ** 5)
int1 = lambda x: int(x) - 1
p2D = lambda x: print(*x, sep="\n")
def II(): return int(sys.stdin.readline())
def MI(): return map(int, sys.stdin.readline().split())
def LI(): return list(map(int, sys.stdin.readline().split()))
def LLI(rows_number): return [LI() for _ in range(rows_number)]
def SI(): return sys.stdin.readline()[:-1]

for _ in range(II()):
    n=II()
    aa=LI()
    if aa[0]+aa[1]>aa[-1]:print(-1)
    else:print(1,2,n)


t=int(input())
for you in range(t):
    n=int(input())
    l=input().split()
    li=[int(i) for i in l]
    if(li[0]+li[1]<=li[-1]):
        print(1,2,n)
    else:
        print(-1)


t = int(input())

for _ in range(t):
    n = int(input())
    a = list(map(int,input().split()))
    if a[0] + a[1] <= a[n - 1]:
        print(1, 2, n)
    else:
        print(-1)

import sys, math
import io, os
#data = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
from bisect import bisect_left as bl, bisect_right as br, insort
from heapq import heapify, heappush, heappop
from collections import defaultdict as dd, deque, Counter
#from itertools import permutations,combinations
def data(): return sys.stdin.readline().strip()
def mdata(): return list(map(int, data().split()))
def outl(var) : sys.stdout.write('\n'.join(map(str, var))+'\n')
def out(var) : sys.stdout.write(str(var)+'\n')
from decimal import Decimal
from fractions import Fraction
#sys.setrecursionlimit(100000)
INF = float('inf')
mod = int(1e9)+7

for t in range(int(data())):
    n=int(data())
    a=mdata()
    if a[0]+a[1]<=a[-1]:
        print(1,2,n)
    else:
        out(-1)

for _ in range(int(input())):
    n = int(input())
    u = list(map(int, input().split()))
    if u[0] + u[1] <= u[-1]:
        print(1, 2, n)
    else:
        print(-1)
    


3
import sys
input = lambda: sys.stdin.readline().strip()
for _ in range(int(input())):
    n = int(input())
    a = [int(x) for x in input().split()]
    if a[0] + a[1] <= a[-1]:
        print(1, 2, len(a))
    else:
        print(-1)


t = int(input())
while t:
    t += -1
    n = int(input())
    l = list(map(int, input().split()))
    if l[0] + l[1] <= l[n - 1]: print(1, 2, n)
    else: print(-1)

for _ in range (int(input())):
    n = int(input())
    a = [int(i) for i in input().split()]
    if a[0]+a[1]<=a[-1]:
        print(1,2,n)
    else:
        print(-1)


import sys
import math
from functools import reduce
import bisect


def getN():
    return int(input())


def getNM():
    return list(map(int, input().split()))


def getList():
    return list(map(int, input().split()))


def input():
    return sys.stdin.readline().rstrip()


def index(a, x):
    i = bisect.bisect_left(a, x)
    if i != len(a) and a[i] == x:
        return i
    return False


#############
# MAIN CODE #
#############

for _ in range(int(input())):
    n = getN()
    arr = getList()
    if arr[0] + arr[1] <= arr[-1]:
        print(1, 2, n)
    else:
        print(-1)