```c++
#include <iostream>
#include <vector>
using namespace std;
unsigned long long solve(long long n) {
if (n <= 1) return 1;
vector<unsigned long long> dp(n + 1, 0);
dp[0] = 1;
dp[1] = 1;
for (unsigned long long i = 2; i <= n; ++i) {
if ((i & 1) == 0) {
dp[i] = dp[i >> 1];
} else {
unsigned long long pre = i - 1;
unsigned long long nxt = i + 1;
unsigned long long pre1 = dp[pre >> 1];
unsigned long long nxt1 = dp[nxt >> 1];
dp[i] = min(pre1, nxt1) + 1;
}
}
return dp[n];
}
int main() {
unsigned long long T;
cin >> T;
while (T--) {
long long n;
cin >> n;
unsigned long long r = solve(n);
cout << r << endl;
}
return 0;
}
```Runtime Error. Received signal 6: Aborted / IOT trap