#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for (int i=(a),_b=(b);i<=_b;i=i+1)
#define FORD(i,b,a) for (int i=(b),_a=(a);i>=_a;i=i-1)
#define REP(i,n) for (int i=0,_n=(n);i<_n;i=i+1)
#define FORE(i,v) for (__typeof((v).begin()) i=(v).begin();i!=(v).end();i++)
#define ALL(v) (v).begin(),(v).end()
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define SZ(x) ((int)(x).size())
#define double db
typedef long long ll;
typedef pair<int,int> PII;
const ll mod=1000000007;
ll powmod(ll a,ll b) {ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
const int MAXN = 1E6+3;
const int oo = 1e9+3;
int n, i, j, a[MAXN], c[MAXN], s[MAXN], top, tmp;
ll ans;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
#ifndef ONLINE_JUDGE
freopen("test.inp", "r", stdin);
freopen("test.out", "w", stdout);
#endif //yeulaptrinh.pw
cin >> n;
FOR(i,1,n) cin >> a[i];
top = 0;
FOR(i,1,n) {
tmp = 1;
while (top&&s[top]<=a[i]) {
ans += c[top];
if (s[top]==a[i]) tmp += c[top];
c[top] = 0; top--;
}
if (top) ans++;
// push
top++;
s[top] = a[i];
c[top] = tmp;
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRk9SKGksYSxiKSBmb3IgKGludCBpPShhKSxfYj0oYik7aTw9X2I7aT1pKzEpCiNkZWZpbmUgRk9SRChpLGIsYSkgZm9yIChpbnQgaT0oYiksX2E9KGEpO2k+PV9hO2k9aS0xKQojZGVmaW5lIFJFUChpLG4pIGZvciAoaW50IGk9MCxfbj0obik7aTxfbjtpPWkrMSkKI2RlZmluZSBGT1JFKGksdikgZm9yIChfX3R5cGVvZigodikuYmVnaW4oKSkgaT0odikuYmVnaW4oKTtpIT0odikuZW5kKCk7aSsrKQojZGVmaW5lIEFMTCh2KSAodikuYmVnaW4oKSwodikuZW5kKCkKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIFNaKHgpICgoaW50KSh4KS5zaXplKCkpCiNkZWZpbmUgZG91YmxlIGRiCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHBhaXI8aW50LGludD4gUElJOwpjb25zdCBsbCBtb2Q9MTAwMDAwMDAwNzsKbGwgcG93bW9kKGxsIGEsbGwgYikge2xsIHJlcz0xO2ElPW1vZDsgYXNzZXJ0KGI+PTApOyBmb3IoO2I7Yj4+PTEpe2lmKGImMSlyZXM9cmVzKmElbW9kO2E9YSphJW1vZDt9cmV0dXJuIHJlczt9CmNvbnN0IGludCBNQVhOID0gMUU2KzM7CmNvbnN0IGludCBvbyA9IDFlOSszOwogCmludCBuLCBpLCBqLCBhW01BWE5dLCBjW01BWE5dLCBzW01BWE5dLCB0b3AsIHRtcDsKbGwgYW5zOwogCmludCBtYWluKCkgewogICAgICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiAgICAJI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIAlmcmVvcGVuKCJ0ZXN0LmlucCIsICJyIiwgc3RkaW4pOwogICAgCWZyZW9wZW4oInRlc3Qub3V0IiwgInciLCBzdGRvdXQpOwogICAgCSNlbmRpZiAvL3lldWxhcHRyaW5oLnB3CiAgICBjaW4gPj4gbjsKICAgIEZPUihpLDEsbikgY2luID4+IGFbaV07CiAKICAgIHRvcCA9IDA7CiAgICBGT1IoaSwxLG4pIHsKICAgICAgICB0bXAgPSAxOwogICAgICAgIHdoaWxlICh0b3AmJnNbdG9wXTw9YVtpXSkgewogICAgICAgICAgICBhbnMgKz0gY1t0b3BdOwogICAgICAgICAgICBpZiAoc1t0b3BdPT1hW2ldKSB0bXAgKz0gY1t0b3BdOwogICAgICAgICAgICBjW3RvcF0gPSAwOyB0b3AtLTsKICAgICAgICB9CiAgICAgICAgaWYgKHRvcCkgYW5zKys7CiAgICAgICAgLy8gcHVzaAogICAgICAgIHRvcCsrOwogICAgICAgIHNbdG9wXSA9IGFbaV07CiAgICAgICAgY1t0b3BdID0gdG1wOwogICAgfQogICAgY291dCA8PCBhbnM7CglyZXR1cm4gMDsKfQ==