*#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;
const int N = 5e6 + 10;
int n;struct sum{int s,c,d;bool operator < (const sum &T)const{ // 重载小于符号if(s != T.s) return s < T.s;if(c != T.c) return c < T.c;else return d < T.d;}
}sum[N];int main(){cin >> n;int m = 0;for(int c = 0;c * c < n; c++){for(int d = c;c * c + d * d <= n;d++){int s = c * c + d * d;sum[m++] = {s,c,d};}}sort(sum,sum + m);for(int a = 0;a * a < n; a++){for(int b = 0;a * a + b * b < n ;b++){int t = n - a * a - b * b;int l = 0,r = m-1;while(l < r){int mid = l + r >> 1;if(sum[mid].s >= t) r = mid;else l = mid + 1;}if(sum[r].s == t){cout << a <<" " << b <<" " << sum[r].c <<" " << sum[r].d <<" " << endl;return 0;} }}return 0;
}