#include <bits/stdc++.h>
using namespace std;
long long a[7003];
long long b[7003];
bool achaMelhor(int i, int j) {
  if ((a[i] & a[j]) == a[i]) return false;
  return true;
}
int main() {
  bool in[7003];
  long long n;
  long long sum;
  scanf("%lld", &n);
  for (int i = 0; i < n; i++) scanf("%lld", &a[i]);
  for (int i = 0; i < n; i++) {
    scanf("%lld", &b[i]);
    sum += b[i];
  }
  for (int i = 0; i < n; i++) in[i] = true;
  bool trocou = true;
  while (trocou) {
    trocou = false;
    for (int i = 0; i < n; i++)
      if (in[i]) {
        bool melhor = true;
        for (int j = 0; j < n && melhor; j++)
          if (i != j && in[j] && !achaMelhor(i, j)) melhor = false;
        if (melhor) {
          in[i] = false;
          sum -= b[i];
          trocou = true;
        }
      }
  }
  printf("%lld\n", sum);
}
