#include <bits/stdc++.h>
using namespace std;
int a[100000];
int main() {
  int i;
  int N;
  scanf("%d", &N);
  for (i = 0; i < N; i++) scanf("%d", &a[i]);
  sort(a, a + N);
  if ((N % 3) != 0) {
    if (a[N - 1] != 0)
      printf("-1\n");
    else {
      for (i = 0; i < N; i++) printf("0 ");
      printf("\n");
    }
  } else {
    for (i = 0; i < N / 3; i++) {
      if (a[i] != a[0]) {
        printf("-1\n");
        return 0;
      }
    }
    for (i = N / 3; i < 2 * N / 3; i++) {
      if (a[i] != a[N / 3]) {
        printf("-1\n");
        return 0;
      }
    }
    for (i = 2 * N / 3; i < N; i++) {
      if (a[i] != a[2 * N / 3]) {
        printf("-1\n");
        return 0;
      }
    }
    if ((a[0] ^ a[N / 3] ^ a[2 * N / 3]) != 0)
      printf("-1\n");
    else {
      for (i = 0; i < N; i++) {
        if ((i % 3) == 0)
          printf("%d ", a[0]);
        else if ((i % 3) == 1)
          printf("%d ", a[N / 3]);
        else
          printf("%d ", a[2 * N / 3]);
      }
      printf("\n");
    }
  }
  return 0;
}
