#include using namespace std; using ll = long long; using vi = vector; using pii = pair; using pll = pair; using vvi = vector; #define f(i,a,b) for(int i = (a); i < (b); i++) #define pb emplace_back #define PB push_back #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size #define dump(x) cout << #x << "=" << x << endl; signed main() { vector stack; vector stack_indices; int N; cin >> N; long long int ans = 0; int inp; for (int i = 0; i < N; ++i) { cin >> inp; while (!stack.empty() && stack.rbegin()[0] < inp) { stack.pop_back(); stack_indices.pop_back(); } if (!stack.empty() && stack.rbegin()[0] == inp) { ans += i - stack_indices.rbegin()[0] - 1; stack.pop_back(); stack_indices.pop_back(); } stack.push_back(inp); stack_indices.push_back(i); } cout << ans << endl; }