#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int a[n+1];
for(int i=0;i<=n;i++){
scanf("%d ",&a[i]);
}
for(int m=n,i=0;m>=0,i<=n;m--,i++){
if(a[i]!=0){
if(m!=n){
if(m==0){
if(a[i]>0){
printf("+%d",a[i]);
}else{
printf("%d",a[i]);
}
}else if(m==1){
if(a[i]==1){
printf("+x");
}else if(a[i]==-1){
printf("-x");
}else{
if(a[i]>0){
printf("+%dx",a[i]);
}else{
printf("%dx",a[i]);
}
}
}else{
if(a[i]==1){
printf("+x^%d",m);
}else if(a[i]==-1){
printf("-x^%d",m);
}else{
if(a[i]>0){
printf("+%dx^%d",a[i],m);
}else{
printf("%dx^%d",a[i],m);
}
}
}
}else{
if(m==0){
if(a[i]>0){
printf("%d",a[i]);
}else{
printf("%d",a[i]);
}
}else if(m==1){
if(a[i]==1){
printf("x");
}else if(a[i]==-1){
printf("-x");
}else{
if(a[i]>0){
printf("%dx",a[i]);
}else{
printf("%dx",a[i]);
}
}
}else{
if(a[i]==1){
printf("x^%d",m);
}else if(a[i]==-1){
printf("-x^%d",m);
}else{
if(a[i]>0){
printf("%dx^%d",a[i],m);
}else{
printf("%dx^%d",a[i],m);
}
}
}
}
}
}
return 0;
}