#include <stdio.h> int main() { int n; long long min1,min2,max1,max2,max3; int a[100005] = {0}; int i; while (scanf("%d\n", &n) != EOF) { // 注意 while 处理多个 case max1 = max2 = max3 = 0; min1 = min2 =0; for (i=0; i < n; i++) { scanf("%d ", &a[i]); if (a[i] > max1) { max3 = max2; max2 = max1; max1 = a[i]; } else if (a[i] > max2) { max3 = max2; max2 = a[i]; } else if (a[i] > max3) { max3 = a[i]; } else if (a[i] < min1) { min2 = min1; min1 = a[i]; } else if (a[i] < min2) { min2 = a[i]; } } // printf ("%lld %lld %lld \n", max1, max2,max3); // printf ("%lld %lld \n", min1, min2); // printf ("%lld \n", max1 * max2* max3); // printf ("%lld \n", min1 * min2 * max1); printf("%lld\n", max1 * max2* max3 > min1 * min2 * max1 ? max1 * max2* max3 : min1 * min2 * max1); } return 0; }