#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define fi first
#define se second
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n; cin >> n;
vector<pair<ll,ll>> a;
for(int i = 1; i <= n; i++){
ll x; cin >> x;
if(a.empty())
a.pb({x, 1});
else if(x == a.back().fi)
a.back().se++;
else a.pb({x, 1});
}
ll ans = 0;
for(auto v : a)
ans += (v.se * (v.se - 1)) / 2;
if(a.size() < 2){
cout << ans;
return 0;
}
ll sum_prev = a[0].se;
for(int i = 1; i < a.size(); i++){
if(i >= 2){
if((a[i].fi > a[i - 1].fi) == (a[i - 1].fi > a[i - 2].fi)){
sum_prev = a[i - 1].se;
}
}
ans += a[i].se * sum_prev;
sum_prev += a[i].se;
}
cout << ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgCiAgICBpbnQgbjsgY2luID4+IG47CiAgICB2ZWN0b3I8cGFpcjxsbCxsbD4+IGE7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgbGwgeDsgY2luID4+IHg7CiAgICAgICAgaWYoYS5lbXB0eSgpKQogICAgICAgICAgICBhLnBiKHt4LCAxfSk7CiAgICAgICAgZWxzZSBpZih4ID09IGEuYmFjaygpLmZpKQogICAgICAgICAgICBhLmJhY2soKS5zZSsrOwogICAgICAgIGVsc2UgYS5wYih7eCwgMX0pOwogICAgfQoKICAgIGxsIGFucyA9IDA7CiAgICBmb3IoYXV0byB2IDogYSkgCiAgICAgICAgYW5zICs9ICh2LnNlICogKHYuc2UgLSAxKSkgLyAyOwoKICAgIGlmKGEuc2l6ZSgpIDwgMil7CiAgICAgICAgY291dCA8PCBhbnM7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CgogICAgbGwgc3VtX3ByZXYgPSBhWzBdLnNlOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBhLnNpemUoKTsgaSsrKXsKICAgICAgICBpZihpID49IDIpewogICAgICAgICAgICBpZigoYVtpXS5maSA+IGFbaSAtIDFdLmZpKSA9PSAoYVtpIC0gMV0uZmkgPiBhW2kgLSAyXS5maSkpewogICAgICAgICAgICAgICAgc3VtX3ByZXYgPSBhW2kgLSAxXS5zZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBhbnMgKz0gYVtpXS5zZSAqIHN1bV9wcmV2OwogICAgICAgIHN1bV9wcmV2ICs9IGFbaV0uc2U7CiAgICB9CgogICAgY291dCA8PCBhbnM7CiAgICByZXR1cm4gMDsKfQ==