#include <bits/stdc++.h>
using namespace std;
int X(int x) {
  int64_t xa = 1;
  if (x <= 1) {
    return 0;
  } else {
    xa *= x * (x - 1) / 2;
    return xa;
  }
}
int main() {
  int N;
  cin >> N;
  vector<int> vec(N);
  for (int i = 0; i < N; i++) {
    cin >> vec.at(i);
  }
  vector<int> S(N + 1, 0);
  for (int j = 0; j < N; j++) {
    S.at(j + 1) += S.at(j) + vec.at(j);
  }
  sort(S.begin(), S.end());
  int64_t ans = 0;
  int cnt = 0;
  for (int k = 0; k < N; k++) {
    if (S.at(k) == S.at(k + 1)) {
      cnt++;
    }
    if (S.at(k) != S.at(k + 1) || k == N - 1) {
      if (cnt > 0) {
        ans += X(cnt + 1);
      }
      cnt = 0;
    }
  }
  cout << ans << endl;
}
