Problem: A sequence of n integers is called a permutation if it contains all integers from 1 to n exactly once.

Given two integers n and k, construct a permutation a of numbers from 1 to n which has exactly k peaks. An index i of an array a of size n is said to be a peak if 1 < i < n and a_i \gt a_{i-1} and a_i \gt a_{i+1}. If such permutation is not possible, then print -1.

Input

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

Then t lines follow, each containing two space-separated integers n (1 ≤ n ≤ 100) and k (0 ≤ k ≤ n) — the length of an array and the required number of peaks.

Output

Output t lines. For each test case, if there is no permutation with given length and number of peaks, then print -1. Otherwise print a line containing n space-separated integers which forms a permutation of numbers from 1 to n and contains exactly k peaks. 

If there are multiple answers, print any.

Example

Input


5
1 0
5 2
6 6
2 1
6 1


Output


1 
2 4 1 5 3 
-1
-1
1 3 6 5 4 2

Note

In the second test case of the example, we have array a = [2,4,1,5,3]. Here, indices i=2 and i=4 are the peaks of the array. This is because (a_{2} \gt a_{1} , a_{2} \gt a_{3}) and (a_{4} \gt a_{3}, a_{4} \gt a_{5}). 

Solution (in PYTHON3):

Solution:
# author : empr #
import sys
input=sys.stdin.buffer.readline
ri=lambda: int(input())
rl=lambda: list(map(int,input().split()))
rs=lambda: input().decode().rstrip('\n\r')
wrt=sys.stdout.write
fastop=lambda *args,end='\n': wrt(' '.join([str(x) for x in args])+end)
op=print
xrange=lambda *args: reversed(range(*args))
cdiv=lambda x,y: (-(-x//y))
enum=enumerate; inf=float('inf')
mod=10**9 + 7
# Am I debugging ? Check if I'm using same variable name in two places
# fun() returning empty list ? check new=temp[:] or new=temp
# Am I breaking or returning from a loop while reading input
# check if I am initializing any ans correctly
from collections import defaultdict as dd,Counter
#from queue import deque
from heapq import *
from math import gcd
#lcm=lambda x,y: x*y//gcd(x,y)

Testcase=ri()
for testcase in range(Testcase):
    n,k=rl()
    ck=k
    perm=[-1 for i in range(n)]
    highest=n
    lowest=1
    for i in range(n):
        if i%2 and ck:
            perm[i]=highest 
            highest-=1
            ck-=1
        else:
            perm[i]=lowest 
            lowest+=1
    poss=1
    s=set()
    ck=0
    for i in perm:
        if i==-1:
            poss=0
        if i>0 and i<n-1 and perm[i-1]<perm[i]>perm[i+1]:
            ck+=1
        if i in s:
            poss=0
        s.add(i)
    if poss and ck==k:
        print(*perm)
    else:
        print(-1)