#include using namespace std; long long ans[100001],e; void dfs(long long left,long long right,long long c) { long long mid=(left+right)/2; if(left==right) { ans[e]=left; e++; return; } else if(right-left==1) { ans[e]=left; ans[e+1]=right; e+=2; return; } else { c-=right-left; if(c>=right-left-1) { ans[e]=left; e++; dfs(left+1,right,c); } else { ans[e]=mid; e++; dfs(left,mid-1,c); dfs(mid+1,right,c); } return; } } int main(){ int q; cin >> q; for(int a0 = 0; a0 < q; a0++){ int len; int c; cin >> len >> c; // your code goes here long long left=((len-1)/2+1)*((len-1)/2)+((len+1)%2)*len/2; long long right=len*(len-1)/2; if(cright) printf("-1\n"); else { e=0; dfs(1,len,c); for(int i=0;i