#include <bits/stdc++.h>
#define r(i,n) for(int i=0;i<n;i++)
using namespace std;
#define int long long
typedef pair<int,int>P;
main(){
    int n,a;
    cin>>n;
    priority_queue<P,vector<P>,greater<P> >p;
    r(i,n){
        cin>>a;
        p.push(P(a,i));
    }
    long long sum=0;
    set<int>st;
    r(i,n){
        P A=p.top();p.pop();
        int x=A.second;
        long long LA,RA;
        int y=A.first;
        st.insert(x);
        auto it=st.find(x);
        if(it==st.begin()) LA=x+1;
        else{
            it--;
            LA=x-(*it);
            it++;
        }
        auto IT=st.end();IT--;
        if(it==IT) RA=n-x;
        else{
            it++;
            RA=(*it)-x;
            it--;
        }
        //cout<<LA<<' '<<RA<<' '<<x<<endl;
        sum+=LA*RA*y;
        //sum%=1000000007;
    }
    cout<<sum<<endl;
}