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))