#include <bits/stdc++.h>
using namespace std;
std::vector<long long int> v;
unordered_map<int, int> umap; 
int main() {
     long long int N;
     cin >> N;
     for(long long int i=0;i<N;i+=1){
          long long int x;
          cin >> x;
          v.push_back(x);
     }
     long long int ans = 0;
     int sum=0;
     int j=0;
     // long long int arr[1000000001]={0};
     int c[N+1]={0};
     for(long long int i=0;i<N;){
          if(c[i]!=0){
               sum=0;
               i=j+1;
               j+=1;
               continue;
          }
          sum+=v[i];
          if(sum==0){
               umap[j]+=1;
               c[j]+=1;
               ans+=1;
               // cout << j << " " << i <<  endl;
          }
          i+=1;
          if(i==N){
               sum=0;
               i=j+1;
               j+=1;
          }
          
     }
     int ret = 0;
     // for(int i=0;i<1000000000;i+=1){
     //      int n = umap[i];
     //      // cout << n;
     //      // if(n!=0){
     //      //      cout << arr[i] << endl;
     //      // }
     //      ret+= n;
     // }
     for( auto n:umap){
          ret+=n.second;
     }
     cout << ret;
}