#include <bits/stdc++.h>
using namespace std;
using ll = long long;
unordered_map<ll, ll> M;
ll dfs(ll N) {
    if (N <= 0)return 0;
    if (M.count(N))return M[N];
    M[N] = dfs(N / 2) + dfs((N + 3) / 4 - 1) + dfs((N + 1) / 4) + (N + 3) / 4 + (N + 1) / 4;
    return M[N];
}
int main() {
    ll T;
    cin >> T;
    while (T--) {
        ll N;
        cin >> N;
        M.clear();
        cout << dfs(N) << endl;
    }
}