#!/bin/python import sys def solve(A): # Return the sum of S(S(A)) modulo 10^9+7. B=[] for k in range(0,len(A)): for i in range(0,len(A)-k): j=i+k #print i, #print j if i!=j: B.append(max(A[i:j+1])) else: B.append(A[i]) A=B #print B B=[] for k in range(0,len(A)): for i in range(0,len(A)-k): j=i+k #print i, #print j, #print A[i:j] if i!=j: B.append(max(A[i:j+1])) else: B.append(A[i]) #print B return sum(B) % 1000000007 if __name__ == "__main__": n = int(raw_input().strip()) A = map(int, raw_input().strip().split(' ')) result = solve(A) print result