#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector a(n); for(auto &&v:a)cin >> v; vector> dp(n, {-(1ll << 60), 1ll << 60}); dp[0][0] = dp[0][1] = a[0]; for(int i = 0; i + 1 < n; i++){ for(int j = 0; j < 2; j++){ dp[i + 1][0] = max(dp[i + 1][0], dp[i][j] + a[i + 1]); dp[i + 1][0] = max(dp[i + 1][0], dp[i][j] - a[i + 1]); dp[i + 1][0] = max(dp[i + 1][0], dp[i][j] * a[i + 1]); dp[i + 1][1] = min(dp[i + 1][1], dp[i][j] + a[i + 1]); dp[i + 1][1] = min(dp[i + 1][1], dp[i][j] - a[i + 1]); dp[i + 1][1] = min(dp[i + 1][1], dp[i][j] * a[i + 1]); if(a[i + 1]){ dp[i + 1][0] = max(dp[i + 1][0], dp[i][j] / a[i + 1]); dp[i + 1][1] = min(dp[i + 1][1], dp[i][j] / a[i + 1]); } } } cout << dp[n - 1][0] << '\n'; }