#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n,maxi=1,a1=1,b1=1,b0=0;
    cin>>n;
    vector<int> a(n);
    vector<int> b(n);
    for(int i=0; i<n; i++)
    {
        cin>>a[i];
        if(a[i]!=1 && a1==1)
        {
            a1=0;
        }
    }
    for(int i=0; i<n; i++)
    {
        cin>>b[i];
        if(b[i]!=1 && b1==1)
        {
            b1=0;
        }
        if(b[i]>0)
        {
            b0=1;
        }
    }

    if(a1+b1==0)
    {
        for(int i=0; i<n; i++)
        {
            int xor1=0;
            int and1=b[i];
            for(int j=i; j<n; j++)
            {
                xor1^= a[j];
                and1&= b[j];
                int tr=xor1*and1;
                maxi = max(maxi,tr);
            }
        }
        cout<<maxi;
    }

    else if(a1==1)
    {
        if(b0)
        {
            cout<<"1";
            return 0;
        }
        else
        {
            cout<<"0";
        }
    }

    else if(b1==1)
    {
        for(int i=0; i<n; i++)
        {
            int xor1=0;
            for(int j=i; j<n; j++)
            {
                xor1^= a[j];
                int tr=xor1;
                maxi = max(maxi,tr);
            }
        }
        cout<<maxi;
    }
    return 0;
}