#include <iostream>
#include <bits/stdc++.h> 

using namespace std;

int main() {
	int n;
	cin>>n;
	vector<int> arr(n);
	for(int i=0;i<n;i++){
		cin>>arr[i];
	}
	
	vector<int> prefix(n,0);
	vector<int> suffix(n,0);

	// Count descending steps leading into index i+1
	for(int i=0;i<n-1;i++){
		if(arr[i+1]<arr[i]){
			if(i==0){
				prefix[i]=1;
			}
			else{
				prefix[i]=prefix[i-1]+1;
			}
		}
		else{
			prefix[i]=0;
		}
	}
	
	// Count ascending steps extending forward from index i
	for(int i=n-2;i>=0;i--){
		if(arr[i]<arr[i+1]){
			suffix[i]=suffix[i+1]+1;
		}
		else{
			suffix[i]=0;
		}
	}

	long long ans=0;
	
	for(int i=1;i<n-1;i++){
		// prefix[i-1] is dec steps into i; suffix[i] is inc steps out of i
		long long k = 1LL * prefix[i-1] * suffix[i];
		ans = ans + k;
	}
	cout<<ans<<endl;
	
	return 0;
}