#include <iostream>
using namespace std;
int main(void)
{
    unsigned long long int N;
    cin>>N;
    unsigned long long int A[N],B[N];
    for (unsigned long long int i=0;i<N;i++)
        cin>>A[i];
    for (unsigned long long int i=0;i<N;i++)
        cin>>B[i];
    //L-pocetak,R-kraj podniza
    unsigned long long int vrednostXor=0,vrednostAnd,trenutnaVrednost,najvecaVrednost=0;
    for(unsigned long long int L=0;L<N;L++)
    {
        vrednostAnd=B[L];
        vrednostXor=0;
        for(unsigned long long int R=L;R<N;++R)
        {
            vrednostAnd&=B[R];
            vrednostXor^=A[R];
            trenutnaVrednost=vrednostXor*vrednostAnd;
            if(trenutnaVrednost>najvecaVrednost)
                najvecaVrednost=trenutnaVrednost;
        }
    }
    cout<<najvecaVrednost;
}