#include <bits/stdc++.h>
using namespace std;
using ll = int64_t;

int main() {
  ll a,b,c;
  cin>>a>>b>>c;
  if (a==0) {
    if (b==0) {
      cout<<(c==0?-1:0)<<endl;
    } else {
      cout<<1<<endl;
      cout <<fixed<<setprecision(15)<< double(-c) / b << endl;
    }
    return 0;
  }
  ll d = b*b - 4*a*c;
  if (d < 0) {
    cout<<0<<endl;
    return 0;
  } else if (d == 0) {
    cout<<1<<endl;
    double a2 = 2.0 * a;
    cout <<fixed<<setprecision(15)<< double(-b) / a2 << endl;
  } else {
    cout<<2<<endl;
    if (c == 0) {
      cout <<fixed<<setprecision(15)<< 0 << endl;
      cout <<fixed<<setprecision(15)<< double(-b) / a << endl;
      return 0;
    }
    long double a2 = 2.0 * a;
    long double c2 = 2.0 * c;
    vector<long double> res;
    long double ldd = d;
    if (b < 0) {
      res.push_back(c2 / (-b + sqrt(ldd)));
      res.push_back((-b + sqrt(ldd)) / a2);
    } else {
      res.push_back(c2 / (-b - sqrt(ldd)));
      res.push_back((-b - sqrt(ldd)) / a2);
    }
    sort(begin(res), end(res));
    for(auto&& v:res) {
      cout <<fixed<<setprecision(15)<<v<<endl;
    }
  }
  return 0;
}