#include <iostream>
#include <vector>
using namespace std;

typedef long long ll;

int main() {
    int n;
    cin >> n;
    
    vector<int> niz1(n), niz2(n);
    for(int i = 0; i < n; i++) {
        cin >> niz1[i];
    }
    for(int i = 0; i < n; i++) {
        cin >> niz2[i];
    }
    
    ll najvecaVrednost = 0;
    
    for(int levo = 0; levo < n; levo++) {
        int xorRezultat = niz1[levo];
        int iRezultat = niz2[levo];
        
        for(int desno = levo; desno < n; desno++) {
            if(desno > levo) {
                xorRezultat ^= niz1[desno];
                iRezultat &= niz2[desno];
            }
            
            ll trenutnaVrednost = (ll)xorRezultat * iRezultat;
            najvecaVrednost = max(najvecaVrednost, trenutnaVrednost);
        }
    }
    
    cout << najvecaVrednost << endl;
    
    return 0;
}