#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair Pr; int N; int A[17]; queue q; int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> A[i]; } int ans,mi,mx; q.push(A[0]); for (int j = 1; j < N; j++) { for (int i = 0; i < pow(2,j-1); i++) { int a = q.front(); q.pop(); mi = min(a + A[j], min(a - A[j], a*A[j])); mx = max(a + A[j], max(a - A[j], a*A[j])); if (a != 0) { mi = min(mi, a / A[j]); mx = max(mx, a / A[j]); } q.push(mi); q.push(mx); if (j == 1)break; } } cout << max(mx,mi) << endl; return 0; }