#include <bits/stdc++.h>
using namespace std;
using int64 = long long;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
if(!(cin >> T)) return 0;
while(T--){
int64 N, K;
cin >> N >> K;
// denom = 2^{N-1} (we'll use denom-1 later). cap to avoid overflow:
// we only need denom-1 up to at most K (because if denom-1 >= K then ceil(K/denom-1)=1)
int64 denom = 1;
for(int i = 0; i < N-1; ++i){
// multiply by 2 but cap to K+1 to avoid uselessly large numbers
if(denom > (K + 1)) { // already larger than K+1, keep it capped
denom = K + 1;
break;
}
denom = denom * 2;
if(denom > (K + 1)) { denom = K + 1; break; }
}
int64 denom_minus1 = denom - 1; // this is 2^{N-1} - 1 but possibly capped
if(denom_minus1 > K) denom_minus1 = K; // if it's > K, treat as K so ceil gives 1
// compute minimal A1
// A1 = 1 + ceil(K / denom_minus1)
// denom_minus1 >= 1 because N >= 2
int64 A1 = 1 + ( (K + denom_minus1 - 1) / denom_minus1 );
vector<int64> A(N);
A[0] = A1;
int64 rem = K;
for(int i = 0; i < N-1; ++i){
int64 can = A[i] - 1; // upper bound for r_i
int64 r = min(rem, can);
A[i+1] = A[i] + r;
rem -= r;
}
// rem should be 0
for(int i = 0; i < N; ++i){
if(i) cout << ' ';
cout << A[i];
}
cout << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGludDY0ID0gbG9uZyBsb25nOwoKaW50IG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBpbnQgVDsKICAgIGlmKCEoY2luID4+IFQpKSByZXR1cm4gMDsKICAgIHdoaWxlKFQtLSl7CiAgICAgICAgaW50NjQgTiwgSzsKICAgICAgICBjaW4gPj4gTiA+PiBLOwoKICAgICAgICAvLyBkZW5vbSA9IDJee04tMX0gKHdlJ2xsIHVzZSBkZW5vbS0xIGxhdGVyKS4gY2FwIHRvIGF2b2lkIG92ZXJmbG93OgogICAgICAgIC8vIHdlIG9ubHkgbmVlZCBkZW5vbS0xIHVwIHRvIGF0IG1vc3QgSyAoYmVjYXVzZSBpZiBkZW5vbS0xID49IEsgdGhlbiBjZWlsKEsvZGVub20tMSk9MSkKICAgICAgICBpbnQ2NCBkZW5vbSA9IDE7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IE4tMTsgKytpKXsKICAgICAgICAgICAgLy8gbXVsdGlwbHkgYnkgMiBidXQgY2FwIHRvIEsrMSB0byBhdm9pZCB1c2VsZXNzbHkgbGFyZ2UgbnVtYmVycwogICAgICAgICAgICBpZihkZW5vbSA+IChLICsgMSkpIHsgLy8gYWxyZWFkeSBsYXJnZXIgdGhhbiBLKzEsIGtlZXAgaXQgY2FwcGVkCiAgICAgICAgICAgICAgICBkZW5vbSA9IEsgKyAxOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGVub20gPSBkZW5vbSAqIDI7CiAgICAgICAgICAgIGlmKGRlbm9tID4gKEsgKyAxKSkgeyBkZW5vbSA9IEsgKyAxOyBicmVhazsgfQogICAgICAgIH0KICAgICAgICBpbnQ2NCBkZW5vbV9taW51czEgPSBkZW5vbSAtIDE7IC8vIHRoaXMgaXMgMl57Ti0xfSAtIDEgYnV0IHBvc3NpYmx5IGNhcHBlZAogICAgICAgIGlmKGRlbm9tX21pbnVzMSA+IEspIGRlbm9tX21pbnVzMSA9IEs7IC8vIGlmIGl0J3MgPiBLLCB0cmVhdCBhcyBLIHNvIGNlaWwgZ2l2ZXMgMQoKICAgICAgICAvLyBjb21wdXRlIG1pbmltYWwgQTEKICAgICAgICAvLyBBMSA9IDEgKyBjZWlsKEsgLyBkZW5vbV9taW51czEpCiAgICAgICAgLy8gZGVub21fbWludXMxID49IDEgYmVjYXVzZSBOID49IDIKICAgICAgICBpbnQ2NCBBMSA9IDEgKyAoIChLICsgZGVub21fbWludXMxIC0gMSkgLyBkZW5vbV9taW51czEgKTsKCiAgICAgICAgdmVjdG9yPGludDY0PiBBKE4pOwogICAgICAgIEFbMF0gPSBBMTsKICAgICAgICBpbnQ2NCByZW0gPSBLOwogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBOLTE7ICsraSl7CiAgICAgICAgICAgIGludDY0IGNhbiA9IEFbaV0gLSAxOyAvLyB1cHBlciBib3VuZCBmb3Igcl9pCiAgICAgICAgICAgIGludDY0IHIgPSBtaW4ocmVtLCBjYW4pOwogICAgICAgICAgICBBW2krMV0gPSBBW2ldICsgcjsKICAgICAgICAgICAgcmVtIC09IHI7CiAgICAgICAgfQogICAgICAgIC8vIHJlbSBzaG91bGQgYmUgMAogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCBOOyArK2kpewogICAgICAgICAgICBpZihpKSBjb3V0IDw8ICcgJzsKICAgICAgICAgICAgY291dCA8PCBBW2ldOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==