#include <bits/stdc++.h>
using namespace std;

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

    int max_val = 0;
    
    for (int L = 0; L < N; L++) {
        int xor_val = A[L];
        int and_val = B[L];
        for (int R = L; R < N; R++) {
            if (R > L) {
                xor_val ^= A[R];
                and_val &= B[R];
            }
            max_val = max(max_val, xor_val * and_val);
        }
    }
    
    cout << max_val << endl;
    
    return 0;
}