#include <iostream>
using namespace std;
#include<vector>
int main() {
int n;
cin >> n; //5
vector<string>v;
string Fx;
for (int i = 0; i < n + 1; i++) { //存储系数
string a;
cin >> a;
v.push_back(a);
}
for (int i = 0; i < n; i++) {
if (v[i] == "0") { //系数为零跳过
continue;
}
if (v[i] != "0") {
if (stoi(v[i]) > 0) { //系数大于0
if (stoi(v[i]) == 1) {//系数为1的特殊情况
string x;
if(n-i==1){//次数为1的特殊情况
x = "+x";
}
else{
x = "+x^" + to_string(n - i);
}
Fx += x;
}
else {
string x;
if(n-i==1){
x = "+" + v[i] + "x";
}
else{
x = "+" + v[i] + "x^" + to_string(n - i);
}
Fx += x;
}
}
if (stoi(v[i]) < 0) {
if (stoi(v[i]) == -1) {
string x;
if(n-i==1){
x = "-x" ;
}
else{
x = "-x^" + to_string(n - i);
}
Fx += x;
}
else {
string x;
if(n-i==1){
x = v[i] + "x";
}
else{
x = v[i] + "x^" + to_string(n - i);
}
Fx += x;
}
}
}
}
if (stoi(v[n]) > 0) { //最后0次方的常数单独讨论
Fx += "+" + v[n];
}
if (stoi(v[n]) < 0) {
Fx += v[n];
}
if (Fx[0] == '+') {//删掉开头的多余+
Fx.erase(Fx.begin());
cout << Fx;
} else {
cout << Fx;
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号