#include <iostream>
#include <iomanip>
#include <cmath>

// 定义一元三次方程
double equation(double a, double b, double c, double d, double x) {
    return a * x * x * x + b * x * x + c * x + d;
}

// 二分法查找根
double binarySearch(double a, double b, double c, double d, double left, double right) {
    double mid;
    while (right - left >= 1e-6) {
        mid = (left + right) / 2;
        if (equation(a, b, c, d, left) * equation(a, b, c, d, mid) <= 0) {
            right = mid;
        } else {
            left = mid;
        }
    }
    return mid;
}

int main() {
    double a, b, c, d;
    std::cin >> a >> b >> c >> d;

    int count = 0;
    for (int i = -100; i < 100; ++i) {
        double left = i;
        double right = i + 1;
        double fa = equation(a, b, c, d, left);
        double fb = equation(a, b, c, d, right);
        if (fa == 0) {
            std::cout << std::fixed << std::setprecision(2) << left;
            ++count;
            if (count < 3) {
                std::cout << " ";
            }
        } else if (fa * fb < 0) {
            double root = binarySearch(a, b, c, d, left, right);
            std::cout << std::fixed << std::setprecision(2) << root;
            ++count;
            if (count < 3) {
                std::cout << " ";
            }
        }
    }
    // 处理最后一个根恰好是 100 的情况
    if (equation(a, b, c, d, 100) == 0) {
        if (count < 3) {
            std::cout << " ";
        }
        std::cout << std::fixed << std::setprecision(2) << 100.00;
    }
    std::cout << std::endl;

    return 0;
}    
/**************************************************************
	Problem: 1692
	User: panyuchen
	Language: C++
	Result: Accepted
	Time:4 ms
	Memory:2076 kb
****************************************************************/