#include <bits/stdc++.h>
using namespace std;
set<int> s;
void citeste() {
  int n, x;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> x;
    s.insert(x);
  }
}
bool e_ok(int x) {
  if (x <= 1) return true;
  if (s.find(x / 2) != s.end()) {
    if (e_ok(x / 2) == true) return true;
    s.erase(x);
    s.insert(x / 2);
    return false;
  }
  s.erase(x);
  s.insert(x / 2);
  return false;
}
void rezolva() {
  set<int>::iterator it;
  while (true) {
    it = s.end();
    it--;
    if (e_ok(*it)) break;
  }
}
void scrie() {
  set<int>::iterator it;
  for (it = s.begin(); it != s.end(); it++) cout << *it << ' ';
  cout << '\n';
}
int main() {
  citeste();
  rezolva();
  scrie();
  return 0;
}
