/* You lost the game. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fin(i,n) for (int i = 0; i < n; i++) #define fin2(i,a,b) for (int i = a; i < b; i++) #define mp make_pair #define mt make_tuple #define pb push_back #define mod 1000000009 #define si(n) scanf("%d", &n) #define sii(n,m) scanf("%d %d", &n, &m) #define siii(n,m,k) scanf("%d %d %d", &n, &m, &k) #define sl(n) scanf("%lld", &n) #define sll(n,m) scanf("%lld %lld", &n, &m) #define slll(n,m,k) scanf("%lld %lld %lld", &n, &m, &k) #define ss(s) scanf("%s", s) #define sai(t,n) fin(i,n) { scanf("%d", &t[i]); } #define sal(t,n) fin(i,n) { scanf("%lld", &t[i]); } #define pi(n) printf("%d\n", n) #define pc(n) printf("%c\n", n) #define ps(s) printf("%s\n", s); #define pii(n,m) printf("%d %d\n", n, m) #define pl(n) printf("%lld\n", n) #define pll(n,m) printf("%lld %lld\n", n, m) #define pai(t,n) fin(i,n) { printf("%d ", t[i]); } printf("\n"); #define pal(t,n) fin(i,n) { printf("%lld ", t[i]); } printf("\n"); #define L long long int #define D double #define PII pair #define VPII vector #define VL vector #define VI vector #define VVI vector using namespace std; int res[100000] = {0}; int main() { int q,c,l; si(q); fin(i, q) { sii(l, c); if (l*(l-1)/2 < c) { pi(-1); continue; } int tab[100000]; fin(j, l) { tab[j] = j+1; } int m = l*(l-1)/2 - c; for (int j = 1; m > 0; j++) { if ((l - tab[j]) <= m) { m -= (l - tab[j]); swap(tab[j], tab[j-1]); } } pai(tab, l); } return 0; }