import java.util.InputMismatchException;
import java.io.*;
import java.util.Locale;

/**
 * Generated by Contest helper plug-in
 * Actual solution is at the bottom
 */
public class Main {
    public static void main(String[] args) {
        InputReader in = new StreamInputReader(System.in);
        PrintWriter out = new PrintWriter(System.out);
        run(in, out);
    }

    public static void run(InputReader in, PrintWriter out) {
        Solver solver = new Equation();
        solver.solve(1, in, out);
        Exit.exit(in, out);
    }
}

class StreamInputReader extends InputReader {
    private InputStream stream;
    private byte[] buf = new byte[1024];
    private int curChar, numChars;

    public StreamInputReader(InputStream stream) {
        this.stream = stream;
    }

    public int read() {
        if (numChars == -1)
            throw new InputMismatchException();
        if (curChar >= numChars) {
            curChar = 0;
            try {
                numChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (numChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    @Override
    public void close() {
        try {
            stream.close();
        } catch (IOException ignored) {
        }
    }
}

abstract class InputReader {
    private boolean finished = false;

    public abstract int read();

    public long nextLong() {
        return Long.parseLong(nextToken());
    }

    public String nextToken() {
        int c = read();
        while (isSpaceChar(c))
            c = read();
        StringBuffer res = new StringBuffer();
        do {
            res.appendCodePoint(c);
            c = read();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    private boolean isSpaceChar(int c) {
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    public void setFinished(boolean finished) {
        this.finished = finished;
    }

    public abstract void close();
}

interface Solver {
    public void solve(int testNumber, InputReader in, PrintWriter out);
}

class Exit {
    private Exit() {
    }

    public static void exit(InputReader in, PrintWriter out) {
        in.setFinished(true);
        in.close();
        out.close();
    }
}

class Equation implements Solver {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        // ax^2+bx+c
        // D=sqrt(b*b-4*a*c);
        long a = in.nextLong();
        long b = in.nextLong();
        long c = in.nextLong();
        if (a == 0) {
            solveLinear(b, c, out);
        } else {
            long d = b * b - 4 * a * c;
            if (d < 0) {
                out.println(0);
            } else if (d == 0) {
                out.println(1);
                out.printf(Locale.US, "%.10f\n", - (double) b / 2 / a);
            } else {
                out.println(2);
                double x0 = (-b - Math.sqrt((double) d)) / (2 * a);
                double x1 = (-b + Math.sqrt((double) d)) / (2 * a);
                out.printf(Locale.US, "%.10f\n", x0);
                out.printf(Locale.US, "%.10f\n", x1);
            }
        }
    }
    void solveLinear(long a, long b, PrintWriter out) {
        // a * x + b = 0
        if (a == 0 && b != 0) {
            out.println(0);
        } else if (a == 0) {
            out.println(-1);
        } else {
            out.println(1);
            out.printf(Locale.US, "%.10f\n", - (double) b / a);
        }
    }
}
