#include <bits/stdc++.h>
using namespace std;
int q, n, largest, cnt, templen;
int main() {
cin >> q;
while(q--)
{
largest = 1;
cnt = templen = 0;
cin >> n;
if(n == 1)
{
cout << "1\n";
continue;
}
if(n == 2)
{
cout << "2\n";
continue;
}
if(n == 3)
{
cout << "3\n";
continue;
}
while(largest * 2 <= n)
{
largest *= 2;
cnt++;
}
if(n >= largest * 2 - 1) cout << 2 * cnt + 1 << '\n';
else if(n >= largest + (largest / 2) - 1) cout << 2 * cnt << '\n';
else cout << 2 * cnt - 1 << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IHEsIG4sIGxhcmdlc3QsIGNudCwgdGVtcGxlbjsKCmludCBtYWluKCkgewogICAgY2luID4+IHE7CiAgICB3aGlsZShxLS0pCiAgICB7CiAgICAgICAgbGFyZ2VzdCA9IDE7CiAgICAgICAgY250ID0gdGVtcGxlbiA9IDA7CiAgICAgICAgY2luID4+IG47CiAgICAgICAgaWYobiA9PSAxKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCAiMVxuIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGlmKG4gPT0gMikKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgIjJcbiI7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZihuID09IDMpCiAgICAgICAgewogICAgICAgICAgICBjb3V0IDw8ICIzXG4iOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgd2hpbGUobGFyZ2VzdCAqIDIgPD0gbikKICAgICAgICB7CiAgICAgICAgICAgIGxhcmdlc3QgKj0gMjsKICAgICAgICAgICAgY250Kys7CiAgICAgICAgfQogICAgICAgIGlmKG4gPj0gbGFyZ2VzdCAqIDIgLSAxKSBjb3V0IDw8IDIgKiBjbnQgKyAxIDw8ICdcbic7CiAgICAgICAgZWxzZSBpZihuID49IGxhcmdlc3QgKyAobGFyZ2VzdCAvIDIpIC0gMSkgY291dCA8PCAyICogY250IDw8ICdcbic7CiAgICAgICAgZWxzZSBjb3V0IDw8IDIgKiBjbnQgLSAxIDw8ICdcbic7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=