#include <bits/stdc++.h>
using namespace std;
int n;
int a[100005];
int b[100005];
int num[40];
int ksmadd(int a) {
  int ans = 0;
  int hh = 0;
  while (a) {
    if (a % 2) num[hh]++;
    hh++;
    a /= 2;
  }
  return ans;
}
int ksmsub(int a) {
  int ans = 0;
  int hh = 0;
  while (a) {
    if (a % 2) num[hh]--;
    hh++;
    a /= 2;
  }
  return ans;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    ksmadd(a[i]);
  }
  long long ans = -1e18;
  int ii = 0;
  for (int i = 0; i < n; i++) {
    ksmsub(a[i]);
    long long v = 0;
    long long vv = 1;
    int aa = a[i];
    for (int j = 0; aa; j++) {
      if (num[j] == 0 && aa % 2) v += vv;
      vv *= 2;
      aa /= 2;
    }
    if (v > ans) {
      ans = v;
      ii = i;
    }
    ksmadd(a[i]);
  }
  printf("%d", a[ii]);
  for (int i = 0; i < n; i++) {
    if (i == ii) continue;
    printf(" %d", a[i]);
  }
}
