#include<bits/stdc++.h>

using namespace std;

int main() {
    string eq;
    while (cin >> eq) {
        int coef = 0; // 代表系数
        int a=0, b=0, c=0; // 二次项系数与常数
        int sign = 1; // 代表方程的左边和右边
        int op = 1; // 代表前面的符号
        int num = 0;
        
        int i = 0;
        while (i < eq.size()) {
            if (isdigit(eq[i])) {
                num = num * 10 + (eq[i] - '0');
                if (i == eq.size() - 1) {
                    c += num * sign * op;
                    break;
                }
                i++;
            }
            if (eq[i] == 'x') {
                if (i + 1 < eq.size() && eq[i+1] == '^') {
                    if (num == 0) num = 1;
                    a += num * sign * op;
                    num = 0;
                    i = i + 3;
                } else {
                    if (num == 0) num = 1;
                    b += num * sign * op;
                    num = 0;
                    i++;
                }
            }
            if (eq[i] == '=') {
                op = -op;
                c += num * sign * op;
                num = 0;
                i++;
            }
            if (eq[i] == '+') {
                c += num * sign * op;
                sign = 1;
                num = 0; 
                i++;
            }
            if (eq[i] == '-') {
                c += num * sign * op;
                sign = -1;
                num = 0; 
                i++;
            }
        }
        // cout << a << " " << b << " " << c << endl;
        // cout << pow(b, 2) << endl;

        if ((pow(b, 2)- 4 * a * c) < 0) {
            cout << "No Solution" << endl;
            continue;
        }

        double x1 = (-b - sqrt(pow(b,2) - 4 * a * c)) / (2*a);
        double x2 = (-b + sqrt(pow(b, 2) - 4 * a * c)) / (2*a);

        cout << fixed << setprecision(2) << x1;
        cout << " ";
        cout << fixed << setprecision(2) << x2;
        cout << endl;

    }
    return 0;
}