#include <iostream>
using namespace std;
int xorr(int x, int y, int a[]);
int andd(int x, int y, int a[]);
int main()
{
    int n;
    cin >> n;
    int a[n+1];
    int b[n+1];
    int maks = 0;
    int makss = 0;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    for(int i = 1; i <= n; i++)
    {
        cin >> b[i];
    }
    for(int i = 1; i <= n; i++)
    {

        for(int j = n; j > i; j--)
        {
            makss = xorr(i, j, a) * andd(i, j, b);
            if(makss > maks)
                maks = makss;
        }
    }
    cout << maks;
}
int xorr(int x, int y, int a[])
{
    if(x == y - 1)
        return a[x] ^ a[y];
    else
        return a[x] ^ xorr(x+1, y, a);
}
int andd(int x, int y, int a[])
{
    if(x == y - 1)
        return a[x] & a[y];
    else
        return a[x] & andd(x+1, y, a);
}