#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int n;
cin>>n;
vector<int> values(n);
for(int i = 0; i < n; i++){
cin>>values[i];
}
int k;
cin>> k;
int sum = 0, cnt = 0;
unordered_map<int,int> ump;
//edge case
ump[0] = 1;
for(int i = 0; i < n; i++){
sum += values[i];
// Find the remainder
int rem = sum - k;
// Find the frequency of it in the left
if(ump.count(rem)){
cnt += ump[rem];
}
ump[sum]++;
}
cout<<cnt<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuOwoJY2luPj5uOwoJCgl2ZWN0b3I8aW50PiB2YWx1ZXMobik7Cglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKCQljaW4+PnZhbHVlc1tpXTsKCX0KCWludCBrOwoJY2luPj4gazsKCQoJaW50IHN1bSA9IDAsIGNudCA9IDA7Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+IHVtcDsKCQoJLy9lZGdlIGNhc2UKCXVtcFswXSA9IDE7CgkKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewoJCQoJCXN1bSArPSB2YWx1ZXNbaV07CgkJCgkJLy8gRmluZCB0aGUgcmVtYWluZGVyCgkJaW50IHJlbSA9IHN1bSAtIGs7CgkJCgkJLy8gRmluZCB0aGUgZnJlcXVlbmN5IG9mIGl0IGluIHRoZSBsZWZ0CgkJaWYodW1wLmNvdW50KHJlbSkpewoJCQljbnQgKz0gdW1wW3JlbV07CgkJfQoJCQoJCXVtcFtzdW1dKys7Cgl9CgkKCWNvdXQ8PGNudDw8ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=