#include <bits/stdc++.h>
using namespace std;
const int nmax = 2e5;
const int logmax = 40;
int f[logmax + 1];
long long a[nmax + 1], b[nmax + 1], c[nmax + 1];
int main() {
  int n;
  fscanf(stdin, "%d", &n);
  long long suma = 0;
  for (int i = 1; i <= n; ++i) {
    fscanf(stdin, "%I64d", &b[i]);
    suma += b[i];
  }
  for (int i = 1; i <= n; ++i) {
    fscanf(stdin, "%I64d", &c[i]);
    suma += c[i];
  }
  suma /= (2 * n);
  for (int i = 1; i <= n; ++i) {
    a[i] = (b[i] + c[i] - suma) / n;
    for (int j = 0; (1 << j) <= a[i]; ++j) {
      if (a[i] & (1 << j)) {
        ++f[j];
      }
    }
  }
  bool ok = 1;
  for (int i = 1; i <= n; ++i) {
    for (int j = 0; (1 << j) <= a[i]; ++j) {
      if (a[i] & (1 << j)) {
        b[i] -= (1LL << j) * f[j];
      }
    }
    if (b[i] != 0) ok = 0;
  }
  if (ok == 1) {
    for (int i = 1; i <= n; ++i) {
      fprintf(stdout, "%I64d ", a[i]);
    }
  } else {
    fprintf(stdout, "-1");
  }
  fprintf(stdout, "\n");
  return 0;
}
