import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static long largestValue(int[] A) { int n = A.length; int[] B = new int[n*(n-1)/2]; int[] f = new int[n*(n-1)/2]; int[] l = new int[n*(n-1)/2]; int cnt = 0; for(int i=0; i < n; i++){ for(int j=i+1; j < n; j++){ B[cnt] = A[i]*A[j]; f[cnt] = i; l[cnt] = j; cnt++; } } long sum = maxSumSubArray(B,f,l); return sum; // Return the largest value of any of A's nonempty subarrays. } private static long maxSumSubArray(int[] arr,int[] f,int[] l) { int currentStart = 0; int currentEnd = 0; long currentSum = 0; int maxStart = 0; int maxEnd = 0; long maxSum = 0; while (currentEnd != arr.length) { currentSum += arr[currentEnd]; if (currentSum > maxSum) { maxSum = currentSum; maxStart = f[currentStart]; maxEnd = l[currentEnd]; } if (currentSum <= 0) { currentStart = l[currentEnd] + 1; currentSum=0; } currentEnd = currentEnd + 1; } //System.out.println("Maximum sum = " + maxSum); //System.out.println("Indexes (" + maxStart + "," + maxEnd + ")"); return maxSum; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] A = new int[n]; for(int A_i = 0; A_i < n; A_i++){ A[A_i] = in.nextInt(); } long result = largestValue(A); System.out.println(result); in.close(); } }