#!/bin/python3 import sys def mTrans(c): B = [] for k in range(len(c)): for i in range(0, len(c)-k): j = i + k B.append(max(c[i:j+1])) return B def solve(A): B = mTrans(A) return sum(mTrans(B)) % (10**9) # 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)