#include <bits/stdc++.h>
using namespace std;
int main() {
int n1,k;
cin>>n1>>k;
int A[n1];
for(int i = 0 ; i<n1 ; i++){
cin>>A[i];
}
int presum[n1+1];
for(int i = 0 ; i<n1+1 ; i++){
presum[i] = 0;
}
map<int,int>map1,map2;
for(int i = 1 ; i<=n1 ; i++){
presum[i] = presum[i-1]+A[i-1];
}
for(int i = 0 ; i<=n1 ; i++){
if(map1.find(presum[i])==map1.end()){
map1[presum[i]] = i;
}
map2[presum[i]] = i;
}
int maxi = 0,mini=INT_MAX;
for(int i = 1 ; i<=n1 ; i++){
if(map1.find(presum[i]-k)!=map1.end()){
maxi = max(maxi,abs(i-map1[presum[i]-k]));
}
if(map2.find(presum[i]-k)!=map2.end()){
mini = min(mini,abs(i-map2[presum[i]-k]));
}
}
int cnt1 = 0,cnt2=0;
for(int i = 1 ; i<=n1 ; i++){
if(map1.find(presum[i]-k)!=map1.end()){
if(maxi==(i-map1[presum[i]-k])){
cnt1++;
}
}
if(map2.find(presum[i]-k)!=map2.end()){
if(mini==(i-map2[presum[i]-k])){
cnt2++;
}
}
}
cout<<cnt2<<" "<<cnt1<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBuMSxrOwogICAgY2luPj5uMT4+azsKICAgIGludCBBW24xXTsKICAgIGZvcihpbnQgaSA9IDAgOyBpPG4xIDsgaSsrKXsKICAgICAgICBjaW4+PkFbaV07CiAgICB9CiAgICBpbnQgcHJlc3VtW24xKzFdOwogICAgZm9yKGludCBpID0gMCA7IGk8bjErMSA7IGkrKyl7CiAgICAgICAgcHJlc3VtW2ldID0gMDsKICAgIH0KICAgIG1hcDxpbnQsaW50Pm1hcDEsbWFwMjsKICAgIGZvcihpbnQgaSA9IDEgOyBpPD1uMSA7IGkrKyl7CiAgICAgICAgcHJlc3VtW2ldID0gcHJlc3VtW2ktMV0rQVtpLTFdOwogICAgfQogICAgZm9yKGludCBpID0gMCA7IGk8PW4xIDsgaSsrKXsKICAgICAgICBpZihtYXAxLmZpbmQocHJlc3VtW2ldKT09bWFwMS5lbmQoKSl7CiAgICAgICAgICAgIG1hcDFbcHJlc3VtW2ldXSA9IGk7CiAgICAgICAgfQogICAgICAgIG1hcDJbcHJlc3VtW2ldXSA9IGk7CiAgICB9CiAgICBpbnQgbWF4aSA9IDAsbWluaT1JTlRfTUFYOwogICAgZm9yKGludCBpID0gMSA7IGk8PW4xIDsgaSsrKXsKICAgICAgICBpZihtYXAxLmZpbmQocHJlc3VtW2ldLWspIT1tYXAxLmVuZCgpKXsKICAgICAgICAgICAgbWF4aSA9IG1heChtYXhpLGFicyhpLW1hcDFbcHJlc3VtW2ldLWtdKSk7CiAgICAgICAgfQogICAgICAgIGlmKG1hcDIuZmluZChwcmVzdW1baV0taykhPW1hcDIuZW5kKCkpewogICAgICAgICAgICBtaW5pID0gbWluKG1pbmksYWJzKGktbWFwMltwcmVzdW1baV0ta10pKTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgY250MSA9IDAsY250Mj0wOwogICAgZm9yKGludCBpID0gMSA7IGk8PW4xIDsgaSsrKXsKICAgICAgICBpZihtYXAxLmZpbmQocHJlc3VtW2ldLWspIT1tYXAxLmVuZCgpKXsKICAgICAgICAgICAgaWYobWF4aT09KGktbWFwMVtwcmVzdW1baV0ta10pKXsKICAgICAgICAgICAgICAgIGNudDErKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihtYXAyLmZpbmQocHJlc3VtW2ldLWspIT1tYXAyLmVuZCgpKXsKICAgICAgICAgICAgaWYobWluaT09KGktbWFwMltwcmVzdW1baV0ta10pKXsKICAgICAgICAgICAgICAgIGNudDIrKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGNudDI8PCIgIjw8Y250MTw8ZW5kbDsKCXJldHVybiAwOwp9