#include<bits/stdc++.h> #define sz 50000 using namespace std; bool store[sz]; void init() { int i; for(i=0; i*i<=sz; i++) store[i*i] = true; } int main() { init(); int test,n,i,j,k,rem; scanf("%d",&test); while(test--) { scanf("%d",&n); bool tag = true; for(i=0; i*i<=n && tag; i++) { for(j=0; i*i+j*j<=n && tag; j++) { rem = n-((i*i)+(j*j)); if(store[rem]) { tag = false; k = sqrt(rem); printf("%d %d %d\n",i,j,k); break; } } } if(tag) { puts("-1"); } } return 0; }