#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;
}
