# coding: utf-8 import math def II(): return int(input()) def ILI(): return list(map(int, input().split())) def IAI(LINE): return [ILI() for __ in range(LINE)] def IDI(): return {key: value for key, value in ILI()} def read(): A, B, C = ILI() return A, B, C def calc_equation(A, B, C, x): if pow(x, 3) + A * pow(x, 2) + B * x + C == 0: return True else: return False def solve(A, B, C): ans_1 = None after = [] for i in range(0, int(math.sqrt(abs(C))) + 1): if i == 0: if calc_equation(A, B, C, i): ans_1 = i break else: div, mod = divmod(C, i) if mod == 0: after.append(div) after.append(-div) if calc_equation(A, B, C, i): ans_1 = i break if calc_equation(A, B, C, -i): ans_1 = -i break else: for aft in reversed(after): if calc_equation(A, B, C, aft): ans_1 = aft break _a = A + ans_1 _b = B + ans_1 * (A + ans_1) ans_2 = (-_a + math.sqrt(_a ** 2 - 4 * _b)) // 2 ans_3 = (-_a - math.sqrt(_a ** 2 - 4 * _b)) // 2 l_ans = [ans_1, ans_2, ans_3] ans = " ".join(map(str, map(int, sorted(l_ans)))) return ans def main(): params = read() print(solve(*params)) if __name__ == "__main__": main()