#include<bits/stdc++.h>
#define el '\n'
using namespace std;
typedef long long ll;
void fastip()
{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
}
int main(){
fastip();
int n;
cin >> n;
vector<int> a(n+1);
vector<ll> cpair(n+1, 0), re(n+1, 0);
stack<int> s;
ll cnt=0;
for (ll i=1; i<=n; i++){
cin >> a[i];
while (!s.empty() && a[i]>=a[s.top()]){
if(a[i]==a[s.top()]) re[i]= re[s.top()] +1;
cpair[i]+= re[s.top()] +1;
s.pop();
}
if (!s.empty() && a[i]<a[s.top()]) cpair[i]++;
cnt+=cpair[i];
s.push(a[i]);
}
cout << cnt;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBlbCAnXG4nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp2b2lkIGZhc3RpcCgpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKfQppbnQgbWFpbigpewogICAgZmFzdGlwKCk7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogICAgdmVjdG9yPGludD4gYShuKzEpOwogICAgdmVjdG9yPGxsPiBjcGFpcihuKzEsIDApLCByZShuKzEsIDApOwogICAgc3RhY2s8aW50PiBzOwogICAgbGwgY250PTA7CiAgICBmb3IgKGxsIGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgICAgICB3aGlsZSAoIXMuZW1wdHkoKSAmJiBhW2ldPj1hW3MudG9wKCldKXsKICAgICAgICAgICAgaWYoYVtpXT09YVtzLnRvcCgpXSkgcmVbaV09IHJlW3MudG9wKCldICsxOwogICAgICAgICAgICBjcGFpcltpXSs9IHJlW3MudG9wKCldICsxOwogICAgICAgICAgICBzLnBvcCgpOwogICAgICAgIH0KICAgICAgICBpZiAoIXMuZW1wdHkoKSAmJiBhW2ldPGFbcy50b3AoKV0pIGNwYWlyW2ldKys7CiAgICAgICAgY250Kz1jcGFpcltpXTsKICAgICAgICBzLnB1c2goYVtpXSk7CiAgICB9CiAgICBjb3V0IDw8IGNudDsKICAgIHJldHVybiAwOwp9Cg==