#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]=0;
//mp2[0]=0;
int psum=0;
int maxlen=0;
int minlen=INT_MAX;
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;
maxlen = max(length, maxlen);
}
if (mp2.find(x) != mp2.end()) {
int i = mp2[x] + 1;
int length = j - i + 1;
minlen = min(length, minlen);
}
if(mp1.find(psum)==mp1.end())
mp1[psum]=j;
mp2[psum]=j;
}
cout<<maxlen<<""<<minlen;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIGNpbiA+PiBuOwogCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBhKG4pOwogCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogbG9uZyBsb25nIGs7CiBjaW4+Pms7CiAKIAogdW5vcmRlcmVkX21hcDxpbnQsIGludD5tcDE7CiB1bm9yZGVyZWRfbWFwPGludCwgaW50Pm1wMjsKIAogLy9tcDFbMF09MDsKIC8vbXAyWzBdPTA7CiAKIGludCBwc3VtPTA7CiBpbnQgbWF4bGVuPTA7CiBpbnQgbWlubGVuPUlOVF9NQVg7CiAKIGZvcihpbnQgaj0wO2o8bjtqKyspewogCSBwc3VtID0gcHN1bSthW2pdOwogCSBpbnQgeCA9IHBzdW0tazsKIAkgIGlmIChtcDEuZmluZCh4KSAhPSBtcDEuZW5kKCkpIHsKICAgICAgICAgICAgaW50IGkgPSBtcDFbeF0gKyAxOwogICAgICAgICAgICBpbnQgbGVuZ3RoID0gaiAtIGkgKyAxOwoKICAgICAgICAgICAgbWF4bGVuID0gbWF4KGxlbmd0aCwgbWF4bGVuKTsKICAgICAgICB9CiAJIAogCSAgICBpZiAobXAyLmZpbmQoeCkgIT0gbXAyLmVuZCgpKSB7CiAgICAgICAgICAgIGludCBpID0gbXAyW3hdICsgMTsKICAgICAgICAgICAgaW50IGxlbmd0aCA9IGogLSBpICsgMTsKCiAgICAgICAgICAgIG1pbmxlbiA9IG1pbihsZW5ndGgsIG1pbmxlbik7CiAgICAgICAgfQogCSAKIAogCSBpZihtcDEuZmluZChwc3VtKT09bXAxLmVuZCgpKQogCSBtcDFbcHN1bV09ajsKIAkgbXAyW3BzdW1dPWo7CiAJIAogCSAKIAkgCiB9CiBjb3V0PDxtYXhsZW48PCIiPDxtaW5sZW47CgpyZXR1cm4gMDsKfQog