#include using namespace std; map res; long long M1 = 100000000739; int c (vector nums, long long mh) { if (nums.size() <= 1) { return 0; } if (res.count(mh)) return res[mh]; int pivot = nums[0]; long long h1 = 0, h2 = 0; vector lss; vector mre; for (int i = 1; i < nums.size(); ++i) { // Comparison if (nums[i] < pivot) { h1 = (h1*M1+nums[i]); lss.push_back(nums[i]); } else { h2 = (h2*M1+(nums[i])); mre.push_back(nums[i]); } } return res[mh] = c(lss,h1) + c(mre,h2) + nums.size()-1; } int main () { int q; cin >> q; while (q--) { int s,cc; scanf("%d%d",&s,&cc); if (cc < (s-2)*2 || 1LL*cc > 1LL*s*(s+1)/2) { puts("-1"); continue; } else { vector pr; bool id = 0; for (int i = 1; i <= s; i++) pr.push_back(i); do { long long mh = 0; for (int i = 0; i < s; i++) mh = mh*M1+pr[i]; if (c(pr,mh) == cc) { id = 1; for (int i = 0; i < s; i++){ if (i != 0) cout << " "; cout << pr[i]; } cout << endl; break; } }while (next_permutation(pr.begin(),pr.end())); if (!id) puts("-1"); } } }