#include <stdio.h>
#include <stdlib.h>

long long N,A[20010],B[20010],i,j,L,R,a,b,max,maximus=0;

long long xorand(long long A[], long long B[])
{
    for(i=1;i<N;i++)
    for(j=i+1;j<=N;j++)
    {
       L=i;
       R=j;


        j=L;
        a=A[j];
        b=B[j];
        while(j!=R)
        {
            a=a^A[j+1];
            b=b&B[j+1];

            j++;
        }

        max=a*b;
        if(max>maximus)
            maximus=max;
}
        return maximus;
}

int main()
{
    scanf("%lld",&N);

    for(i=1;i<=N;i++)
        scanf("%lld",&A[i]);

    for(i=1;i<=N;i++)
        scanf("%lld",&B[i]);



        printf("%lld",xorand(A,B));

    return 0;
}