#include "iostream" #include "climits" #include "list" #include "queue" #include "stack" #include "set" #include "functional" #include "algorithm" #include "math.h" #include "utility" #include "string" #include "map" #include "unordered_map" #include "iomanip" #include "random" using namespace std; const long long int MOD = 1000000007; int N; int num[16]; long long int ans = LLONG_MIN; void Search(int n, long long int box,int end) { if (n == end) { ans = max(ans, box); return; } Search(n + 1, box + num[n + 1], end); Search(n + 1, box - num[n + 1], end); Search(n + 1, box * num[n + 1], end); if(num[n+1])Search(n + 1, box + num[n + 1], end); } int main() { cin >> N; for (int i = 0; i < N; i++)cin >> num[i]; Search(0, num[0], N - 1); cout << ans << endl; return 0; }