#include using namespace std; long largestValue(vector & A) { // Return the largest value of any of A's nonempty subarrays. long ans = 0; int len = A.size(); for (int start = 0; start < len - 1; start++) { for (int end = start + 1; end <= len - 1; end++) { long sum = 0; for (int i = start; i < end; i++) for (int j = i + 1; j <= end; j++) sum += A[i] * A[j]; ans = max(ans, sum); } } return ans; } int main() { int n; cin >> n; vector A(n); for(int A_i = 0; A_i < n; A_i++){ cin >> A[A_i]; } long result = largestValue(A); cout << result << endl; return 0; }