#include #include #include #include #include #define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,m,n) for(int i=(m);i<(n);++i) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() const int INF = 0x3f3f3f3f; const long long LINF = 0x3f3f3f3f3f3f3f3fLL; const double EPS = 1e-8; const int MOD = 1000000007; // const int MOD = 998244353; const int dy[] = {1, 0, -1, 0}, dx[] = {0, -1, 0, 1}; // const int dy[] = {1, 1, 0, -1, -1, -1, 0, 1}, // dx[] = {0, -1, -1, -1, 0, 1, 1, 1}; struct IOSetup { IOSetup() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cout << fixed << setprecision(20); cerr << fixed << setprecision(10); } } iosetup; /*-------------------------------------------------*/ int main() { long double a, b, c; cin >> a >> b >> c; long double D = b * b - 4.0 * a * c; if (D > EPS) { vector ans{(-b + sqrt(D)) / (2 * a), (-b - sqrt(D)) / (2 * a)}; sort(ALL(ans)); cout << 2 << '\n' << ans[0] << '\n' << ans[1] << '\n'; } else if (abs(D) < EPS) { cout << 1 << '\n' << -b / (2 * a) << '\n'; } else { cout << 0 << '\n'; } return 0; }