#include #pragma GCC optimize("Ofast") using namespace std; int main() { long long N; cin >> N; long long a[N]; for (int i = 0; i < N; i++) cin >> a[i]; vector dp[N]; dp[0].push_back(a[0]); for (int i = 1; i < N; i++) { unordered_map checked; for (auto x : dp[i - 1]) { if (checked[x]) continue; checked[x] = true; dp[i].push_back(x + a[i]); dp[i].push_back(x - a[i]); dp[i].push_back(x * a[i]); if (a[i]) dp[i].push_back(x / a[i]); } } cout << *max_element(dp[N - 1].begin(), dp[N - 1].end()) << endl; }