#include<stdio.h>
#include<iostream>
#include<stack>
typedef long long ll;
using namespace std;
ll arr(ll *ar,ll n)
{
    stack<ll> s;
	ll maxi=0;
	ll tp;
	ll parr;
	ll i=0;
	while(i<n)
	{
		if(s.empty() || ar[s.top()]<=ar[i])
		s.push(i++);
		else
		{
			tp=s.top();
			s.pop();
			parr=ar[tp]*(s.empty() ? i : i - s.top() - 1);
			
			if(parr>maxi)
			maxi=parr;
		}
	}
	if(s.empty()==false)
	{
		tp=s.top();
		s.pop();
	    parr=ar[tp]*(s.empty() ? i : i - s.top() - 1);
		if(parr>maxi)
		maxi=parr;
	}
	return maxi;
}
int main()
{
	ll n,i,ans;
	ll ar[100005];
	scanf("%lld",&n);
	for(i=0;i<n;i++)
	scanf("%lld",&ar[i]);
	ans=arr(ar,n);
	printf("%lld\n",ans);
	return 0;
}