#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define TASK "PENACONY"
const ll MOD = 1000000007;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
freopen(TASK ".INP", "r", stdin);
freopen(TASK ".OUT", "w", stdout);
ll Q;
cin >> Q;
while (Q--) {
ll n;
cin >> n;
ll ans = (n + 1) % MOD;
for (ll l = 1; l <= n; ) {
ll m = n / l;
ll r = n / m;
ll cnt = (r - l + 1) % MOD;
ll p1 = (m % MOD) * ((n + 1) % MOD) % MOD;
ll sumd = ((l + r) % MOD) * cnt % MOD * ((MOD + 1) / 2) % MOD;
ll p2 = sumd * (m % MOD) % MOD * ((m + 1) % MOD) % MOD * ((MOD + 1) / 2) % MOD;
ll add = (p1 * cnt % MOD - p2 + MOD) % MOD;
ans = (ans + add) % MOD;
l = r + 1;
}
cout << ans << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp1c2luZyBsbCA9IGxvbmcgbG9uZzsKCiNkZWZpbmUgVEFTSyAiUEVOQUNPTlkiCmNvbnN0IGxsIE1PRCA9IDEwMDAwMDAwMDc7CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgZnJlb3BlbihUQVNLICIuSU5QIiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKFRBU0sgIi5PVVQiLCAidyIsIHN0ZG91dCk7CgogICAgbGwgUTsKICAgIGNpbiA+PiBROwogICAgd2hpbGUgKFEtLSkgewogICAgICAgIGxsIG47CiAgICAgICAgY2luID4+IG47CgogICAgICAgIGxsIGFucyA9IChuICsgMSkgJSBNT0Q7CgogICAgICAgIGZvciAobGwgbCA9IDE7IGwgPD0gbjsgKSB7CiAgICAgICAgICAgIGxsIG0gPSBuIC8gbDsKICAgICAgICAgICAgbGwgciA9IG4gLyBtOwoKICAgICAgICAgICAgbGwgY250ID0gKHIgLSBsICsgMSkgJSBNT0Q7CiAgICAgICAgICAgIGxsIHAxID0gKG0gJSBNT0QpICogKChuICsgMSkgJSBNT0QpICUgTU9EOwogICAgICAgICAgICBsbCBzdW1kID0gKChsICsgcikgJSBNT0QpICogY250ICUgTU9EICogKChNT0QgKyAxKSAvIDIpICUgTU9EOwogICAgICAgICAgICBsbCBwMiA9IHN1bWQgKiAobSAlIE1PRCkgJSBNT0QgKiAoKG0gKyAxKSAlIE1PRCkgJSBNT0QgKiAoKE1PRCArIDEpIC8gMikgJSBNT0Q7CgogICAgICAgICAgICBsbCBhZGQgPSAocDEgKiBjbnQgJSBNT0QgLSBwMiArIE1PRCkgJSBNT0Q7CiAgICAgICAgICAgIGFucyA9IChhbnMgKyBhZGQpICUgTU9EOwoKICAgICAgICAgICAgbCA9IHIgKyAxOwogICAgICAgIH0KCiAgICAgICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==