#include <bits/stdc++.h>
#include <bitset>
using namespace std;
int main(){
    int n;
    cin>>n;
    vector<bitset<30>>a(n);
    vector<bitset<30>>b(n);
    int primer;
    for(int i =0;i<n;i++){
        cin>>primer;
        a[i] = bitset<30>(primer);
    }
    for(int i =0;i<n;i++){
        cin>>primer;
        b[i] = bitset<30>(primer);
    }
    long long int max=0;
    for(int l =0;l<n;l++){
        bitset<30> leva(0);
        bitset<30> desna(1073741823);//trideest jedinica
        // cout<<"DESNA:"<<desna.to_ulong()<<endl;
        for(int r=l;r<n;r++){
            leva=leva^a[r];
            // cout<<"DESNA:"<<desna.to_ulong()<<endl;
            // cout<<"brb:"<<b[r].to_ulong()<<endl;
            desna=desna&b[r];
            
            long long int p=leva.to_ulong()*desna.to_ulong();
            // cout<<"LEVA:"<<leva.to_ulong()<<endl<<"DESNA:"<<desna.to_ulong()<<endl<<"P:"<<p<<endl<<endl;
            if(p>max){
                max=p;
                // cout<<"  l:"<<l<<"  r:"<<r<<"  p:"<<p<<endl;
                // cout<<"LEVA:"<<leva.to_ulong()<<endl<<"DESNA:"<<desna.to_ulong()<<endl<<"P:"<<p<<endl<<endl;
            }


        }
    }
    cout<<max;


    // for(int i = 0;i<n;i++){
    //     cout<<a[i].to_ulong()<<">>>>"<<a[i]<<endl;
    // }
}