#include <iostream>
#include<climits>

using namespace std;

int main() {
    int n;
    scanf("%d", &n);
    long long a[n],b[n];
    bool samoAjed=true;
    bool samoBjed=true;
    for(int i=0;i<n;i++)
    {
        scanf("%lld",&a[i]);
        if(a[i]!=1)samoAjed=false;
    }
    for(int i=0;i<n;i++)
    {
        scanf("%lld",&b[i]);
        if(b[i]!=1)samoBjed=false;
    }
    long long max=0;
    if(!samoBjed && !samoAjed)
    {
        for(int l=0;l<n;l++)
        {
            long long s1=0;
            long long s2=INT_MAX;
            for(int r=l;r<n;r++)
            {
                s1 =s1 ^ a[r];
                s2 &=b[r];
                if(max<s1*s2)max=s1*s2;
            }
        }
    }
    else if(samoBjed)
    {
        for(int l=0;l<n;l++)
        {
            long long s1=0;
            for(int r=l;r<n;r++)
            {
                s1 =s1 ^ a[r];
                if(max<s1)max=s1;
            }
        }
    }
    else
    {
         for(int l=0;l<n;l++)
        {
            long long s2=INT_MAX;
            for(int r=l;r<n;r+=2)
            {
                s2&=b[r];
                if(max<s2)max=s2;
            }
        }
    }
    printf("%lld",max);
    return 0;
}