#include #define ll long long #define ull unsigned long long #define pii pair #define pil pair #define pli pair #define pll pair #define pb push_back #define mk make_pair #define maxn 100009 #define eps 1e-12 using namespace std; ll minn[maxn],maxx[maxn]; vector fans; inline void recurse(vector v,int c) { int sz=v.size(); c=c-(sz-1); int low=1,high=sz/2; if(sz%2) { high++; } while(lowc) { low=mid+1; } else { low=mid; break; } } vector v1,v2; fans.pb(v[low-1]); for(int i=0;i1) { c=c-minn[(int)v1.size()]; recurse(v1,minn[(int)v1.size()]); } else { if(v1.size()==1) { fans.pb(v1[0]); } } if(v2.size()>1) { recurse(v2,c); } else { if(v2.size()==1) { fans.pb(v2[0]); } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int q; cin>>q; minn[1]=maxx[1]=0; minn[2]=maxx[2]=1; for(ll i=3;i<=100000;i++) { int x=(i/2); int y=(x%2); if(y==0) { y=x-1; } else { y=x; } minn[i]=minn[x]+minn[y]+(i-1); maxx[i]=(i*(i-1))/2ll; } while(q--) { int len,c; cin>>len>>c; vector v; for(int i=0;imaxx[len]) { cout<<"-1\n"; } else { recurse(v,c); for(int i=0;i