#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vi vector<int>
#define v2i vector<vi>
#define ii pair<int, int>
#define F first
#define S second
#define all(X) (X).begin(), (X).end()
#define quicksilver ios_base::sync_with_stdio(0), cin.tie(0)
int tc = 1;
signed main()
{
quicksilver;
cin >> tc;
vi sqrs;
for (int i = 0; i <= 2e5; i++)
sqrs.push_back(i * i);
while (tc--)
{
int n;
cin >> n;
vi a(n), b(n);
for (int i = 0; i < n; i++)
a[i] = i;
b = a;
int idx = n - 1;
while (idx >= 0)
{
int curr_num = a[idx];
int actual_num = *lower_bound(all(sqrs), a[idx]);
int dist = actual_num - curr_num;
reverse(b.begin() + dist, b.begin() + curr_num + 1);
idx = dist - 1;
}
for (auto x : b)
cout << x << ' ';
cout << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHYyaSB2ZWN0b3I8dmk+CiNkZWZpbmUgaWkgcGFpcjxpbnQsIGludD4KI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBhbGwoWCkgKFgpLmJlZ2luKCksIChYKS5lbmQoKQojZGVmaW5lIHF1aWNrc2lsdmVyIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCksIGNpbi50aWUoMCkKCmludCB0YyA9IDE7CgpzaWduZWQgbWFpbigpCnsKICAgIHF1aWNrc2lsdmVyOwogICAgY2luID4+IHRjOwogICAgdmkgc3FyczsKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IDJlNTsgaSsrKQogICAgICAgIHNxcnMucHVzaF9iYWNrKGkgKiBpKTsKCiAgICB3aGlsZSAodGMtLSkKICAgIHsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4gPj4gbjsKICAgICAgICB2aSBhKG4pLCBiKG4pOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgICAgICBhW2ldID0gaTsKCiAgICAgICAgYiA9IGE7CgogICAgICAgIGludCBpZHggPSBuIC0gMTsKICAgICAgICB3aGlsZSAoaWR4ID49IDApCiAgICAgICAgewoKICAgICAgICAgICAgaW50IGN1cnJfbnVtID0gYVtpZHhdOwogICAgICAgICAgICBpbnQgYWN0dWFsX251bSA9ICpsb3dlcl9ib3VuZChhbGwoc3FycyksIGFbaWR4XSk7CgogICAgICAgICAgICBpbnQgZGlzdCA9IGFjdHVhbF9udW0gLSBjdXJyX251bTsKICAgICAgICAgICAgcmV2ZXJzZShiLmJlZ2luKCkgKyBkaXN0LCBiLmJlZ2luKCkgKyBjdXJyX251bSArIDEpOwoKICAgICAgICAgICAgaWR4ID0gZGlzdCAtIDE7CiAgICAgICAgfQoKICAgICAgICBmb3IgKGF1dG8geCA6IGIpCiAgICAgICAgICAgIGNvdXQgPDwgeCA8PCAnICc7CiAgICAgICAgY291dCA8PCAnXG4nOwogICAgfQoKICAgIHJldHVybiAwOwp9