![](https://i-blog.csdnimg.cn/blog_migrate/7fb1ffe8b4b70443ecf87b2133523f34.png)
#include <iostream>
#include <cstring>
using namespace std;
const int N = 5000010;
int n;
int C[N], D[N];
int main()
{
scanf("%d", &n);
memset(C, -1, sizeof C);
for (int c = 0; c * c <= n; c ++ )
for (int d = c; d * d + c * c <= n; d ++ )
{
int s = c * c + d * d;
if (C[s] == -1)
C[s] = c, D[s] = d;
}
for (int a = 0; a * a <= n; a ++ )
for (int b = a; b * b + a * a <= n; b ++ )
{
int s = n - a * a - b * b;
if (C[s] != -1)
{
printf("%d %d %d %d\n", a, b, C[s], D[s]);
return 0;
}
}
return 0;
}