#include #include using namespace std; #define ll int64_t #define vi vector < int > #define vs vector < string > #define mp make_pair //ll m = 9e6 ; int main() { int n; cin >> n; vector < ll > a(n); for(ll i = 0; i < n; i++) cin >> a[i]; vector < ll > b ; for(ll k = 0; k < n; k++) { for(ll i = 0; i < n - k; i++) { ll j = i + k; ll m = a[i]; for(ll l = i + 1 ; l <= j; l++) { if(a[l] > m) m = a[l]; } b.push_back(m); } } vector < ll > c; for(ll k = 0; k < b.size(); k++) { for(ll i = 0; i < b.size() - k; i++) { ll j = i + k; ll m = b[i]; for(ll l = i + 1 ; l <= j; l++) { if(b[l] > m) m = b[l]; } c.push_back(m); } } ll sum = accumulate(c.begin(), c.end(), 0); cout << sum % (ll)(1e9 + 7); return 0; }