#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]; unordered_set dp[N]; dp[0].insert(a[0]); for (int i = 1; i < N; i++) { for (auto x : dp[i - 1]) { dp[i].insert(x + a[i]); dp[i].insert(x - a[i]); dp[i].insert(x * a[i]); if (a[i] != 0) dp[i].insert(x / a[i]); } } cout << *max_element(dp[N - 1].begin(), dp[N - 1].end()) << endl; }