#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
int h[100010];
int st1[100010],r1,p1[100010],m1[100010];
int st2[100010],r2,p2[100010],m2[100010];
int main()
{
//freopen("1.txt","r",stdin);
int n;
while(cin>>n&&n)
{
for(int i=1;i<=n;++i)
scanf("%d",&h[i]);
r1=r2=0;
for(int i=1;i<=n;++i)
{
while(r1>=1&&st1[r1]>=h[i])//h[i]前面第一个小于h[i]的值
r1--;
m1[i]=p1[r1];
r1++;
st1[r1]=h[i];
p1[r1]=i;
}
for(int i=n;i>=1;--i)
{
while(r2>=1&&st2[r2]>=h[i])//h[i]后面第一个小于h[i]的值
r2--;
if(r2==0)
m2[i]=n+1;
else
m2[i]=p2[r2];
r2++;
st2[r2]=h[i];
p2[r2]=i;
}
ll ans=0;
for(int i=1;i<=n;++i)
{
ans=max(ans,(ll)h[i]*(m2[i]-1-(m1[i]+1)+1));
}
printf("%lld\n",ans);
}
return 0;
}