#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
struct info
{
ll x;
} temp,temp2;
bool operator <(struct info a, struct info b)
{
if(a.x>b.x) return true;
else return false;
}
set<struct info> S;
set<struct info> :: iterator it;
int main(void)
{
ll n;
cin >> n;
for(ll i = 1; i <= n; i++)
{
ll v;
cin >>v;
temp.x = v;
S.insert(temp);
}
while(1)
{
it = S.begin();
int flag = 0;
temp = *it;
ll div = 2;
ll prev_size = S.size();
for(ll i = 1; ; i++)
{
ll v = temp.x / div;
temp2.x = v;
if(temp2.x == 0) break;
S.insert(temp2);
ll new_size = S.size();
if(new_size > prev_size)
{
flag = 1;
break;
}
div *= 2;
}
if(flag == 0) break;
if(flag)
{
S.erase(it);
}
}
for(it = S.begin(); it != S.end(); it++)
{
temp = *it;
cout <<temp.x << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7CgpzdHJ1Y3QgaW5mbwp7CiAgICBsbCB4Owp9IHRlbXAsdGVtcDI7Cgpib29sIG9wZXJhdG9yIDwoc3RydWN0IGluZm8gYSwgc3RydWN0IGluZm8gYikKewogICAgaWYoYS54PmIueCkgcmV0dXJuIHRydWU7CiAgICBlbHNlIHJldHVybiBmYWxzZTsKfQoKc2V0PHN0cnVjdCBpbmZvPiBTOwpzZXQ8c3RydWN0IGluZm8+IDo6IGl0ZXJhdG9yIGl0OwoKaW50IG1haW4odm9pZCkKewogICAgbGwgbjsKICAgIGNpbiA+PiBuOwogICAgZm9yKGxsIGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBsbCB2OwogICAgICAgIGNpbiA+PnY7CiAgICAgICAgdGVtcC54ID0gdjsKICAgICAgICBTLmluc2VydCh0ZW1wKTsKICAgIH0KICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgaXQgPSBTLmJlZ2luKCk7CiAgICAgICAgaW50IGZsYWcgPSAwOwogICAgICAgIHRlbXAgPSAqaXQ7CiAgICAgICAgbGwgZGl2ID0gMjsKICAgICAgICBsbCBwcmV2X3NpemUgPSBTLnNpemUoKTsKICAgICAgICBmb3IobGwgaSA9IDE7IDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgbGwgdiA9IHRlbXAueCAvIGRpdjsKICAgICAgICAgICAgdGVtcDIueCA9IHY7CiAgICAgICAgICAgIGlmKHRlbXAyLnggPT0gMCkgYnJlYWs7CiAgICAgICAgICAgIFMuaW5zZXJ0KHRlbXAyKTsKICAgICAgICAgICAgbGwgbmV3X3NpemUgPSBTLnNpemUoKTsKICAgICAgICAgICAgaWYobmV3X3NpemUgPiBwcmV2X3NpemUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGZsYWcgPSAxOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZGl2ICo9IDI7CiAgICAgICAgfQogICAgICAgIGlmKGZsYWcgPT0gMCkgYnJlYWs7CiAgICAgICAgaWYoZmxhZykKICAgICAgICB7CiAgICAgICAgICAgIFMuZXJhc2UoaXQpOwogICAgICAgIH0KCiAgICB9CiAgICBmb3IoaXQgPSBTLmJlZ2luKCk7IGl0ICE9IFMuZW5kKCk7IGl0KyspCiAgICB7CiAgICAgICAgdGVtcCA9ICppdDsKICAgICAgICBjb3V0IDw8dGVtcC54IDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K