#include using namespace std; typedef int32_t h_int32; typedef int64_t h_int64; typedef uint32_t uh_int32; typedef uint64_t uh_int64; typedef h_int64 h_int; #define REP( i, n ) for(int i = 0; i < ( int )( n ); ++i ) #define REPR( i, n ) for(int i = ( int )( n ); i >= 0; --i ) #define FOR( i, a, n ) for(int i = ( int )( a ); i < ( int )( n ); ++i ) #define FORR( i, a, n ) for(int i = ( int )( n ); i >= ( int )( a ); --i) #define ALL( x ) x.begin(), x.end() #define DOUT( x ) cerr << #x << " = " << x << "\n" #define COUT( x ) cout << ( x ) << "\n" #define DOUBLECOUT( num, x ) cout << fixed << setprecision( num ) << ( x ) << "\n" #define INF 999999999 #define PI 3.14159265359 h_int A, B, C, D; h_int f( h_int x ) { return x * x * x + A * x * x + B * x + C; } signed main() { ios::sync_with_stdio( false ); cin.tie( 0 ); cin >> A >> B >> C; vector res; REP( i, 1000000000 ) { if( f( i ) == 0) { res.push_back( i ); break; } if( f( -i ) == 0) { res.push_back( -i ); break; } } double a = A + res[0]; double b = res[0] == 0 ? B : -C / res[0]; res.push_back( ( -a + sqrt( a * a - 4 * b ) ) / 2 ); res.push_back( ( -a - sqrt( a * a - 4 * b ) ) / 2 ); sort( ALL( res ) ); cout << res[0] << " " << res[1] << " " << res[2] << "\n"; return 0; }