#include #include #include using namespace std; #define ll long long #define mp make_pair #define pb push_back int main() { int x; cin >> x; for (int i=0; i> y; vector neg; vector zero; vector pos; ll p = 1; ll q = 1; for (int j=0; j> z; p *= z; if (z < 0) { neg.pb(z); q *= z;} else if (z == 0) { zero.pb(z); } else { pos.pb(z); q *= z;} } sort(neg.begin(), neg.end()); sort(zero.begin(), zero.end()); sort(pos.begin(), pos.end()); if (pos.size() == 0 && zero.size() == 0 && neg.size() == 1) { cout << p << endl; } else if (pos.size() == 0 && neg.size() == 1 && zero.size() > 0) { cout << 0 << endl;} else if (pos.size() == 0 && neg.size() == 0) { cout << 0 << endl; } else if (neg.size() == 0) { cout << q << endl; } else { cout << max(q, q / neg[neg.size()-1]) << endl; } } }