def mt(A): b = [] for k in range(len(A)): for i in range(len(A)-k): j = i + k b.append(max(A[i:j+1])) return b def solve(A): A = mt(A) A = mt(A) return(sum(A)%(7 + 10**9)) n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = solve(A) print(result)