#include<bits/stdc++.h>
using namespace std;
int count(vector<int> &v,int k){
int max_c=0;
int max_s=INT_MIN;
unordered_map<int,int>m;
int sum=0;
for(int i=0;i<v.size();i++){
sum+=v[i];
if(m.find(sum-k)!=m.end()){
if(max_s<i-m[sum-k]){
max_s=i-m[sum-k];
max_c=1;
}else if(max_s==i-m[sum-k]){
max_c++;
}
}
if(sum==k){
max_c=1;
max_s=i+1;
}
if(m.find(sum)==m.end())m[sum]=i;
}
return(max_c);
}
int main(){
int n;cin>>n;
int k;cin>>k;
vector<int>v(n);
for(int i=0;i<n;i++)cin>>v[i];
cout<<count(v,k)<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNvdW50KHZlY3RvcjxpbnQ+ICZ2LGludCBrKXsKICAgIGludCBtYXhfYz0wOwogICAgaW50IG1heF9zPUlOVF9NSU47CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+bTsKICAgIGludCBzdW09MDsKICAgIGZvcihpbnQgaT0wO2k8di5zaXplKCk7aSsrKXsKICAgICAgICBzdW0rPXZbaV07CiAgICAgICAgaWYobS5maW5kKHN1bS1rKSE9bS5lbmQoKSl7CiAgICAgICAgICAgIGlmKG1heF9zPGktbVtzdW0ta10pewogICAgICAgICAgICAgICAgbWF4X3M9aS1tW3N1bS1rXTsKICAgICAgICAgICAgICAgIG1heF9jPTE7CiAgICAgICAgICAgIH1lbHNlIGlmKG1heF9zPT1pLW1bc3VtLWtdKXsKICAgICAgICAgICAgICAgIG1heF9jKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoc3VtPT1rKXsKICAgICAgICAgICAgbWF4X2M9MTsKICAgICAgICAgICAgbWF4X3M9aSsxOwogICAgICAgIH0KICAgICAgICBpZihtLmZpbmQoc3VtKT09bS5lbmQoKSltW3N1bV09aTsKICAgICAgICAKICAgIH0KICAgIHJldHVybihtYXhfYyk7Cn0KaW50IG1haW4oKXsKCWludCBuO2Npbj4+bjsKCWludCBrO2Npbj4+azsKCXZlY3RvcjxpbnQ+dihuKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspY2luPj52W2ldOwoJY291dDw8Y291bnQodixrKTw8ZW5kbDsKCXJldHVybiAwOwp9Cg==