#include <iostream>

int main()
{
    int n;
    std::cin >> n;
    
    int* prviNiz = (int*)malloc(n * sizeof(int));
    int* drugiNiz = (int*)malloc(n * sizeof(int));
    
    for (int i = 0; i < n; i++)
        std::cin >> prviNiz[i];
    
    for (int i = 0; i < n; i++)
        std::cin >> drugiNiz[i];
    
    long long najvecaVrednost = 0;
    
    for (int i = 0; i < n - 1; i++)
    {
        long long v1 = prviNiz[i];
        long long v2 = drugiNiz[i];
        
        for (int j = i + 1; j < n; j++)
        {
            v1 = v1 ^ prviNiz[j];
            v2 = v2 & drugiNiz[j];
        }
        
        if (v1 * v2 > najvecaVrednost)
            najvecaVrednost = v1 * v2;
    }
    
    std::cout << najvecaVrednost;
}