#include using namespace std; long calc(vector & A, int lo, int hi) { long ans = 0; for(int i = lo; i <= hi; i ++) { for(int j = i + 1; j <= hi; j ++) { ans += A[i] * A[j]; } } return ans; } long largestValue(vector A) { // Return the largest value of any of A's nonempty subarrays. long ans = -(1 << 30); int size = A.size(); for(int i = 0; i < size; i ++) { for(int j = i; j < size; j ++) { long lt = calc(A, i, j); ans = max(ans, lt); } } 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; }