#include <bits/stdc++.h>

using i64 = long long;

constexpr int M = 30;

int main() {
    int n; std::cin >> n;
    std::vector<int> a(n + 1);
    for (int i = 1; i <= n; ++i)
        std::cin >> a[i];
    i64 res = n * (n + 1LL) / 2;
    for (int x = 1; x <= M; ++x) {
        std::vector<int> b(n + 1), s(n + 1);
        for (int i = 1; i <= n; ++i)
            b[i] = a[i] - x;
        std::partial_sum(b.begin(), b.end(), s.begin());
        std::unordered_map<int, int> zero, nzero;
        zero.reserve(n);
        nzero.reserve(n);
        for (int i = 1; i <= n; ++i) {
            if (b[i] == 0) {
                zero[s[i - 1]] += 1;
                res -= zero[s[i]] + nzero[s[i]];
            }
            else {
                nzero[s[i - 1]] += 1;
                res -= zero[s[i]];
            }
        }
    }
    std::cout << res + 1 << "\n";
    return 0;
}