#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<algorithm>#define ll long longusing namespace std;int dp[20005];int len;int erfen(int x){ int l=1,r=len; int mid; mid=(l+r)>>1; while(r>l) { if(dp[mid]==x) return mid; if(dp[mid]<x) l=mid+1; else r=mid-1; mid=(l+r)>>1; } if(dp[l]>x) l--; return l;}int main(){ int i; dp[0]=0; dp[1]=1; for(i=1;i<=20000;i++) { dp[i]=dp[i-1]+i; if(dp[i]>=123456789) break; } len=i; int tes,n; cin>>tes; int a,b,c; while(tes--) { cin>>n; int p=erfen(n); if(dp[p]==n) { printf("%dn",p); continue; } int flag=0; for(a=p;a>=1;a--) { b=erfen(n-dp[a]); if(dp[b]+dp[a]==n) { flag=1; break; } } if(flag) { printf("%d %dn",a,b); continue; } flag=0; for(a=p;a>=1;a--) { int s=erfen(n-dp[a]); for(b=s;b>=1;b--) { c=erfen(n-dp[a]-dp[b]); if(dp[a]+dp[b]+dp[c]==n) { flag=1; break; } } if(flag) break; } if(flag) { printf("%d %d %dn",a,b,c); continue; } }}