import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class No550 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); long c = sc.nextLong(); long absc = Math.abs(c); //cの絶対値 List yakusuu = new ArrayList(); //cの約数 List kai = new ArrayList(); for(long i = 1;i * i <= absc;i++) { if(absc % i == 0) { yakusuu.add(i); if(i != absc/i) { yakusuu.add(absc/i); } } } for(int i = 0;i < yakusuu.size();i++) { long alpha = yakusuu.get(i); if(alpha * alpha * alpha + a * alpha * alpha + b * alpha + c == 0) { kai.add(alpha); } alpha = -alpha; if(alpha * alpha * alpha + a * alpha * alpha + b * alpha + c == 0) { kai.add(alpha); } } if(c == 0) { kai.add(c); kai.add((-a + (long)Math.sqrt(a*a - 4*b))/2); kai.add((-a - (long)Math.sqrt(a*a - 4*b))/2); } Collections.sort(kai); for(long x:kai) { System.out.print(x + " "); } System.out.println(); } }