import math def div(x,y): if (x < 0) ^ (y < 0): return -(-x//y) else: return x//y INF = 10 ** 10 n = int(input()) a = list(map(int,input().split(' '))) dp = [[INF,-INF] for i in range(n)] dp[0][0] = dp[0][1] = a[0] for i in range(1,n): for j in range(2): dp[i][0] = min(dp[i][0],dp[i-1][j]+a[i]) dp[i][0] = min(dp[i][0],dp[i-1][j]-a[i]) dp[i][0] = min(dp[i][0],dp[i-1][j]*a[i]) if a[i] != 0: dp[i][0] = min(dp[i][0],div(dp[i-1][j],a[i])) dp[i][1] = max(dp[i][1],dp[i-1][j]+a[i]) dp[i][1] = max(dp[i][1],dp[i-1][j]-a[i]) dp[i][1] = max(dp[i][1],dp[i-1][j]*a[i]) if a[i] != 0: dp[i][1] = max(dp[i][1],div(dp[i-1][j],a[i])) print(dp[n-1][1])