#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int ln(vector r) { if (r.size() <= 1) return 0; vector less; vector more; int d = r[0]; int k = 0; for (int i = 1; i < r.size(); i++) { k++; if (r[i] < d) less.push_back(r[i]); if (r[i] > d) more.push_back(r[i]); } k += ln(less) + ln(more); return k; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); srand(unsigned(time(nullptr))); int Q; cin >> Q; while (Q--) { int n, c; cin >> n >> c; vector a; for (int i = 0; i < n; i++) { a.push_back(i + 1); } bool is = false; do { if (ln(a) == c) { is = true; break; } } while (next_permutation(a.begin(), a.end())); if (!is) cout << "-1\n"; else for (int i = 0; i < n; i++) cout << a[i] << " "; cout << "\n"; } }