#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 2e5 + 5;
const int mod = 1e9 + 7;
typedef pair<int, int> ii;
typedef pair<int, pair<int, int>> iii;
#define fi first
#define se second
#define read(_a, n) \
for (int i = 1; i <= n; i++) \
cin >> _a[i]
#define For(i, _a, _b) for (int i = _a; i <= _b; i++)
#define fastIO \
ios_base::sync_with_stdio(false); \
cin.tie(0); \
cout.tie(0);
#define File(_x, _y) \
if (fopen(_x, "r")) \
freopen(_x, "r", stdin), freopen(_y, "w", stdout)
#define file "main"
#define bit(x, i) ((x >> i) & 1)
#define bat(x, i) (x | (1 << i))
#define dem(x) __builtin_popcountll(x)
int f[maxn][23], n, a[maxn], res;
int get(int l, int r)
{
if (r < l)
return 0;
int k = 31 - __builtin_clz(r - l + 1);
return max(f[l][k], f[r - (1 << k) + 1][k]);
}
int32_t main()
{
fastIO;
// File(file ".inp", file ".out");
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i], f[i][0] = a[i];
for (int k = 1; k <= 20; k++)
{
for (int i = 1; i + (1 << k) - 1 <= n; i++)
{
f[i][k] = max(f[i][k - 1], f[i + (1 << (k - 1))][k - 1]);
}
}
for (int i = 1; i < n; i++)
{
int maxx = get(i, n);
int l = i + 1, r = n;
int ans = i;
while (l <= r)
{
int mid = (l + r) >> 1;
if (get(i + 1, mid - 1) < maxx)
l = mid + 1, ans = mid;
else
r = mid - 1;
}
if (get(i + 1, ans - 1) < maxx)
res += ans - i; // cout << ans-i << " " << maxx << endl;
}
cout << res;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgbWF4biA9IDJlNSArIDU7CmNvbnN0IGludCBtb2QgPSAxZTkgKyA3Owp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOwp0eXBlZGVmIHBhaXI8aW50LCBwYWlyPGludCwgaW50Pj4gaWlpOwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcmVhZChfYSwgbikgICAgICAgICAgICAgIFwKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgXAogICAgY2luID4+IF9hW2ldCiNkZWZpbmUgRm9yKGksIF9hLCBfYikgZm9yIChpbnQgaSA9IF9hOyBpIDw9IF9iOyBpKyspCiNkZWZpbmUgZmFzdElPICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IFwKICAgIGNpbi50aWUoMCk7ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICBjb3V0LnRpZSgwKTsKI2RlZmluZSBGaWxlKF94LCBfeSkgICAgXAogICAgaWYgKGZvcGVuKF94LCAiciIpKSBcCiAgICBmcmVvcGVuKF94LCAiciIsIHN0ZGluKSwgZnJlb3BlbihfeSwgInciLCBzdGRvdXQpCiNkZWZpbmUgZmlsZSAibWFpbiIKI2RlZmluZSBiaXQoeCwgaSkgKCh4ID4+IGkpICYgMSkKI2RlZmluZSBiYXQoeCwgaSkgKHggfCAoMSA8PCBpKSkKI2RlZmluZSBkZW0oeCkgX19idWlsdGluX3BvcGNvdW50bGwoeCkKCmludCBmW21heG5dWzIzXSwgbiwgYVttYXhuXSwgcmVzOwoKaW50IGdldChpbnQgbCwgaW50IHIpCnsKICAgIGlmIChyIDwgbCkKICAgICAgICByZXR1cm4gMDsKICAgIGludCBrID0gMzEgLSBfX2J1aWx0aW5fY2x6KHIgLSBsICsgMSk7CiAgICByZXR1cm4gbWF4KGZbbF1ba10sIGZbciAtICgxIDw8IGspICsgMV1ba10pOwp9CgppbnQzMl90IG1haW4oKQp7CiAgICBmYXN0SU87CiAgICAvLyBGaWxlKGZpbGUgIi5pbnAiLCBmaWxlICIub3V0Iik7CiAgICBjaW4gPj4gbjsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBjaW4gPj4gYVtpXSwgZltpXVswXSA9IGFbaV07CiAgICBmb3IgKGludCBrID0gMTsgayA8PSAyMDsgaysrKQogICAgewogICAgICAgIGZvciAoaW50IGkgPSAxOyBpICsgKDEgPDwgaykgLSAxIDw9IG47IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGZbaV1ba10gPSBtYXgoZltpXVtrIC0gMV0sIGZbaSArICgxIDw8IChrIC0gMSkpXVtrIC0gMV0pOwogICAgICAgIH0KICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGludCBtYXh4ID0gZ2V0KGksIG4pOwogICAgICAgIGludCBsID0gaSArIDEsIHIgPSBuOwogICAgICAgIGludCBhbnMgPSBpOwogICAgICAgIHdoaWxlIChsIDw9IHIpCiAgICAgICAgewogICAgICAgICAgICBpbnQgbWlkID0gKGwgKyByKSA+PiAxOwogICAgICAgICAgICBpZiAoZ2V0KGkgKyAxLCBtaWQgLSAxKSA8IG1heHgpCiAgICAgICAgICAgICAgICBsID0gbWlkICsgMSwgYW5zID0gbWlkOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICByID0gbWlkIC0gMTsKICAgICAgICB9CiAgICAgICAgaWYgKGdldChpICsgMSwgYW5zIC0gMSkgPCBtYXh4KQogICAgICAgICAgICByZXMgKz0gYW5zIC0gaTsgLy8gY291dCA8PCBhbnMtaSA8PCAiICIgPDwgbWF4eCA8PCBlbmRsOwogICAgfQogICAgY291dCA8PCByZXM7Cn0K