#include <bits/stdc++.h>
using namespace std;
int main(){
int n; cin>>n;
int a[n],b[n];
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<n;i++) cin>>b[i];
unordered_map<int,int> mp;
mp[0]=-1;
int x=0,y=0,ans=0;
for(int j=0;j<n;j++){
x^=a[j];
y^=b[j];
int z=x^y;
if(mp.find(z)!=mp.end()){
int i=mp[z]+1;
ans=max(ans,j-i+1);
}
if(mp.find(z)==mp.end())
mp[z]=j;
}
cout<<ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCl7CmludCBuOyBjaW4+Pm47CmludCBhW25dLGJbbl07CmZvcihpbnQgaT0wO2k8bjtpKyspIGNpbj4+YVtpXTsKZm9yKGludCBpPTA7aTxuO2krKykgY2luPj5iW2ldOwoKdW5vcmRlcmVkX21hcDxpbnQsaW50PiBtcDsKbXBbMF09LTE7CgppbnQgeD0wLHk9MCxhbnM9MDsKCmZvcihpbnQgaj0wO2o8bjtqKyspewp4Xj1hW2pdOwp5Xj1iW2pdOwoKaW50IHo9eF55OwoKaWYobXAuZmluZCh6KSE9bXAuZW5kKCkpewppbnQgaT1tcFt6XSsxOwphbnM9bWF4KGFucyxqLWkrMSk7Cn0KCmlmKG1wLmZpbmQoeik9PW1wLmVuZCgpKQptcFt6XT1qOwp9Cgpjb3V0PDxhbnM7Cn0=