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)
ZGVmIHN1YmFycl9zaXplKG4sIGssIGFycik6CgltcCA9IHswOi0xfQoJbXAyID0gezA6LTF9Cglwc3VtID0gMAoJbWF4TGVuZ3RoID0gMAoJbWluTGVuZ3RoID0gZmxvYXQoJ2luZicpCgkKCWZvciBpIGluIHJhbmdlKG4pOgoJCXBzdW0gKz0gYXJyW2ldCgkJCgkJaWYgKHBzdW0taykgaW4gbXA6CgkJCW1heExlbmd0aCA9IG1heChtYXhMZW5ndGgsIGkgLSBtcFtwc3VtLWtdKQoJCWlmIChwc3VtLWspIGluIG1wMjoKCQkJbWluTGVuZ3RoID0gbWluKG1pbkxlbmd0aCwgaS1tcDJbcHN1bS1rXSkKCQlpZiBwc3VtIG5vdCBpbiBtcDoKCQkJbXBbcHN1bV0gPSBpCgkJbXAyW3BzdW1dID0gaQoJaWYgbWluTGVuZ3RoID09IGZsb2F0KCJpbmYiKToKCQltaW5MZW5ndGggPSAwCgkKCXJldHVybiBtYXhMZW5ndGgsIG1pbkxlbmd0aAoKZGVmIGNvdW50X3N1YmFycmF5KG4sIGssIGFyciwgdGFyZ2V0KToKCWlmIHRhcmdldD09MDoKCQlyZXR1cm4gMAoJY291bnQgPSAwCgl3aW5kb3cgPSBzdW0oYXJyWzp0YXJnZXRdKQoJaWYgd2luZG93PT1rOgoJCWNvdW50Kz0xCgkJCglmb3IgaSBpbiByYW5nZSh0YXJnZXQsIG4pOgoJCXdpbmRvdys9YXJyW2ldLWFycltpLXRhcmdldF0KCQlpZiB3aW5kb3cgPT0gazoKCQkJY291bnQrPTEKCQoJcmV0dXJuIGNvdW50CgkKbiA9IGludChpbnB1dCgpKQprID0gaW50KGlucHV0KCkpCmFyciA9IFtpbnQoaW5wdXQoKSkgZm9yIF8gaW4gcmFuZ2UobildCiAKbWF4TGVuZ3RoLCBtaW5MZW5ndGggPSBzdWJhcnJfc2l6ZShuLCBrLCBhcnIpCm1heENvdW50ID0gY291bnRfc3ViYXJyYXkobiwgaywgYXJyLCBtYXhMZW5ndGgpCm1pbkNvdW50ID0gY291bnRfc3ViYXJyYXkobiwgaywgYXJyLCBtaW5MZW5ndGgpCiAKcHJpbnQoIk1heCBMZW5ndGg6IiwgbWF4TGVuZ3RoLCAiQ291bnQ6IiwgbWF4Q291bnQpCnByaW50KCJNaW4gTGVuZ3RoOiIsIG1pbkxlbmd0aCwgIkNvdW50OiIsIG1pbkNvdW50KQogCgkJ