#include<bits/stdc++.h>
using namespace std;
double a,b,c,d;
double js(double x)
{
return a*x*x*x+b*x*x+c*x+d;
}
void do_it(double x1,double x2)
{
double x0,y0,y1,y2;
x0=(x1+x2)/2;
y0=js(x0);
y1=js(x1);
y2=js(x2);
if (y0==0||((x1+0.001>x2)&&(y1*y2<0)))
{
printf("%.2lf ",x0);
exit;
}
if((y1*y0<0)||(x0-x1>1))
do_it(x1,x0);
if((y0*y2<0)||(x2-x0>1))
do_it(x0,x2);
}
int main()
{
scanf("%d%d%d%d",&a,&b,&c,&d);
do_it(-100,100);
}
using namespace std;
double a,b,c,d;
double js(double x)
{
return a*x*x*x+b*x*x+c*x+d;
}
void do_it(double x1,double x2)
{
double x0,y0,y1,y2;
x0=(x1+x2)/2;
y0=js(x0);
y1=js(x1);
y2=js(x2);
if (y0==0||((x1+0.001>x2)&&(y1*y2<0)))
{
printf("%.2lf ",x0);
exit;
}
if((y1*y0<0)||(x0-x1>1))
do_it(x1,x0);
if((y0*y2<0)||(x2-x0>1))
do_it(x0,x2);
}
int main()
{
scanf("%d%d%d%d",&a,&b,&c,&d);
do_it(-100,100);
}