#include using namespace std; const int mxN = 1e5; typedef long long ll; ll st[mxN+1], l[mxN+1], r[mxN+1], v[mxN+1]; int main() { ll sol = 0, n, top = 0 ; cin>>n; for(int i = 1;i<=n;i++) { cin>>v[i]; while(top > 0 && v[st[top]] < v[i]) r[st[top]] = i, top--; st[++top] = i; } while(top>0) r[st[top]] = n+1, top--; for(int i = n;i>0;i--) { while(top > 0 && v[st[top]] < v[i]) l[st[top]] = i, top--; st[++top] = i; } for(int i = 1;i<=n;i++) { ll A = i - l[i]; ll B = r[i] - i; sol+= v[i] * A*B; } cout<