def subarr_size(n, k, arr):
	mp = {0:-1}
	mp2 = {0:-1}
	psum = 0
	maxLength = 0
	minLength = float('inf')
	
	for i in range(n):
		psum += arr[i]
		
		if (psum-k) in mp:
			maxLength = max(maxLength, i - mp[psum-k])
		if (psum-k) in mp2:
			minLength = min(minLength, i-mp2[psum-k])
		if psum not in mp:
			mp[psum] = i
		mp2[psum] = i
	if minLength == float("inf"):
		minLength = 0
	
	return maxLength, minLength

def count_subarray(n, k, arr, target):
	if target==0:
		return 0
	count = 0
	window = sum(arr[:target])
	if window==k:
		count+=1
		
	for i in range(target, n):
		window+=arr[i]-arr[i-target]
		if window == k:
			count+=1
	
	return count
	
n = int(input())
k = int(input())
arr = [int(input()) for _ in range(n)]
 
maxLength, minLength = subarr_size(n, k, arr)
maxCount = count_subarray(n, k, arr, maxLength)
minCount = count_subarray(n, k, arr, minLength)
 
print("Max Length:", maxLength, "Count:", maxCount)
print("Min Length:", minLength, "Count:", minCount)
 
		