#!/usr/bin/env python
# -*- coding:utf-8 -*-
#

def readint(): return int(raw_input())
def readfloat(): return float(raw_input())
def readarray(N, foo):
        res = []
        for _ in xrange(N):
                res.append(foo())
        return res
def readlinearray(foo): return map(foo, raw_input().split())

from math import sqrt

def has_infinite_roots(A, B, C):
    return A == 0 and B == 0 and C == 0

def has_no_roots(A, B, C, delta):
    return delta < 0 or (A == 0 and B == 0 and C != 0)

def get_delta(A, B, C):
    return B**2 - 4*A*C

def get_roots(A, B, C):
    
    delta = get_delta(A, B, C)
    if has_infinite_roots(A, B, C):
        return [-1]
    if has_no_roots(A, B, C, delta):
        return [0]
    
    if A == 0:
        return [1, - C / B if C != 0 else 0]
    
    if delta == 0:
        root = -B / (2 * A) if B != 0 else 0
        return [1, root]
    else:
        root1 = (-B - sqrt(delta)) / (2 * A)
        root2 = (-B + sqrt(delta)) / (2 * A) 
        return [2, root1, root2]

if __name__ == '__main__':
    A, B, C = readlinearray(float)
    ans = get_roots(A, B, C)
    print ans[0]
    for root in sorted(ans[1:]):
        print '%.10f' % root
