#include using namespace std; //#include //using namespace atcoder; using ll = long long int; using ull = unsigned long long int; using ld = long double; constexpr ll MAX = 2000000000000000000; constexpr ld PI = 3.14159265358979; constexpr ll MOD = 0;//2024948111; ld dotorad(ld K){return PI * K / 180.0;} ld radtodo(ld K){return K * 180.0 / PI;} mt19937 mt; void randinit(){srand((unsigned)time(NULL));mt = mt19937(rand());} int main(){ ll N; cin >> N; vector A(N); for(ll i = 0;i < N;i++) cin >> A[i]; if(N == 1) cout << A[0] << endl; else if(N % 2 == 1) cout << 1 << endl; else{ sort(A.begin(),A.end()); A.emplace_back(A[0] * A[1]); A.erase(A.begin()); A.erase(A.begin()); sort(A.begin(),A.end()); cout << A[0] << endl; } }