// Created by Abhishek Kumar #include #define ll long long #define MOD (ll)(1e9+7) #define MAX (ll) (1e6+1) #define C(x) cin>>x #define CC(X,Y) cin>>x>>y #define CCC(X,Y,Z) cin>>X>>Y>>Z #define O(x) cout< #define vs vector #define li list #define vs vector #define ls list #define pf(x) push_front(x) #define ppb() pop_back() #define ppf() pop_front() #define vpi vector #define mp(x,y) make_pair(x,y) #define vi vector #define finder(v,a) (find(v.begin(),v.end())!=v.end()) #define msvi map #define msvs map #define mii map #define msi map #define isKey(map,key) (map.find(key) != map.end()) #define ff first #define ss second #define psi pair #define pis pair #define pivs pair #define si set #define mspivs map using namespace std; bool isPrime(ll n) { if(n==2) return true; if(!(n%2)) return false; for(ll i = 3; i<= sqrt(n); i+=2) if(!(n%i)) return false; return true; } ll gcd(ll a, ll b) { if(b==0) return a; return ((a>b)?gcd(b,a%b):gcd(a, b%a)); } ll digitSum(ll n) { ll sum = 0; while(n>0) { sum+=(n%10); n/=10; } return sum; } ll solve(int *a,int n) { ll dp[n]; dp[0] = 0; loop(i,1,n) { ll sum = a[i] + a[i-1]; ll val = a[i]*a[i-1]; ll ans = val; for(int j = i - 2; j >= 0; --j) { val += (a[j]*sum); ans = max(ans,val); sum += a[j]; } dp[i] = ans; } return *max_element(dp+1,dp+n); } int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin>>n; int a[n]; loop(i,0,n) cin>>a[i]; cout<