#include <iostream>
using namespace std;
int main() {
    long long int n;
    cin >> n;
    if (n>=1){
        int a[n], b[n];
        for (int i = 0; i < n; ++i){ 
            cin >> a[i];
            if(a[i]<0){
                return 0;
            }
        }
        for (int i = 0; i < n; ++i){ 
            cin >> b[i];
            if(b[i]<0){
                return 0;
            }
        }
        int max = 0;
        for (int i = 0; i < n; i++) { // Prolazak kroz sve podnizove
            int X = 0;
            int A = b[i];
            for (int k = i; k < n; k++) {
                X ^= a[k];  // Racunamo XOR za podniz
                A &= b[k]; // Racunamo AND za podniz
                int vrednost =X*A;
                if (vrednost > max) {
                    max = vrednost;
                }
                if (A == 0){ // Ako AND postane 0, možemo prekinuti unutrašnju petlju
                    break;
                }
            }
        }
        cout << max << endl;
    }
    else{
        return 0;
    }
}