func_code_string: /*      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();       }   }