#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<long long> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
long long k;
cin>>k;
unordered_map<int, int>mp1;
unordered_map<int, int>mp2;
mp1[0]=-1;
mp2[0]=-1;
int psum=0;
int maxlen=0;
int minlen=INT_MAX;
int count =0;
int count1=0;
for(int j=0;j<n;j++){
psum = psum+a[j];
int x = psum-k;
if (mp1.find(x) != mp1.end()) {
int i = mp1[x] + 1;
int length = j - i + 1;
if(length>maxlen){
maxlen= length;
count=1;
}
else if(maxlen==length)
count++;
}
if (mp2.find(x) != mp2.end()) {
int i = mp2[x] + 1;
int length = j - i + 1;
if(length<minlen){
minlen= length;
count1=1;
}
else if(minlen==length)count1++;
}
if(mp1.find(psum)==mp1.end())
mp1[psum]=j;
mp2[psum]=j;
}
cout<<count<<endl<<count1;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBhKG4pOwogCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogbG9uZyBsb25nIGs7CiBjaW4+Pms7CiAKIAogdW5vcmRlcmVkX21hcDxpbnQsIGludD5tcDE7CiB1bm9yZGVyZWRfbWFwPGludCwgaW50Pm1wMjsKIAogbXAxWzBdPS0xOwogbXAyWzBdPS0xOwogCiBpbnQgcHN1bT0wOwogaW50IG1heGxlbj0wOwogaW50IG1pbmxlbj1JTlRfTUFYOwogaW50IGNvdW50ID0wOwogaW50IGNvdW50MT0wOwogCiBmb3IoaW50IGo9MDtqPG47aisrKXsKIAkgcHN1bSA9IHBzdW0rYVtqXTsKIAkgaW50IHggPSBwc3VtLWs7CiAJICBpZiAobXAxLmZpbmQoeCkgIT0gbXAxLmVuZCgpKSB7CiAgICAgICAgICAgIGludCBpID0gbXAxW3hdICsgMTsKICAgICAgICAgICAgaW50IGxlbmd0aCA9IGogLSBpICsgMTsKIAogICAgICAgICAgIGlmKGxlbmd0aD5tYXhsZW4pewogICAgICAgICAgIAltYXhsZW49IGxlbmd0aDsKICAgICAgICAgICAJY291bnQ9MTsKICAgICAgICAgICB9CiAgICAgICAgICAgZWxzZSBpZihtYXhsZW49PWxlbmd0aCkKICAgICAgICAgICBjb3VudCsrOwogICAgICAgIH0KIAogCSAgICBpZiAobXAyLmZpbmQoeCkgIT0gbXAyLmVuZCgpKSB7CiAgICAgICAgICAgIGludCBpID0gbXAyW3hdICsgMTsKICAgICAgICAgICAgaW50IGxlbmd0aCA9IGogLSBpICsgMTsKIAogICAgICAgICAgIGlmKGxlbmd0aDxtaW5sZW4pewogICAgICAgICAgIAltaW5sZW49IGxlbmd0aDsKICAgICAgICAgICAJY291bnQxPTE7CiAgICAgICAgICAgfQogICAgICAgICAgIGVsc2UgaWYobWlubGVuPT1sZW5ndGgpY291bnQxKys7CiAgICAgICAgfQogCiAKIAkgaWYobXAxLmZpbmQocHN1bSk9PW1wMS5lbmQoKSkKIAkgbXAxW3BzdW1dPWo7CiAJIG1wMltwc3VtXT1qOwogCiAKIAogfQogY291dDw8Y291bnQ8PGVuZGw8PGNvdW50MTsKIApyZXR1cm4gMDsKfQ==