#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n; int arr[n]; int k;
cin >> k;
for(int i = 0; i < n; i++)
cin >> arr[i];
int sum = 0;
unordered_map<int, int> hash;
hash[0] = -1;
int maxl = INT_MIN;
for(int i = 0; i < n; i++){
sum += arr[i];
if(hash.find(sum-k) != hash.end()){
int len = i - hash[sum-k];
maxl = max(maxl, len);
}
hash[sum] = i;
}
hash.clear(); sum = 0; int cnt = 0;
hash[0] = -1;
for(int i = 0; i < n; i++){
sum += arr[i];
if(hash.find(sum-k) != hash.end()){
int len = i - hash[sum-k];
if(len == maxl)
cnt++;
}
hash[sum] = i;
}
cout << cnt;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuOyBjaW4gPj4gbjsgaW50IGFycltuXTsgaW50IGs7CgljaW4gPj4gazsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgljaW4gPj4gYXJyW2ldOwoJCglpbnQgc3VtID0gMDsKCXVub3JkZXJlZF9tYXA8aW50LCBpbnQ+IGhhc2g7CgloYXNoWzBdID0gLTE7CglpbnQgbWF4bCA9IElOVF9NSU47Cglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKCQlzdW0gKz0gYXJyW2ldOwoJCWlmKGhhc2guZmluZChzdW0taykgIT0gaGFzaC5lbmQoKSl7CgkJCWludCBsZW4gPSBpIC0gaGFzaFtzdW0ta107CgkJCW1heGwgPSBtYXgobWF4bCwgbGVuKTsKCQl9CgkJaGFzaFtzdW1dID0gaTsKCX0KCWhhc2guY2xlYXIoKTsgc3VtID0gMDsgaW50IGNudCA9IDA7CgloYXNoWzBdID0gLTE7Cglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKXsKCQlzdW0gKz0gYXJyW2ldOwoJCWlmKGhhc2guZmluZChzdW0taykgIT0gaGFzaC5lbmQoKSl7CgkJCWludCBsZW4gPSBpIC0gaGFzaFtzdW0ta107CgkJCWlmKGxlbiA9PSBtYXhsKQoJCQljbnQrKzsKCQl9CgkJaGFzaFtzdW1dID0gaTsKCX0KCWNvdXQgPDwgY250OwoJcmV0dXJuIDA7Cn0=