#include <iostream>
#include<vector>
#include<map>
using namespace std;
int main() {
int n,k,count=0;
cin>>n>>k;
vector<int>arr(n+1);
vector<int>prefix(n+1,0);
map<int,int>m;
for(int i=1;i<=n;i++){
cin>>arr[i];
prefix[i]=arr[i]+prefix[i-1];
}
m[0] = 1;
for(int i=0;i<=n;i++){
if(m.find(prefix[i]-k)!=m.end()){
count+=m[prefix[i]-k];
}
m[prefix[i]]++;
}
cout<<count;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IG4sayxjb3VudD0wOwogICAgY2luPj5uPj5rOwogICAgdmVjdG9yPGludD5hcnIobisxKTsKICAgIHZlY3RvcjxpbnQ+cHJlZml4KG4rMSwwKTsKICAgIG1hcDxpbnQsaW50Pm07CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgY2luPj5hcnJbaV07CiAgICAgICAgcHJlZml4W2ldPWFycltpXStwcmVmaXhbaS0xXTsKICAgIH0KICAgIG1bMF0gPSAxOwogICAgZm9yKGludCBpPTA7aTw9bjtpKyspewogICAgICAgIGlmKG0uZmluZChwcmVmaXhbaV0taykhPW0uZW5kKCkpewogICAgICAgICAgICBjb3VudCs9bVtwcmVmaXhbaV0ta107CiAgICAgICAgfQogICAgICAgIG1bcHJlZml4W2ldXSsrOwogICAgICAgIAogICAgfQogICAgCiAgICBjb3V0PDxjb3VudDsKICAgIHJldHVybiAwOwp9