// e
// Author: _Sherbiny
#include "bits/stdc++.h"
using namespace std;
using ll = long long;
#define endl '\n'
#define int ll
//====================//
const int mod = 1e9 + 7;
int power(int a, int b) {
int res = 1;
while(b) {
if(b&1) res = 1ll * res * a % mod;
a = 1ll * a * a % mod, b >>= 1;
}
return res;
}
// from 1 to n how many number contains the kth bit
int count(int n, int k) {
++n;
int d = 1LL << k + 1, p = 1LL << k;
return n / d * p + max(0LL, n % d - p);
}
void magic() {
int n; cin >> n;
int ans = 0;
for(int i = 0; i < 32; ++i) {
int has = count(n, i);
ans += has * (n - has) * 2 % mod * (1ll << i) % mod;
ans %= mod;
}
cout << ans * power(n, mod - 2) % mod << endl;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
while (t--) magic();
}
Ly8gZQoKLy8gQXV0aG9yOiBfU2hlcmJpbnkKCiNpbmNsdWRlICJiaXRzL3N0ZGMrKy5oIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBsbCA9IGxvbmcgbG9uZzsKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBpbnQgbGwKLy89PT09PT09PT09PT09PT09PT09PS8vCgpjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKaW50IHBvd2VyKGludCBhLCBpbnQgYikgewogICAgaW50IHJlcyA9IDE7CiAgICB3aGlsZShiKSB7CiAgICAgICAgaWYoYiYxKSByZXMgPSAxbGwgKiByZXMgKiBhICUgbW9kOwogICAgICAgIGEgPSAxbGwgKiBhICogYSAlIG1vZCwgYiA+Pj0gMTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCi8vIGZyb20gMSB0byBuIGhvdyBtYW55IG51bWJlciBjb250YWlucyB0aGUga3RoIGJpdAppbnQgY291bnQoaW50IG4sIGludCBrKSB7CiAgICArK247CiAgICBpbnQgZCA9IDFMTCA8PCBrICsgMSwgcCA9IDFMTCA8PCBrOwogICAgcmV0dXJuIG4gLyBkICogcCArIG1heCgwTEwsIG4gJSBkIC0gcCk7Cn0KCnZvaWQgbWFnaWMoKSB7CiAgICBpbnQgbjsgY2luID4+IG47CgogICAgaW50IGFucyA9IDA7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzI7ICsraSkgewogICAgICAgIGludCBoYXMgPSBjb3VudChuLCBpKTsKICAgICAgICBhbnMgKz0gaGFzICogKG4gLSBoYXMpICogMiAlIG1vZCAqICgxbGwgPDwgaSkgJSBtb2Q7CiAgICAgICAgYW5zICU9IG1vZDsKICAgIH0KCiAgICBjb3V0IDw8IGFucyAqIHBvd2VyKG4sIG1vZCAtIDIpICUgbW9kIDw8IGVuZGw7Cn0KCnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCksIGNvdXQudGllKDApOwogICAgCiAgICBpbnQgdCA9IDE7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIG1hZ2ljKCk7Cn0K