#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 5;
const long long mod = 1e9 + 7;
int a[maxn], c[32];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = (1); i <= (n); i++) scanf("%d", &a[i]);
  int ans = -1, pos;
  for (int i = (1); i <= (n); i++) {
    for (int j = (0); j <= (30); j++)
      if ((a[i] >> j) & 1) c[j]++;
  }
  for (int i = (1); i <= (n); i++) {
    int res = a[i];
    for (int j = (0); j <= (30); j++)
      if ((a[i] >> j) & 1) c[j]--;
    for (int j = (0); j <= (30); j++)
      if (c[j] && ((a[i] >> j) & 1)) res -= (1 << j);
    if (res > ans) {
      ans = res;
      pos = i;
    }
    for (int j = (0); j <= (30); j++)
      if ((a[i] >> j) & 1) c[j]++;
  }
  printf("%d ", a[pos]);
  for (int i = (1); i <= (n); i++)
    if (i != pos) printf("%d ", a[i]);
}
