#include<bits/stdc++.h>
using namespace std;
int maximum(vector<int> &v,int k){
int sum=0;
unordered_map<int,int>m;
int ans=0;
for(int i=0;i<v.size();i++){
sum+=v[i];
if(m.find(sum-k)!=m.end()){
ans=max(ans,i-m[sum-k]);
}
if(sum==k){
ans=max(ans,i+1);
}
if(m.find(sum)==m.end()){
m[sum]=i;
}
}
return ans;
}
int minimum(vector<int> &v,int k){
int sum=0;
unordered_map<int,int>m;
int ans=INT_MAX;
for(int i=0;i<v.size();i++){
sum+=v[i];
if(m.find(sum-k)!=m.end()){
ans=min(ans,i-m[sum-k]);
}
if(sum==k){
ans=min(ans,i+1);
}
m[sum]=i;
}
return ans;
}
int main(){
int n;cin>>n;
int k;cin>>k;
vector<int>v(n);
for(int i=0;i<n;i++)cin>>v[i];
cout<<"Min Size:"<<minimum(v,k)<<" Max Size:"<<maximum(v,k)<<endl;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1heGltdW0odmVjdG9yPGludD4gJnYsaW50IGspewoJaW50IHN1bT0wOwoJdW5vcmRlcmVkX21hcDxpbnQsaW50Pm07CglpbnQgYW5zPTA7Cglmb3IoaW50IGk9MDtpPHYuc2l6ZSgpO2krKyl7CgkJc3VtKz12W2ldOwoJCWlmKG0uZmluZChzdW0taykhPW0uZW5kKCkpewoJCQlhbnM9bWF4KGFucyxpLW1bc3VtLWtdKTsKCQl9CgkJaWYoc3VtPT1rKXsKCQkJYW5zPW1heChhbnMsaSsxKTsKCQl9CgkJaWYobS5maW5kKHN1bSk9PW0uZW5kKCkpewoJCQltW3N1bV09aTsKCQl9Cgl9CglyZXR1cm4gYW5zOwp9CmludCBtaW5pbXVtKHZlY3RvcjxpbnQ+ICZ2LGludCBrKXsKCWludCBzdW09MDsKCXVub3JkZXJlZF9tYXA8aW50LGludD5tOwoJaW50IGFucz1JTlRfTUFYOwoJZm9yKGludCBpPTA7aTx2LnNpemUoKTtpKyspewoJCXN1bSs9dltpXTsKCQlpZihtLmZpbmQoc3VtLWspIT1tLmVuZCgpKXsKCQkJYW5zPW1pbihhbnMsaS1tW3N1bS1rXSk7CgkJfQoJCWlmKHN1bT09ayl7CgkJCWFucz1taW4oYW5zLGkrMSk7CgkJfQoJCQoJCQltW3N1bV09aTsKCQkKCX0KCXJldHVybiBhbnM7Cn0KaW50IG1haW4oKXsKCWludCBuO2Npbj4+bjsKCWludCBrO2Npbj4+azsKCXZlY3RvcjxpbnQ+dihuKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspY2luPj52W2ldOwoJY291dDw8Ik1pbiBTaXplOiI8PG1pbmltdW0odixrKTw8IiAgTWF4IFNpemU6Ijw8bWF4aW11bSh2LGspPDxlbmRsOwoJcmV0dXJuIDA7Cn0K