#include <bits/stdc++.h>
using namespace std;
void sync() {
  cin.sync_with_stdio(0);
  cout.tie(0);
}
long long a[100005];
long long b[100005];
long long xora[100005];
long long xorb[100005];
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    if (i == 1) {
      xora[i] = a[i];
    } else {
      xora[i] = xora[i - 1] | a[i];
    }
  }
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
    if (i == 1) {
      xorb[i] = b[i];
    } else {
      xorb[i] = xorb[i - 1] | b[i];
    }
  }
  long long mx = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = i; j <= n; j++) {
      mx = max(mx, xora[j] - xora[i - 1] + xorb[j] - xorb[i - 1]);
    }
  }
  cout << mx << endl;
}
