#include <bits/stdc++.h>
#include <stack>
using namespace std;
int main() {
stack<int> p;
long long area=0,i,t=0,c,n;
cin>>n;
int a[n];
for(i=0;i<n;i++){
cin>>a[i];
}
for(i=0;i<n;i++){
if(a[i]>a[p.top()] || p.empty()){
p.push(i);
continue;
}
else{
while(a[i]<a[p.top()]){
c=a[i]*(i-p.top()-1);
if(p.empty()){
t=a[i]*i;
area=(area>=t)?area:t;
break;
}
else
p.pop();
t=max(t,c);
}
// c=a[i]*(i-p.top()-1);
p.push(i);
}
area=(area>=t)?area:t;
}
cout<<area;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxzdGFjaz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJCglzdGFjazxpbnQ+IHA7Cglsb25nIGxvbmcgYXJlYT0wLGksdD0wLGMsbjsKCWNpbj4+bjsKCWludCBhW25dOwoJZm9yKGk9MDtpPG47aSsrKXsKCQljaW4+PmFbaV07Cgl9Cglmb3IoaT0wO2k8bjtpKyspewoJCQoJCWlmKGFbaV0+YVtwLnRvcCgpXSB8fCBwLmVtcHR5KCkpewoJCQlwLnB1c2goaSk7CgkJCWNvbnRpbnVlOwoJCX0KCQkKCQllbHNlewoJCQl3aGlsZShhW2ldPGFbcC50b3AoKV0pewoJCQkJYz1hW2ldKihpLXAudG9wKCktMSk7CgkJCQlpZihwLmVtcHR5KCkpewoJCQkJCXQ9YVtpXSppOwoJCQkJCWFyZWE9KGFyZWE+PXQpP2FyZWE6dDsKCQkJCQlicmVhazsKCQkJCX0KCQkJCWVsc2UKCQkJCXAucG9wKCk7CgkJCQl0PW1heCh0LGMpOwoJCQl9CgkJLy8JYz1hW2ldKihpLXAudG9wKCktMSk7CgkJCXAucHVzaChpKTsKCQl9CgkJCgkJYXJlYT0oYXJlYT49dCk/YXJlYTp0OwoJfQoJY291dDw8YXJlYTsKfQo=