#include <iostream>
#include <vector>
using namespace std;
#define int long long
typedef long long ll;
void splitSquares(int n, int sum) {
int target = sum / 2;
vector<int> group(n + 1, -1);
for (int i = n; i >= 1; i--) {
if (i * i <= target) {
target -= i * i;
group[i] = 0;
}
else group[i] = 1;
}
cout << "YES\n";
for (int i = 1; i <= n; i++) cout << group[i] << " ";
cout << "\n";
}
main() {
int n, t;
cin >> t;
while (t--){
cin >> n;
int sum = (ll) (n * (n + 1) * (2 * n + 1)) / 6;
if (sum % 2 != 0) {
cout << "NO\n";
continue;
}
splitSquares(n,sum);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGludCBsb25nIGxvbmcKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnZvaWQgc3BsaXRTcXVhcmVzKGludCBuLCBpbnQgc3VtKSB7CiAgICBpbnQgdGFyZ2V0ID0gc3VtIC8gMjsKICAgIHZlY3RvcjxpbnQ+IGdyb3VwKG4gKyAxLCAtMSk7IAogICAgZm9yIChpbnQgaSA9IG47IGkgPj0gMTsgaS0tKSB7CiAgICAgICAgaWYgKGkgKiBpIDw9IHRhcmdldCkgewogICAgICAgICAgICB0YXJnZXQgLT0gaSAqIGk7CiAgICAgICAgICAgIGdyb3VwW2ldID0gMDsKICAgICAgICB9IAogICAgICAgIGVsc2UgZ3JvdXBbaV0gPSAxOwogICAgfQogICAgY291dCA8PCAiWUVTXG4iOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjb3V0IDw8IGdyb3VwW2ldIDw8ICIgIjsKICAgIGNvdXQgPDwgIlxuIjsKfQoKbWFpbigpIHsKICAgIGludCBuLCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKXsKICAgIAljaW4gPj4gbjsKICAgIAlpbnQgc3VtID0gKGxsKSAobiAqIChuICsgMSkgKiAoMiAqIG4gKyAxKSkgLyA2OwogICAgCWlmIChzdW0gJSAyICE9IDApIHsKICAgIAkgICAgY291dCA8PCAiTk9cbiI7CiAgICAJICAgIGNvbnRpbnVlOwogICAgCX0KICAgIAlzcGxpdFNxdWFyZXMobixzdW0pOwogICAgfQogICAgcmV0dXJuIDA7Cn0K