#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
double a, b, c, d;
double f(double x)
{
return (x * x * x * a + x * x * b + x * c + d);//计算一元三次方程的值
}
int main()
{
double x1, x2, xx;
cin>>a>>b>>c>>d;//都是实数,不一定非是整数
for (double i = -100; i <= 100; i++) {//分别枚举
x1 = i; x2 = i + 1;
if (f(x1) == 0)//说明为零,直接输出
printf("%.2lf ", i);
if (f(x1) * f(x2) < 0) {//小于零说明有零点,即说明有解。
while (x2 - x1 >= 0.001) {//范围
xx = (x1 + x2) / 2;//二分
if (f(x1) * f(xx) <= 0)//判断零点在x1到xx还是xx到x2
x2 = xx;//更新
else
x1 = xx;
}
printf("%.2lf ", x1);//输出
}
}
}