#include <bits/stdc++.h>
using namespace std;
double a,b,c,d;
double arr[10];
double f(double x)
{
return a*x*x*x+b*x*x+c*x+d;
}
double find(double l,double r)
{
int flag=1;
while(l<=r)
{
int flag=0,flag2=0;
double mid=(r-l)/2+l;
if(f(l)*f(mid)>=0)
{
flag=1;
r=mid;
}
else if(f(r)*f(mid)<=0)
{
flag2=1;
l=mid;
}
else return 101;
if(f(mid)==0)
return mid;
else if(l==r)
return 101;
}
}
int main()
{
cin>>a>>b>>c>>d;
int num=0;
for(int i=-100;i<100;i++)
{
double res=find(i,i+1);
if(res<=100)
{
arr[num++]=res;
}
}
if(arr[0]>arr[1])
swap(arr[0],arr[1]);
if(arr[1]>arr[2])
swap(arr[1],arr[2]);
printf("%.2lf %.2lf %.2lf",arr[0],arr[1],arr[2]);
}