// package Practice1;

import java.util.Scanner;

public class CF020B {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int A = s.nextInt();
        int B = s.nextInt();
        int C = s.nextInt();

        if (A == 0) {
            if(B != 0 && C != 0) {
                double ans = (C * -1.0) / B;
                System.out.println(1);
                System.out.println(ans);
            } else if (B != 0) {
                System.out.println(-1);
            }
        } else if(B == 0){
            if(C < 0){
                System.out.println(1);
                double ans = (C * -1.0) / A;
                ans = Math.sqrt(ans);
//                System.out.println(a/ns);
                System.out.println(ans);
            }else {
                System.out.println(0);
            }
        }else if(C == 0) {
            System.out.println(2);
            double ans = (B * -1.0) / A;
            if(ans > 0) {
                System.out.println(0);
                System.out.println(ans);
            }else{
                System.out.println(ans);
                System.out.println(0);
            }
        } else {
            double a = A, b = B, c = C;
            double root1, root2;

            double determinant = (b * b) - (4 * a * c);

            // condition for real and different roots
            if(determinant > 0) {
                root1 = (-b + Math.sqrt(determinant)) / (2 * a);
                root2 = (-b - Math.sqrt(determinant)) / (2 * a);

                System.out.println(2);
                if(root1 < root2) {
                    System.out.println(root1);
                    System.out.println(root2);
                }else{
                    System.out.println(root2);
                    System.out.println(root1);
                }
            }
            // Condition for real and equal roots
            else if(determinant == 0) {
                root1 = root2 = -b / (2 * a);
                System.out.println(1);
                System.out.println(root1);
            }
            // If roots are not real
            else {
//                double realPart = -b / (2 *a);
//                double imaginaryPart = Math.sqrt(-determinant) / (2 * a);
//
                System.out.println(0);
//                System.out.format("root1 = %.2f+%.2fi and root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
            }
        }

    }
}
