#include <bits/stdc++.h>
using namespace std;
int count(int A[],int num,int k){
unordered_map<int,int>m;
// m[0]=1;
int count=0;
int sum=0;
int mini=1e9;
for(int i=0;i<num;i++){
sum+=A[i];
int x=sum-k;
m[0]=-1;
if(m.find(x)!=m.end()){
int dist=m[x]+1;
int actual=i-dist+1;
if(actual<mini){
mini=actual;
count=1;
}
else if(actual==mini){
count++;
}
}
if(m.find(sum)==m.end()){
m[sum]=i;
}
}
return count;
}
int main() {
// your code goes here
int n;
cin>>n;
int k;
cin>>k;
int A[n];
for(int i=0;i<n;i++){
cin>>A[i];
}
cout<<"The count of subarrays with smallest length whose sum==k is:"<<count(A,n,k);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBjb3VudChpbnQgQVtdLGludCBudW0saW50IGspewoJdW5vcmRlcmVkX21hcDxpbnQsaW50Pm07CgkvLyBtWzBdPTE7CglpbnQgY291bnQ9MDsKCWludCBzdW09MDsKCWludCBtaW5pPTFlOTsKCWZvcihpbnQgaT0wO2k8bnVtO2krKyl7CgkJc3VtKz1BW2ldOwoJCWludCB4PXN1bS1rOwogICAgICAgIG1bMF09LTE7CgkJaWYobS5maW5kKHgpIT1tLmVuZCgpKXsKCQkJaW50IGRpc3Q9bVt4XSsxOwoJCQlpbnQgYWN0dWFsPWktZGlzdCsxOwoJCQlpZihhY3R1YWw8bWluaSl7CgkJCQltaW5pPWFjdHVhbDsKCQkJCWNvdW50PTE7CgkJCX0KCQkJZWxzZSBpZihhY3R1YWw9PW1pbmkpewoJCQkJY291bnQrKzsKCQkJfQogCgkJfQoJCWlmKG0uZmluZChzdW0pPT1tLmVuZCgpKXsKCQkJbVtzdW1dPWk7CgkJfQogCgl9CglyZXR1cm4gY291bnQ7Cn0KIAppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuOwoJY2luPj5uOwoJaW50IGs7CgljaW4+Pms7CglpbnQgQVtuXTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+QVtpXTsKCX0KCWNvdXQ8PCJUaGUgY291bnQgb2Ygc3ViYXJyYXlzIHdpdGggc21hbGxlc3QgbGVuZ3RoIHdob3NlIHN1bT09ayBpczoiPDxjb3VudChBLG4sayk7CglyZXR1cm4gMDsKfQ==