#include <bits/stdc++.h>
using namespace std;

#define SIZE_LIMIT 300000

int n;
int a[SIZE_LIMIT];
int prefiks_a[SIZE_LIMIT];
int b[SIZE_LIMIT];
int l, r;
int max_vrednost;

template<typename T>
void print_arr(T arr, int n) {
    for(int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << '\n';
}

int main() {
    // CUSTOM TEST PRIMERI
    freopen("./testprimeri.txt", "r", stdin);

    ///////////
    // INPUT //
    ///////////
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n;
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        if(i == 0) {
            prefiks_a[i] = a[i];
        } else {
            prefiks_a[i] = a[i] ^ prefiks_a[i - 1];
        }
    }
    for(int i = 0; i < n; i++) {
        cin >> b[i];
    }

    ///////////
    // RACUN //
    ///////////
    int max_vrednost = 0;
    for(int i = 0; i < n; i++) {
        for(int j = i + 1; j < n; j++) {
            int vrednost_a = 0;
            int vrednost_b = 0;

            if(i == 0) {
                vrednost_a = prefiks_a[j];
            } else {
                vrednost_a = prefiks_a[j] | prefiks_a[i - 1];
            }

            if(vrednost_a > max_vrednost) {
                max_vrednost = vrednost_a;
            }
        }
    }

    ////////////
    // OUTPUT //
    ////////////
    cout << max_vrednost << endl;

    return 0;
}