#include<bits/stdc++.h>

using namespace std;

int main(){
	
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	int n;
	cin >> n;
	
	vector<int> a (n);
	vector<int> b (n);
	
	for(int i=0;i<n;i++) cin >> a[i];
	for(int i=0;i<n;i++) cin >> b[i];
	
	
	long long ans = INT_MIN;
	int start;
	int end;
    
    for (int i=0; i<n; i++)
    {
        long long curr_xor = 0;
		if(b[i] == 0) i++; 
 
        for (int j=i; j<n; j++)
        {
        	if(b[j] == 0) i = j;
        	else{
        		curr_xor = curr_xor ^ a[j];
            
	            if(ans < curr_xor){
	            	start = i;
	            	end = j;
				}
			
            	ans = max(ans, curr_xor);
			}
            
        }
    }
    
    long long bans = b[start];
    
    for(int i=start+1;i<=end;i++){
    	bans = bans & b[i];
	}
	
	cout << ans * bans;
}