#include <iostream>
#include<vector>
#include<map>
#include<climits>
using namespace std;
int main() {
int n,k,max_len=INT_MIN,min_len=INT_MAX;
cin>>n>>k;
vector<int>arr(n+1);
vector<int>prefix(n+1,0);
map<int,int>m;
for(int i=1;i<=n;i++){
cin>>arr[i];
prefix[i]=arr[i]+prefix[i-1];
}
m[0] = 0;
for(int i=1;i<=n;i++){
if(m.find(prefix[i]-k)!=m.end()){
int subArrayLength=i-m[prefix[i]-k];
max_len=max(max_len,subArrayLength);
min_len=min(min_len,subArrayLength);
}
if (m.find(prefix[i]) == m.end()) {
m[prefix[i]] = i;
}
}
if(max_len==INT_MIN){
cout<<-1;
}
else{
cout<<max_len<<" "<<min_len;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPG1hcD4KI2luY2x1ZGU8Y2xpbWl0cz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IG4sayxtYXhfbGVuPUlOVF9NSU4sbWluX2xlbj1JTlRfTUFYOwogICAgY2luPj5uPj5rOwogICAgdmVjdG9yPGludD5hcnIobisxKTsKICAgIHZlY3RvcjxpbnQ+cHJlZml4KG4rMSwwKTsKICAgIG1hcDxpbnQsaW50Pm07CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKyl7CiAgICAgICAgY2luPj5hcnJbaV07CiAgICAgICAgcHJlZml4W2ldPWFycltpXStwcmVmaXhbaS0xXTsKICAgIH0KICAgIG1bMF0gPSAwOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgICAgIGlmKG0uZmluZChwcmVmaXhbaV0taykhPW0uZW5kKCkpewogICAgICAgICAgICBpbnQgc3ViQXJyYXlMZW5ndGg9aS1tW3ByZWZpeFtpXS1rXTsKICAgICAgICAgICAgbWF4X2xlbj1tYXgobWF4X2xlbixzdWJBcnJheUxlbmd0aCk7CiAgICAgICAgICAgIG1pbl9sZW49bWluKG1pbl9sZW4sc3ViQXJyYXlMZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZiAobS5maW5kKHByZWZpeFtpXSkgPT0gbS5lbmQoKSkgewogICAgICAgICAgICBtW3ByZWZpeFtpXV0gPSBpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgaWYobWF4X2xlbj09SU5UX01JTil7CiAgICAgICAgY291dDw8LTE7CiAgICB9CiAgICBlbHNlewogICAgICAgIGNvdXQ8PG1heF9sZW48PCIgIjw8bWluX2xlbjsKICAgIH0KICAgIHJldHVybiAwOwp9