#include<bits/stdc++.h>
using namespace std;
int _max=-0x7fffffff;
//一个坑:若是全零 要输出0
void _coef(int a)
{
if(a>0)
printf("+");
else
printf("-");
if(abs(a)!=1)
printf("%d",abs(a));
}
void _index(int b)
{
if(b==0)
return ;
if(b==1)
printf("x");
else
printf("x^%d",b);
}
int main()
{
int FLAG=0;
int a[120];
int n;
scanf("%d",&n);
for(int i=n;i>=0;i--)
{
scanf("%d",&a[i]);
if(i==n)//第一个单独处理
{
if(a[i]==0)
continue;
else
{
if(a[i]!=1&&a[i]!=-1)
printf("%d",a[i]);
if(a[i]==-1)
printf("-");
_index(i);
}
}
else
{
if(a[i]==0)
continue;
_coef(a[i]);
_index(i);
if(abs(a[i])==1&&i==0)
printf("1");
}
}
//对坑的处理如下
for(int i=n;i>=0;i--)
{
if(a[i]!=0)
{
FLAG=1;
break;
}
}
if(FLAG==0)
printf("0");
}