#include <iostream> using namespace std; const int N = 1001; int n, a[N]; int ans = 0; void dfs(int L, int R) { if(L > R) return; int p = L; for(int i = L + 1; i <= R; i += 1) if(a[i] < a[p]) p = i; ans += (p - L + 1) * (R - p + 1) * a[p]; dfs(L, p - 1); dfs(p + 1, R); } int main() { int n; cin >> n; for(int i = 1; i <= n; i += 1) cin >> a[i]; dfs(1, n); cout << ans << endl; }