/*AMETHYSTS*/ #pragma comment(linker, "/STACK:1000000000") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define ld long double #define pii pair #define mp make_pair using namespace std; const int maxn = (int)1e5 + 10; const ll mod = (ll)1e9 + 7; const int inf = (ll)1e9 + 7; int n, x, ans, q, c; vector v; int tk = 0; vector lena_sort(vector nums) { if (nums.size() <= 1) { return nums; } int pivot = nums[0]; vector less; vector more; for (int i = 1; i < nums.size(); ++i) { // Comparison tk++; if (nums[i] < pivot) { less.push_back(nums[i]); } else { more.push_back(nums[i]); } } vector sorted_less = lena_sort(less); vector sorted_more = lena_sort(more); vector ans = sorted_less; ans.push_back(pivot); for (int i = 0; i < sorted_more.size(); i++) { ans.push_back(sorted_more[i]); } return ans; } map > m; int main() { cin >> q; for (int j = 0; j < q; j++) { cin >> n >> c; v.clear(); bool was = false; for (int i = 1; i <= n; i++) { v.push_back(i); } do { tk = 0; lena_sort(v); if (tk == c) { was = true; for (int i = 0; i < n; i++) { cout << v[i] << ' '; } break; } } while(next_permutation(v.begin(), v.end())); if (!was) { cout << -1; } cout << endl; } return 0; }