#include<cstdio>
#include<iostream>
using namespace std;
int a[1005];//最大个数不超1000
int n,maxnum=0,maxn=0,count=1;
int main()
{
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
//找最大的数,少算
if(a[i]>maxnum){
maxnum=a[i];
}
}
for(int i=1;i<=maxnum;i++){//循环到最高的数,i是高度
count=0;//计数,先清零
for(int j=0;j<n;j++){//每一个高度0----n-1
if(a[j]>=i){//a[j]是下标,a[j]从上到下
count++;
}else{
if(count*i>maxn){
maxn=count*i;//面积,i是高
}
count=0;//用完了清零
}
}
//直到最后,一直在count++的情况(else的情况),此时所有循环已结束
if(count*i>maxn){
maxn=count*i;
}
}
/*算出最大的,替换——————多余
if(count*maxnum>maxn){//maxn原先最大的数
maxn=count*maxnum;//maxnum是高度的最大值
}
*/
cout<<maxn<<endl;
return 0;
}