n = int(input())
a = list(map(int, input().split()))
def get_poly(i):
# 处理系数部分
coeff = a[len(a)-1-i]
if coeff == 0:
return None
else:
abs_coeff = abs(coeff)
if (abs_coeff == 1) and (i > 0):
coeff_part = "" # 系数为1且次数大于0时省略1
else:
coeff_part = str(abs_coeff)
# 处理次数部分
if i == 0:
power_part = "" # 常数项
elif i == 1:
power_part = "x" # 一次项
else:
power_part = f"x^{i}" # 高次项
# 处理符号
sign = ""
if (len(a)-1-i)!=0 and coeff > 0:
sign = "+"
if coeff < 0:
sign = "-"
return sign + coeff_part + power_part
poly = []
for i in range(len(a)-1,-1,-1):
get = get_poly(i)
if get is not None:
poly.append(get)
if not poly:
print("0")
else:
print("".join(poly))