#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int N = 1 << n;
vector<int> a(N);
iota(a.begin(), a.end(), 0);
sort(a.begin(), a.end(), [&](int x, int y) {
int px = __builtin_popcount(x);
int py = __builtin_popcount(y);
if (px != py) return px > py;
return x < y;
});
for (int i = 0; i < N; i++) {
cout << a[i] << (i + 1 < N ? ' ' : '\n');
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4gPj4gbjsKICAgICAgICBpbnQgTiA9IDEgPDwgbjsKCiAgICAgICAgdmVjdG9yPGludD4gYShOKTsKICAgICAgICBpb3RhKGEuYmVnaW4oKSwgYS5lbmQoKSwgMCk7CgogICAgICAgIHNvcnQoYS5iZWdpbigpLCBhLmVuZCgpLCBbJl0oaW50IHgsIGludCB5KSB7CiAgICAgICAgICAgIGludCBweCA9IF9fYnVpbHRpbl9wb3Bjb3VudCh4KTsKICAgICAgICAgICAgaW50IHB5ID0gX19idWlsdGluX3BvcGNvdW50KHkpOwogICAgICAgICAgICBpZiAocHggIT0gcHkpIHJldHVybiBweCA+IHB5OwogICAgICAgICAgICByZXR1cm4geCA8IHk7CiAgICAgICAgfSk7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgICAgIGNvdXQgPDwgYVtpXSA8PCAoaSArIDEgPCBOID8gJyAnIDogJ1xuJyk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0K