//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx")
//#pragma GCC target("avx,tune=native")
// Anand Jaisingh
#include<bits/stdc++.h>
using namespace std;
typedef complex<double> base;
typedef long double ld;
typedef long long ll;
#define pb push_back
#define pii pair<int,int>
#define pll pair< ll , ll >
#define vi vector<int>
#define vvi vector< vi >
const int maxn=(int)(1605);
const ll mod=(ll)(1e9+7);
int a[maxn];
ll answer[3][maxn];
void build()
{
ll now;int curr=0,z=0,add=0;
while(curr<maxn)
{
if(z%3==0)
{
now=(1ll<<add);
for(int j=curr;j<min(maxn,curr+2);j++)
{
answer[0][j]=now;
}
z=(z+1)%3;curr+=2;
}
else if(z%3==1)
{
for(int j=curr;j<min(curr+8,maxn);j++)
{
answer[1][j]=now;
}
z=(z+1)%3;curr+=8;
}
else
{
for(int j=curr;j<min(maxn,curr+16);j++)
{
answer[2][j]=now;
}
z=(z+1)%3;curr+=16;
add++;
}
}
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
build();int t;cin>>t;
while(t>0)
{
int n;cin>>n;
cout<<answer[0][n-1]<<" "<<answer[1][n-1]<<" "<<answer[2][n-1]<<endl;
t--;
}
return 0;
}
ICAgIC8vI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0LG5vLXN0YWNrLXByb3RlY3RvciIpCiAgICAvLyNwcmFnbWEgR0NDIHRhcmdldCgic3NlLHNzZTIsc3NlMyxzc3NlMyxzc2U0LHBvcGNudCxhYm0sbW14IikKICAgIC8vI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngsdHVuZT1uYXRpdmUiKQogICAgLy8gQW5hbmQgSmFpc2luZ2gKICAgICAKICAgICNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiAgICAgCiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgIAogICAgdHlwZWRlZiBjb21wbGV4PGRvdWJsZT4gYmFzZTsKICAgIHR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CiAgICB0eXBlZGVmIGxvbmcgbG9uZyBsbDsKICAgICAKICAgICNkZWZpbmUgcGIgcHVzaF9iYWNrCiAgICAjZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiAgICAjZGVmaW5lIHBsbCBwYWlyPCBsbCAsIGxsID4KICAgICNkZWZpbmUgdmkgdmVjdG9yPGludD4KICAgICNkZWZpbmUgdnZpIHZlY3RvcjwgdmkgPgogICAgIAogICAgY29uc3QgaW50IG1heG49KGludCkoMTYwNSk7CiAgICBjb25zdCBsbCBtb2Q9KGxsKSgxZTkrNyk7CiAgICBpbnQgYVttYXhuXTsKICAgIGxsIGFuc3dlclszXVttYXhuXTsKICAgICAKICAgIHZvaWQgYnVpbGQoKQogICAgewogICAgICAgIGxsIG5vdztpbnQgY3Vycj0wLHo9MCxhZGQ9MDsKICAgICAKICAgICAgICB3aGlsZShjdXJyPG1heG4pCiAgICAgICAgewogICAgICAgICAgICBpZih6JTM9PTApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG5vdz0oMWxsPDxhZGQpOwogICAgIAogICAgICAgICAgICAgICAgZm9yKGludCBqPWN1cnI7ajxtaW4obWF4bixjdXJyKzIpO2orKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBhbnN3ZXJbMF1bal09bm93OwogICAgICAgICAgICAgICAgfQogICAgIAogICAgICAgICAgICAgICAgej0oeisxKSUzO2N1cnIrPTI7CiAgICAgICAgICAgIH0KICAgICAKICAgICAgICAgICAgZWxzZSBpZih6JTM9PTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZvcihpbnQgaj1jdXJyO2o8bWluKGN1cnIrOCxtYXhuKTtqKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYW5zd2VyWzFdW2pdPW5vdzsKICAgICAgICAgICAgICAgIH0KICAgICAKICAgICAgICAgICAgICAgIHo9KHorMSklMztjdXJyKz04OwogICAgICAgICAgICB9CiAgICAgCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yKGludCBqPWN1cnI7ajxtaW4obWF4bixjdXJyKzE2KTtqKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYW5zd2VyWzJdW2pdPW5vdzsKICAgICAgICAgICAgICAgIH0KICAgICAKICAgICAgICAgICAgICAgIHo9KHorMSklMztjdXJyKz0xNjsKICAgICAKICAgICAgICAgICAgICAgIGFkZCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgIAogICAgaW50IG1haW4oKQogICAgewogICAgICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKICAgICAKICAgICAgICBidWlsZCgpO2ludCB0O2Npbj4+dDsKICAgICAKICAgICAgICB3aGlsZSh0PjApCiAgICAgICAgewogICAgICAgICAgICBpbnQgbjtjaW4+Pm47CiAgICAgCiAgICAgICAgICAgIGNvdXQ8PGFuc3dlclswXVtuLTFdPDwiICI8PGFuc3dlclsxXVtuLTFdPDwiICI8PGFuc3dlclsyXVtuLTFdPDxlbmRsOwogICAgIAogICAgICAgICAgICB0LS07CiAgICAgICAgfQogICAgIAogICAgIAogICAgICAgIHJldHVybiAwOwogICAgfQogICAgIA==