#include using namespace std; using ll=long long; using T=tuple; int main(){ ll n; cin>>n; set ans; for(ll z=0;z*z<=n;z++){ for(ll y=0;y<=z;y++){ if(y==0&&z==0){ continue; } if((n-y*z)%(y+z)==0){ ll x=(n-y*z)/(y+z); if(x*y+y*z+z*x==n){ if(x==y&&y==z){ ans.insert(T(x,y,z)); }else if(x==y){ ans.insert(T(x,y,z)); ans.insert(T(x,z,y)); ans.insert(T(z,x,y)); }else if(y==z){ ans.insert(T(x,y,z)); ans.insert(T(y,x,z)); ans.insert(T(y,z,x)); }else{ ans.insert(T(x,y,z)); ans.insert(T(x,z,y)); ans.insert(T(y,x,z)); ans.insert(T(y,z,x)); ans.insert(T(z,x,y)); ans.insert(T(z,y,x)); } } } } } cout<(*itr)<<" "<(*itr)<<" "<(*itr)<