#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
void in() {}
template <typename T, class... U>
void in(T &t, U &...u) {
  cin >> t;
  in(u...);
}
void out() { cout << "\n"; }
template <typename T, class... U>
void out(const T &t, const U &...u) {
  cout << t;
  if (sizeof...(u)) cout << " ";
  out(u...);
}
void solve() {
  vector<long long> morty;
  long long n;
  in(n);
  for (long long i = 0; i < n; i++) {
    long long x;
    in(x);
    morty.push_back(x);
  }
  multiset<long long> set1;
  set1.insert(0);
  long long tmp = 0;
  long long rick = 0;
  for (long long i = 0; i < n; i++) {
    tmp += morty[i];
    if (set1.count(tmp)) rick += set1.count(tmp);
    set1.insert(tmp);
  }
  out(rick);
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin.tie(0);
  solve();
  return 0;
}
