import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int n = in.nextInt();
            long[] list = new long[n];
            long max = 0;
            long max1 = 0;
            long max2 = 0;

            for(int i = 0;i<n;i++){
                list[i] = in.nextInt();
            }
			
		  	//数组排序后无论是否有负数,最终都在最后三个或者最后一个前面2个里面中的一个选,用max判断下即可
            Arrays.sort(list);
            max1 = list[0]*list[1]*list[n-1];
            max2 = list[n-1]*list[n-2]*list[n-3];
            max = Math.max(max1,max2);
            System.out.println(max);

        }
    }
}