#!/bin/python3 import sys def solve(A): b=[] for k in range(0,len(A)): for i in range(0,len(A)-k): m=[] j=i+k for l in range(i,j+1): m.append(A[l]) b.append(max(m)%((10**9)+7)) return(b) def solve1(B): c=[] for k in range(0,len(B)): for i in range(0,len(B)-k): m=[] j=i+k for l in range(i,j+1): m.append(B[l]) c.append(max(m)%((10**9)+7)) return(c) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) b=solve(a) d=solve1(b) s=sum(d) print(s%((10**9)+7))