import sys
import collections 
import random
sys.setrecursionlimit(30000)

def main():
    a,b,c = [float(it) for it in input().split()]
    if a == 0 and b == 0 and c == 0:
        ## INF roots
        sys.stdout.write('-1\n')
    elif a != 0:
        if b == 0 and c == 0:
            ## no roots
            sys.stdout.write('1\n0\n')
        elif b == 0 and c != 0:
            if c < 0:
                ## There is one root
                x = (-c/a)**0.5
                sys.stdout.write('1\n%s\n'% x)
            else:
                sys.stdout.write('0\n')
        elif a != 0 and b != 0:
            d = b*b - 4*a*c
            if d < 0:
                ## There is complex roots
                sys.stdout.write('0\n')
            elif d == 0:
                ## There is one root
                x = -b/2/a
                sys.stdout.write('1\n%s\n'% x)
            elif d > 0:
                ## There is two roots
                x1 = (-b + d**0.5)/2/a
                x2 = (-b - d**0.5)/2/a
                if x1 > x2:
                    x1,x2 = x2,x1
                sys.stdout.write('2\n%s\n%s\n'% (x1,x2))
    else:
        if b != 0:
            ## There is one root
            x = -c/b if c != 0 else 0
            sys.stdout.write('1\n%s\n'% x)
        else:
            if c > 0:
                ## There is one root
                sys.stdout.write('0\n')
if __name__ == "__main__":
    ##sys.stdin = open('f.in','r')
    ##sys.stdout = open('f.out','w')
    main()
    ##sys.stdin.close()
    ##sys.stdout.close()