#include<iostream>
using namespace std;
int main()
{
    long long N;
    cin>>N;
    long long mesta[N],im, iz=0, zabraneniIm[N];
    for(im=0; im<N; im++){
        cin>>mesta[im];
        if(im>0 && im<N){
            if(mesta[im-2]>mesta[im-1]&&mesta[im]>mesta[im-1]){
                zabraneniIm[iz]=im-1;
                iz++;
            }
            else{
                if(mesta[im-2]<mesta[im-1]&&mesta[im]<mesta[im-1]){
                    zabraneniIm[iz]=im-1;
                    iz++;
                }
            }
        }
    }
    long long stypki=0, var=0, i;
    for(im=0; im<=iz; im=zabraneniIm[im+1]){
        if(im==0){
            stypki=zabraneniIm[im]-im;
            for(i=1; i<=stypki; i++){
                var+=i;
            }
        }
        else{
            if(im==iz){
                stypki=zabraneniIm[im]-N-1;
                for(i=1; i<=stypki; i++){
                    var+=i;
                }
            }
            else{
                stypki=zabraneniIm[im+1]-zabraneniIm[im];
                for(i=1; i<=stypki; i++){
                    var+=i;
                }
            }
        }
    }
    if(zabraneniIm[im+1]>iz){
        stypki=zabraneniIm[iz]-N-1;
        for(i=1; i<=stypki; i++){
            var+=i;
        }
    }
    cout<<var*2+8<<endl;
    return 0;
}
