#include <bits/stdc++.h>
using namespace std;
int main(){
int n,k; cin>>n>>k;
int a[n];
for(int i=0;i<n;i++) cin>>a[i];
unordered_map<int,int> mp1,mp2;
mp1[0]=-1;
mp2[0]=-1;
int x=0,lmin=INT_MAX,lmax=0;
int cmin=0,cmax=0;
for(int j=0;j<n;j++){
x+=a[j];
if(mp1.find(x-k)!=mp1.end()){
int i=mp1[x-k]+1;
int len=j-i+1;
if(len<lmin){
lmin=len;
cmin=1;
}
else if(len==lmin)
cmin++;
}
mp1[x]=j;
if(mp2.find(x-k)!=mp2.end()){
int i=mp2[x-k]+1;
int len=j-i+1;
if(len>lmax){
lmax=len;
cmax=1;
}
else if(len==lmax)
cmax++;
}
if(mp2.find(x)==mp2.end())
mp2[x]=j;
}
if(lmax==0)
cout<<-1<<" "<<-1;
else
cout<<cmax<<" "<<cmin;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCl7CmludCBuLGs7IGNpbj4+bj4+azsKaW50IGFbbl07CmZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+YVtpXTsKCnVub3JkZXJlZF9tYXA8aW50LGludD4gbXAxLG1wMjsKbXAxWzBdPS0xOwptcDJbMF09LTE7CgppbnQgeD0wLGxtaW49SU5UX01BWCxsbWF4PTA7CmludCBjbWluPTAsY21heD0wOwoKZm9yKGludCBqPTA7ajxuO2orKyl7CngrPWFbal07CgppZihtcDEuZmluZCh4LWspIT1tcDEuZW5kKCkpewppbnQgaT1tcDFbeC1rXSsxOwppbnQgbGVuPWotaSsxOwoKaWYobGVuPGxtaW4pewpsbWluPWxlbjsKY21pbj0xOwp9CmVsc2UgaWYobGVuPT1sbWluKQpjbWluKys7Cn0KCm1wMVt4XT1qOwoKaWYobXAyLmZpbmQoeC1rKSE9bXAyLmVuZCgpKXsKaW50IGk9bXAyW3gta10rMTsKaW50IGxlbj1qLWkrMTsKCmlmKGxlbj5sbWF4KXsKbG1heD1sZW47CmNtYXg9MTsKfQplbHNlIGlmKGxlbj09bG1heCkKY21heCsrOwp9CgppZihtcDIuZmluZCh4KT09bXAyLmVuZCgpKQptcDJbeF09ajsKfQoKaWYobG1heD09MCkKY291dDw8LTE8PCIgIjw8LTE7CmVsc2UKY291dDw8Y21heDw8IiAiPDxjbWluOwp9