#include<bits/stdc++.h>
using namespace std;
int arr[10^8];
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<=n;i++){
scanf("%d",&arr[i]);
}
int k=1;
int g=n+1;
for(int i=0;i<=n;i++){
g--;
if(arr[i]!=0){
if(g==0){
if(arr[i]>0){
cout<<"+"<<arr[i];
continue;
}else if(arr[i]<0){
cout<<arr[i];
continue;
}
}
if(g==1){
if(arr[i]>1){
cout<<"+"<<arr[i]<<"x";
k=0;
continue;
}else if(arr[i]<-1){
cout<<arr[i]<<"x";
k=0;
continue;
}else if(arr[i]==1&&k==1){
cout<<"x";
k=0;
continue;
}else if(arr[i]==-1){
cout<<"-x";
k=0;
continue;
}else if(arr[i]==1&&k==0){
cout<<"+x";
k=0;
continue;
}
}
if(arr[i]>1&&k==1){
cout<<arr[i]<<"x^"<<g;
k=0;
continue;
}else if(arr[i]==1&&k==1){
cout<<"x^"<<g;
k=0;
continue;
}
if(arr[i]>1){
cout<<"+"<<arr[i]<<"x^"<<g;
continue;
}
if(arr[i]<-1){
cout<<arr[i]<<"x^"<<g;
continue;
}
if(arr[i]==1){
cout<<"+x^"<<g;
continue;
}
if(arr[i]==-1){
cout<<"-x^"<<g;
continue;
}
}
}
return 0;
}