#include <bits/stdc++.h>
using namespace std;

int main() {
    array<long long, 2> negArr = {0, 0};
    array<long long, 3> posArr = {0, 0, 0};
    long long len, num; cin >> len;
    while (len--) {
        cin >> num;
        if (num >= 0) {
            if (posArr[0] < num) { posArr[2] = posArr[1]; posArr[1] = posArr[0]; posArr[0] = num; }
            else if (posArr[1] < num) { posArr[2] = posArr[1]; posArr[1] = num; }
            else if (posArr[2] < num) { posArr[2] = num;}
        }
        else {
            if (negArr[0] > num) { negArr[1] = negArr[0]; negArr[0] = num; }
            else if (negArr[1] > num) { negArr[1] = num; }
        }
    }
    
    cout << max(posArr[0]*posArr[1]*posArr[2], negArr[0]*negArr[1]*posArr[0]);
    return 0;
}