#!/bin/python import sys def ans(B): # Return the sum of S(S(A)) modulo 10^9+7. C=[] for z in range(len(B)): for x in range(0,len(B)-z): y=x+z max_B=0 for xyz in range(x,y+1): if(B[xyz]>max_B): max_B=B[xyz] C.append(max_B) return (sum(C)%(10**9)) def solve(a): # Return the sum of S(S(A)) modulo 10^9+7. B=[] for z in range(len(a)): for x in range(0,len(a)-z): y=x+z max_a=0 for xyz in range(x,y+1): if(a[xyz]>max_a): max_a=a[xyz] B.append(max_a) return ans(B) if __name__ == "__main__": n = int(raw_input().strip()) a = map(int, raw_input().strip().split(' ')) result = solve(a) print result