#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int xis(string s) {//系数
    int all = 0;
    for (int i = 0; i < s.length() && s[i] != 'x'; i++)
        all = all * 10 + s[i] - '0';
    if (s[0] == 'x')
        all = 1;
    return all;
}

int main() {
    string s;
    while (getline(cin, s)) { // 注意 while 处理多个 case
        vector<string>list;
        int i = 0;
        while (i < s.length()) {
            int k = i;
            for (; s[i] != '+' && s[i] != '-'  && s[i] != '=' && i < s.length();   i++) ;
            string a = s.substr(k, i - k);
            list.push_back(a);
            string b = s.substr(i, 1);
            list.push_back(b);
            i++;
        }
        int sign = 1, q = 1;//sign初值为一,解决首项问题,q=1代表=左边
        int a = 0, b = 0, c = 0;
        for (auto i = list.begin(); i != list.end(); i++)
            if (i[0] == "+")
                sign = 1;
            else  if (i[0] == "-")
                sign = -1;
            else  if (i[0] == "=")
                sign = 1, q = -1;
            else if (i[0][i[0].length() - 1] == 'x')
                b += q * sign * xis(i[0]);
            else if (i[0][i[0].length() - 2] == '^')
                a +=  q * sign * xis(i[0]);
            else
                c +=  q * sign * xis(i[0]);
        int m = b * b - 4 * c * a ;
        if (m < 0)
            cout << "No Solution" << endl;
        else {
            double x1 =  (-1 * sqrt(m) - b) / a / 2;
            double x2 =  ( sqrt(m) - b) / a / 2;
            printf("%.2f %.2f", x1, x2);
        }
    }
}
// 64 位输出请用 printf("%lld")