import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int sum=0; static int solve(Integer[] A) { Integer [] l=a(a (A)); for(Integer k:l)sum+=k; return (sum)%1000000007; // Return the sum of S(S(A)) modulo 10^9+7. } public static Integer[] a(Integer A[]){ int l=A.length-1; ArrayList al=new ArrayList(); for(int k=0;k<=l;k++){ for(int i=0;i<=l-k;i++){ int j=i+k; int w=0; for(int n=i;n<=j;n++ ){ w=(A[n] > w) ? A[n] : w; } al.add(w); } } Integer[] arr = new Integer[al.size()]; arr = al.toArray(arr); return arr; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); Integer[] A = new Integer[n]; for(int A_i = 0; A_i < n; A_i++){ A[A_i] = in.nextInt(); } int result = solve(A); System.out.println(result); in.close(); } }