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 CPP):

Solution:

#include<bits/stdc++.h>


using namespace std;
#define FAST ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

#define PB(x, v) x.push_back(v);
#define M_P(a, b) make_pair(a, b)
#define pll pair<ll, ll>
#define ll long long int
#define mll map<ll, ll>
#define vl vector<ll>
#define fa(x, v) for(auto x: v)
#define fr(i, a, b, step) for(auto i= a;i <=b; i+=step)
#define TEST  Int test; cin >> test; while(test--)
#define FTEST Int TesT; cin >> TesT; for(Int test = 1; test<=TesT; test++)
/**So..a**/
#define B_ begin()
#define E_ end()
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define NL_ "\n"
#define F first
#define S second
#define FF first.first
#define FS first.second
#define SF second.first
#define SS second.second
#include <iomanip>
#define __lcm(a, b) (a/__gcd(a, b)*b)
#define PI acos(-1)
#define EXP 10e-6
 ll prime(ll a,ll b){
 	ll ans=0;
 	
 	
 	
 	
 	return ans;
 }
int main()
{
     
        
        ll n,m,k,i,j,sum=0,cnt=0,x;
           string s,ss,str,st;
         bool sign=1,ok=true,cheak=1;
         ll t,tc;
        ll a,b,c;
        ll ans=0;
          	ok=1;
         	sum=0;
         	
          ll fac=1;
        cin>>t;
        while(t--)
        {
        	cnt=0;
        	ok=1;sign=0;
           int first=0;
           int p=0;
           int fst=0,scnd=0;
        	cin>>n>>k;
        	
        		int mid=(n+1)/2;
        		 
        			vector<ll>vv,v;
        		for(i=1;i<=mid;i++){
        		 
        			vv.push_back(i);
        			 
				}
        		for(i=mid+1;i<=n;i++){
        		 
        			v.push_back(i);
				}
				/*
				for(auto i:vv)cout<<i<<" ";
				cout<<endl;
				for(auto i:v)cout<<i<<" ";
				cout<<endl;
        	*/
        	if(k==0){
        		for(i=1;i<=n;i++)cout<<i<<" ";
        		cout<<endl;
        		continue;
			}
         
			  if((k+k+1) > n)cout<<-1<<endl;
			else {
				 
				for(i=1;i<=n;i++)
				{
						   
					if(ok){
							 
						cout<<vv[first++]<<" ";
						ok=0;
						sign=1;
					      fst++;
						continue;
					}
				     if(sign){
				     	 
						ok=1;
						sign=0;
						cout<<v[p++]<<" ";
						 scnd++;
						cnt++;
						 if(cnt==k)break;
					}
				}
				
				for(i=fst;i<vv.size();i++)cout<<vv[i]<<" ";
				for(i=scnd;i<v.size();i++)cout<<v[i]<<" ";
				
				
				cout<<endl;
			}
			
			
		}
    
        
    return 0;
}