#include #include #include #include using namespace std; int main() { int N; cin >> N; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } if (N % 2 == 1) { cout << (N == 1 ? A[0] : 1) << endl; } else { multiset s(A.begin(), A.end()); for (int i = 0; i < N - 1; i++) { if (i % 2 == 0) { long long pa = *s.begin(); s.erase(s.begin()); long long pb = *s.begin(); s.erase(s.begin()); s.insert(pa * pb); } else { long long pa = *(--s.end()); s.erase(--s.end()); long long pb = *(--s.end()); s.erase(--s.end()); s.insert(1); } } cout << *s.begin() << endl; } return 0; }