N = int(input()) a = [int(i) for i in input().split()] ans = -10**10 def dfs(n,m): if n == N: global ans ans = max(ans,m) return if a[n] > 0: dfs(n+1,m + a[n]) if a[n] < 0: dfs(n+1,m - a[n]) if (m > 0 and a[n] > 0) or (m < 0 and a[n] < 0): dfs(n+1,m * a[n]) if m < 0 and a[n] < 0: dfs(n+1,m // a[i]) return dfs(1,a[0]) print(ans)