#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;
}