#include<bits/stdc++.h>
using namespace std;
const int maxn=5e4+5;
typedef long long LL;
LL num[maxn];
LL max(LL a,LL b)
{
return a>b?a:b;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%lld",&num[i]);
LL sum=-1;
LL l[maxn],r[maxn];
for(int i=0;i<n;i++)
{
if(i==0) l[i]=0;
else {
if(num[i]==num[i-1]) {
l[i]=l[i-1];
}
else if(num[i]<num[i-1]) {
int j= l[i-1];
for(; j>=0; j--)
{
if(num[j]<num[i]) {
l[i]=j+1;
break;
}
}
if(j==-1) {
l[i]=0;
}
}
else if(num[i]>num[i-1]) {
l[i]=i;
}
}
}
//向右出发
for(int i=n-1;i>=0;i--)
{
if(i==n-1) r[i]=n-1;
else {
if(num[i]==num[i+1]) {
r[i]=r[i+1];
}
else if(num[i]<num[i+1]) {
int j=r[i+1];
for(; j<=n-1; j++)
{
if(num[j]<num[i]) {
r[i]=j-1;
break;
}
}
if(j==n) {
r[i]=n-1;
}
}
else if(num[i]>num[i+1]) {
r[i]=i;
}
}
}
for(int i=0;i<n;i++)
{
sum=max(sum,(1l*r[i]-l[i]+1)*1l*num[i]);
}
printf("%lld\n",sum);
return 0;
}