#!/bin/python3 import sys def max_transform(A): B = [] len_A = len(A) 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): # Return the sum of S(S(A)) modulo 10^9+7. SA = max_transform(A) arr = max_transform(SA) ans = 0 for i in range(len(arr)): ans = (ans + arr[i])%((10**9) + 7) return(ans) if __name__ == "__main__": n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = solve(A) print(result)