#include using namespace std; int solve(vector A) { // Return the sum of S(S(A)) modulo 10^9+7. vector B,C; int j, maxNum, sum; for (int k = 0; k < A.size(); k++){ for (int i = 0; i < A.size()-k; i++){ j = i+k; maxNum = *max_element(A.begin()+i,A.begin()+j+1); B.push_back(maxNum); } } for (int k = 0; k < B.size(); k++){ for (int i = 0; i < B.size()-k; i++){ j = i+k; maxNum = *max_element(B.begin()+i,B.begin()+j+1); C.push_back(maxNum); } } // Taking the sum in S(S(A)) sum = accumulate(C.begin(),C.end(),0); return sum; } int main() { int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } int result = solve(a); cout << result << endl; return 0; }