#include <bits/stdc++.h>
using namespace std;
int main() {
int n1,k;
cin>>n1>>k;
int A[n1];
for(int i = 0 ; i<n1 ; i++){
cin>>A[i];
}
int presum[n1+1];
for(int i = 0 ; i<n1+1 ; i++){
presum[i] = 0;
}
for(int i = 1 ; i<=n1 ; i++){
presum[i] = presum[i-1]+A[i-1];
}
map<int,int>map;
int cnt = 0;
for(int i = 1 ; i<=n1 ; i++){
if(presum[i]==k){
cnt++;
}
if(map.find(presum[i]-k)!=map.end()){
cnt += map[presum[i]-k];
}
map[presum[i]]++;
}
cout<<cnt<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuMSxrOwogICAgY2luPj5uMT4+azsKICAgIGludCBBW24xXTsKICAgIGZvcihpbnQgaSA9IDAgOyBpPG4xIDsgaSsrKXsKICAgICAgICBjaW4+PkFbaV07CiAgICB9CiAgICBpbnQgcHJlc3VtW24xKzFdOwogICAgZm9yKGludCBpID0gMCA7IGk8bjErMSA7IGkrKyl7CiAgICAgICAgcHJlc3VtW2ldID0gMDsKICAgIH0KICAgIGZvcihpbnQgaSA9IDEgOyBpPD1uMSA7IGkrKyl7CiAgICAgICAgcHJlc3VtW2ldID0gcHJlc3VtW2ktMV0rQVtpLTFdOwogICAgfQogICAgbWFwPGludCxpbnQ+bWFwOwogICAgaW50IGNudCA9IDA7CiAgICBmb3IoaW50IGkgPSAxIDsgaTw9bjEgOyBpKyspewogICAgICAgIGlmKHByZXN1bVtpXT09ayl7CiAgICAgICAgICAgY250Kys7CiAgICAgICAgfQogICAgICAgIGlmKG1hcC5maW5kKHByZXN1bVtpXS1rKSE9bWFwLmVuZCgpKXsKICAgICAgICAgICAgY250ICs9IG1hcFtwcmVzdW1baV0ta107CiAgICAgICAgfQogICAgICAgIG1hcFtwcmVzdW1baV1dKys7CiAgICB9CiAgICBjb3V0PDxjbnQ8PGVuZGw7CglyZXR1cm4gMDsKfQ==