/*
   Author: ChinmayKarnik
   Time: 21:14:26
   Date: 16-04-2021
*/

#include<bits/stdc++.h>

using namespace std;

//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
//mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

typedef enum {BLACK,WHITE,GRAY} color;

#define int long long 
#define TESTCASES true
#define FASTIO true
const int maxN = 200009;
const int inf  = (int)1e18 + 1;
int N,K;
int a[maxN];

int p[64];


void solve()
{
    int i,j,k;
    vector<int> ans;

    cin >> N >> K; 
    int one = 1;

    if(N<64)
    {
       if((one<<(N-1))<K)
       {
           cout << "-1\n";
           return;
       }
    }

    while(N>=64)
    {
        ans.push_back(1);
        N--;
    }

    while(N)
    {
        int curr = 1;
        int sub = 0;
        while((curr<=N) && p[N-curr]<K)
        {
            K-=p[N-curr];
            curr++;
        }
       // curr--;
        N-=curr;
        ans.push_back(curr);
        //K-=(curr-1)*(p[])
    }

    int p = 1;
    vector<int> fin;

    for(int x:ans)
    {
        for(i=p+x-1;i>=p;i--)
        {
            fin.push_back(i);
        }
        p=p+x;
    }
    
    for(int x:fin)
    {
        cout << x << " ";
    }
    cout << "\n";
    
    
}


signed main()
{
    if(FASTIO)
    {
        ios_base::sync_with_stdio(false);
        cin.tie(NULL);
    }
    int T = 1;

    if(TESTCASES)
    {
        cin >> T;
    }
    int i,j,k;
    
    p[0]=1;
    p[1]=1;
    for(i=2;i<64;i++)
    {
        p[i]=0;
        for(j=0;j<i;j++)
        {
            p[i]+=p[j];
        }
        
       // cout << p[i] << " ";
    }

    while(T--)
    {
        solve();
    }
}