#include <bits/stdc++.h>
using namespace std;
double a, b, c, d;
const double eps = 1e-4;
double f(int x) {
return a * x * x * x + b * x * x + c * x + d;
}
int main() {
cin >> a >> b >> c >> d;
for (int i = -100; i <= 100; i++) {//全区间枚举
double l = i, r = i + 1, mid;//设定每个根可能在的区间
if (fabs(f(l)) < eps)//左根 输出
printf("%.2lf ", l);
else if (fabs(f(r)) < eps)//右根作为下一个区间的左根下一轮输出
continue;
else if (f(l)*f(r) < 0) //根在l和r间
{
while (r - l > eps) //可以继续二分
{
mid = (l + r) / 2;
if (f(mid)*f(r)<=0) {//零点右偏
l = mid;
} else //零点左偏
r = mid;
}
printf("%.2lf ", l);//不能继续二分了就输出l
}
}
return 0;
}