#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> numbers(n);
for(auto& number: numbers){
cin>>number;
}
int answer = 0;
unordered_map<int,int> prefixSum;
prefixSum[0] = 1;
int sum = 0;
for(int i=0; i<n; i++){
sum += numbers[i];
if(prefixSum.find(sum - i - 1) != prefixSum.end()){
answer+=prefixSum[sum-i-1];
}
prefixSum[sum-i-1]++;
}
cout << answer;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luPj5uOwoJCgl2ZWN0b3I8aW50PiBudW1iZXJzKG4pOwoJCglmb3IoYXV0byYgbnVtYmVyOiBudW1iZXJzKXsKCQljaW4+Pm51bWJlcjsKCX0KCQoJaW50IGFuc3dlciA9IDA7CgkKCXVub3JkZXJlZF9tYXA8aW50LGludD4gcHJlZml4U3VtOwoJCglwcmVmaXhTdW1bMF0gPSAxOwoJCglpbnQgc3VtID0gMDsKCQoJZm9yKGludCBpPTA7IGk8bjsgaSsrKXsKCQlzdW0gKz0gbnVtYmVyc1tpXTsKCQkKCQkKCQlpZihwcmVmaXhTdW0uZmluZChzdW0gLSBpIC0gMSkgIT0gcHJlZml4U3VtLmVuZCgpKXsKCQkJYW5zd2VyKz1wcmVmaXhTdW1bc3VtLWktMV07CgkJfQoJCQoJCXByZWZpeFN1bVtzdW0taS0xXSsrOwoJfQoJCgljb3V0IDw8IGFuc3dlcjsKCQoJcmV0dXJuIDA7Cn0=