#pragma GCC optimize("O3") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx") #define __USE_MINGW_ANSI_STDIO 0 #include using namespace std; #define PI acos(-1) #define pb push_back #define fi first #define se second #define sz(a) (int)(a).size() #define all(c) (c).begin(), (c).end() #define TIMESTAMP fprintf(stderr, "Execution time: %.3lf s.\n", (double)clock()/CLOCKS_PER_SEC) typedef long long ll; typedef long double ld; typedef vector vi; typedef vector vll; typedef pair pii; typedef vector vvi; typedef vector vpii; typedef vector vs; const int MAXN = 1e5 + 9; const int MOD = (int)(1e9 + 7); const int INF = 100500; ll n, c; ll gg[MAXN]; bool ok[MAXN]; ll ans[MAXN]; void input() { cin >> n >> c; } void solve() { memset(ok, 0, sizeof(ok)); memset(gg, 0, sizeof(gg)); if(c > (n * (n - 1) / 2) || c < n - 1) { cout << -1 << endl; return; } ll ss = (n * (n - 1) / 2); int tt = 1; for(int i = n - 2; i >= 0; i--) { gg[i] = tt; tt++; } ll delta = ss - c; for(int i = 0; i < n - 1; i++) { if(delta >= gg[i]) { delta -= gg[i]; ok[i] = 1; i++; } } if(delta != 0) { cout << -1 << endl; return; } for(int i = 0; i < n; i++) ans[i] = i + 1; for(int i = 0; i < n - 1; i++) if(ok[i]) swap(ans[i], ans[i + 1]); for(int i = 0; i < n; i++) cout << ans[i] << ' '; cout << endl; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); #ifdef LOCAL freopen("xxx.in", "r", stdin); freopen("xxx.out", "w", stdout); #else //freopen("xxx.in", "r", stdin); //freopen("xxx.out", "w", stdout); #endif int tt; cin >> tt; while(tt--) { input(); solve(); } return 0; }