#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++) {cin>>a[i]; }
int k;cin>>k;
unordered_map<int,int> mp1,mp2;
mp1[0]=-1,mp2[0]=-1;
int ans1=0,ans2=INT_MAX;
int x=0;
for(int j=0;j<n;j++){
x^=a[j];
if(mp1.find(x^k)!=mp1.end()){
int i=mp1[x^k]+1;
ans2=min(ans2,j-i+1);
}
mp1[x]=j;
if(mp2.find(x^k)!=mp2.end()){
int i=mp2[x^k]+1;
ans1=max(ans1,j-i+1);
}
if(mp2.find(x^k)==mp2.end()){
mp2[x]=j;
}
}
cout<<ans1<<" "<<ans2;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKaW50IG47CmNpbj4+bjsKIGludCBhW25dOwpmb3IoaW50IGk9MDtpPG47aSsrKSB7Y2luPj5hW2ldOyB9CmludCBrO2Npbj4+azsKdW5vcmRlcmVkX21hcDxpbnQsaW50PiBtcDEsbXAyOwptcDFbMF09LTEsbXAyWzBdPS0xOwppbnQgYW5zMT0wLGFuczI9SU5UX01BWDsKaW50IHg9MDsKZm9yKGludCBqPTA7ajxuO2orKyl7CiAgICB4Xj1hW2pdOwogICAgaWYobXAxLmZpbmQoeF5rKSE9bXAxLmVuZCgpKXsKICAgICAgICBpbnQgaT1tcDFbeF5rXSsxOwogICAgICAgIGFuczI9bWluKGFuczIsai1pKzEpOwogICAgfQogICAgbXAxW3hdPWo7CiAgICAgaWYobXAyLmZpbmQoeF5rKSE9bXAyLmVuZCgpKXsKICAgICAgICBpbnQgaT1tcDJbeF5rXSsxOwogICAgICAgIGFuczE9bWF4KGFuczEsai1pKzEpOwogICAgfQogICAgIGlmKG1wMi5maW5kKHheayk9PW1wMi5lbmQoKSl7CiAgICAgICAgbXAyW3hdPWo7CiAgICB9CiAgICAKCn0KY291dDw8YW5zMTw8IiAiPDxhbnMyOwp9