#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")