#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
const int N=5000010;
int cN,dN;
int n;
vector<int>v(1);
void init(){
memset(c,-1,sizeof(c));
for(int i=1;i*i<2*n;i++){
v.push_back(i*i);
}
for(int i=0;vi<=n;i++){
for(int j=i;vi+vj<=n;j++){
int sum=vi+vj;
if(csum==-1){//第一次遇见的数
csum=i;
dsum=j;
}
}
}
}
int main(){
cin>>n;
init();
int res;
for(int i=0;vi<=n;i++){
for(int j=i;vj+vi<=n;j++){
res=n-vi-vj;
if(cres!=-1){//表示该数已经被记录过,可以拆成两个数平方的形式
cout<<i<<" "<<j<<" ";
cout<<cres<<" "<<dres;
return 0;
}
}
}
}