#include using namespace std; int solve(vector A) { // Return the sum of S(S(A)) modulo 10^9+7. int res=0; vector B; for(int k = 0; k < A.size() ; k++){ for(int i = 0; i < A.size() - k ; i++) { int j = i + k; int max = A[i]; for(int n = i; n <= j; n++) { if(A[n]>max) max = A[n]; } B.push_back(max); } } vector S_A(B); vector C; for(int k = 0; k <= S_A.size() - 1; k++){ for(int i = 0; i <= S_A.size() - k - 1; i++) { int j = i + k; int max = S_A[i]; for(int n = i; n <= j; n++) { if(S_A[n]>max) max = S_A[n]; } C.push_back(max); } } for(int i = 0; i < C.size(); i++) { res += C[i]; //cout << C[i] << ","; } //cout << endl; return res; } 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; }