#define min(a,b) ((a)<(b)?(a):(b))
#define man(a,b) ((a)>(b)?(a):(b))
#define mod(a,b) ((a)<(0)?(-a):(a))
#define loop(i,a,b) for(int i=a;i<b;++i)
#include <string>
#include <vector>
#include <set>
#include <algorithm>
#include <math.h>
using namespace std;

long long a,b,c;
double d;

int main()
{
    scanf("%I64d%I64d%I64d", &a, &b, &c);
    if ( a == 0 && b == 0 && c == 0 )
    {
        printf("-1");
        return 0;
    }

    if ( a == 0 )
    {
        if ( b == 0 )
        {
            printf("0");
        }
        else
        {
            printf("%.6lf", -1.*c/b);
        }
    }
    else
    {
        d = b*b-4*a*c;
        if ( d < 0 )
        {
            printf("0");
        }
        else if ( mod(d) < 1e-12 )
        {
            printf("1\n");
            printf("%.6lf",-1.*b/2/a);
        }
        else
        {
            d = sqrt(d);
            printf("2\n");
            double r1 = (-b-d)/2/a;
            double r2 = (-b+d)/2/a;
            printf("%.6lf\n",min(r1,r2));
            printf("%.6lf",max(r1,r2));
        }
    }
    return 0;
}