#include #include #include #include #include using namespace std; #define long long long #define maxn 101010 long minc[maxn]; long maxc(long n) { return n * (n - 1) / 2;} int n, k; void dothething(int n, int k, int add) { if (n == 0) return; int l = 0, r = n - 1; k -= n - 1; while (l < r) { int mid = l + (r - l + 1) / 2; if (maxc(mid) <= k) l = mid; else r = mid - 1; } cout << l + 1 + add << ' '; for (int i = 1; i <= l; ++i) cout << i + add << ' '; dothething(n - l - 1, k - maxc(l), add + l + 1); } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); minc[0] = minc[1] = 0; for (int i = 2; i < maxn; ++i) { minc[i] = i - 1; if (i & 1) minc[i] += 2 * minc[i / 2]; else minc[i] += minc[i / 2] + minc[i / 2 - 1]; } int q; cin >> q; while (q--) { cin >> n >> k; if (k < minc[n] or k > maxc(n)) { cout << -1 << '\n'; continue; } dothething(n, k, 0); cout << '\n'; } return 0; }