#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

long long int maxVr(int N, vector<long long int>& A, vector<long long int>& B) {
    long long int maxVrednost = 0;

    for (int L = 0; L < N; L++) {
        long long int xorVrednost = 0;
        long long int andVrednost = B[L];

        for (int R = L; R < N; R++) {
            xorVrednost ^= A[R];
            andVrednost &= B[R];

            long long int vrednost = xorVrednost * andVrednost;
            maxVrednost = max(maxVrednost, vrednost);
        }
    }

    return maxVrednost;
}

int main() {
    int N;
    cin >> N;
    vector<long long 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];
    }

    long long int rezultat = maxVr(N, A, B);
    cout << rezultat << endl;

    return 0;
}