from collections import * from itertools import * from functools import * from heapq import * import sys,math A,B,C = map(int,input().split()) a,b,c = 3,2*A,B def f(x): return x*(B + x*(A+x)) + C D = math.sqrt(b**2 - 4*a*c) p = (-b-D)/(2*a) q = (-b+D)/(2*a) x = -10**10 y = p ans = set() for _ in range(100): mid = (y+x)/2 if f(mid)>=0: y = mid else: x = mid x = math.floor(x)-2 for dx in range(10): if f(x+dx)==0: ans.add(x+dx) break x = q y = p for _ in range(100): mid = (y+x)/2 if f(mid)>=0: y = mid else: x = mid x = math.floor(y)-2 for dx in range(10): if f(x+dx)==0: if x+dx in ans: continue ans.add(x+dx) break x = q y = 10**10 for _ in range(100): mid = (y+x)/2 if f(mid)>=0: y = mid else: x = mid x = math.floor(x)-2 for dx in range(10): if f(x+dx)==0: if x+dx in ans: continue ans.add(x+dx) break ans = list(ans) ans.sort() print(*ans)