#include <bits/stdc++.h>
using namespace std;
int main() {
  float A, B, C, X1, X2;
  cin >> A >> B >> C;
  if (A == 0 && B == 0) {
    cout << -1 << endl;
    return 0;
  }
  if (A == 0 && B != 0) {
    cout << fixed << setprecision(10) << (-1 * (C / B)) << endl;
    return 0;
  }
  X1 = ((-B + pow((pow(B, 2) - (4 * A * C)), 1 / 2)) / (2 * A));
  X2 = ((-B - pow((pow(B, 2) - (4 * A * C)), 1 / 2)) / (2 * A));
  if (X1 == 0 || X2 == 0) {
    cout << 0;
    return 0;
  } else if (X1 < 0 && X2 < 0) {
    cout << 1 << endl;
    if (X1 > X2) {
      swap(X1, X2);
    }
    cout << X1 - X2;
    return 0;
  }
  cout << 2 << endl;
  cout << fixed << setprecision(10) << X2 << endl;
  cout << fixed << setprecision(10) << X1 << endl;
  return 0;
}
