#!/bin/python3 import sys import math def solve(A): B=[] for k in range(0,len(A)): for i in range(0,len(A)-k): j=i+k maxc=-1 for c in range(i,j+1): if A[c] > maxc: maxc=A[c] B.append(maxc) C=[] for k in range(0,len(B)): for i in range(0,len(B)-k): j=i+k maxc=-1 for c in range(i,j+1): if B[c] > maxc: maxc=B[c] C.append(maxc) sum=0 for i in range(0,len(C)): sum+=C[i] return int(sum%(math.pow(10,9)+7)) # Return the length of the longest possible sequence of moves modulo 10^9+7. if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = solve(a) print(result)