#include<bits/stdc++.h>
using namespace std;
main(){
int n,k,cnt=0;
cin>>n>>k;
vector<int>v(n),sum(n+1);
unordered_map<int,int>mp;
sum[0]=0;
for(int i=0;i<n;i++){
cin>>v[i];
sum[i+1]=sum[i]+v[i];
if(mp.find(sum[i+1]-k)!=mp.end()) cnt+=mp[sum[i+1]-k];
if(mp.find(k-sum[i+1])!=mp.end())cnt+=mp[k-sum[i+1]];
mp[sum[i+1]]++;
}
cout<<cnt<<"\n";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCm1haW4oKXsKICAgIGludCBuLGssY250PTA7CiAgICBjaW4+Pm4+Pms7CiAgICB2ZWN0b3I8aW50PnYobiksc3VtKG4rMSk7CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bXA7CiAgICBzdW1bMF09MDsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGNpbj4+dltpXTsKICAgICAgICBzdW1baSsxXT1zdW1baV0rdltpXTsKICAgICAgICBpZihtcC5maW5kKHN1bVtpKzFdLWspIT1tcC5lbmQoKSkgY250Kz1tcFtzdW1baSsxXS1rXTsKICAgICAgICBpZihtcC5maW5kKGstc3VtW2krMV0pIT1tcC5lbmQoKSljbnQrPW1wW2stc3VtW2krMV1dOwogICAgICAgIG1wW3N1bVtpKzFdXSsrOwogICAgfQogICAgY291dDw8Y250PDwiXG4iOwp9