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