#include using namespace std ; //------------------------------- typedef long long ll ; typedef vector vi ; typedef pair ii ; //------------------------------- #define _CRT_SECURE_NO_WARNINGS #define pb(a) push_back(a) #define mp(a,b) make_pair(a,b) #define rep(i,a,b) for(ll i=(a) ; (i)<(b) ; ++i) #define inf 2000000000 #define endl "\n" #define de(x) cerr<<#x<<" is "<b) ? (a) : (b) ) #define min(a,b) ( (a'9') c=getchar(); int ret = 0; while(c>='0' && c<='9') { ret=10*ret+c-48; c=getchar(); } return ret; } int n, m ; int a[211111] ; bool check(int i,int m) { i = n - i + 1 ; int vnt = i*(i-1) / 2 ; int cnt = n ; if(vnt == m) { //for(int j = i;j<=n; ++j) // a[j] = cnt-- ; return 1 ; } return 0 ; } int main() { //freopen("input.txt","r",stdin) ; int test ; scanf("%d",&test) ; while(test--) { scanf("%d%d",&n,&m) ; int mn = n - 1 ; rep(i,1,n+1) a[i]=i ; int f = 0 ; for(int i=1;i<=n;i+=2) { //de(m); de(mn) ; if(check(i,m)) { // de(100000); reverse(a+i,a+i+n) ; f = 1 ; break ; } //if(check(i+1,m)) break ; m -= mn ; mn -= 2 ; if(m<=0) break ; swap(a[i],a[i+1]) ; } if(m==0 || f) { rep(i,1,n+1) printf("%d ",a[i]) ; printf("\n") ; } else { puts("-1") ; } } }