#include using ll = long long; ll constexpr INF = 1e18; ll constexpr MOD = 1e9 + 7; std::vector max_transform(std::vector &a, int n) { std::vector b; for (int k = 0; k < n; ++k) { for (int i = 0; i < n - k; ++i) { int j = i + k; int max = INT_MIN; for (int l = i; l <= j; ++l) { max = std::max(max, a[l]); } b.push_back(max); } } return b; } int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int n; std::cin >> n; std::vector a(n), sa, saa; for (int i = 0; i < n; ++i) { std::cin >> a[i]; } sa = max_transform(a, n); saa = max_transform(sa, sa.size()); ll sum = 0; for (int i = 0; i < saa.size(); ++i) { sum = (sum + saa[i]) % MOD; } std::cout << sum << '\n'; }