#include <bits/stdc++.h>
using namespace std;
vector<long long int> v;
int n;
long long int rec(long long int l,long long int r){
if(l==r) return v[l];
if(l>r) return 0;
long long int m=(l+r)>>1;
long long int out=max(rec(l,m),rec(m+1,r));
long long int pl=m-1,pr=m+1;
long long int big=v[m];
while(l<=pl or pr<=r){
while(l<=pl and v[pl]>=big) pl-=1;
while(r>=pr and v[pr]>=big) pr+=1;
out=max(out,big*(pr-pl-1));
big=(pr>r or l<=pl and v[pl]>=v[pr])?v[pl]:v[pr];
}
return out;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
v.resize(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
cout<<rec(0,n-1)<<"\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8bG9uZyBsb25nIGludD4gdjsKaW50IG47Cgpsb25nIGxvbmcgaW50IHJlYyhsb25nIGxvbmcgaW50IGwsbG9uZyBsb25nIGludCByKXsKCWlmKGw9PXIpIHJldHVybiB2W2xdOwoJaWYobD5yKSByZXR1cm4gMDsKCWxvbmcgbG9uZyBpbnQgbT0obCtyKT4+MTsKCWxvbmcgbG9uZyBpbnQgb3V0PW1heChyZWMobCxtKSxyZWMobSsxLHIpKTsKCWxvbmcgbG9uZyBpbnQgcGw9bS0xLHByPW0rMTsKCWxvbmcgbG9uZyBpbnQgYmlnPXZbbV07Cgl3aGlsZShsPD1wbCBvciBwcjw9cil7CgkJd2hpbGUobDw9cGwgYW5kIHZbcGxdPj1iaWcpIHBsLT0xOwoJCXdoaWxlKHI+PXByIGFuZCB2W3ByXT49YmlnKSBwcis9MTsKCQlvdXQ9bWF4KG91dCxiaWcqKHByLXBsLTEpKTsKCQliaWc9KHByPnIgb3IgbDw9cGwgYW5kIHZbcGxdPj12W3ByXSk/dltwbF06dltwcl07Cgl9CiAKCXJldHVybiBvdXQ7Cn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoJY291dC50aWUoMCk7CgljaW4+Pm47Cgl2LnJlc2l6ZShuKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+dltpXTsKCX0KCWNvdXQ8PHJlYygwLG4tMSk8PCJcbiI7Cn0=