#include <cmath>
#include <iostream>

int main() {
    double a, b, c;
    const double EPS = 1e-9;
    std::cout << "Введите a b c: ";
    if (!(std::cin >> a >> b >> c) || std::fabs(a) < EPS) {
        std::cout << "Ошибка: a не должно быть равно нулю.\n";
        return 0;
    }

    double d = b * b - 4 * a * c;
    if (d < -EPS) {
        std::cout << "Вещественных корней нет.\n";
        return 0;
    }
    if (std::fabs(d) < EPS) d = 0;
    double t1 = (-b + std::sqrt(d)) / (2 * a);
    double t2 = (-b - std::sqrt(d)) / (2 * a);
    int count = 0;
    if (t1 > EPS) count += 2;
    else if (std::fabs(t1) <= EPS) count++;
    if (d > EPS) {
        if (t2 > EPS) count += 2;
        else if (std::fabs(t2) <= EPS) count++;
    }

    if (count == 0) {
        std::cout << "Вещественных корней нет.\n";
    } else {
        std::cout << "Число корней: " << count << ". Корни:";
        if (t1 > EPS) std::cout << " " << -std::sqrt(t1) << " " << std::sqrt(t1);
        else if (std::fabs(t1) <= EPS) std::cout << " 0";
        if (d > EPS && t2 > EPS)
            std::cout << " " << -std::sqrt(t2) << " " << std::sqrt(t2);
        else if (d > EPS && std::fabs(t2) <= EPS) std::cout << " 0";
        std::cout << "\n";
    }
    return 0;
}
