import java.util.Scanner;
import java.lang.Integer;
import java.util.ArrayList;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int length=in.nextInt();
        //消耗换行符
        in.nextLine();
        long max1=Long.MIN_VALUE;
        long max2=Long.MIN_VALUE;
        long max3=Long.MIN_VALUE;
        long min2=Long.MAX_VALUE;
        long min1=Long.MAX_VALUE;
        int[] arr=new int[length];
        // 注意 hasNext 和 hasNextLine 的区别
       for(int i=0;i<length;i++){
            long a=in.nextLong();
            //更新最大值
            if(a>max1){
                long temp=max1;
                long temp2=max2;
                max1=a;
                max2=temp;
                max3=temp2;
            }else if(a>max2){
                long temp=max2;
                max2=a;
                max3=temp;
            }else if(a>max3){
                max3=a;
            }
            //更新最小值
            if(a<min1){
                long temp=min1;
                min1=a;
                min2=temp;
            }else if(a<min2){
                min2=a;
            }

       }
       long r1=max1*max2*max3;
       long r2=max1*min1*min2;
       System.out.println(Math.max(r1,r2));
       

    }
   
}