#include #include #include #include #define REP(i, a, n) for(ll i = ((ll) a); i < ((ll) n); i++) using namespace std; typedef long long ll; double A, B, C; double f(double x) { return x * x * x + A * x * x + B * x + C; } double solve(double l, double h) { double m; if(f(l) > 0) swap(l, h); REP(i, 0, 200000) { m = (l + h) / 2.0; if(f(m) > 0) h = m; else l = m; } return m; } ll floorll(double r) { ll ret = (ll) (r + 0.5); if(r < 0) ret--; return ret; } int main(void) { cin >> A >> B >> C; double p = (-A - sqrt(A * A - B * 3.0)) / 3.0; double q = (-A + sqrt(A * A - B * 3.0)) / 3.0; double a = solve(-1e10, p); double b = solve(p, q); double c = solve(q, 1e10); cout << floorll(a) << " " << floorll(b) << " " << floorll(c) << endl; }