n = int(input()) A = list(map(int, input().split())) INF = float('inf') def div(x, y): res = abs(x)//abs(y) if x*y < 0: return -res else: return res M = A[0] m = A[0] for i in range(1, n): a = A[i] nM = -INF nm = INF if a != 0: nM = max([M+a, M-a, M*a, div(M, a), m+a, m-a, m*a, div(m, a)]) nm = min([M+a, M-a, M*a, div(M, a), m+a, m-a, m*a, div(m, a)]) else: nM = max([M+a, M-a, M*a, m+a, m-a, m*a]) nm = min([M+a, M-a, M*a, m+a, m-a, m*a]) M, m = nM, nm print(M)