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