import java.util.*;
public class Main{
    public static void main(String[]args){
        Scanner Sc=new Scanner(System.in);
        int n=Sc.nextInt();
        if(n<1){
            System.out.println("Invalid input");
            return;
        }
        int[] heights= new int [n];
        for(int i=0;i<n;i++){
            heights[i]=Sc.nextInt(n);
        
        if(heights[i]<0){
            System.out.println("Invalid input");
            return;
        }
        } 
        Stack<Integer>stack=new Stack<>();
        int maxarea=0;
        for(int i=0;i<=n;i++){
            int cu=(i=n)? 0:heights[i];
            while(!stack.isEmpty()&& heights[stack.peek()]>= cu){
                int top=stack.pop();
                int height= heights [top];
                int width=stack.isEmpty() ? i:i-stack.peek()-1;
                int area= height*width;
                maxarea=Math.max(maxarea,area);
            }
            stack.push(i);
        }
        System.out.println(maxarea);
    }
}    











