import java.util.*;
class Ideone {
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int k = sc.nextInt();
int arr[] = new int[n];
for (int i = 0; i < n; i++) arr[i] = sc.nextInt();
HashMap
<Integer,Integer
> first
= new HashMap
<>(); HashMap
<Integer,Integer
> last
= new HashMap
<>(); int sum
= 0, maxLen
= 0, minLen
= Integer.
MAX_VALUE; int maxCount = 0, minCount = 0;
first.put(0,-1);
last.put(0,-1);
for (int i = 0; i < n; i++) {
sum += arr[i];
if (first.containsKey(sum - k)) {
int len = i - first.get(sum - k);
if (len > maxLen) {
maxLen = len;
maxCount = 1;
} else if (len == maxLen) {
maxCount++;
}
}
if (last.containsKey(sum - k)) {
int len = i - last.get(sum - k);
if (len < minLen) {
minLen = len;
minCount = 1;
} else if (len == minLen) {
minCount++;
}
}
if (!first.containsKey(sum)) first.put(sum,i);
last.put(sum,i);
}
if (minLen
== Integer.
MAX_VALUE) minLen
= 0; System.
out.
println(maxLen
+ " " + maxCount
); System.
out.
println(minLen
+ " " + minCount
); }
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgSWRlb25lIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgayA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgYXJyW10gPSBuZXcgaW50W25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBhcnJbaV0gPSBzYy5uZXh0SW50KCk7CgogICAgICAgIEhhc2hNYXA8SW50ZWdlcixJbnRlZ2VyPiBmaXJzdCA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBIYXNoTWFwPEludGVnZXIsSW50ZWdlcj4gbGFzdCA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBpbnQgc3VtID0gMCwgbWF4TGVuID0gMCwgbWluTGVuID0gSW50ZWdlci5NQVhfVkFMVUU7CiAgICAgICAgaW50IG1heENvdW50ID0gMCwgbWluQ291bnQgPSAwOwoKICAgICAgICBmaXJzdC5wdXQoMCwtMSk7CiAgICAgICAgbGFzdC5wdXQoMCwtMSk7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIHN1bSArPSBhcnJbaV07CgogICAgICAgICAgICBpZiAoZmlyc3QuY29udGFpbnNLZXkoc3VtIC0gaykpIHsKICAgICAgICAgICAgICAgIGludCBsZW4gPSBpIC0gZmlyc3QuZ2V0KHN1bSAtIGspOwogICAgICAgICAgICAgICAgaWYgKGxlbiA+IG1heExlbikgewogICAgICAgICAgICAgICAgICAgIG1heExlbiA9IGxlbjsKICAgICAgICAgICAgICAgICAgICBtYXhDb3VudCA9IDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGxlbiA9PSBtYXhMZW4pIHsKICAgICAgICAgICAgICAgICAgICBtYXhDb3VudCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobGFzdC5jb250YWluc0tleShzdW0gLSBrKSkgewogICAgICAgICAgICAgICAgaW50IGxlbiA9IGkgLSBsYXN0LmdldChzdW0gLSBrKTsKICAgICAgICAgICAgICAgIGlmIChsZW4gPCBtaW5MZW4pIHsKICAgICAgICAgICAgICAgICAgICBtaW5MZW4gPSBsZW47CiAgICAgICAgICAgICAgICAgICAgbWluQ291bnQgPSAxOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsZW4gPT0gbWluTGVuKSB7CiAgICAgICAgICAgICAgICAgICAgbWluQ291bnQrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCFmaXJzdC5jb250YWluc0tleShzdW0pKSBmaXJzdC5wdXQoc3VtLGkpOwogICAgICAgICAgICBsYXN0LnB1dChzdW0saSk7CiAgICAgICAgfQoKICAgICAgICBpZiAobWluTGVuID09IEludGVnZXIuTUFYX1ZBTFVFKSBtaW5MZW4gPSAwOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihtYXhMZW4gKyAiICIgKyBtYXhDb3VudCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG1pbkxlbiArICIgIiArIG1pbkNvdW50KTsKICAgIH0KfQ==