#include using namespace std; vector max_transform (vector A) { vector retvec; for (int k = 0; k < A.size(); k++) { for (int i = 0; i < A.size() - k; i++) { int j = i + k; int max = 0; for (int c = i; c <= j; c++) { if (A[c] > max) max = A[c]; } retvec.push_back(max); } } //for (int h = 0; h < retvec.size(); h++) { // cout << retvec[h] << ' '; //} //cout << endl; return retvec; } int solve(vector A) { // Return the length of the longest possible sequence of moves modulo 10^9+7. vector i = max_transform (max_transform (A)); int sum = 0; for (int h = 0; h < i.size(); h++) { sum += i[h]; } 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; }